@angular-eslint/utils 20.6.1-alpha.1 → 20.6.1-alpha.10
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/dist/eslint-plugin/ast-utils.d.ts +2 -2
- package/dist/eslint-plugin/ast-utils.d.ts.map +1 -1
- package/dist/eslint-plugin/get-native-event-names.d.ts +1 -1
- package/dist/eslint-plugin/get-native-event-names.js +1 -1
- package/dist/eslint-plugin/selector-utils.d.ts +8 -0
- package/dist/eslint-plugin/selector-utils.d.ts.map +1 -1
- package/dist/eslint-plugin/selector-utils.js +61 -5
- package/package.json +2 -2
|
@@ -64,8 +64,8 @@ export declare enum AngularLifecycleMethods {
|
|
|
64
64
|
ngOnDestroy = "ngOnDestroy",
|
|
65
65
|
ngOnInit = "ngOnInit"
|
|
66
66
|
}
|
|
67
|
-
export declare const OPTION_STYLE_CAMEL_CASE
|
|
68
|
-
export declare const OPTION_STYLE_KEBAB_CASE
|
|
67
|
+
export declare const OPTION_STYLE_CAMEL_CASE: "camelCase";
|
|
68
|
+
export declare const OPTION_STYLE_KEBAB_CASE: "kebab-case";
|
|
69
69
|
export type SelectorStyle = typeof OPTION_STYLE_CAMEL_CASE | typeof OPTION_STYLE_KEBAB_CASE;
|
|
70
70
|
export type AngularClassDecoratorKeys = keyof typeof AngularClassDecorators;
|
|
71
71
|
export type AngularInnerClassDecoratorKeys = Exclude<keyof typeof AngularInnerClassDecorators, number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-utils.d.ts","sourceRoot":"","sources":["../../src/eslint-plugin/ast-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAQzD,oBAAY,sBAAsB;IAChC,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED,aAAK,qCAAqC;IACxC,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,aAAK,uBAAuB;IAC1B,YAAY,iBAAiB;CAC9B;AAED,aAAK,iCAAiC;IACpC,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,YAAY,iBAAiB;CAC9B;AAED,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;CAIvC,CAAC;AAEF,oBAAY,0BAA0B;IACpC,mBAAmB,wBAAwB;IAC3C,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,oBAAY,uBAAuB;IACjC,qBAAqB,0BAA0B;IAC/C,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"ast-utils.d.ts","sourceRoot":"","sources":["../../src/eslint-plugin/ast-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
/**
|
|
7
7
|
* Check MDN events page for details https://developer.mozilla.org/en-US/docs/Web/Events
|
|
8
8
|
*
|
|
9
|
-
* Event names sourced from @mdn/browser-compat-data@7.1.
|
|
9
|
+
* Event names sourced from @mdn/browser-compat-data@7.1.21
|
|
10
10
|
*/
|
|
11
11
|
export declare function getNativeEventNames(): ReadonlySet<string>;
|
|
12
12
|
//# sourceMappingURL=get-native-event-names.d.ts.map
|
|
@@ -10,7 +10,7 @@ let nativeEventNames = null;
|
|
|
10
10
|
/**
|
|
11
11
|
* Check MDN events page for details https://developer.mozilla.org/en-US/docs/Web/Events
|
|
12
12
|
*
|
|
13
|
-
* Event names sourced from @mdn/browser-compat-data@7.1.
|
|
13
|
+
* Event names sourced from @mdn/browser-compat-data@7.1.21
|
|
14
14
|
*/
|
|
15
15
|
function getNativeEventNames() {
|
|
16
16
|
return (nativeEventNames ??
|
|
@@ -27,9 +27,12 @@ export declare const SelectorValidator: {
|
|
|
27
27
|
camelCase(selector: string): boolean;
|
|
28
28
|
element(selector: string): boolean;
|
|
29
29
|
kebabCase(selector: string): boolean;
|
|
30
|
+
prefixRegex(prefix: string): RegExp;
|
|
30
31
|
prefix(prefix: string, selectorStyle: string): (selector: string) => boolean;
|
|
32
|
+
selectorAfterPrefix(prefix: string): (selector: string) => boolean;
|
|
31
33
|
};
|
|
32
34
|
export declare const reportPrefixError: (node: TSESTree.Node, prefix: string | readonly string[], context: Readonly<TSESLint.RuleContext<string, readonly unknown[]>>) => void;
|
|
35
|
+
export declare const reportSelectorAfterPrefixError: (node: TSESTree.Node, prefix: string | readonly string[], context: Readonly<TSESLint.RuleContext<string, readonly unknown[]>>) => void;
|
|
33
36
|
export declare const reportStyleError: (node: TSESTree.Node, style: SelectorStyleOption, context: Readonly<TSESLint.RuleContext<string, readonly unknown[]>>) => void;
|
|
34
37
|
export declare const reportStyleAndPrefixError: (node: TSESTree.Node, style: SelectorStyleOption, prefix: string | readonly string[], context: Readonly<TSESLint.RuleContext<string, readonly unknown[]>>) => void;
|
|
35
38
|
export declare const reportTypeError: (node: TSESTree.Node, type: SelectorTypeOption | readonly SelectorTypeOption[], context: Readonly<TSESLint.RuleContext<string, readonly unknown[]>>) => void;
|
|
@@ -40,7 +43,12 @@ export declare const checkSelector: (node: TSESTree.Node, typeOption: SelectorTy
|
|
|
40
43
|
readonly hasExpectedPrefix: boolean;
|
|
41
44
|
readonly hasExpectedType: boolean;
|
|
42
45
|
readonly hasExpectedStyle: boolean;
|
|
46
|
+
readonly hasSelectorAfterPrefix: boolean;
|
|
43
47
|
} | null;
|
|
44
48
|
export declare const isMultipleConfigOption: (option: SingleConfigOption | MultipleConfigOption) => option is MultipleConfigOption;
|
|
45
49
|
export declare const normalizeOptionsToConfigs: (option: SingleConfigOption | MultipleConfigOption) => Map<string, SelectorConfig>;
|
|
50
|
+
/**
|
|
51
|
+
* Get the applicable config for a given selector node
|
|
52
|
+
*/
|
|
53
|
+
export declare const getApplicableConfig: (rawSelectors: TSESTree.Node, configByType: Map<string, SelectorConfig>) => SelectorConfig | null;
|
|
46
54
|
//# sourceMappingURL=selector-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selector-utils.d.ts","sourceRoot":"","sources":["../../src/eslint-plugin/selector-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AASjD,eAAO,MAAM,qBAAqB,cAAc,CAAC;AACjD,eAAO,MAAM,iBAAiB,UAAU,CAAC;AACzC,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,MAAM,CAAC;AACzD,MAAM,MAAM,kBAAkB,GAC1B,OAAO,qBAAqB,GAC5B,OAAO,mBAAmB,GAC1B,MAAM,CAAC;AACX,MAAM,MAAM,oBAAoB,GAC5B,OAAO,iBAAiB,GACxB,OAAO,mBAAmB,CAAC;AAG/B,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACjD,MAAM,MAAM,oBAAoB,GAAG,SAAS,cAAc,EAAE,CAAC;AAC7D,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,kBAAkB,GAAG,oBAAoB,CAAC,CAAC;AAO/E,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,SAAS,kBAAkB,EAAE,CAAC;QAClE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;QAC5C,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;KACpC;CACF,CAAC;AAEF,eAAO,MAAM,iBAAiB;wBACR,MAAM,GAAG,OAAO;wBAIhB,MAAM,GAAG,OAAO;sBAIlB,MAAM,GAAG,OAAO;wBAId,MAAM,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"selector-utils.d.ts","sourceRoot":"","sources":["../../src/eslint-plugin/selector-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalizeOptionsToConfigs = exports.isMultipleConfigOption = exports.checkSelector = exports.checkValidOptions = exports.getActualSelectorType = exports.parseSelectorNode = exports.reportTypeError = exports.reportStyleAndPrefixError = exports.reportStyleError = exports.reportPrefixError = exports.SelectorValidator = exports.OPTION_TYPE_ELEMENT = exports.OPTION_TYPE_ATTRS = exports.OPTION_TYPE_ATTRIBUTE = void 0;
|
|
3
|
+
exports.getApplicableConfig = exports.normalizeOptionsToConfigs = exports.isMultipleConfigOption = exports.checkSelector = exports.checkValidOptions = exports.getActualSelectorType = exports.parseSelectorNode = exports.reportTypeError = exports.reportStyleAndPrefixError = exports.reportStyleError = exports.reportSelectorAfterPrefixError = exports.reportPrefixError = exports.SelectorValidator = exports.OPTION_TYPE_ELEMENT = exports.OPTION_TYPE_ATTRS = exports.OPTION_TYPE_ATTRIBUTE = void 0;
|
|
4
4
|
const bundled_angular_compiler_1 = require("@angular-eslint/bundled-angular-compiler");
|
|
5
5
|
const ast_utils_1 = require("./ast-utils");
|
|
6
6
|
const utils_1 = require("../utils");
|
|
@@ -24,23 +24,34 @@ exports.SelectorValidator = {
|
|
|
24
24
|
kebabCase(selector) {
|
|
25
25
|
return /^[a-z0-9-]+-[a-z0-9-]+$/.test(selector);
|
|
26
26
|
},
|
|
27
|
+
prefixRegex(prefix) {
|
|
28
|
+
return new RegExp(`^\\[?(${prefix})`);
|
|
29
|
+
},
|
|
27
30
|
prefix(prefix, selectorStyle) {
|
|
28
|
-
const regex =
|
|
31
|
+
const regex = this.prefixRegex(prefix);
|
|
29
32
|
return (selector) => {
|
|
30
33
|
if (!prefix)
|
|
31
34
|
return true;
|
|
32
35
|
if (!regex.test(selector))
|
|
33
36
|
return false;
|
|
34
|
-
const
|
|
37
|
+
const selectorAfterPrefix = selector.replace(regex, '');
|
|
35
38
|
if (selectorStyle === ast_utils_1.OPTION_STYLE_CAMEL_CASE) {
|
|
36
|
-
return !
|
|
39
|
+
return (!selectorAfterPrefix ||
|
|
40
|
+
selectorAfterPrefix[0] === selectorAfterPrefix[0].toUpperCase());
|
|
37
41
|
}
|
|
38
42
|
else if (selectorStyle === ast_utils_1.OPTION_STYLE_KEBAB_CASE) {
|
|
39
|
-
return !
|
|
43
|
+
return !selectorAfterPrefix || selectorAfterPrefix[0] === '-';
|
|
40
44
|
}
|
|
41
45
|
throw Error('Invalid selector style!');
|
|
42
46
|
};
|
|
43
47
|
},
|
|
48
|
+
selectorAfterPrefix(prefix) {
|
|
49
|
+
const regex = this.prefixRegex(prefix);
|
|
50
|
+
return (selector) => {
|
|
51
|
+
const selectorAfterPrefix = selector.replace(regex, '');
|
|
52
|
+
return Boolean(selectorAfterPrefix);
|
|
53
|
+
};
|
|
54
|
+
},
|
|
44
55
|
};
|
|
45
56
|
const getValidSelectors = (selectors, types) => {
|
|
46
57
|
return selectors.reduce((previousValue, currentValue) => {
|
|
@@ -61,6 +72,16 @@ const reportPrefixError = (node, prefix, context) => {
|
|
|
61
72
|
});
|
|
62
73
|
};
|
|
63
74
|
exports.reportPrefixError = reportPrefixError;
|
|
75
|
+
const reportSelectorAfterPrefixError = (node, prefix, context) => {
|
|
76
|
+
context.report({
|
|
77
|
+
node,
|
|
78
|
+
messageId: 'selectorAfterPrefixFailure',
|
|
79
|
+
data: {
|
|
80
|
+
prefix: (0, utils_1.toHumanReadableText)((0, utils_1.arrayify)(prefix)),
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
exports.reportSelectorAfterPrefixError = reportSelectorAfterPrefixError;
|
|
64
85
|
const reportStyleError = (node, style, context) => {
|
|
65
86
|
context.report({
|
|
66
87
|
node,
|
|
@@ -151,10 +172,16 @@ const checkSelector = (node, typeOption, prefixOption, styleOption, parsedSelect
|
|
|
151
172
|
const hasExpectedPrefix = validSelectors.some((selector) => prefixOption.some((prefix) => exports.SelectorValidator.prefix(prefix, styleOption)(selector)));
|
|
152
173
|
const hasExpectedStyle = validSelectors.some((selector) => styleValidator(selector));
|
|
153
174
|
const hasExpectedType = validSelectors.length > 0;
|
|
175
|
+
const hasSelectorAfterPrefix = validSelectors.some((selector) => {
|
|
176
|
+
return prefixOption.some((prefix) => {
|
|
177
|
+
return exports.SelectorValidator.selectorAfterPrefix(prefix)(selector);
|
|
178
|
+
});
|
|
179
|
+
});
|
|
154
180
|
return {
|
|
155
181
|
hasExpectedPrefix,
|
|
156
182
|
hasExpectedType,
|
|
157
183
|
hasExpectedStyle,
|
|
184
|
+
hasSelectorAfterPrefix,
|
|
158
185
|
};
|
|
159
186
|
};
|
|
160
187
|
exports.checkSelector = checkSelector;
|
|
@@ -195,3 +222,32 @@ const normalizeOptionsToConfigs = (option) => {
|
|
|
195
222
|
return configByType;
|
|
196
223
|
};
|
|
197
224
|
exports.normalizeOptionsToConfigs = normalizeOptionsToConfigs;
|
|
225
|
+
/**
|
|
226
|
+
* Get the applicable config for a given selector node
|
|
227
|
+
*/
|
|
228
|
+
const getApplicableConfig = (rawSelectors, configByType) => {
|
|
229
|
+
// For multiple configs, determine the actual selector type
|
|
230
|
+
let applicableConfig = null;
|
|
231
|
+
if (configByType.size > 1) {
|
|
232
|
+
// Multiple configs - need to determine which one applies
|
|
233
|
+
const actualType = (0, exports.getActualSelectorType)(rawSelectors);
|
|
234
|
+
if (!actualType) {
|
|
235
|
+
return null;
|
|
236
|
+
}
|
|
237
|
+
const config = configByType.get(actualType);
|
|
238
|
+
if (!config) {
|
|
239
|
+
// No config defined for this selector type
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
applicableConfig = config;
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
// Single config or single type extracted from array
|
|
246
|
+
const firstEntry = configByType.entries().next();
|
|
247
|
+
if (!firstEntry.done) {
|
|
248
|
+
applicableConfig = firstEntry.value[1];
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
return applicableConfig;
|
|
252
|
+
};
|
|
253
|
+
exports.getApplicableConfig = getApplicableConfig;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular-eslint/utils",
|
|
3
|
-
"version": "20.6.1-alpha.
|
|
3
|
+
"version": "20.6.1-alpha.10",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"typescript": "*"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@angular-eslint/bundled-angular-compiler": "20.6.1-alpha.
|
|
25
|
+
"@angular-eslint/bundled-angular-compiler": "20.6.1-alpha.10"
|
|
26
26
|
},
|
|
27
27
|
"nx": {
|
|
28
28
|
"namedInputs": {
|