eslint-plugin-fast-import 1.4.4 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +4 -3
- package/dist/plugin.d.ts +4 -0
- package/dist/plugin.js +5 -1
- package/dist/plugin.js.map +1 -1
- package/dist/rules/extension/extension.d.ts +4 -0
- package/dist/rules/extension/extension.js +104 -0
- package/dist/rules/extension/extension.js.map +1 -0
- package/dist/rules/namedAsDefault/namedAsDefault.js +1 -1
- package/dist/rules/namedAsDefault/namedAsDefault.js.map +1 -1
- package/dist/rules/restricted/restricted.js +1 -1
- package/dist/rules/restricted/restricted.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -56,13 +56,14 @@ npm install --save-dev eslint-plugin-fast-import
|
|
|
56
56
|
|
|
57
57
|
| Name | 💼 | 🔧 |
|
|
58
58
|
| --------------------------------------------------------------------------- | --- | --- |
|
|
59
|
-
| [no-unused-exports](src/rules/unused/README.md) | 🧰 ☑️ | |
|
|
60
|
-
| [no-unresolved-imports](src/rules/unresolved/README.md) | 🧰 ☑️ | |
|
|
61
59
|
| [no-cycle](src/rules/cycle/README.md) | 🧰 ☑️ | |
|
|
62
|
-
| [no-test-imports-in-prod](src/rules/testInProd/README.md) | 🧰 ☑️ | |
|
|
63
60
|
| [no-entry-point-imports](src/rules/entryPoint/README.md) | 🧰 ☑️ | |
|
|
64
61
|
| [no-external-barrel-reexports](src/rules/externalBarrelReexports/README.md) | 🧰 ☑️ | |
|
|
65
62
|
| [no-named-as-default](src/rules/namedAsDefault/README.md) | 🧰 ☑️ | |
|
|
63
|
+
| [no-test-imports-in-prod](src/rules/testInProd/README.md) | 🧰 ☑️ | |
|
|
64
|
+
| [no-unresolved-imports](src/rules/unresolved/README.md) | 🧰 ☑️ | |
|
|
65
|
+
| [no-unused-exports](src/rules/unused/README.md) | 🧰 ☑️ | |
|
|
66
|
+
| [consistent-file-extensions](src/rules/extension/README.md) | 🧰 | 🔧 |
|
|
66
67
|
| [require-node-prefix](src/rules/nodePrefix/README.md) | 🧰 | 🔧 |
|
|
67
68
|
| [no-restricted-imports](src/rules/restricted/README.md) * | | |
|
|
68
69
|
|
package/dist/plugin.d.ts
CHANGED
|
@@ -8,6 +8,10 @@ declare const plugin: {
|
|
|
8
8
|
};
|
|
9
9
|
configs: {};
|
|
10
10
|
rules: {
|
|
11
|
+
'consistent-file-extensions': TSESLint.RuleModule<"missingExtension" | "extraExtension" | "incorrectExtension", [{
|
|
12
|
+
mode?: "always" | "never" | undefined;
|
|
13
|
+
forceTsExtension?: boolean | undefined;
|
|
14
|
+
} | undefined], unknown, TSESLint.RuleListener>;
|
|
11
15
|
'no-unused-exports': TSESLint.RuleModule<"noUnusedExports" | "noTestOnlyImports", [{
|
|
12
16
|
allowNonTestTypeExports: boolean;
|
|
13
17
|
} | undefined], unknown, TSESLint.RuleListener>;
|
package/dist/plugin.js
CHANGED
|
@@ -3,6 +3,7 @@ import { join } from 'node:path';
|
|
|
3
3
|
import { getDirname } from 'cross-dirname';
|
|
4
4
|
import { noCycle } from './rules/cycle/cycle.js';
|
|
5
5
|
import { noEntryPointImports } from './rules/entryPoint/entryPoint.js';
|
|
6
|
+
import { consistentFileExtensions } from './rules/extension/extension.js';
|
|
6
7
|
import { noExternalBarrelReexports } from './rules/externalBarrelReexports/externalBarrelReexports.js';
|
|
7
8
|
import { namedAsDefault } from './rules/namedAsDefault/namedAsDefault.js';
|
|
8
9
|
import { nodePrefix } from './rules/nodePrefix/nodePrefix.js';
|
|
@@ -21,6 +22,7 @@ const plugin = {
|
|
|
21
22
|
},
|
|
22
23
|
configs: {},
|
|
23
24
|
rules: {
|
|
25
|
+
'consistent-file-extensions': consistentFileExtensions,
|
|
24
26
|
'no-unused-exports': noUnusedExports,
|
|
25
27
|
'no-cycle': noCycle,
|
|
26
28
|
'no-entry-point-imports': noEntryPointImports,
|
|
@@ -53,6 +55,7 @@ const allConfig = {
|
|
|
53
55
|
'fast-import': plugin,
|
|
54
56
|
},
|
|
55
57
|
rules: {
|
|
58
|
+
'fast-import/consistent-file-extensions': 'error',
|
|
56
59
|
'fast-import/no-unused-exports': 'error',
|
|
57
60
|
'fast-import/no-cycle': 'error',
|
|
58
61
|
'fast-import/no-entry-point-imports': 'error',
|
|
@@ -68,8 +71,9 @@ const offConfig = {
|
|
|
68
71
|
'fast-import': plugin,
|
|
69
72
|
},
|
|
70
73
|
rules: {
|
|
74
|
+
'fast-import/consistent-file-extensions': 'off',
|
|
71
75
|
'fast-import/no-unused-exports': 'off',
|
|
72
|
-
'fast-import/no-cycle
|
|
76
|
+
'fast-import/no-cycle': 'off',
|
|
73
77
|
'fast-import/no-entry-point-imports': 'off',
|
|
74
78
|
'fast-import/no-unresolved-imports': 'off',
|
|
75
79
|
'fast-import/no-external-barrel-reexports': 'off',
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,iBAAiB;AACjB,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,gBAAgB;AAChB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAClC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAC1B,CAAC;AAEvC,MAAM,MAAM,GAAG;IACb,IAAI,EAAE;QACJ,IAAI;QACJ,OAAO;KACR;IACD,OAAO,EAAE,EAAE;IACX,KAAK,EAAE;QACL,mBAAmB,EAAE,eAAe;QACpC,UAAU,EAAE,OAAO;QACnB,wBAAwB,EAAE,mBAAmB;QAC7C,uBAAuB,EAAE,mBAAmB;QAC5C,8BAA8B,EAAE,yBAAyB;QACzD,yBAAyB,EAAE,mBAAmB;QAC9C,qBAAqB,EAAE,cAAc;QACrC,qBAAqB,EAAE,UAAU;QACjC,uBAAuB,EAAE,mBAAmB;KAC7C;IACD,UAAU,EAAE,EAAE;CACf,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACxB,OAAO,EAAE;QACP,aAAa,EAAE,MAAM;KACtB;IACD,KAAK,EAAE;QACL,+BAA+B,EAAE,OAAO;QACxC,sBAAsB,EAAE,OAAO;QAC/B,oCAAoC,EAAE,OAAO;QAC7C,mCAAmC,EAAE,OAAO;QAC5C,0CAA0C,EAAE,OAAO;QACnD,qCAAqC,EAAE,OAAO;QAC9C,iCAAiC,EAAE,OAAO;QAC1C,iCAAiC,EAAE,KAAK;KACzC;CACO,CAAC;AAEX,MAAM,SAAS,GAAG;IAChB,OAAO,EAAE;QACP,aAAa,EAAE,MAAM;KACtB;IACD,KAAK,EAAE;QACL,+BAA+B,EAAE,OAAO;QACxC,sBAAsB,EAAE,OAAO;QAC/B,oCAAoC,EAAE,OAAO;QAC7C,mCAAmC,EAAE,OAAO;QAC5C,0CAA0C,EAAE,OAAO;QACnD,qCAAqC,EAAE,OAAO;QAC9C,iCAAiC,EAAE,OAAO;QAC1C,iCAAiC,EAAE,OAAO;KAC3C;CACO,CAAC;AAEX,MAAM,SAAS,GAAG;IAChB,OAAO,EAAE;QACP,aAAa,EAAE,MAAM;KACtB;IACD,KAAK,EAAE;QACL,+BAA+B,EAAE,KAAK;QACtC,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const consistentFileExtensions: import("@typescript-eslint/utils/ts-eslint").RuleModule<"missingExtension" | "extraExtension" | "incorrectExtension", [{
|
|
2
|
+
mode?: "always" | "never" | undefined;
|
|
3
|
+
forceTsExtension?: boolean | undefined;
|
|
4
|
+
} | undefined], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { extname } from 'node:path';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { zodToJsonSchema } from 'zod-to-json-schema';
|
|
4
|
+
import { InternalError } from '../../util/error.js';
|
|
5
|
+
import { createRule, getESMInfo, getLocFromRange } from '../util.js';
|
|
6
|
+
const MODE_DEFAULT = 'always';
|
|
7
|
+
const FORCE_TS_EXTENSION_DEFAULT = false;
|
|
8
|
+
const schema = z
|
|
9
|
+
.strictObject({
|
|
10
|
+
mode: z.enum(['always', 'never']).optional(),
|
|
11
|
+
forceTsExtension: z.boolean().optional(),
|
|
12
|
+
})
|
|
13
|
+
.optional();
|
|
14
|
+
const EXTENSION_REGEX = /(\.jsx?|\.mjsx?|\.cjsx?|\.tsx?|\.mtsx?|\.ctsx?)$/;
|
|
15
|
+
export const consistentFileExtensions = createRule({
|
|
16
|
+
name: 'consistent-file-extensions',
|
|
17
|
+
meta: {
|
|
18
|
+
docs: {
|
|
19
|
+
description: 'Ensures that first party imports always or never include file extensions',
|
|
20
|
+
},
|
|
21
|
+
schema: [zodToJsonSchema(schema)],
|
|
22
|
+
fixable: 'code',
|
|
23
|
+
type: 'problem',
|
|
24
|
+
messages: {
|
|
25
|
+
missingExtension: 'First party imports must include file extensions',
|
|
26
|
+
extraExtension: 'First party imports must not include file extensions',
|
|
27
|
+
incorrectExtension: 'First party imports of TypeScript files must use TypeScript extensions',
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
defaultOptions: [
|
|
31
|
+
{ mode: MODE_DEFAULT, forceTsExtension: FORCE_TS_EXTENSION_DEFAULT },
|
|
32
|
+
],
|
|
33
|
+
create(context) {
|
|
34
|
+
const esmInfo = getESMInfo(context);
|
|
35
|
+
// No project info means this file wasn't found as part of the project, e.g.
|
|
36
|
+
// because it's ignored
|
|
37
|
+
/* istanbul ignore if */
|
|
38
|
+
if (!esmInfo) {
|
|
39
|
+
return {};
|
|
40
|
+
}
|
|
41
|
+
const { fileInfo } = esmInfo;
|
|
42
|
+
/* istanbul ignore if */
|
|
43
|
+
if (fileInfo.fileType !== 'code') {
|
|
44
|
+
return {};
|
|
45
|
+
}
|
|
46
|
+
// ESLint isn't applying defaults, so options is length 0 when consumers
|
|
47
|
+
// don't specify options, even though ESLint is supposed to do that. I'm not
|
|
48
|
+
// sure what's going on
|
|
49
|
+
const { mode = MODE_DEFAULT, forceTsExtension = FORCE_TS_EXTENSION_DEFAULT, } = context.options[0] ?? {};
|
|
50
|
+
/* istanbul ignore if */
|
|
51
|
+
if (mode === 'never' && forceTsExtension) {
|
|
52
|
+
throw new Error('forceTsExtension cannot be true when mode is never');
|
|
53
|
+
}
|
|
54
|
+
for (const importEntry of [
|
|
55
|
+
...fileInfo.singleImports,
|
|
56
|
+
...fileInfo.barrelImports,
|
|
57
|
+
...fileInfo.dynamicImports,
|
|
58
|
+
...fileInfo.singleReexports,
|
|
59
|
+
...fileInfo.barrelReexports,
|
|
60
|
+
]) {
|
|
61
|
+
const { moduleSpecifier, resolvedModuleType, resolvedModulePath, statementNodeRange, } = importEntry;
|
|
62
|
+
if (!moduleSpecifier || resolvedModuleType !== 'firstPartyCode') {
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
if (mode === 'always' && !EXTENSION_REGEX.test(moduleSpecifier)) {
|
|
66
|
+
context.report({
|
|
67
|
+
messageId: 'missingExtension',
|
|
68
|
+
loc: getLocFromRange(context, importEntry.reportNodeRange),
|
|
69
|
+
fix(fixer) {
|
|
70
|
+
const sourceNode = context.sourceCode.getNodeByRangeIndex(statementNodeRange[0]);
|
|
71
|
+
/* istanbul ignore if */
|
|
72
|
+
if (!('raw' in sourceNode.source)) {
|
|
73
|
+
throw new InternalError(`Property "raw" is missing in sourceNode.source`);
|
|
74
|
+
}
|
|
75
|
+
return fixer.replaceText(sourceNode.source, sourceNode.source.raw.replace(moduleSpecifier, moduleSpecifier + extname(resolvedModulePath)));
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
else if (mode === 'never' && EXTENSION_REGEX.test(moduleSpecifier)) {
|
|
80
|
+
context.report({
|
|
81
|
+
messageId: 'extraExtension',
|
|
82
|
+
loc: getLocFromRange(context, importEntry.reportNodeRange),
|
|
83
|
+
fix(fixer) {
|
|
84
|
+
const sourceNode = context.sourceCode.getNodeByRangeIndex(statementNodeRange[0]);
|
|
85
|
+
/* istanbul ignore if */
|
|
86
|
+
if (!('raw' in sourceNode.source)) {
|
|
87
|
+
throw new InternalError(`Property "raw" is missing in sourceNode.source`);
|
|
88
|
+
}
|
|
89
|
+
return fixer.replaceText(sourceNode.source, sourceNode.source.raw.replace(moduleSpecifier, moduleSpecifier.replace(EXTENSION_REGEX, '')));
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
if (forceTsExtension &&
|
|
94
|
+
!resolvedModulePath.endsWith(extname(moduleSpecifier))) {
|
|
95
|
+
context.report({
|
|
96
|
+
messageId: 'incorrectExtension',
|
|
97
|
+
loc: getLocFromRange(context, importEntry.reportNodeRange),
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return {};
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
//# sourceMappingURL=extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/rules/extension/extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export const namedAsDefault = createRule({
|
|
|
6
6
|
description: 'Ensures that imports of Node.js modules use the `node:` prefix',
|
|
7
7
|
},
|
|
8
8
|
schema: [],
|
|
9
|
-
fixable:
|
|
9
|
+
fixable: undefined,
|
|
10
10
|
type: 'problem',
|
|
11
11
|
messages: {
|
|
12
12
|
noNamedAsDefault: 'Default import alias must not have the same name as a named export',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namedAsDefault.js","sourceRoot":"","sources":["../../../src/rules/namedAsDefault/namedAsDefault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,WAAW,EACT,gEAAgE;SACnE;QACD,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"namedAsDefault.js","sourceRoot":"","sources":["../../../src/rules/namedAsDefault/namedAsDefault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,WAAW,EACT,gEAAgE;SACnE;QACD,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE;YACR,gBAAgB,EACd,oEAAoE;SACvE;KACF;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,OAAO;QACZ,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QAEpC,4EAA4E;QAC5E,uBAAuB;QACvB,wBAAwB;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAC7B,wBAAwB;QACxB,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YACjD,IACE,WAAW,CAAC,UAAU,KAAK,SAAS;gBACpC,CAAC,WAAW,CAAC,kBAAkB,EAC/B,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAC/C,WAAW,CAAC,kBAAkB,CAC/B,CAAC;YACF,wBAAwB;YACxB,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACpD,SAAS;YACX,CAAC;YACD,KAAK,MAAM,WAAW,IAAI;gBACxB,GAAG,WAAW,CAAC,OAAO;gBACtB,GAAG,WAAW,CAAC,eAAe;gBAC9B,GAAG,WAAW,CAAC,eAAe;aAC/B,EAAE,CAAC;gBACF,IAAI,WAAW,CAAC,UAAU,KAAK,WAAW,CAAC,WAAW,EAAE,CAAC;oBACvD,OAAO,CAAC,MAAM,CAAC;wBACb,GAAG,EAAE,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC;wBAC1D,SAAS,EAAE,kBAAkB;qBAC9B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YACnD,0BAA0B;YAC1B,IACE,WAAW,CAAC,UAAU,KAAK,SAAS;gBACpC,CAAC,WAAW,CAAC,kBAAkB,EAC/B,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAC/C,WAAW,CAAC,kBAAkB,CAC/B,CAAC;YACF,wBAAwB;YACxB,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACpD,SAAS;YACX,CAAC;YACD,KAAK,MAAM,WAAW,IAAI;gBACxB,GAAG,WAAW,CAAC,OAAO;gBACtB,GAAG,WAAW,CAAC,eAAe;gBAC9B,GAAG,WAAW,CAAC,eAAe;aAC/B,EAAE,CAAC;gBACF,IAAI,WAAW,CAAC,UAAU,KAAK,WAAW,CAAC,UAAU,EAAE,CAAC;oBACtD,OAAO,CAAC,MAAM,CAAC;wBACb,GAAG,EAAE,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC;wBAC1D,SAAS,EAAE,kBAAkB;qBAC9B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -39,7 +39,7 @@ export const noRestrictedImports = createRule({
|
|
|
39
39
|
description: 'Esnures restricted imports are only imported by allowed consumers',
|
|
40
40
|
},
|
|
41
41
|
schema: [zodToJsonSchema(schema)],
|
|
42
|
-
fixable:
|
|
42
|
+
fixable: undefined,
|
|
43
43
|
type: 'problem',
|
|
44
44
|
messages: {
|
|
45
45
|
restrictedImport: '{{message}}',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restricted.js","sourceRoot":"","sources":["../../../src/rules/restricted/restricted.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"restricted.js","sourceRoot":"","sources":["../../../src/rules/restricted/restricted.ts"],"names":[],"mappings":"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"}
|