new license file version [CI SKIP]
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
<p>
|
||||
<a href="https://svelte.dev">
|
||||
<img alt="Cybernetically enhanced web apps: Svelte" src="https://sveltejs.github.io/assets/banner.png">
|
||||
</a>
|
||||
<a href="https://www.npmjs.com/package/svelte">
|
||||
<img src="https://img.shields.io/npm/v/svelte.svg" alt="npm version">
|
||||
</a>
|
||||
<a href="https://github.com/sveltejs/svelte/blob/master/LICENSE">
|
||||
<img src="https://img.shields.io/npm/l/svelte.svg" alt="license">
|
||||
</a>
|
||||
<a href="https://svelte.dev/chat">
|
||||
<img src="https://img.shields.io/discord/457912077277855764?label=chat&logo=discord" alt="Chat">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
|
||||
## What is Svelte?
|
||||
|
||||
Svelte is a new way to build web applications. It's a compiler that takes your declarative components and converts them into efficient JavaScript that surgically updates the DOM.
|
||||
|
||||
Learn more at the [Svelte website](https://svelte.dev), or stop by the [Discord chatroom](https://svelte.dev/chat).
|
||||
|
||||
|
||||
## Supporting Svelte
|
||||
|
||||
Svelte is an MIT-licensed open source project with its ongoing development made possible entirely by fantastic volunteers. If you'd like to support their efforts, please consider:
|
||||
|
||||
- [Becoming a backer on Open Collective](https://opencollective.com/svelte).
|
||||
|
||||
Funds donated via Open Collective will be used for compensating expenses related to Svelte's development such as hosting costs. If sufficient donations are received, funds may also be used to support Svelte's development more directly.
|
||||
|
||||
|
||||
## Development
|
||||
|
||||
Pull requests are encouraged and always welcome. [Pick an issue](https://github.com/sveltejs/svelte/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc) and help us out!
|
||||
|
||||
To install and work on Svelte locally:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/sveltejs/svelte.git
|
||||
cd svelte
|
||||
npm install
|
||||
```
|
||||
|
||||
> Do not use Yarn to install the dependencies, as the specific package versions in `package-lock.json` are used to build and test Svelte.
|
||||
|
||||
To build the compiler and all the other modules included in the package:
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
To watch for changes and continually rebuild the package (this is useful if you're using [npm link](https://docs.npmjs.com/cli/link.html) to test out changes in a project locally):
|
||||
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
The compiler is written in [TypeScript](https://www.typescriptlang.org/), but don't let that put you off — it's basically just JavaScript with type annotations. You'll pick it up in no time. If you're using an editor other than [Visual Studio Code](https://code.visualstudio.com/), you may need to install a plugin in order to get syntax highlighting and code hints, etc.
|
||||
|
||||
|
||||
### Running Tests
|
||||
|
||||
```bash
|
||||
npm run test
|
||||
```
|
||||
|
||||
To filter tests, use `-g` (aka `--grep`). For example, to only run tests involving transitions:
|
||||
|
||||
```bash
|
||||
npm run test -- -g transition
|
||||
```
|
||||
|
||||
|
||||
## svelte.dev
|
||||
|
||||
The source code for https://svelte.dev, including all the documentation, lives in the [site](site) directory. The site is built with [Sapper](https://sapper.svelte.dev).
|
||||
|
||||
### Is svelte.dev down?
|
||||
|
||||
Probably not, but it's possible. If you can't seem to access any `.dev` sites, check out [this SuperUser question and answer](https://superuser.com/q/1413402).
|
||||
|
||||
## License
|
||||
|
||||
[MIT](LICENSE)
|
||||
@@ -0,0 +1,77 @@
|
||||
import { Observable } from '../Observable';
|
||||
import { concat } from '../observable/concat';
|
||||
import { isScheduler } from '../util/isScheduler';
|
||||
import { MonoTypeOperatorFunction, OperatorFunction, SchedulerLike } from '../types';
|
||||
|
||||
/* tslint:disable:max-line-length */
|
||||
/** @deprecated use {@link scheduled} and {@link concatAll} (e.g. `scheduled([[a, b, c], source], scheduler).pipe(concatAll())`) */
|
||||
export function startWith<T>(scheduler: SchedulerLike): MonoTypeOperatorFunction<T>;
|
||||
/** @deprecated use {@link scheduled} and {@link concatAll} (e.g. `scheduled([[a, b, c], source], scheduler).pipe(concatAll())`) */
|
||||
export function startWith<T, D>(v1: D, scheduler: SchedulerLike): OperatorFunction<T, T | D>;
|
||||
/** @deprecated use {@link scheduled} and {@link concatAll} (e.g. `scheduled([[a, b, c], source], scheduler).pipe(concatAll())`) */
|
||||
export function startWith<T, D, E>(v1: D, v2: E, scheduler: SchedulerLike): OperatorFunction<T, T | D | E>;
|
||||
/** @deprecated use {@link scheduled} and {@link concatAll} (e.g. `scheduled([[a, b, c], source], scheduler).pipe(concatAll())`) */
|
||||
export function startWith<T, D, E, F>(v1: D, v2: E, v3: F, scheduler: SchedulerLike): OperatorFunction<T, T | D | E | F>;
|
||||
/** @deprecated use {@link scheduled} and {@link concatAll} (e.g. `scheduled([[a, b, c], source], scheduler).pipe(concatAll())`) */
|
||||
export function startWith<T, D, E, F, G>(v1: D, v2: E, v3: F, v4: G, scheduler: SchedulerLike): OperatorFunction<T, T | D | E | F | G>;
|
||||
/** @deprecated use {@link scheduled} and {@link concatAll} (e.g. `scheduled([[a, b, c], source], scheduler).pipe(concatAll())`) */
|
||||
export function startWith<T, D, E, F, G, H>(v1: D, v2: E, v3: F, v4: G, v5: H, scheduler: SchedulerLike): OperatorFunction<T, T | D | E | F | G | H>;
|
||||
/** @deprecated use {@link scheduled} and {@link concatAll} (e.g. `scheduled([[a, b, c], source], scheduler).pipe(concatAll())`) */
|
||||
export function startWith<T, D, E, F, G, H, I>(v1: D, v2: E, v3: F, v4: G, v5: H, v6: I, scheduler: SchedulerLike): OperatorFunction<T, T | D | E | F | G | H | I>;
|
||||
|
||||
export function startWith<T, D>(v1: D): OperatorFunction<T, T | D>;
|
||||
export function startWith<T, D, E>(v1: D, v2: E): OperatorFunction<T, T | D | E>;
|
||||
export function startWith<T, D, E, F>(v1: D, v2: E, v3: F): OperatorFunction<T, T | D | E | F>;
|
||||
export function startWith<T, D, E, F, G>(v1: D, v2: E, v3: F, v4: G): OperatorFunction<T, T | D | E | F | G>;
|
||||
export function startWith<T, D, E, F, G, H>(v1: D, v2: E, v3: F, v4: G, v5: H): OperatorFunction<T, T | D | E | F | G | H>;
|
||||
export function startWith<T, D, E, F, G, H, I>(v1: D, v2: E, v3: F, v4: G, v5: H, v6: I): OperatorFunction<T, T | D | E | F | G | H | I>;
|
||||
export function startWith<T, D = T>(...array: D[]): OperatorFunction<T, T | D>;
|
||||
/** @deprecated use {@link scheduled} and {@link concatAll} (e.g. `scheduled([[a, b, c], source], scheduler).pipe(concatAll())`) */
|
||||
export function startWith<T, D = T>(...array: Array<D | SchedulerLike>): OperatorFunction<T, T | D>;
|
||||
/* tslint:enable:max-line-length */
|
||||
|
||||
/**
|
||||
* Returns an Observable that emits the items you specify as arguments before it begins to emit
|
||||
* items emitted by the source Observable.
|
||||
*
|
||||
* <span class="informal">First emits its arguments in order, and then any
|
||||
* emissions from the source.</span>
|
||||
*
|
||||
* 
|
||||
*
|
||||
* ## Examples
|
||||
*
|
||||
* Start the chain of emissions with `"first"`, `"second"`
|
||||
*
|
||||
* ```ts
|
||||
* import { of } from 'rxjs';
|
||||
* import { startWith } from 'rxjs/operators';
|
||||
*
|
||||
* of("from source")
|
||||
* .pipe(startWith("first", "second"))
|
||||
* .subscribe(x => console.log(x));
|
||||
*
|
||||
* // results:
|
||||
* // "first"
|
||||
* // "second"
|
||||
* // "from source"
|
||||
* ```
|
||||
*
|
||||
* @param {...T} values - Items you want the modified Observable to emit first.
|
||||
* @param {SchedulerLike} [scheduler] - A {@link SchedulerLike} to use for scheduling
|
||||
* the emissions of the `next` notifications.
|
||||
* @return {Observable} An Observable that emits the items in the specified Iterable and then emits the items
|
||||
* emitted by the source Observable.
|
||||
* @method startWith
|
||||
* @owner Observable
|
||||
*/
|
||||
export function startWith<T, D>(...array: Array<T | SchedulerLike>): OperatorFunction<T, T | D> {
|
||||
const scheduler = array[array.length - 1] as SchedulerLike;
|
||||
if (isScheduler(scheduler)) {
|
||||
// deprecated path
|
||||
array.pop();
|
||||
return (source: Observable<T>) => concat(array as T[], source, scheduler);
|
||||
} else {
|
||||
return (source: Observable<T>) => concat(array as T[], source);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
module.exports={A:{A:{"2":"J E F G A B BC"},B:{"2":"C K L H M N O","164":"P Q R S T U V W X Y Z a b c d f g h i j k l m n o p q r s D t"},C:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB uB ZB vB aB bB cB dB eB fB gB hB iB jB kB e lB mB nB oB pB P Q R wB S T U V W X Y Z a b c d f g h i j k l m n o p q r s D t xB yB","2":"0 1 2 3 4 5 6 7 CC tB I u J E F G A B C K L H M N O v w x y z DC EC"},D:{"2":"I u J E F G A B C K L H M N O v w x","164":"0 1 2 3 4 5 6 7 8 9 y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB uB ZB vB aB bB cB dB eB fB gB hB iB jB kB e lB mB nB oB pB P Q R S T U V W X Y Z a b c d f g h i j k l m n o p q r s D t xB yB FC"},E:{"2":"I u J GC zB HC","164":"E F G A B C K L H IC JC KC 0B qB rB 1B LC MC 2B 3B 4B 5B sB 6B 7B 8B NC"},F:{"2":"G OC PC QC RC","129":"B C qB 9B SC rB","164":"0 1 2 3 4 5 6 7 8 9 H M N O v w x y z AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB e lB mB nB oB pB P Q R wB S T U V W X Y Z a b c d"},G:{"2":"zB TC AC UC VC","164":"F WC XC YC ZC aC bC cC dC eC fC gC hC iC jC kC lC mC 2B 3B 4B 5B sB 6B 7B 8B"},H:{"132":"nC"},I:{"2":"tB I oC pC qC rC AC","164":"D sC tC"},J:{"2":"E","164":"A"},K:{"2":"A","129":"B C qB 9B rB","164":"e"},L:{"164":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"164":"uC"},P:{"164":"I vC wC xC yC zC 0B 0C 1C 2C 3C 4C sB 5C 6C 7C"},Q:{"164":"1B"},R:{"164":"8C"},S:{"1":"9C"}},B:4,C:"CSS box-decoration-break"};
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1 @@
|
||||
import 'rxjs-compat/add/operator/sample';
|
||||
@@ -0,0 +1 @@
|
||||
export * from 'rxjs-compat/ReplaySubject';
|
||||
@@ -0,0 +1 @@
|
||||
{"name":"async-retry","version":"1.3.1","files":{"lib/index.js":{"checkedAt":1678887829485,"integrity":"sha512-/wlnKcW3vRmKzUtz7nDOQPzBqECPMgaqv/0rGRq8tmVMekx2bhQycO+N0qhliMioT56/gN0E5G7naCnvqBNrnA==","mode":420,"size":1169},"package.json":{"checkedAt":1678887829485,"integrity":"sha512-4YTfMd9lBRu8WSv/Odv2S40wBoKXNtR8Q21/Jo2SjPp9PYs1ptY120QxsUaL1eM+DT7Zev0ogNfINeK8UpQGcQ==","mode":420,"size":1165},"LICENSE.md":{"checkedAt":1678887829486,"integrity":"sha512-HEMOzIhfxyn3cy6gubX5OAbgwS/B13gkUOuLm1kzmnITceVk05TlbMc6w5hg3t2LvwGwp3RL4ahH+oB9EPwY3Q==","mode":420,"size":1067},"README.md":{"checkedAt":1678887829486,"integrity":"sha512-jIzUMyIYrcjdXCA7H9XYuWkH1jA72fva6uovvjemp1BM8F6r6LMoSBEhY8Loylpr5LCJE+zDvcMfEyZvY9LPSw==","mode":420,"size":1960}}}
|
||||
@@ -0,0 +1,60 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.loaders = void 0;
|
||||
|
||||
/* eslint-disable @typescript-eslint/no-require-imports */
|
||||
let importFresh;
|
||||
|
||||
const loadJs = function loadJs(filepath) {
|
||||
if (importFresh === undefined) {
|
||||
importFresh = require('import-fresh');
|
||||
}
|
||||
|
||||
const result = importFresh(filepath);
|
||||
return result;
|
||||
};
|
||||
|
||||
let parseJson;
|
||||
|
||||
const loadJson = function loadJson(filepath, content) {
|
||||
if (parseJson === undefined) {
|
||||
parseJson = require('parse-json');
|
||||
}
|
||||
|
||||
try {
|
||||
const result = parseJson(content);
|
||||
return result;
|
||||
} catch (error) {
|
||||
error.message = `JSON Error in ${filepath}:\n${error.message}`;
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
|
||||
let yaml;
|
||||
|
||||
const loadYaml = function loadYaml(filepath, content) {
|
||||
if (yaml === undefined) {
|
||||
yaml = require('yaml');
|
||||
}
|
||||
|
||||
try {
|
||||
const result = yaml.parse(content, {
|
||||
prettyErrors: true
|
||||
});
|
||||
return result;
|
||||
} catch (error) {
|
||||
error.message = `YAML Error in ${filepath}:\n${error.message}`;
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
|
||||
const loaders = {
|
||||
loadJs,
|
||||
loadJson,
|
||||
loadYaml
|
||||
};
|
||||
exports.loaders = loaders;
|
||||
//# sourceMappingURL=loaders.js.map
|
||||
@@ -0,0 +1 @@
|
||||
{"name":"path-exists","version":"4.0.0","files":{"package.json":{"checkedAt":1678887829647,"integrity":"sha512-WKEow2vNjJL1NQAl4cLS2tzHrOZ0yQTNwR3hCUSeeriD87dZZyLd9X/hFIo2GoZhgLvsPeHsgfg7b3R2Oeb9EA==","mode":420,"size":607},"index.d.ts":{"checkedAt":1678887829647,"integrity":"sha512-34ZEtL09M6zDH8yK/8bGszi+fGx+n6bMN1l59tQzkoEvrIOcanjHfwcXLPKly+u2FSQ11chvF8veYX3euXE8wg==","mode":420,"size":429},"license":{"checkedAt":1678887829653,"integrity":"sha512-nIst73auX/5NY2Fmv5Y116vWnNrEv4GaIUX3lpZG05rpXJY2S8EX+fpUS5hRjClCM0VdT2Za9DDHXXB5jdSrEw==","mode":420,"size":1109},"index.js":{"checkedAt":1678887829650,"integrity":"sha512-HYuNqUObMjdFre0HzyPs9cMxl1CvFeG+lciPrxaYv8ptIv6rUPHHR5+LLPb4VAEguTGWUPBYy4OEEL9Pef82OA==","mode":420,"size":347},"readme.md":{"checkedAt":1678887829650,"integrity":"sha512-oRpm0Q/rx8dgDS65jeYuOXgIsgilKdmOpY/5eYr0Aqp6IFKXjJPrVSRLp3LJ/qzEVySD65n/qBewAsVP9hqwmA==","mode":420,"size":1427}}}
|
||||
@@ -0,0 +1,182 @@
|
||||
{
|
||||
"name": "rxjs",
|
||||
"version": "6.6.7",
|
||||
"description": "Reactive Extensions for modern JavaScript",
|
||||
"main": "./index.js",
|
||||
"sideEffects": false,
|
||||
"config": {
|
||||
"commitizen": {
|
||||
"path": "cz-conventional-changelog"
|
||||
}
|
||||
},
|
||||
"nyc": {
|
||||
"include": [
|
||||
"src/*.ts",
|
||||
"src/**/*.ts"
|
||||
],
|
||||
"exclude": [
|
||||
"node_modules",
|
||||
"dist",
|
||||
"*.d.ts",
|
||||
"src/**/MiscJSDoc.ts"
|
||||
],
|
||||
"extension": [
|
||||
".ts"
|
||||
],
|
||||
"reporter": [
|
||||
"html"
|
||||
],
|
||||
"all": true
|
||||
},
|
||||
"lint-staged": {
|
||||
"linters": {
|
||||
"*.@(js)": [
|
||||
"eslint --fix",
|
||||
"git add"
|
||||
],
|
||||
"*.@(ts)": [
|
||||
"tslint --fix",
|
||||
"git add"
|
||||
]
|
||||
},
|
||||
"ignore": [
|
||||
"spec-dtslint/**/*.{js,ts}",
|
||||
"api_guard/**/*.{js,ts}"
|
||||
]
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/reactivex/rxjs.git"
|
||||
},
|
||||
"keywords": [
|
||||
"Rx",
|
||||
"RxJS",
|
||||
"ReactiveX",
|
||||
"ReactiveExtensions",
|
||||
"Streams",
|
||||
"Observables",
|
||||
"Observable",
|
||||
"Stream",
|
||||
"ES6",
|
||||
"ES2015"
|
||||
],
|
||||
"author": "Ben Lesh <ben@benlesh.com>",
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Ben Lesh",
|
||||
"email": "ben@benlesh.com"
|
||||
},
|
||||
{
|
||||
"name": "Paul Taylor",
|
||||
"email": "paul.e.taylor@me.com"
|
||||
},
|
||||
{
|
||||
"name": "Jeff Cross",
|
||||
"email": "crossj@google.com"
|
||||
},
|
||||
{
|
||||
"name": "Matthew Podwysocki",
|
||||
"email": "matthewp@microsoft.com"
|
||||
},
|
||||
{
|
||||
"name": "OJ Kwon",
|
||||
"email": "kwon.ohjoong@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Andre Staltz",
|
||||
"email": "andre@staltz.com"
|
||||
}
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"bugs": {
|
||||
"url": "https://github.com/ReactiveX/RxJS/issues"
|
||||
},
|
||||
"homepage": "https://github.com/ReactiveX/RxJS",
|
||||
"dependencies": {
|
||||
"tslib": "^1.9.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-optimizer": "0.4.6",
|
||||
"@angular-devkit/schematics": "^0.5.4",
|
||||
"@types/chai": "4.1.2",
|
||||
"@types/lodash": "4.14.102",
|
||||
"@types/mocha": "2.2.48",
|
||||
"@types/node": "9.4.5",
|
||||
"@types/sinon": "4.1.3",
|
||||
"@types/sinon-chai": "2.7.29",
|
||||
"@types/source-map": "^0.5.2",
|
||||
"babel-polyfill": "6.26.0",
|
||||
"benchmark": "2.1.0",
|
||||
"benchpress": "2.0.0-beta.1",
|
||||
"chai": "4.1.2",
|
||||
"check-side-effects": "0.0.20",
|
||||
"color": "3.0.0",
|
||||
"colors": "1.1.2",
|
||||
"commitizen": "2.9.6",
|
||||
"coveralls": "3.0.0",
|
||||
"cross-env": "5.1.3",
|
||||
"cz-conventional-changelog": "1.2.0",
|
||||
"danger": "1.1.0",
|
||||
"dependency-cruiser": "2.13.0",
|
||||
"doctoc": "1.3.0",
|
||||
"dtslint": "0.6.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"esdoc": "0.4.7",
|
||||
"eslint": "4.17.0",
|
||||
"eslint-plugin-jasmine": "^2.10.1",
|
||||
"fs-extra": "5.0.0",
|
||||
"get-folder-size": "1.0.1",
|
||||
"glob": "7.1.2",
|
||||
"gm": "1.23.1",
|
||||
"google-closure-compiler-js": "20170218.0.0",
|
||||
"gzip-size": "4.1.0",
|
||||
"http-server": "0.11.1",
|
||||
"husky": "0.14.3",
|
||||
"klaw-sync": "3.0.2",
|
||||
"lint-staged": "7.1.1",
|
||||
"lodash": "4.17.5",
|
||||
"markdown-doctest": "0.9.1",
|
||||
"minimist": "1.2.0",
|
||||
"mkdirp": "^1.0.4",
|
||||
"mocha": "5.0.0",
|
||||
"mocha-in-sauce": "0.0.1",
|
||||
"npm-run-all": "4.1.2",
|
||||
"nyc": "11.4.1",
|
||||
"opn-cli": "3.1.0",
|
||||
"platform": "1.3.5",
|
||||
"promise": "8.0.1",
|
||||
"protractor": "3.1.1",
|
||||
"rollup": "0.66.6",
|
||||
"rollup-plugin-alias": "1.4.0",
|
||||
"rollup-plugin-inject": "2.0.0",
|
||||
"rollup-plugin-node-resolve": "2.0.0",
|
||||
"rx": "latest",
|
||||
"rxjs": "^5.5.7",
|
||||
"shx": "^0.3.2",
|
||||
"sinon": "4.3.0",
|
||||
"sinon-chai": "2.14.0",
|
||||
"source-map-support": "0.5.3",
|
||||
"symbol-observable": "1.0.1",
|
||||
"systemjs": "^0.21.0",
|
||||
"ts-api-guardian": "^0.5.0",
|
||||
"ts-node": "6.1.0",
|
||||
"tsconfig-paths": "3.2.0",
|
||||
"tslint": "5.9.1",
|
||||
"tslint-etc": "1.2.6",
|
||||
"tslint-no-toplevel-property-access": "0.0.2",
|
||||
"tslint-no-unused-expression-chai": "0.0.3",
|
||||
"typescript": "^3.0.1",
|
||||
"validate-commit-msg": "2.14.0",
|
||||
"webpack": "1.13.1",
|
||||
"xmlhttprequest": "1.8.0"
|
||||
},
|
||||
"engines": {
|
||||
"npm": ">=2.0.0"
|
||||
},
|
||||
"typings": "./index.d.ts",
|
||||
"ng-update": {
|
||||
"migrations": "./migrations/collection.json"
|
||||
},
|
||||
"module": "./_esm5/index.js",
|
||||
"es2015": "./_esm2015/index.js"
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
# Changelog
|
||||
|
||||
## v2.0.0
|
||||
|
||||
Breaking changes:
|
||||
|
||||
* Drop support for Node.js end-of-life versions: 0.10, 0.12, 4, 5, 7,
|
||||
and 9
|
||||
* Team Foundation Server will now be detected as Azure Pipelines. The
|
||||
constant `ci.TFS` no longer exists - use `ci.AZURE_PIPELINES` instead
|
||||
* Remove deprecated `ci.TDDIUM` constant - use `ci.SOLANDO` instead
|
||||
|
||||
New features:
|
||||
|
||||
* feat: support Azure Pipelines ([#23](https://github.com/watson/ci-info/pull/23))
|
||||
* feat: support Netlify CI ([#26](https://github.com/watson/ci-info/pull/26))
|
||||
* feat: support Bitbucket pipelines PR detection ([#27](https://github.com/watson/ci-info/pull/27))
|
||||
|
||||
## v1.6.0
|
||||
|
||||
* feat: add Sail CI support
|
||||
* feat: add Buddy support
|
||||
* feat: add Bitrise support
|
||||
* feat: detect Jenkins PRs
|
||||
* feat: detect Drone PRs
|
||||
|
||||
## v1.5.1
|
||||
|
||||
* fix: use full path to vendors.json
|
||||
|
||||
## v1.5.0
|
||||
|
||||
* feat: add dsari detection ([#15](https://github.com/watson/ci-info/pull/15))
|
||||
* feat: add ci.isPR ([#16](https://github.com/watson/ci-info/pull/16))
|
||||
|
||||
## v1.4.0
|
||||
|
||||
* feat: add Cirrus CI detection ([#13](https://github.com/watson/ci-info/pull/13))
|
||||
* feat: add Shippable CI detection ([#14](https://github.com/watson/ci-info/pull/14))
|
||||
|
||||
## v1.3.1
|
||||
|
||||
* chore: reduce npm package size by not including `.github` folder content ([#11](https://github.com/watson/ci-info/pull/11))
|
||||
|
||||
## v1.3.0
|
||||
|
||||
* feat: add support for Strider CD
|
||||
* chore: deprecate vendor constant `TDDIUM` in favor of `SOLANO`
|
||||
* docs: add missing vendor constant to docs
|
||||
|
||||
## v1.2.0
|
||||
|
||||
* feat: detect solano-ci ([#9](https://github.com/watson/ci-info/pull/9))
|
||||
|
||||
## v1.1.3
|
||||
|
||||
* fix: fix spelling of Hunson in `ci.name`
|
||||
|
||||
## v1.1.2
|
||||
|
||||
* fix: no more false positive matches for Jenkins
|
||||
|
||||
## v1.1.1
|
||||
|
||||
* docs: sort lists of CI servers in README.md
|
||||
* docs: add missing AWS CodeBuild to the docs
|
||||
|
||||
## v1.1.0
|
||||
|
||||
* feat: add AWS CodeBuild to CI detection ([#2](https://github.com/watson/ci-info/pull/2))
|
||||
|
||||
## v1.0.1
|
||||
|
||||
* chore: reduce npm package size by using an `.npmignore` file ([#3](https://github.com/watson/ci-info/pull/3))
|
||||
|
||||
## v1.0.0
|
||||
|
||||
* Initial release
|
||||
@@ -0,0 +1,2 @@
|
||||
/** Identifies an input as being an Iterable */
|
||||
export declare function isIterable(input: any): input is Iterable<any>;
|
||||
@@ -0,0 +1 @@
|
||||
export * from 'rxjs-compat/util/subscribeToResult';
|
||||
@@ -0,0 +1,21 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var Observable_1 = require("../Observable");
|
||||
var from_1 = require("./from");
|
||||
var empty_1 = require("./empty");
|
||||
function defer(observableFactory) {
|
||||
return new Observable_1.Observable(function (subscriber) {
|
||||
var input;
|
||||
try {
|
||||
input = observableFactory();
|
||||
}
|
||||
catch (err) {
|
||||
subscriber.error(err);
|
||||
return undefined;
|
||||
}
|
||||
var source = input ? from_1.from(input) : empty_1.empty();
|
||||
return source.subscribe(subscriber);
|
||||
});
|
||||
}
|
||||
exports.defer = defer;
|
||||
//# sourceMappingURL=defer.js.map
|
||||
@@ -0,0 +1,4 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.observable = (function () { return typeof Symbol === 'function' && Symbol.observable || '@@observable'; })();
|
||||
//# sourceMappingURL=observable.js.map
|
||||
@@ -0,0 +1,37 @@
|
||||
/// <reference types="node"/>
|
||||
|
||||
/**
|
||||
Get the name of the current operating system.
|
||||
|
||||
By default, the name of the current operating system is returned.
|
||||
|
||||
@param platform - Custom platform name.
|
||||
@param release - Custom release name.
|
||||
|
||||
@example
|
||||
```
|
||||
import * as os fron 'os';
|
||||
import osName = require('os-name');
|
||||
|
||||
// On a macOS Sierra system
|
||||
|
||||
osName();
|
||||
//=> 'macOS Sierra'
|
||||
|
||||
osName(os.platform(), os.release());
|
||||
//=> 'macOS Sierra'
|
||||
|
||||
osName('darwin', '14.0.0');
|
||||
//=> 'OS X Yosemite'
|
||||
|
||||
osName('linux', '3.13.0-24-generic');
|
||||
//=> 'Linux 3.13'
|
||||
|
||||
osName('win32', '6.3.9600');
|
||||
//=> 'Windows 8.1'
|
||||
```
|
||||
*/
|
||||
declare function osName(): string;
|
||||
declare function osName(platform: NodeJS.Platform, release: string): string;
|
||||
|
||||
export = osName;
|
||||
@@ -0,0 +1,489 @@
|
||||
export interface ParseOptions {
|
||||
/**
|
||||
Decode the keys and values. URI components are decoded with [`decode-uri-component`](https://github.com/SamVerschueren/decode-uri-component).
|
||||
|
||||
@default true
|
||||
*/
|
||||
readonly decode?: boolean;
|
||||
|
||||
/**
|
||||
@default 'none'
|
||||
|
||||
- `bracket`: Parse arrays with bracket representation:
|
||||
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.parse('foo[]=1&foo[]=2&foo[]=3', {arrayFormat: 'bracket'});
|
||||
//=> {foo: ['1', '2', '3']}
|
||||
```
|
||||
|
||||
- `index`: Parse arrays with index representation:
|
||||
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.parse('foo[0]=1&foo[1]=2&foo[3]=3', {arrayFormat: 'index'});
|
||||
//=> {foo: ['1', '2', '3']}
|
||||
```
|
||||
|
||||
- `comma`: Parse arrays with elements separated by comma:
|
||||
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.parse('foo=1,2,3', {arrayFormat: 'comma'});
|
||||
//=> {foo: ['1', '2', '3']}
|
||||
```
|
||||
|
||||
- `separator`: Parse arrays with elements separated by a custom character:
|
||||
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.parse('foo=1|2|3', {arrayFormat: 'separator', arrayFormatSeparator: '|'});
|
||||
//=> {foo: ['1', '2', '3']}
|
||||
```
|
||||
|
||||
- `none`: Parse arrays with elements using duplicate keys:
|
||||
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.parse('foo=1&foo=2&foo=3');
|
||||
//=> {foo: ['1', '2', '3']}
|
||||
```
|
||||
*/
|
||||
readonly arrayFormat?: 'bracket' | 'index' | 'comma' | 'separator' | 'none';
|
||||
|
||||
/**
|
||||
The character used to separate array elements when using `{arrayFormat: 'separator'}`.
|
||||
|
||||
@default ,
|
||||
*/
|
||||
readonly arrayFormatSeparator?: string;
|
||||
|
||||
/**
|
||||
Supports both `Function` as a custom sorting function or `false` to disable sorting.
|
||||
|
||||
If omitted, keys are sorted using `Array#sort`, which means, converting them to strings and comparing strings in Unicode code point order.
|
||||
|
||||
@default true
|
||||
|
||||
@example
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
const order = ['c', 'a', 'b'];
|
||||
|
||||
queryString.parse('?a=one&b=two&c=three', {
|
||||
sort: (itemLeft, itemRight) => order.indexOf(itemLeft) - order.indexOf(itemRight)
|
||||
});
|
||||
//=> {c: 'three', a: 'one', b: 'two'}
|
||||
```
|
||||
|
||||
@example
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.parse('?a=one&c=three&b=two', {sort: false});
|
||||
//=> {a: 'one', c: 'three', b: 'two'}
|
||||
```
|
||||
*/
|
||||
readonly sort?: ((itemLeft: string, itemRight: string) => number) | false;
|
||||
|
||||
/**
|
||||
Parse the value as a number type instead of string type if it's a number.
|
||||
|
||||
@default false
|
||||
|
||||
@example
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.parse('foo=1', {parseNumbers: true});
|
||||
//=> {foo: 1}
|
||||
```
|
||||
*/
|
||||
readonly parseNumbers?: boolean;
|
||||
|
||||
/**
|
||||
Parse the value as a boolean type instead of string type if it's a boolean.
|
||||
|
||||
@default false
|
||||
|
||||
@example
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.parse('foo=true', {parseBooleans: true});
|
||||
//=> {foo: true}
|
||||
```
|
||||
*/
|
||||
readonly parseBooleans?: boolean;
|
||||
|
||||
/**
|
||||
Parse the fragment identifier from the URL and add it to result object.
|
||||
|
||||
@default false
|
||||
|
||||
@example
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.parseUrl('https://foo.bar?foo=bar#xyz', {parseFragmentIdentifier: true});
|
||||
//=> {url: 'https://foo.bar', query: {foo: 'bar'}, fragmentIdentifier: 'xyz'}
|
||||
```
|
||||
*/
|
||||
readonly parseFragmentIdentifier?: boolean;
|
||||
}
|
||||
|
||||
export interface ParsedQuery<T = string> {
|
||||
[key: string]: T | T[] | null;
|
||||
}
|
||||
|
||||
/**
|
||||
Parse a query string into an object. Leading `?` or `#` are ignored, so you can pass `location.search` or `location.hash` directly.
|
||||
|
||||
The returned object is created with [`Object.create(null)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create) and thus does not have a `prototype`.
|
||||
|
||||
@param query - The query string to parse.
|
||||
*/
|
||||
export function parse(query: string, options: {parseBooleans: true, parseNumbers: true} & ParseOptions): ParsedQuery<string | boolean | number>;
|
||||
export function parse(query: string, options: {parseBooleans: true} & ParseOptions): ParsedQuery<string | boolean>;
|
||||
export function parse(query: string, options: {parseNumbers: true} & ParseOptions): ParsedQuery<string | number>;
|
||||
export function parse(query: string, options?: ParseOptions): ParsedQuery;
|
||||
|
||||
export interface ParsedUrl {
|
||||
readonly url: string;
|
||||
readonly query: ParsedQuery;
|
||||
|
||||
/**
|
||||
The fragment identifier of the URL.
|
||||
|
||||
Present when the `parseFragmentIdentifier` option is `true`.
|
||||
*/
|
||||
readonly fragmentIdentifier?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
Extract the URL and the query string as an object.
|
||||
|
||||
If the `parseFragmentIdentifier` option is `true`, the object will also contain a `fragmentIdentifier` property.
|
||||
|
||||
@param url - The URL to parse.
|
||||
|
||||
@example
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.parseUrl('https://foo.bar?foo=bar');
|
||||
//=> {url: 'https://foo.bar', query: {foo: 'bar'}}
|
||||
|
||||
queryString.parseUrl('https://foo.bar?foo=bar#xyz', {parseFragmentIdentifier: true});
|
||||
//=> {url: 'https://foo.bar', query: {foo: 'bar'}, fragmentIdentifier: 'xyz'}
|
||||
```
|
||||
*/
|
||||
export function parseUrl(url: string, options?: ParseOptions): ParsedUrl;
|
||||
|
||||
export interface StringifyOptions {
|
||||
/**
|
||||
Strictly encode URI components with [`strict-uri-encode`](https://github.com/kevva/strict-uri-encode). It uses [`encodeURIComponent`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent) if set to `false`. You probably [don't care](https://github.com/sindresorhus/query-string/issues/42) about this option.
|
||||
|
||||
@default true
|
||||
*/
|
||||
readonly strict?: boolean;
|
||||
|
||||
/**
|
||||
[URL encode](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent) the keys and values.
|
||||
|
||||
@default true
|
||||
*/
|
||||
readonly encode?: boolean;
|
||||
|
||||
/**
|
||||
@default 'none'
|
||||
|
||||
- `bracket`: Serialize arrays using bracket representation:
|
||||
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.stringify({foo: [1, 2, 3]}, {arrayFormat: 'bracket'});
|
||||
//=> 'foo[]=1&foo[]=2&foo[]=3'
|
||||
```
|
||||
|
||||
- `index`: Serialize arrays using index representation:
|
||||
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.stringify({foo: [1, 2, 3]}, {arrayFormat: 'index'});
|
||||
//=> 'foo[0]=1&foo[1]=2&foo[2]=3'
|
||||
```
|
||||
|
||||
- `comma`: Serialize arrays by separating elements with comma:
|
||||
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.stringify({foo: [1, 2, 3]}, {arrayFormat: 'comma'});
|
||||
//=> 'foo=1,2,3'
|
||||
```
|
||||
|
||||
- `separator`: Serialize arrays by separating elements with character:
|
||||
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.stringify({foo: [1, 2, 3]}, {arrayFormat: 'separator', arrayFormatSeparator: '|'});
|
||||
//=> 'foo=1|2|3'
|
||||
```
|
||||
|
||||
- `none`: Serialize arrays by using duplicate keys:
|
||||
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.stringify({foo: [1, 2, 3]});
|
||||
//=> 'foo=1&foo=2&foo=3'
|
||||
```
|
||||
*/
|
||||
readonly arrayFormat?: 'bracket' | 'index' | 'comma' | 'separator' | 'none';
|
||||
|
||||
/**
|
||||
The character used to separate array elements when using `{arrayFormat: 'separator'}`.
|
||||
|
||||
@default ,
|
||||
*/
|
||||
readonly arrayFormatSeparator?: string;
|
||||
|
||||
/**
|
||||
Supports both `Function` as a custom sorting function or `false` to disable sorting.
|
||||
|
||||
If omitted, keys are sorted using `Array#sort`, which means, converting them to strings and comparing strings in Unicode code point order.
|
||||
|
||||
@default true
|
||||
|
||||
@example
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
const order = ['c', 'a', 'b'];
|
||||
|
||||
queryString.stringify({a: 1, b: 2, c: 3}, {
|
||||
sort: (itemLeft, itemRight) => order.indexOf(itemLeft) - order.indexOf(itemRight)
|
||||
});
|
||||
//=> 'c=3&a=1&b=2'
|
||||
```
|
||||
|
||||
@example
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.stringify({b: 1, c: 2, a: 3}, {sort: false});
|
||||
//=> 'b=1&c=2&a=3'
|
||||
```
|
||||
*/
|
||||
readonly sort?: ((itemLeft: string, itemRight: string) => number) | false;
|
||||
|
||||
/**
|
||||
Skip keys with `null` as the value.
|
||||
|
||||
Note that keys with `undefined` as the value are always skipped.
|
||||
|
||||
@default false
|
||||
|
||||
@example
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.stringify({a: 1, b: undefined, c: null, d: 4}, {
|
||||
skipNull: true
|
||||
});
|
||||
//=> 'a=1&d=4'
|
||||
|
||||
queryString.stringify({a: undefined, b: null}, {
|
||||
skipNull: true
|
||||
});
|
||||
//=> ''
|
||||
```
|
||||
*/
|
||||
readonly skipNull?: boolean;
|
||||
|
||||
/**
|
||||
Skip keys with an empty string as the value.
|
||||
|
||||
@default false
|
||||
|
||||
@example
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.stringify({a: 1, b: '', c: '', d: 4}, {
|
||||
skipEmptyString: true
|
||||
});
|
||||
//=> 'a=1&d=4'
|
||||
```
|
||||
|
||||
@example
|
||||
```
|
||||
import queryString = require('query-string');
|
||||
|
||||
queryString.stringify({a: '', b: ''}, {
|
||||
skipEmptyString: true
|
||||
});
|
||||
//=> ''
|
||||
```
|
||||
*/
|
||||
readonly skipEmptyString?: boolean;
|
||||
}
|
||||
|
||||
export type Stringifiable = string | boolean | number | null | undefined;
|
||||
|
||||
export type StringifiableRecord = Record<
|
||||
string,
|
||||
Stringifiable | readonly Stringifiable[]
|
||||
>;
|
||||
|
||||
/**
|
||||
Stringify an object into a query string and sort the keys.
|
||||
*/
|
||||
export function stringify(
|
||||
// TODO: Use the below instead when the following TS issues are fixed:
|
||||
// - https://github.com/microsoft/TypeScript/issues/15300
|
||||
// - https://github.com/microsoft/TypeScript/issues/42021
|
||||
// Context: https://github.com/sindresorhus/query-string/issues/298
|
||||
// object: StringifiableRecord,
|
||||
object: Record<string, any>,
|
||||
options?: StringifyOptions
|
||||
): string;
|
||||
|
||||
/**
|
||||
Extract a query string from a URL that can be passed into `.parse()`.
|
||||
|
||||
Note: This behaviour can be changed with the `skipNull` option.
|
||||
*/
|
||||
export function extract(url: string): string;
|
||||
|
||||
export interface UrlObject {
|
||||
readonly url: string;
|
||||
|
||||
/**
|
||||
Overrides queries in the `url` property.
|
||||
*/
|
||||
readonly query?: StringifiableRecord;
|
||||
|
||||
/**
|
||||
Overrides the fragment identifier in the `url` property.
|
||||
*/
|
||||
readonly fragmentIdentifier?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
Stringify an object into a URL with a query string and sorting the keys. The inverse of [`.parseUrl()`](https://github.com/sindresorhus/query-string#parseurlstring-options)
|
||||
|
||||
Query items in the `query` property overrides queries in the `url` property.
|
||||
|
||||
The `fragmentIdentifier` property overrides the fragment identifier in the `url` property.
|
||||
|
||||
@example
|
||||
```
|
||||
queryString.stringifyUrl({url: 'https://foo.bar', query: {foo: 'bar'}});
|
||||
//=> 'https://foo.bar?foo=bar'
|
||||
|
||||
queryString.stringifyUrl({url: 'https://foo.bar?foo=baz', query: {foo: 'bar'}});
|
||||
//=> 'https://foo.bar?foo=bar'
|
||||
|
||||
queryString.stringifyUrl({
|
||||
url: 'https://foo.bar',
|
||||
query: {
|
||||
top: 'foo'
|
||||
},
|
||||
fragmentIdentifier: 'bar'
|
||||
});
|
||||
//=> 'https://foo.bar?top=foo#bar'
|
||||
```
|
||||
*/
|
||||
export function stringifyUrl(
|
||||
object: UrlObject,
|
||||
options?: StringifyOptions
|
||||
): string;
|
||||
|
||||
/**
|
||||
Pick query parameters from a URL.
|
||||
|
||||
@param url - The URL containing the query parameters to pick.
|
||||
@param keys - The names of the query parameters to keep. All other query parameters will be removed from the URL.
|
||||
@param filter - A filter predicate that will be provided the name of each query parameter and its value. The `parseNumbers` and `parseBooleans` options also affect `value`.
|
||||
|
||||
@returns The URL with the picked query parameters.
|
||||
|
||||
@example
|
||||
```
|
||||
queryString.pick('https://foo.bar?foo=1&bar=2#hello', ['foo']);
|
||||
//=> 'https://foo.bar?foo=1#hello'
|
||||
|
||||
queryString.pick('https://foo.bar?foo=1&bar=2#hello', (name, value) => value === 2, {parseNumbers: true});
|
||||
//=> 'https://foo.bar?bar=2#hello'
|
||||
```
|
||||
*/
|
||||
export function pick(
|
||||
url: string,
|
||||
keys: readonly string[],
|
||||
options?: ParseOptions & StringifyOptions
|
||||
): string
|
||||
export function pick(
|
||||
url: string,
|
||||
filter: (key: string, value: string | boolean | number) => boolean,
|
||||
options?: {parseBooleans: true, parseNumbers: true} & ParseOptions & StringifyOptions
|
||||
): string
|
||||
export function pick(
|
||||
url: string,
|
||||
filter: (key: string, value: string | boolean) => boolean,
|
||||
options?: {parseBooleans: true} & ParseOptions & StringifyOptions
|
||||
): string
|
||||
export function pick(
|
||||
url: string,
|
||||
filter: (key: string, value: string | number) => boolean,
|
||||
options?: {parseNumbers: true} & ParseOptions & StringifyOptions
|
||||
): string
|
||||
|
||||
/**
|
||||
Exclude query parameters from a URL. Like `.pick()` but reversed.
|
||||
|
||||
@param url - The URL containing the query parameters to exclude.
|
||||
@param keys - The names of the query parameters to remove. All other query parameters will remain in the URL.
|
||||
@param filter - A filter predicate that will be provided the name of each query parameter and its value. The `parseNumbers` and `parseBooleans` options also affect `value`.
|
||||
|
||||
@returns The URL without the excluded the query parameters.
|
||||
|
||||
@example
|
||||
```
|
||||
queryString.exclude('https://foo.bar?foo=1&bar=2#hello', ['foo']);
|
||||
//=> 'https://foo.bar?bar=2#hello'
|
||||
|
||||
queryString.exclude('https://foo.bar?foo=1&bar=2#hello', (name, value) => value === 2, {parseNumbers: true});
|
||||
//=> 'https://foo.bar?foo=1#hello'
|
||||
```
|
||||
*/
|
||||
export function exclude(
|
||||
url: string,
|
||||
keys: readonly string[],
|
||||
options?: ParseOptions & StringifyOptions
|
||||
): string
|
||||
export function exclude(
|
||||
url: string,
|
||||
filter: (key: string, value: string | boolean | number) => boolean,
|
||||
options?: {parseBooleans: true, parseNumbers: true} & ParseOptions & StringifyOptions
|
||||
): string
|
||||
export function exclude(
|
||||
url: string,
|
||||
filter: (key: string, value: string | boolean) => boolean,
|
||||
options?: {parseBooleans: true} & ParseOptions & StringifyOptions
|
||||
): string
|
||||
export function exclude(
|
||||
url: string,
|
||||
filter: (key: string, value: string | number) => boolean,
|
||||
options?: {parseNumbers: true} & ParseOptions & StringifyOptions
|
||||
): string
|
||||
Reference in New Issue
Block a user