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 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
@@ -0,0 +1,2 @@
1
+ declare const config: import("@typescript-eslint/utils/ts-eslint").FlatConfig.ConfigArray;
2
+ export = config;
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
@@ -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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"}