eslint-config-skyux 12.12.0
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/README.md +26 -0
- package/package.json +43 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +138 -0
- package/src/index.js.map +1 -0
package/README.md
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# eslint-config-skyux (Developer Preview)
|
2
|
+
|
3
|
+
This library was generated with [Nx](https://nx.dev).
|
4
|
+
|
5
|
+
## Running unit tests
|
6
|
+
|
7
|
+
Run `nx test eslint-config-skyux` to execute the unit tests via [Jest](https://jestjs.io).
|
8
|
+
|
9
|
+
## Implement in eslint.config.js
|
10
|
+
|
11
|
+
```
|
12
|
+
// @ts-check
|
13
|
+
const skyux = require('eslint-config-skyux');
|
14
|
+
const tseslint = require('typescript-eslint');
|
15
|
+
|
16
|
+
module.exports = tseslint.config(
|
17
|
+
...skyux,
|
18
|
+
{
|
19
|
+
languageOptions: {
|
20
|
+
parserOptions: {
|
21
|
+
project: "./tsconfig.json",
|
22
|
+
},
|
23
|
+
},
|
24
|
+
},
|
25
|
+
);
|
26
|
+
```
|
package/package.json
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
{
|
2
|
+
"name": "eslint-config-skyux",
|
3
|
+
"version": "12.12.0",
|
4
|
+
"author": "Blackbaud, Inc.",
|
5
|
+
"description": "Recommended ESLint configuration for SKY UX projects",
|
6
|
+
"keywords": [
|
7
|
+
"blackbaud",
|
8
|
+
"skyux"
|
9
|
+
],
|
10
|
+
"license": "MIT",
|
11
|
+
"repository": {
|
12
|
+
"type": "git",
|
13
|
+
"url": "git+https://github.com/blackbaud/skyux.git"
|
14
|
+
},
|
15
|
+
"bugs": {
|
16
|
+
"url": "https://github.com/blackbaud/skyux/issues"
|
17
|
+
},
|
18
|
+
"homepage": "https://github.com/blackbaud/skyux#readme",
|
19
|
+
"schematics": "@skyux-sdk/eslint-schematics/collection.json",
|
20
|
+
"ng-add": {
|
21
|
+
"save": "devDependencies"
|
22
|
+
},
|
23
|
+
"ng-update": {
|
24
|
+
"packageGroupName": "skyux-eslint",
|
25
|
+
"migrations": "@skyux-sdk/eslint-schematics/migrations.json",
|
26
|
+
"packageGroup": {
|
27
|
+
"@skyux-sdk/eslint-schematics": "12.12.0"
|
28
|
+
}
|
29
|
+
},
|
30
|
+
"peerDependencies": {
|
31
|
+
"@eslint/js": "^9.24.0",
|
32
|
+
"angular-eslint": "^19.3.0",
|
33
|
+
"skyux-eslint": "12.12.0",
|
34
|
+
"typescript-eslint": "^8.30.1"
|
35
|
+
},
|
36
|
+
"dependencies": {
|
37
|
+
"@skyux-sdk/eslint-schematics": "12.12.0",
|
38
|
+
"tslib": "^2.8.1"
|
39
|
+
},
|
40
|
+
"types": "./src/index.d.ts",
|
41
|
+
"main": "./src/index.js",
|
42
|
+
"type": "commonjs"
|
43
|
+
}
|
package/src/index.d.ts
ADDED
package/src/index.js
ADDED
@@ -0,0 +1,138 @@
|
|
1
|
+
"use strict";
|
2
|
+
const tslib_1 = require("tslib");
|
3
|
+
const js_1 = tslib_1.__importDefault(require("@eslint/js"));
|
4
|
+
const angular_eslint_1 = tslib_1.__importDefault(require("angular-eslint"));
|
5
|
+
const skyux_eslint_1 = tslib_1.__importDefault(require("skyux-eslint"));
|
6
|
+
const typescript_eslint_1 = tslib_1.__importDefault(require("typescript-eslint"));
|
7
|
+
const config = typescript_eslint_1.default.config({
|
8
|
+
files: ['**/*.ts'],
|
9
|
+
extends: [
|
10
|
+
js_1.default.configs.recommended,
|
11
|
+
...typescript_eslint_1.default.configs.recommendedTypeChecked,
|
12
|
+
...angular_eslint_1.default.configs.tsRecommended,
|
13
|
+
...skyux_eslint_1.default.configs.tsRecommended,
|
14
|
+
],
|
15
|
+
processor: angular_eslint_1.default.processInlineTemplates,
|
16
|
+
rules: {
|
17
|
+
'@angular-eslint/directive-selector': [
|
18
|
+
'error',
|
19
|
+
{
|
20
|
+
type: 'attribute',
|
21
|
+
prefix: 'app',
|
22
|
+
style: 'camelCase',
|
23
|
+
},
|
24
|
+
],
|
25
|
+
'@angular-eslint/component-selector': [
|
26
|
+
'error',
|
27
|
+
{
|
28
|
+
type: 'element',
|
29
|
+
prefix: 'app',
|
30
|
+
style: 'kebab-case',
|
31
|
+
},
|
32
|
+
],
|
33
|
+
},
|
34
|
+
}, {
|
35
|
+
files: ['**/*.html'],
|
36
|
+
extends: [
|
37
|
+
...angular_eslint_1.default.configs.templateRecommended,
|
38
|
+
...skyux_eslint_1.default.configs.templateAll,
|
39
|
+
],
|
40
|
+
},
|
41
|
+
/**
|
42
|
+
* Additional JavaScript rules.
|
43
|
+
*/
|
44
|
+
{
|
45
|
+
files: ['**/*.ts'],
|
46
|
+
linterOptions: {
|
47
|
+
reportUnusedDisableDirectives: true,
|
48
|
+
},
|
49
|
+
rules: {
|
50
|
+
curly: 'error',
|
51
|
+
'default-case': 'error',
|
52
|
+
'default-case-last': 'error',
|
53
|
+
eqeqeq: ['error', 'always'],
|
54
|
+
'guard-for-in': 'error',
|
55
|
+
'id-denylist': [
|
56
|
+
'error',
|
57
|
+
'any',
|
58
|
+
'boolean',
|
59
|
+
'Boolean',
|
60
|
+
'number',
|
61
|
+
'Number',
|
62
|
+
'object',
|
63
|
+
'Object',
|
64
|
+
'string',
|
65
|
+
'String',
|
66
|
+
'undefined',
|
67
|
+
'Undefined',
|
68
|
+
],
|
69
|
+
'no-alert': 'error',
|
70
|
+
'no-caller': 'error',
|
71
|
+
'no-console': 'error',
|
72
|
+
'no-constructor-return': 'error',
|
73
|
+
'no-duplicate-imports': ['error', { includeExports: true }],
|
74
|
+
'no-eval': 'error',
|
75
|
+
'no-lonely-if': 'error',
|
76
|
+
'no-mixed-operators': 'error',
|
77
|
+
'no-new-wrappers': 'error',
|
78
|
+
'no-self-compare': 'error',
|
79
|
+
'no-template-curly-in-string': 'error',
|
80
|
+
'no-unmodified-loop-condition': 'error',
|
81
|
+
'no-unreachable-loop': 'error',
|
82
|
+
'no-useless-return': 'error',
|
83
|
+
'prefer-arrow-callback': 'error',
|
84
|
+
'prefer-regex-literals': 'error',
|
85
|
+
radix: 'error',
|
86
|
+
'require-atomic-updates': 'error',
|
87
|
+
},
|
88
|
+
},
|
89
|
+
/**
|
90
|
+
* Additional angular-eslint rules.
|
91
|
+
*/
|
92
|
+
{
|
93
|
+
files: ['**/*.ts'],
|
94
|
+
rules: {
|
95
|
+
// Angular rules
|
96
|
+
'@angular-eslint/no-lifecycle-call': 'error',
|
97
|
+
/**
|
98
|
+
* Disable the `@angular-eslint/prefer-standalone` ESLint rule to address an
|
99
|
+
* issue with its "fix" implementation.
|
100
|
+
* @see https://github.com/angular-eslint/angular-eslint/issues/2206
|
101
|
+
*/
|
102
|
+
'@angular-eslint/prefer-standalone': 'off',
|
103
|
+
},
|
104
|
+
},
|
105
|
+
/**
|
106
|
+
* Additional typescript-eslint rules.
|
107
|
+
*/
|
108
|
+
{
|
109
|
+
files: ['**/*.ts'],
|
110
|
+
rules: {
|
111
|
+
'default-param-last': 'off',
|
112
|
+
'@typescript-eslint/default-param-last': 'error',
|
113
|
+
'@typescript-eslint/explicit-member-accessibility': [
|
114
|
+
'error',
|
115
|
+
{ overrides: { constructors: 'no-public' } },
|
116
|
+
],
|
117
|
+
'@typescript-eslint/explicit-module-boundary-types': 'error',
|
118
|
+
'no-shadow': 'off',
|
119
|
+
'@typescript-eslint/no-shadow': 'error',
|
120
|
+
'no-use-before-define': 'off',
|
121
|
+
'@typescript-eslint/no-use-before-define': [
|
122
|
+
'error',
|
123
|
+
{
|
124
|
+
functions: false,
|
125
|
+
classes: true,
|
126
|
+
variables: true,
|
127
|
+
allowNamedExports: false,
|
128
|
+
},
|
129
|
+
],
|
130
|
+
'@typescript-eslint/unbound-method': ['error', { ignoreStatic: true }],
|
131
|
+
// Cherry-picked rules from typescript-eslint's "strict" ruleset.
|
132
|
+
// We can't pull in the entire ruleset because it's not considered SemVer safe.
|
133
|
+
'@typescript-eslint/no-non-null-asserted-nullish-coalescing': 'error',
|
134
|
+
'@typescript-eslint/prefer-literal-enum-member': 'error',
|
135
|
+
},
|
136
|
+
});
|
137
|
+
module.exports = config;
|
138
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/sdk/eslint-config-skyux/src/index.ts"],"names":[],"mappings":"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"}
|