@eslinted/core 8.0.0 → 9.0.0-rc.1
Sign up to get free protection for your applications and to get access to all the features.
- package/.github/workflows/RELEASE.yml +36 -36
- package/.github/workflows/rc.yml +36 -36
- package/.markdownlint.jsonc +122 -122
- package/LICENSE +21 -21
- package/README.md +5 -5
- package/SECURITY.md +9 -9
- package/eslint.config.js +3 -3
- package/package.json +96 -96
- package/src/factory/files.ts +26 -26
- package/src/factory/index.ts +27 -27
- package/src/factory/options/html.ts +18 -18
- package/src/factory/options/index.ts +21 -21
- package/src/factory/options/js.ts +13 -13
- package/src/factory/options/json.ts +18 -18
- package/src/factory/options/jsonc.ts +18 -18
- package/src/factory/options/mocha.ts +28 -28
- package/src/factory/options/option/index.ts +91 -91
- package/src/factory/options/option/template/globals.ts +5 -5
- package/src/factory/options/option/template/index.ts +26 -26
- package/src/factory/options/option/template/language/ecma.ts +3 -3
- package/src/factory/options/option/template/language/index.ts +21 -21
- package/src/factory/options/option/template/language/source.ts +4 -4
- package/src/factory/options/option/template/linter.ts +8 -8
- package/src/factory/options/option/template/plugins.ts +1 -1
- package/src/factory/options/svelte.ts +32 -32
- package/src/factory/options/ts.ts +24 -24
- package/src/factory/options/yml.ts +18 -18
- package/src/factory/rulesets/index.ts +24 -24
- package/src/factory/rulesets/ruleset.ts +25 -25
- package/src/index.ts +77 -77
- package/src/input/files.ts +6 -6
- package/src/input/imports/parsers.ts +10 -10
- package/src/input/imports/plugins.ts +9 -9
- package/src/input/index.ts +23 -23
- package/src/input/parsers.ts +3 -3
- package/src/input/plugins.ts +3 -3
- package/src/input/rules/entry/index.ts +7 -7
- package/src/input/rules/entry/record/index.ts +3 -3
- package/src/input/rules/entry/record/state.ts +5 -5
- package/src/input/rules/index.ts +14 -14
- package/src/output.ts +24 -24
- package/src/scopes.spec.ts +37 -37
- package/src/scopes.ts +11 -11
- package/tsconfig.json +163 -163
- package/typings/common/literals/number/bases/base32.d.ts +19 -19
- package/typings/common/literals/number/bases/base64.d.ts +35 -35
- package/typings/common/literals/number/bases/binary.d.ts +4 -4
- package/typings/common/literals/number/bases/decimal.d.ts +5 -5
- package/typings/common/literals/number/bases/hex.d.ts +10 -10
- package/typings/common/literals/number/bases/octal.d.ts +7 -7
- package/typings/common/literals/number/bases/quatral.d.ts +4 -4
- package/typings/common/literals/number/bases/ternary.d.ts +4 -4
- package/typings/common/literals/string/letter/digit/extended/base64/index.d.ts +13 -13
- package/typings/common/literals/string/letter/digit/extended/hex/index.d.ts +9 -9
- package/typings/common/literals/string/letter/digit/index.d.ts +12 -12
- package/typings/common/literals/string/letter/index.d.ts +35 -35
- package/typings/common/primitive/index.d.ts +5 -5
- package/typings/common/safe/index.d.ts +2 -2
- package/typings/common/safe/numbers/finite/index.d.ts +2 -2
- package/typings/common/safe/numbers/fint.d.ts +1 -1
- package/typings/common/safe/numbers/integer/index.d.ts +2 -2
- package/typings/common/safe/numbers/integer/numberful/index.d.ts +1 -1
- package/typings/common/safe/numbers/polarity/negative.d.ts +4 -4
- package/typings/common/safe/numbers/polarity/pole/index.d.ts +18 -18
- package/typings/common/safe/numbers/polarity/positive.d.ts +4 -4
- package/typings/common/safe/strings/char.d.ts +1 -1
- package/typings/common/safe/strings/stringful/index.d.ts +1 -1
- package/typings/common/safe/strings/stringful/length/index.d.ts +3 -3
- package/typings/common/utility/interface/build/particord/index.d.ts +1 -1
- package/typings/common/utility/interface/build/properties/Field.d.ts +1 -1
- package/typings/common/utility/interface/build/properties/Flag.d.ts +1 -1
- package/typings/common/utility/interface/build/properties/Limit.d.ts +8 -8
- package/typings/common/utility/interface/build/properties/List.d.ts +1 -1
- package/typings/common/utility/interface/build/properties/Listish.d.ts +1 -1
- package/typings/common/utility/interface/build/properties/Scalar.d.ts +1 -1
- package/typings/common/utility/interface/build/properties/property/index.d.ts +8 -8
- package/typings/common/utility/interface/build/recordful/index.d.ts +5 -5
- package/typings/common/utility/interface/build/tables/FieldTable.d.ts +1 -1
- package/typings/common/utility/interface/build/tables/FlagTable.d.ts +1 -1
- package/typings/common/utility/interface/build/tables/ListTable.d.ts +1 -1
- package/typings/common/utility/interface/build/tables/ListishTable.d.ts +1 -1
- package/typings/common/utility/interface/build/tables/ScalarTable.d.ts +1 -1
- package/typings/common/utility/interface/build/tables/table/index.d.ts +3 -3
- package/typings/common/utility/interface/identity/interface/index.d.ts +80 -80
- package/typings/common/utility/interface/identity/keys/index.d.ts +71 -71
- package/typings/common/utility/interface/transform/partial/unrequire/index.d.ts +45 -45
- package/typings/common/utility/iterable/build/arrays/array/index.d.ts +11 -11
- package/typings/common/utility/iterable/build/arrays/index.d.ts +2 -2
- package/typings/common/utility/iterable/build/tuples/index.d.ts +10 -10
- package/typings/common/utility/iterable/build/tuples/tuple/index.d.ts +26 -26
- package/typings/common/utility/iterable/identity/array/index.d.ts +65 -65
- package/typings/common/utility/iterable/identity/array/length/index.d.ts +16 -16
- package/typings/common/utility/iterable/identity/dyad.d.ts +3 -3
- package/typings/common/utility/iterable/identity/monad.d.ts +48 -48
- package/typings/common/utility/iterable/identity/triad.d.ts +3 -3
- package/typings/common/utility/iterable/transform/flat/index.d.ts +3 -3
- package/typings/common/utility/iterable/transform/flat/unflat/index.d.ts +3 -3
- package/typings/common/utility/iterable/transform/string/index.d.ts +30 -30
- package/typings/common/utility/iterable/transform/string/stringify/index.d.ts +27 -27
- package/typings/common/utility/nullable/index.d.ts +1 -1
- package/typings/common/utility/nullable/index.spec.d.ts +13 -13
- package/typings/common/utility/nullable/null/index.d.ts +1 -1
- package/typings/common/utility/nullable/null/index.spec.d.ts +13 -13
- package/typings/common/utility/object/build/index.d.ts +3 -3
- package/typings/common/utility/primitive/boolean/true/index.d.ts +30 -30
- package/typings/common/utility/primitive/index.d.ts +42 -42
- package/typings/common/utility/primitive/number/length/index.d.ts +35 -35
- package/typings/common/utility/primitive/number/length/numbered/index.d.ts +35 -35
- package/typings/common/utility/primitive/string/fake/index.d.ts +1 -1
- package/typings/common/utility/primitive/string/literalful/index.d.ts +28 -28
- package/typings/common/utility/primitive/string/literalful/literal/index.d.ts +22 -22
- package/typings/common/utility/test.d.ts +2 -2
- package/typings/common/valid/index.d.ts +7 -7
- package/typings/common/valid/string/index.d.ts +1 -1
package/src/index.ts
CHANGED
@@ -1,77 +1,77 @@
|
|
1
|
-
export type { Scope } from "./scopes";
|
2
|
-
|
3
|
-
import type { Input } from "./input";
|
4
|
-
import type { Output } from "./output";
|
5
|
-
|
6
|
-
export type { Input, Output };
|
7
|
-
|
8
|
-
import { scopes } from "./scopes";
|
9
|
-
import {
|
10
|
-
Factory,
|
11
|
-
Options,
|
12
|
-
} from "./factory";
|
13
|
-
|
14
|
-
export default function (input: Input): Output {
|
15
|
-
try {
|
16
|
-
const {
|
17
|
-
parsers,
|
18
|
-
plugins,
|
19
|
-
files,
|
20
|
-
rules,
|
21
|
-
} = input,
|
22
|
-
factory = new Factory(files, rules),
|
23
|
-
options: { [S in typeof scopes[number]]: InstanceType<typeof Options[S]>["configs"] } = {
|
24
|
-
js: new Options
|
25
|
-
.js(
|
26
|
-
{ "@stylistic": plugins["@stylistic"] },
|
27
|
-
[],
|
28
|
-
...factory.produce("js"),
|
29
|
-
).configs,
|
30
|
-
ts: new Options
|
31
|
-
.ts(
|
32
|
-
{ "@stylistic": plugins["@stylistic"], "@typescript-eslint": plugins["@typescript-eslint"] },
|
33
|
-
[parsers.ts],
|
34
|
-
...factory.produce("ts"),
|
35
|
-
).configs,
|
36
|
-
svelte: new Options
|
37
|
-
.svelte(
|
38
|
-
{ "@stylistic": plugins["@stylistic"], "@typescript-eslint": plugins["@typescript-eslint"], svelte: plugins.svelte },
|
39
|
-
[parsers.svelte, parsers.ts],
|
40
|
-
...factory.produce("svelte"),
|
41
|
-
).configs,
|
42
|
-
mocha: new Options
|
43
|
-
.mocha(
|
44
|
-
{ "@stylistic": plugins["@stylistic"], "@typescript-eslint": plugins["@typescript-eslint"], mocha: plugins.mocha },
|
45
|
-
[parsers.ts],
|
46
|
-
...factory.produce("mocha"),
|
47
|
-
).configs,
|
48
|
-
html: new Options
|
49
|
-
.html(
|
50
|
-
{ "@html-eslint": plugins["@html-eslint"] },
|
51
|
-
[parsers.html],
|
52
|
-
...factory.produce("html"),
|
53
|
-
).configs,
|
54
|
-
json: new Options
|
55
|
-
.json(
|
56
|
-
{ jsonc: plugins.jsonc },
|
57
|
-
[parsers.jsonc],
|
58
|
-
...factory.produce("json"),
|
59
|
-
).configs,
|
60
|
-
jsonc: new Options
|
61
|
-
.jsonc(
|
62
|
-
{ jsonc: plugins.jsonc },
|
63
|
-
[parsers.jsonc],
|
64
|
-
...factory.produce("jsonc"),
|
65
|
-
).configs,
|
66
|
-
yml: new Options
|
67
|
-
.yml(
|
68
|
-
{ yml: plugins.yml },
|
69
|
-
[parsers.yml],
|
70
|
-
...factory.produce("yml"),
|
71
|
-
).configs,
|
72
|
-
};
|
73
|
-
|
74
|
-
return scopes.flatMap(scope => options[scope]);
|
75
|
-
}
|
76
|
-
catch (e) { throw new Error(`linted-core`, { cause: e }); }
|
77
|
-
}
|
1
|
+
export type { Scope } from "./scopes";
|
2
|
+
|
3
|
+
import type { Input } from "./input";
|
4
|
+
import type { Output } from "./output";
|
5
|
+
|
6
|
+
export type { Input, Output };
|
7
|
+
|
8
|
+
import { scopes } from "./scopes";
|
9
|
+
import {
|
10
|
+
Factory,
|
11
|
+
Options,
|
12
|
+
} from "./factory";
|
13
|
+
|
14
|
+
export default function (input: Input): Output {
|
15
|
+
try {
|
16
|
+
const {
|
17
|
+
parsers,
|
18
|
+
plugins,
|
19
|
+
files,
|
20
|
+
rules,
|
21
|
+
} = input,
|
22
|
+
factory = new Factory(files, rules),
|
23
|
+
options: { [S in typeof scopes[number]]: InstanceType<typeof Options[S]>["configs"] } = {
|
24
|
+
js: new Options
|
25
|
+
.js(
|
26
|
+
{ "@stylistic": plugins["@stylistic"] },
|
27
|
+
[],
|
28
|
+
...factory.produce("js"),
|
29
|
+
).configs,
|
30
|
+
ts: new Options
|
31
|
+
.ts(
|
32
|
+
{ "@stylistic": plugins["@stylistic"], "@typescript-eslint": plugins["@typescript-eslint"] },
|
33
|
+
[parsers.ts],
|
34
|
+
...factory.produce("ts"),
|
35
|
+
).configs,
|
36
|
+
svelte: new Options
|
37
|
+
.svelte(
|
38
|
+
{ "@stylistic": plugins["@stylistic"], "@typescript-eslint": plugins["@typescript-eslint"], svelte: plugins.svelte },
|
39
|
+
[parsers.svelte, parsers.ts],
|
40
|
+
...factory.produce("svelte"),
|
41
|
+
).configs,
|
42
|
+
mocha: new Options
|
43
|
+
.mocha(
|
44
|
+
{ "@stylistic": plugins["@stylistic"], "@typescript-eslint": plugins["@typescript-eslint"], mocha: plugins.mocha },
|
45
|
+
[parsers.ts],
|
46
|
+
...factory.produce("mocha"),
|
47
|
+
).configs,
|
48
|
+
html: new Options
|
49
|
+
.html(
|
50
|
+
{ "@html-eslint": plugins["@html-eslint"] },
|
51
|
+
[parsers.html],
|
52
|
+
...factory.produce("html"),
|
53
|
+
).configs,
|
54
|
+
json: new Options
|
55
|
+
.json(
|
56
|
+
{ jsonc: plugins.jsonc },
|
57
|
+
[parsers.jsonc],
|
58
|
+
...factory.produce("json"),
|
59
|
+
).configs,
|
60
|
+
jsonc: new Options
|
61
|
+
.jsonc(
|
62
|
+
{ jsonc: plugins.jsonc },
|
63
|
+
[parsers.jsonc],
|
64
|
+
...factory.produce("jsonc"),
|
65
|
+
).configs,
|
66
|
+
yml: new Options
|
67
|
+
.yml(
|
68
|
+
{ yml: plugins.yml },
|
69
|
+
[parsers.yml],
|
70
|
+
...factory.produce("yml"),
|
71
|
+
).configs,
|
72
|
+
};
|
73
|
+
|
74
|
+
return scopes.flatMap(scope => options[scope]);
|
75
|
+
}
|
76
|
+
catch (e) { throw new Error(`linted-core`, { cause: e }); }
|
77
|
+
}
|
package/src/input/files.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import type { Scope } from ".";
|
2
|
-
|
3
|
-
export interface FilesInput {
|
4
|
-
files: Record<Scope, string[]>;
|
5
|
-
includes: Partial<FilesInput["files"]>;
|
6
|
-
}
|
1
|
+
import type { Scope } from ".";
|
2
|
+
|
3
|
+
export interface FilesInput {
|
4
|
+
files: Record<Scope, string[]>;
|
5
|
+
includes: Partial<FilesInput["files"]>;
|
6
|
+
}
|
@@ -1,10 +1,10 @@
|
|
1
|
-
import type { Scope } from "..";
|
2
|
-
|
3
|
-
export type Parsers = Scope
|
4
|
-
& (
|
5
|
-
| "ts"
|
6
|
-
| "svelte"
|
7
|
-
| "html"
|
8
|
-
| "jsonc"
|
9
|
-
| "yml"
|
10
|
-
);
|
1
|
+
import type { Scope } from "..";
|
2
|
+
|
3
|
+
export type Parsers = Scope
|
4
|
+
& (
|
5
|
+
| "ts"
|
6
|
+
| "svelte"
|
7
|
+
| "html"
|
8
|
+
| "jsonc"
|
9
|
+
| "yml"
|
10
|
+
);
|
@@ -1,9 +1,9 @@
|
|
1
|
-
export type Plugins = (
|
2
|
-
| "@stylistic"
|
3
|
-
| "@typescript-eslint"
|
4
|
-
| "svelte"
|
5
|
-
| "mocha"
|
6
|
-
| "@html-eslint"
|
7
|
-
| "jsonc"
|
8
|
-
| "yml"
|
9
|
-
);
|
1
|
+
export type Plugins = (
|
2
|
+
| "@stylistic"
|
3
|
+
| "@typescript-eslint"
|
4
|
+
| "svelte"
|
5
|
+
| "mocha"
|
6
|
+
| "@html-eslint"
|
7
|
+
| "jsonc"
|
8
|
+
| "yml"
|
9
|
+
);
|
package/src/input/index.ts
CHANGED
@@ -1,23 +1,23 @@
|
|
1
|
-
export type { Scope } from "../scopes";
|
2
|
-
|
3
|
-
import type { PluginsInput } from "./plugins";
|
4
|
-
import type { ParsersInput } from "./parsers";
|
5
|
-
import type { FilesInput } from "./files";
|
6
|
-
import type { RulesInput } from "./rules";
|
7
|
-
|
8
|
-
export interface Input {
|
9
|
-
plugins: PluginsInput;
|
10
|
-
parsers: ParsersInput;
|
11
|
-
files: FilesInput;
|
12
|
-
rules: RulesInput;
|
13
|
-
}
|
14
|
-
export namespace Input {
|
15
|
-
export type Rule = RulesInput;
|
16
|
-
export namespace Rule {
|
17
|
-
export type Entry = RulesInput.Entry;
|
18
|
-
export namespace Entry {
|
19
|
-
export type Id = RulesInput.Entry.Id;
|
20
|
-
export type Record = RulesInput.Entry.Record;
|
21
|
-
}
|
22
|
-
}
|
23
|
-
}
|
1
|
+
export type { Scope } from "../scopes";
|
2
|
+
|
3
|
+
import type { PluginsInput } from "./plugins";
|
4
|
+
import type { ParsersInput } from "./parsers";
|
5
|
+
import type { FilesInput } from "./files";
|
6
|
+
import type { RulesInput } from "./rules";
|
7
|
+
|
8
|
+
export interface Input {
|
9
|
+
plugins: PluginsInput;
|
10
|
+
parsers: ParsersInput;
|
11
|
+
files: FilesInput;
|
12
|
+
rules: RulesInput;
|
13
|
+
}
|
14
|
+
export namespace Input {
|
15
|
+
export type Rule = RulesInput;
|
16
|
+
export namespace Rule {
|
17
|
+
export type Entry = RulesInput.Entry;
|
18
|
+
export namespace Entry {
|
19
|
+
export type Id = RulesInput.Entry.Id;
|
20
|
+
export type Record = RulesInput.Entry.Record;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
}
|
package/src/input/parsers.ts
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
import type { Parsers } from "./imports/parsers";
|
2
|
-
|
3
|
-
export type ParsersInput = Record<Parsers, unknown>;
|
1
|
+
import type { Parsers } from "./imports/parsers";
|
2
|
+
|
3
|
+
export type ParsersInput = Record<Parsers, unknown>;
|
package/src/input/plugins.ts
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
import type { Plugins } from "./imports/plugins";
|
2
|
-
|
3
|
-
export type PluginsInput = Record<Plugins, { configs: unknown }>;
|
1
|
+
import type { Plugins } from "./imports/plugins";
|
2
|
+
|
3
|
+
export type PluginsInput = Record<Plugins, { configs: unknown }>;
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import type { RuleRecord } from "./record";
|
2
|
-
|
3
|
-
export type RuleEntry = readonly [string, RuleRecord];
|
4
|
-
export namespace RuleEntry {
|
5
|
-
export type Id = string;
|
6
|
-
export type Record = RuleRecord;
|
7
|
-
}
|
1
|
+
import type { RuleRecord } from "./record";
|
2
|
+
|
3
|
+
export type RuleEntry = readonly [string, RuleRecord];
|
4
|
+
export namespace RuleEntry {
|
5
|
+
export type Id = string;
|
6
|
+
export type Record = RuleRecord;
|
7
|
+
}
|
@@ -1,3 +1,3 @@
|
|
1
|
-
import type { RuleState } from "./state";
|
2
|
-
|
3
|
-
export type RuleRecord = Table<RuleState | readonly [RuleState, ...unknown[]]>;
|
1
|
+
import type { RuleState } from "./state";
|
2
|
+
|
3
|
+
export type RuleRecord = Table<RuleState | readonly [RuleState, ...unknown[]]>;
|
@@ -1,5 +1,5 @@
|
|
1
|
-
export type RuleState = (
|
2
|
-
| "error"
|
3
|
-
| "warn"
|
4
|
-
| "off"
|
5
|
-
);
|
1
|
+
export type RuleState = (
|
2
|
+
| "error"
|
3
|
+
| "warn"
|
4
|
+
| "off"
|
5
|
+
);
|
package/src/input/rules/index.ts
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
import type { Scope } from "..";
|
2
|
-
import type { RuleEntry } from "./entry";
|
3
|
-
|
4
|
-
export interface RulesInput {
|
5
|
-
rules: Record<Scope, RuleEntry[]>;
|
6
|
-
overrides: Partial<Record<Scope, RuleEntry.Record>>;
|
7
|
-
}
|
8
|
-
export namespace RulesInput {
|
9
|
-
export type Entry = RuleEntry;
|
10
|
-
export namespace Entry {
|
11
|
-
export type Id = RuleEntry.Id;
|
12
|
-
export type Record = RuleEntry.Record;
|
13
|
-
}
|
14
|
-
}
|
1
|
+
import type { Scope } from "..";
|
2
|
+
import type { RuleEntry } from "./entry";
|
3
|
+
|
4
|
+
export interface RulesInput {
|
5
|
+
rules: Record<Scope, RuleEntry[]>;
|
6
|
+
overrides: Partial<Record<Scope, RuleEntry.Record>>;
|
7
|
+
}
|
8
|
+
export namespace RulesInput {
|
9
|
+
export type Entry = RuleEntry;
|
10
|
+
export namespace Entry {
|
11
|
+
export type Id = RuleEntry.Id;
|
12
|
+
export type Record = RuleEntry.Record;
|
13
|
+
}
|
14
|
+
}
|
package/src/output.ts
CHANGED
@@ -1,24 +1,24 @@
|
|
1
|
-
import type { Input } from ".";
|
2
|
-
|
3
|
-
export type Output = (
|
4
|
-
{
|
5
|
-
name: `linted/${string}`;
|
6
|
-
rules: Input["rules"]["rules"]["html"][number][1];
|
7
|
-
files: string[];
|
8
|
-
linterOptions: {
|
9
|
-
noInlineConfig: true;
|
10
|
-
reportUnusedDisableDirectives: "error";
|
11
|
-
};
|
12
|
-
languageOptions: {
|
13
|
-
sourceType?:
|
14
|
-
| "module"
|
15
|
-
| "script";
|
16
|
-
ecmaVersion?: "latest";
|
17
|
-
globals?: Table<true>;
|
18
|
-
parser?: unknown;
|
19
|
-
parserOptions?: Table;
|
20
|
-
};
|
21
|
-
plugins: Table<Record<"configs", unknown>>;
|
22
|
-
processor?: string;
|
23
|
-
}
|
24
|
-
)[];
|
1
|
+
import type { Input } from ".";
|
2
|
+
|
3
|
+
export type Output = (
|
4
|
+
{
|
5
|
+
name: `linted/${string}`;
|
6
|
+
rules: Input["rules"]["rules"]["html"][number][1];
|
7
|
+
files: string[];
|
8
|
+
linterOptions: {
|
9
|
+
noInlineConfig: true;
|
10
|
+
reportUnusedDisableDirectives: "error";
|
11
|
+
};
|
12
|
+
languageOptions: {
|
13
|
+
sourceType?:
|
14
|
+
| "module"
|
15
|
+
| "script";
|
16
|
+
ecmaVersion?: "latest";
|
17
|
+
globals?: Table<true>;
|
18
|
+
parser?: unknown;
|
19
|
+
parserOptions?: Table;
|
20
|
+
};
|
21
|
+
plugins: Table<Record<"configs", unknown>>;
|
22
|
+
processor?: string;
|
23
|
+
}
|
24
|
+
)[];
|
package/src/scopes.spec.ts
CHANGED
@@ -1,37 +1,37 @@
|
|
1
|
-
import { expect } from "chai";
|
2
|
-
import { scopes } from "./scopes";
|
3
|
-
|
4
|
-
describe("Scopes", function () {
|
5
|
-
describe("shape", function () {
|
6
|
-
it("is a non-empty array", function () {
|
7
|
-
expect(scopes)
|
8
|
-
.an("array")
|
9
|
-
.with.lengthOf.at.least(1);
|
10
|
-
});
|
11
|
-
});
|
12
|
-
describe("order", function () {
|
13
|
-
it("jsonc > json", function () {
|
14
|
-
expect(scopes)
|
15
|
-
.includes.members(["jsonc", "json"]);
|
16
|
-
expect(scopes.indexOf("jsonc"))
|
17
|
-
.greaterThan(scopes.indexOf("json"));
|
18
|
-
});
|
19
|
-
it("ts > js", function () {
|
20
|
-
expect(scopes)
|
21
|
-
.includes.members(["ts", "js"]);
|
22
|
-
expect(scopes.indexOf("ts"))
|
23
|
-
.greaterThan(scopes.indexOf("js"));
|
24
|
-
});
|
25
|
-
it("mocha > ts", function () {
|
26
|
-
expect(scopes)
|
27
|
-
.includes.members(["mocha", "ts"]);
|
28
|
-
expect(scopes.indexOf("mocha"))
|
29
|
-
.greaterThan(scopes.indexOf("ts"));
|
30
|
-
});
|
31
|
-
it("svelte > ts", function () {
|
32
|
-
expect(scopes).includes.members(["svelte", "ts"]);
|
33
|
-
expect(scopes.indexOf("svelte"))
|
34
|
-
.greaterThan(scopes.indexOf("ts"));
|
35
|
-
});
|
36
|
-
});
|
37
|
-
});
|
1
|
+
import { expect } from "chai";
|
2
|
+
import { scopes } from "./scopes";
|
3
|
+
|
4
|
+
describe("Scopes", function () {
|
5
|
+
describe("shape", function () {
|
6
|
+
it("is a non-empty array", function () {
|
7
|
+
expect(scopes)
|
8
|
+
.an("array")
|
9
|
+
.with.lengthOf.at.least(1);
|
10
|
+
});
|
11
|
+
});
|
12
|
+
describe("order", function () {
|
13
|
+
it("jsonc > json", function () {
|
14
|
+
expect(scopes)
|
15
|
+
.includes.members(["jsonc", "json"]);
|
16
|
+
expect(scopes.indexOf("jsonc"))
|
17
|
+
.greaterThan(scopes.indexOf("json"));
|
18
|
+
});
|
19
|
+
it("ts > js", function () {
|
20
|
+
expect(scopes)
|
21
|
+
.includes.members(["ts", "js"]);
|
22
|
+
expect(scopes.indexOf("ts"))
|
23
|
+
.greaterThan(scopes.indexOf("js"));
|
24
|
+
});
|
25
|
+
it("mocha > ts", function () {
|
26
|
+
expect(scopes)
|
27
|
+
.includes.members(["mocha", "ts"]);
|
28
|
+
expect(scopes.indexOf("mocha"))
|
29
|
+
.greaterThan(scopes.indexOf("ts"));
|
30
|
+
});
|
31
|
+
it("svelte > ts", function () {
|
32
|
+
expect(scopes).includes.members(["svelte", "ts"]);
|
33
|
+
expect(scopes.indexOf("svelte"))
|
34
|
+
.greaterThan(scopes.indexOf("ts"));
|
35
|
+
});
|
36
|
+
});
|
37
|
+
});
|
package/src/scopes.ts
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
export type Scope = typeof scopes[number];
|
2
|
-
export const scopes = [
|
3
|
-
"js",
|
4
|
-
"ts",
|
5
|
-
"svelte",
|
6
|
-
"mocha",
|
7
|
-
"html",
|
8
|
-
"json",
|
9
|
-
"jsonc",
|
10
|
-
"yml",
|
11
|
-
] as const;
|
1
|
+
export type Scope = typeof scopes[number];
|
2
|
+
export const scopes = [
|
3
|
+
"js",
|
4
|
+
"ts",
|
5
|
+
"svelte",
|
6
|
+
"mocha",
|
7
|
+
"html",
|
8
|
+
"json",
|
9
|
+
"jsonc",
|
10
|
+
"yml",
|
11
|
+
] as const;
|