@atlaskit/eslint-plugin-platform 2.6.0 → 2.7.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 +15 -0
- package/dist/cjs/index.js +4 -3
- package/dist/cjs/rules/ensure-critical-dependency-resolutions/index.js +2 -2
- package/dist/cjs/rules/ensure-native-and-af-exports-synced/index.js +3 -0
- package/dist/cjs/rules/feature-gating/no-alias/index.js +1 -1
- package/dist/cjs/rules/no-direct-document-usage/index.js +1 -1
- package/dist/cjs/rules/no-set-immediate/index.js +39 -0
- package/dist/cjs/rules/util/context-compat.js +4 -2
- package/dist/es2019/index.js +4 -3
- package/dist/es2019/rules/ensure-critical-dependency-resolutions/index.js +2 -2
- package/dist/es2019/rules/ensure-native-and-af-exports-synced/index.js +3 -0
- package/dist/es2019/rules/feature-gating/no-alias/index.js +1 -1
- package/dist/es2019/rules/no-direct-document-usage/index.js +1 -1
- package/dist/es2019/rules/no-set-immediate/index.js +33 -0
- package/dist/es2019/rules/util/context-compat.js +4 -2
- package/dist/esm/index.js +4 -3
- package/dist/esm/rules/ensure-critical-dependency-resolutions/index.js +2 -2
- package/dist/esm/rules/ensure-native-and-af-exports-synced/index.js +3 -0
- package/dist/esm/rules/feature-gating/no-alias/index.js +1 -1
- package/dist/esm/rules/no-direct-document-usage/index.js +1 -1
- package/dist/esm/rules/no-set-immediate/index.js +33 -0
- package/dist/esm/rules/util/context-compat.js +4 -2
- package/dist/types/index.d.ts +14 -6
- package/dist/types/rules/util/handle-ast-object.d.ts +1 -1
- package/dist/types-ts4.5/index.d.ts +14 -6
- package/dist/types-ts4.5/rules/util/handle-ast-object.d.ts +1 -1
- package/package.json +2 -2
- package/afm-cc/tsconfig.json +0 -24
- package/afm-jira/tsconfig.json +0 -24
- package/build/tsconfig.json +0 -17
- package/dist/cjs/rules/ensure-valid-platform-yarn-protocol-usage/index.js +0 -79
- package/dist/es2019/rules/ensure-valid-platform-yarn-protocol-usage/index.js +0 -62
- package/dist/esm/rules/ensure-valid-platform-yarn-protocol-usage/index.js +0 -75
- package/src/__tests__/utils/_tester.tsx +0 -26
- package/src/index.tsx +0 -251
- package/src/rules/compiled/README.md +0 -3
- package/src/rules/compiled/expand-background-shorthand/README.md +0 -23
- package/src/rules/compiled/expand-background-shorthand/__tests__/rule.test.ts +0 -160
- package/src/rules/compiled/expand-background-shorthand/index.tsx +0 -43
- package/src/rules/compiled/expand-border-shorthand/README.md +0 -51
- package/src/rules/compiled/expand-border-shorthand/__tests__/rule.test.ts +0 -211
- package/src/rules/compiled/expand-border-shorthand/index.ts +0 -103
- package/src/rules/compiled/expand-spacing-shorthand/README.md +0 -38
- package/src/rules/compiled/expand-spacing-shorthand/__tests__/rule.test.ts +0 -448
- package/src/rules/compiled/expand-spacing-shorthand/index.ts +0 -240
- package/src/rules/constants.tsx +0 -20
- package/src/rules/ensure-atlassian-team/__tests__/unit/rule.test.ts +0 -24
- package/src/rules/ensure-atlassian-team/index.ts +0 -51
- package/src/rules/ensure-critical-dependency-resolutions/__test__/unit/rule.test.tsx +0 -200
- package/src/rules/ensure-critical-dependency-resolutions/index.tsx +0 -172
- package/src/rules/ensure-feature-flag-prefix/__tests__/unit/rule.test.tsx +0 -65
- package/src/rules/ensure-feature-flag-prefix/index.tsx +0 -81
- package/src/rules/ensure-feature-flag-registration/__tests__/unit/rule.test.tsx +0 -115
- package/src/rules/ensure-feature-flag-registration/index.tsx +0 -106
- package/src/rules/ensure-native-and-af-exports-synced/__tests__/unit/rule.test.tsx +0 -199
- package/src/rules/ensure-native-and-af-exports-synced/index.tsx +0 -188
- package/src/rules/ensure-no-private-dependencies/__tests__/unit/rule.test.ts +0 -212
- package/src/rules/ensure-no-private-dependencies/index.ts +0 -64
- package/src/rules/ensure-publish-valid/__tests__/unit/rule.test.ts +0 -39
- package/src/rules/ensure-publish-valid/index.ts +0 -81
- package/src/rules/ensure-test-runner-arguments/__tests__/unit/rule.test.tsx +0 -298
- package/src/rules/ensure-test-runner-arguments/index.tsx +0 -121
- package/src/rules/ensure-test-runner-nested-count/__tests__/unit/rule.test.tsx +0 -308
- package/src/rules/ensure-test-runner-nested-count/index.tsx +0 -82
- package/src/rules/ensure-valid-bin-values/__tests__/unit/rule.test.ts +0 -159
- package/src/rules/ensure-valid-bin-values/index.ts +0 -70
- package/src/rules/ensure-valid-platform-yarn-protocol-usage/__tests__/unit/rule.test.ts +0 -147
- package/src/rules/ensure-valid-platform-yarn-protocol-usage/index.ts +0 -67
- package/src/rules/feature-gating/README.md +0 -8
- package/src/rules/feature-gating/inline-usage/README.md +0 -53
- package/src/rules/feature-gating/inline-usage/__tests__/rule.test.tsx +0 -106
- package/src/rules/feature-gating/inline-usage/index.tsx +0 -135
- package/src/rules/feature-gating/no-alias/README.md +0 -29
- package/src/rules/feature-gating/no-alias/__tests__/rule.test.tsx +0 -76
- package/src/rules/feature-gating/no-alias/index.tsx +0 -80
- package/src/rules/feature-gating/no-module-level-eval/README.md +0 -53
- package/src/rules/feature-gating/no-module-level-eval/__tests__/test.tsx +0 -133
- package/src/rules/feature-gating/no-module-level-eval/index.tsx +0 -54
- package/src/rules/feature-gating/no-module-level-eval-nav4/README.md +0 -8
- package/src/rules/feature-gating/no-module-level-eval-nav4/__tests__/test.tsx +0 -130
- package/src/rules/feature-gating/no-module-level-eval-nav4/index.tsx +0 -73
- package/src/rules/feature-gating/no-preconditioning/README.md +0 -69
- package/src/rules/feature-gating/no-preconditioning/__tests__/rule.test.tsx +0 -164
- package/src/rules/feature-gating/no-preconditioning/index.tsx +0 -138
- package/src/rules/feature-gating/prefer-fg/README.md +0 -3
- package/src/rules/feature-gating/prefer-fg/__tests__/rule.test.tsx +0 -83
- package/src/rules/feature-gating/prefer-fg/index.tsx +0 -110
- package/src/rules/feature-gating/static-feature-flags/README.md +0 -3
- package/src/rules/feature-gating/static-feature-flags/__tests__/test.tsx +0 -135
- package/src/rules/feature-gating/static-feature-flags/index.tsx +0 -103
- package/src/rules/feature-gating/use-recommended-utils/README.md +0 -67
- package/src/rules/feature-gating/use-recommended-utils/__tests__/rule.test.tsx +0 -78
- package/src/rules/feature-gating/use-recommended-utils/index.tsx +0 -57
- package/src/rules/feature-gating/utils.tsx +0 -48
- package/src/rules/no-direct-document-usage/index.tsx +0 -109
- package/src/rules/no-duplicate-dependencies/__tests__/unit/rule.test.ts +0 -116
- package/src/rules/no-duplicate-dependencies/index.ts +0 -79
- package/src/rules/no-invalid-feature-flag-usage/__tests__/unit/rule.test.tsx +0 -69
- package/src/rules/no-invalid-feature-flag-usage/index.tsx +0 -128
- package/src/rules/no-invalid-storybook-decorator-usage/__tests__/unit/rule.test.tsx +0 -18
- package/src/rules/no-invalid-storybook-decorator-usage/index.tsx +0 -39
- package/src/rules/no-pre-post-installs/__tests__/unit/rule.test.ts +0 -41
- package/src/rules/no-pre-post-installs/index.ts +0 -35
- package/src/rules/no-sparse-checkout/__tests__/unit/rule.test.tsx +0 -48
- package/src/rules/no-sparse-checkout/index.tsx +0 -54
- package/src/rules/use-entrypoints-in-examples/README.md +0 -27
- package/src/rules/use-entrypoints-in-examples/__tests__/rule.test.tsx +0 -34
- package/src/rules/use-entrypoints-in-examples/index.tsx +0 -43
- package/src/rules/util/__tests__/context-compat.test.ts +0 -122
- package/src/rules/util/compiled-utils.ts +0 -27
- package/src/rules/util/context-compat.ts +0 -41
- package/src/rules/util/file-exclusions.ts +0 -39
- package/src/rules/util/handle-ast-object.ts +0 -33
- package/src/rules/util/registration-utils.ts +0 -59
- package/tsconfig.app.json +0 -43
- package/tsconfig.dev.json +0 -40
- package/tsconfig.json +0 -23
- /package/dist/types/rules/{ensure-valid-platform-yarn-protocol-usage → no-set-immediate}/index.d.ts +0 -0
- /package/dist/types-ts4.5/rules/{ensure-valid-platform-yarn-protocol-usage → no-set-immediate}/index.d.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @atlaskit/eslint-plugin-platform
|
|
2
2
|
|
|
3
|
+
## 2.7.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`098cfbb01dc36`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/098cfbb01dc36) -
|
|
8
|
+
Add missing npmignore files to remove unnecessary files from published package
|
|
9
|
+
|
|
10
|
+
## 2.7.0
|
|
11
|
+
|
|
12
|
+
### Minor Changes
|
|
13
|
+
|
|
14
|
+
- [#157255](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/157255)
|
|
15
|
+
[`334db48ef3650`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/334db48ef3650) -
|
|
16
|
+
Linting rule to forbid use of non standard setImediate
|
|
17
|
+
|
|
3
18
|
## 2.6.0
|
|
4
19
|
|
|
5
20
|
### Minor Changes
|
package/dist/cjs/index.js
CHANGED
|
@@ -16,7 +16,6 @@ var _noDuplicateDependencies = _interopRequireDefault(require("./rules/no-duplic
|
|
|
16
16
|
var _noInvalidFeatureFlagUsage = _interopRequireDefault(require("./rules/no-invalid-feature-flag-usage"));
|
|
17
17
|
var _ensureFeatureFlagPrefix = _interopRequireDefault(require("./rules/ensure-feature-flag-prefix"));
|
|
18
18
|
var _ensureCriticalDependencyResolutions = _interopRequireDefault(require("./rules/ensure-critical-dependency-resolutions"));
|
|
19
|
-
var _ensureValidPlatformYarnProtocolUsage = _interopRequireDefault(require("./rules/ensure-valid-platform-yarn-protocol-usage"));
|
|
20
19
|
var _ensureValidBinValues = _interopRequireDefault(require("./rules/ensure-valid-bin-values"));
|
|
21
20
|
var _ensureNoPrivateDependencies = _interopRequireDefault(require("./rules/ensure-no-private-dependencies"));
|
|
22
21
|
var _expandBorderShorthand = _interopRequireDefault(require("./rules/compiled/expand-border-shorthand"));
|
|
@@ -36,6 +35,7 @@ var _expandBackgroundShorthand = _interopRequireDefault(require("./rules/compile
|
|
|
36
35
|
var _expandSpacingShorthand = _interopRequireDefault(require("./rules/compiled/expand-spacing-shorthand"));
|
|
37
36
|
var _noSparseCheckout = _interopRequireDefault(require("./rules/no-sparse-checkout"));
|
|
38
37
|
var _noDirectDocumentUsage = _interopRequireDefault(require("./rules/no-direct-document-usage"));
|
|
38
|
+
var _noSetImmediate = _interopRequireDefault(require("./rules/no-set-immediate"));
|
|
39
39
|
var _nodePath = require("node:path");
|
|
40
40
|
var _nodeFs = require("node:fs");
|
|
41
41
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -64,7 +64,6 @@ var rules = exports.rules = {
|
|
|
64
64
|
'ensure-test-runner-nested-count': _ensureTestRunnerNestedCount.default,
|
|
65
65
|
'ensure-atlassian-team': _ensureAtlassianTeam.default,
|
|
66
66
|
'ensure-critical-dependency-resolutions': _ensureCriticalDependencyResolutions.default,
|
|
67
|
-
'ensure-valid-platform-yarn-protocol-usage': _ensureValidPlatformYarnProtocolUsage.default,
|
|
68
67
|
'ensure-valid-bin-values': _ensureValidBinValues.default,
|
|
69
68
|
'ensure-no-private-dependencies': _ensureNoPrivateDependencies.default,
|
|
70
69
|
'expand-border-shorthand': _expandBorderShorthand.default,
|
|
@@ -86,7 +85,8 @@ var rules = exports.rules = {
|
|
|
86
85
|
'use-entrypoints-in-examples': _useEntrypointsInExamples.default,
|
|
87
86
|
'use-recommended-utils': _useRecommendedUtils.default,
|
|
88
87
|
'no-sparse-checkout': _noSparseCheckout.default,
|
|
89
|
-
'no-direct-document-usage': _noDirectDocumentUsage.default
|
|
88
|
+
'no-direct-document-usage': _noDirectDocumentUsage.default,
|
|
89
|
+
'no-set-immediate': _noSetImmediate.default
|
|
90
90
|
};
|
|
91
91
|
var commonConfig = {
|
|
92
92
|
'@atlaskit/platform/ensure-test-runner-arguments': 'error',
|
|
@@ -96,6 +96,7 @@ var commonConfig = {
|
|
|
96
96
|
'@atlaskit/platform/ensure-atlassian-team': 'error',
|
|
97
97
|
'@atlaskit/platform/no-module-level-eval-nav4': 'error',
|
|
98
98
|
'@atlaskit/platform/no-direct-document-usage': 'warn',
|
|
99
|
+
'@atlaskit/platform/no-set-immediate': 'error',
|
|
99
100
|
// Compiled: rules that are not included via `@compiled/recommended
|
|
100
101
|
'@atlaskit/platform/expand-border-shorthand': 'error',
|
|
101
102
|
'@atlaskit/platform/expand-background-shorthand': 'error',
|
|
@@ -14,8 +14,8 @@ var _handleAstObject = require("../util/handle-ast-object");
|
|
|
14
14
|
// In matchMinorVersion, we will check if the versions in resolutions fall in the right ranges.
|
|
15
15
|
//
|
|
16
16
|
var DESIRED_PKG_VERSIONS = {
|
|
17
|
-
typescript: ['5.4'],
|
|
18
|
-
tslib: ['2.6'],
|
|
17
|
+
typescript: ['5.4', '5.9'],
|
|
18
|
+
tslib: ['2.6', '2.8'],
|
|
19
19
|
'@types/react': ['16.14', '18.2'],
|
|
20
20
|
'react-relay': ['npm:atl-react-relay@0.0.0-main-5980a913'],
|
|
21
21
|
'relay-compiler': ['npm:atl-relay-compiler@0.0.0-main-5980a913'],
|
|
@@ -29,7 +29,7 @@ var rule = {
|
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
31
|
(_node$specifiers = node.specifiers) === null || _node$specifiers === void 0 || _node$specifiers.forEach(function (specifier) {
|
|
32
|
-
if (specifier.type === 'ImportSpecifier') {
|
|
32
|
+
if (specifier.type === 'ImportSpecifier' && 'name' in specifier.imported) {
|
|
33
33
|
var imported = specifier.imported,
|
|
34
34
|
local = specifier.local;
|
|
35
35
|
if (imported.name !== local.name) {
|
|
@@ -40,7 +40,7 @@ var rule = {
|
|
|
40
40
|
return {
|
|
41
41
|
ImportDeclaration: function ImportDeclaration(node) {
|
|
42
42
|
if (node.source.value === '@atlaskit/browser-apis' && node.specifiers.some(function (specifier) {
|
|
43
|
-
return specifier.type === 'ImportSpecifier' && specifier.imported.name === 'getDocument';
|
|
43
|
+
return specifier.type === 'ImportSpecifier' && specifier.imported.type === 'Identifier' && specifier.imported.name === 'getDocument';
|
|
44
44
|
})) {
|
|
45
45
|
hasGetDocumentImport = true;
|
|
46
46
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var rule = {
|
|
8
|
+
meta: {
|
|
9
|
+
docs: {
|
|
10
|
+
description: "Prevent usage of setImmediate in favor of React Testing Library's `waitFor` or similar",
|
|
11
|
+
recommended: true
|
|
12
|
+
},
|
|
13
|
+
type: 'problem',
|
|
14
|
+
messages: {
|
|
15
|
+
noSetImmediate: "Avoid using setImmediate. Use React Testing Library's waitFor or similar instead for better test reliability.",
|
|
16
|
+
suggestWaitFor: 'Replace with waitFor from @testing-library/react or similar'
|
|
17
|
+
},
|
|
18
|
+
hasSuggestions: true
|
|
19
|
+
},
|
|
20
|
+
create: function create(context) {
|
|
21
|
+
return {
|
|
22
|
+
CallExpression: function CallExpression(node) {
|
|
23
|
+
if (node.callee.type === 'Identifier' && node.callee.name === 'setImmediate') {
|
|
24
|
+
context.report({
|
|
25
|
+
node: node,
|
|
26
|
+
messageId: 'noSetImmediate',
|
|
27
|
+
suggest: [{
|
|
28
|
+
messageId: 'suggestWaitFor',
|
|
29
|
+
fix: function fix(fixer) {
|
|
30
|
+
return fixer.replaceText(node, 'await waitFor(() => { /* your assertion here */ })');
|
|
31
|
+
}
|
|
32
|
+
}]
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
var _default = exports.default = rule;
|
|
@@ -30,7 +30,7 @@ var getSourceCode = exports.getSourceCode = function getSourceCode(context) {
|
|
|
30
30
|
*/
|
|
31
31
|
var getScope = exports.getScope = function getScope(context, node) {
|
|
32
32
|
var _getSourceCode$getSco, _getSourceCode, _getSourceCode$getSco2;
|
|
33
|
-
return (_getSourceCode$getSco = (_getSourceCode = getSourceCode(context)) === null || _getSourceCode === void 0 || (_getSourceCode$getSco2 = _getSourceCode.getScope) === null || _getSourceCode$getSco2 === void 0 ? void 0 : _getSourceCode$getSco2.call(_getSourceCode, node)) !== null && _getSourceCode$getSco !== void 0 ? _getSourceCode$getSco : context.getScope();
|
|
33
|
+
return (_getSourceCode$getSco = (_getSourceCode = getSourceCode(context)) === null || _getSourceCode === void 0 || (_getSourceCode$getSco2 = _getSourceCode.getScope) === null || _getSourceCode$getSco2 === void 0 ? void 0 : _getSourceCode$getSco2.call(_getSourceCode, node)) !== null && _getSourceCode$getSco !== void 0 ? _getSourceCode$getSco : context.getScope(node);
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
/**
|
|
@@ -43,5 +43,7 @@ var getScope = exports.getScope = function getScope(context, node) {
|
|
|
43
43
|
*/
|
|
44
44
|
var getAncestors = exports.getAncestors = function getAncestors(context, node) {
|
|
45
45
|
var _getSourceCode$getAnc, _getSourceCode2, _getSourceCode2$getAn;
|
|
46
|
-
return (_getSourceCode$getAnc = (_getSourceCode2 = getSourceCode(context)) === null || _getSourceCode2 === void 0 || (_getSourceCode2$getAn = _getSourceCode2.getAncestors) === null || _getSourceCode2$getAn === void 0 ? void 0 : _getSourceCode2$getAn.call(_getSourceCode2, node)) !== null && _getSourceCode$getAnc !== void 0 ? _getSourceCode$getAnc :
|
|
46
|
+
return (_getSourceCode$getAnc = (_getSourceCode2 = getSourceCode(context)) === null || _getSourceCode2 === void 0 || (_getSourceCode2$getAn = _getSourceCode2.getAncestors) === null || _getSourceCode2$getAn === void 0 ? void 0 : _getSourceCode2$getAn.call(_getSourceCode2, node)) !== null && _getSourceCode$getAnc !== void 0 ? _getSourceCode$getAnc :
|
|
47
|
+
// this is needed for jira's eslint update, as otherwise there is type errors only in jira typechecking
|
|
48
|
+
context.getAncestors(node);
|
|
47
49
|
};
|
package/dist/es2019/index.js
CHANGED
|
@@ -9,7 +9,6 @@ import noDuplicateDependencies from './rules/no-duplicate-dependencies';
|
|
|
9
9
|
import noInvalidFeatureFlagUsage from './rules/no-invalid-feature-flag-usage';
|
|
10
10
|
import ensureFeatureFlagPrefix from './rules/ensure-feature-flag-prefix';
|
|
11
11
|
import ensureCriticalDependencyResolutions from './rules/ensure-critical-dependency-resolutions';
|
|
12
|
-
import ensureValidPlatformYarnProtocolUsage from './rules/ensure-valid-platform-yarn-protocol-usage';
|
|
13
12
|
import ensureValidBinValues from './rules/ensure-valid-bin-values';
|
|
14
13
|
import ensureNoPrivateDependencies from './rules/ensure-no-private-dependencies';
|
|
15
14
|
import expandBorderShorthand from './rules/compiled/expand-border-shorthand';
|
|
@@ -29,6 +28,7 @@ import expandBackgroundShorthand from './rules/compiled/expand-background-shorth
|
|
|
29
28
|
import expandSpacingShorthand from './rules/compiled/expand-spacing-shorthand';
|
|
30
29
|
import noSparseCheckout from './rules/no-sparse-checkout';
|
|
31
30
|
import noDirectDocumentUsage from './rules/no-direct-document-usage';
|
|
31
|
+
import noSetImmediate from './rules/no-set-immediate';
|
|
32
32
|
import { join, normalize } from 'node:path';
|
|
33
33
|
import { readFileSync } from 'node:fs';
|
|
34
34
|
let jiraRoot;
|
|
@@ -55,7 +55,6 @@ const rules = {
|
|
|
55
55
|
'ensure-test-runner-nested-count': ensureTestRunnerNestedCount,
|
|
56
56
|
'ensure-atlassian-team': ensureAtlassianTeam,
|
|
57
57
|
'ensure-critical-dependency-resolutions': ensureCriticalDependencyResolutions,
|
|
58
|
-
'ensure-valid-platform-yarn-protocol-usage': ensureValidPlatformYarnProtocolUsage,
|
|
59
58
|
'ensure-valid-bin-values': ensureValidBinValues,
|
|
60
59
|
'ensure-no-private-dependencies': ensureNoPrivateDependencies,
|
|
61
60
|
'expand-border-shorthand': expandBorderShorthand,
|
|
@@ -77,7 +76,8 @@ const rules = {
|
|
|
77
76
|
'use-entrypoints-in-examples': useEntrypointsInExamples,
|
|
78
77
|
'use-recommended-utils': useRecommendedUtils,
|
|
79
78
|
'no-sparse-checkout': noSparseCheckout,
|
|
80
|
-
'no-direct-document-usage': noDirectDocumentUsage
|
|
79
|
+
'no-direct-document-usage': noDirectDocumentUsage,
|
|
80
|
+
'no-set-immediate': noSetImmediate
|
|
81
81
|
};
|
|
82
82
|
const commonConfig = {
|
|
83
83
|
'@atlaskit/platform/ensure-test-runner-arguments': 'error',
|
|
@@ -87,6 +87,7 @@ const commonConfig = {
|
|
|
87
87
|
'@atlaskit/platform/ensure-atlassian-team': 'error',
|
|
88
88
|
'@atlaskit/platform/no-module-level-eval-nav4': 'error',
|
|
89
89
|
'@atlaskit/platform/no-direct-document-usage': 'warn',
|
|
90
|
+
'@atlaskit/platform/no-set-immediate': 'error',
|
|
90
91
|
// Compiled: rules that are not included via `@compiled/recommended
|
|
91
92
|
'@atlaskit/platform/expand-border-shorthand': 'error',
|
|
92
93
|
'@atlaskit/platform/expand-background-shorthand': 'error',
|
|
@@ -7,8 +7,8 @@ import { getObjectPropertyAsObject } from '../util/handle-ast-object';
|
|
|
7
7
|
// In matchMinorVersion, we will check if the versions in resolutions fall in the right ranges.
|
|
8
8
|
//
|
|
9
9
|
const DESIRED_PKG_VERSIONS = {
|
|
10
|
-
typescript: ['5.4'],
|
|
11
|
-
tslib: ['2.6'],
|
|
10
|
+
typescript: ['5.4', '5.9'],
|
|
11
|
+
tslib: ['2.6', '2.8'],
|
|
12
12
|
'@types/react': ['16.14', '18.2'],
|
|
13
13
|
'react-relay': ['npm:atl-react-relay@0.0.0-main-5980a913'],
|
|
14
14
|
'relay-compiler': ['npm:atl-relay-compiler@0.0.0-main-5980a913'],
|
|
@@ -21,7 +21,7 @@ const rule = {
|
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
23
|
(_node$specifiers = node.specifiers) === null || _node$specifiers === void 0 ? void 0 : _node$specifiers.forEach(specifier => {
|
|
24
|
-
if (specifier.type === 'ImportSpecifier') {
|
|
24
|
+
if (specifier.type === 'ImportSpecifier' && 'name' in specifier.imported) {
|
|
25
25
|
const {
|
|
26
26
|
imported,
|
|
27
27
|
local
|
|
@@ -33,7 +33,7 @@ const rule = {
|
|
|
33
33
|
}
|
|
34
34
|
return {
|
|
35
35
|
ImportDeclaration(node) {
|
|
36
|
-
if (node.source.value === '@atlaskit/browser-apis' && node.specifiers.some(specifier => specifier.type === 'ImportSpecifier' && specifier.imported.name === 'getDocument')) {
|
|
36
|
+
if (node.source.value === '@atlaskit/browser-apis' && node.specifiers.some(specifier => specifier.type === 'ImportSpecifier' && specifier.imported.type === 'Identifier' && specifier.imported.name === 'getDocument')) {
|
|
37
37
|
hasGetDocumentImport = true;
|
|
38
38
|
}
|
|
39
39
|
},
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
const rule = {
|
|
2
|
+
meta: {
|
|
3
|
+
docs: {
|
|
4
|
+
description: "Prevent usage of setImmediate in favor of React Testing Library's `waitFor` or similar",
|
|
5
|
+
recommended: true
|
|
6
|
+
},
|
|
7
|
+
type: 'problem',
|
|
8
|
+
messages: {
|
|
9
|
+
noSetImmediate: "Avoid using setImmediate. Use React Testing Library's waitFor or similar instead for better test reliability.",
|
|
10
|
+
suggestWaitFor: 'Replace with waitFor from @testing-library/react or similar'
|
|
11
|
+
},
|
|
12
|
+
hasSuggestions: true
|
|
13
|
+
},
|
|
14
|
+
create(context) {
|
|
15
|
+
return {
|
|
16
|
+
CallExpression(node) {
|
|
17
|
+
if (node.callee.type === 'Identifier' && node.callee.name === 'setImmediate') {
|
|
18
|
+
context.report({
|
|
19
|
+
node,
|
|
20
|
+
messageId: 'noSetImmediate',
|
|
21
|
+
suggest: [{
|
|
22
|
+
messageId: 'suggestWaitFor',
|
|
23
|
+
fix(fixer) {
|
|
24
|
+
return fixer.replaceText(node, 'await waitFor(() => { /* your assertion here */ })');
|
|
25
|
+
}
|
|
26
|
+
}]
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
export default rule;
|
|
@@ -24,7 +24,7 @@ export const getSourceCode = context => {
|
|
|
24
24
|
*/
|
|
25
25
|
export const getScope = (context, node) => {
|
|
26
26
|
var _getSourceCode$getSco, _getSourceCode, _getSourceCode$getSco2;
|
|
27
|
-
return (_getSourceCode$getSco = (_getSourceCode = getSourceCode(context)) === null || _getSourceCode === void 0 ? void 0 : (_getSourceCode$getSco2 = _getSourceCode.getScope) === null || _getSourceCode$getSco2 === void 0 ? void 0 : _getSourceCode$getSco2.call(_getSourceCode, node)) !== null && _getSourceCode$getSco !== void 0 ? _getSourceCode$getSco : context.getScope();
|
|
27
|
+
return (_getSourceCode$getSco = (_getSourceCode = getSourceCode(context)) === null || _getSourceCode === void 0 ? void 0 : (_getSourceCode$getSco2 = _getSourceCode.getScope) === null || _getSourceCode$getSco2 === void 0 ? void 0 : _getSourceCode$getSco2.call(_getSourceCode, node)) !== null && _getSourceCode$getSco !== void 0 ? _getSourceCode$getSco : context.getScope(node);
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
/**
|
|
@@ -37,5 +37,7 @@ export const getScope = (context, node) => {
|
|
|
37
37
|
*/
|
|
38
38
|
export const getAncestors = (context, node) => {
|
|
39
39
|
var _getSourceCode$getAnc, _getSourceCode2, _getSourceCode2$getAn;
|
|
40
|
-
return (_getSourceCode$getAnc = (_getSourceCode2 = getSourceCode(context)) === null || _getSourceCode2 === void 0 ? void 0 : (_getSourceCode2$getAn = _getSourceCode2.getAncestors) === null || _getSourceCode2$getAn === void 0 ? void 0 : _getSourceCode2$getAn.call(_getSourceCode2, node)) !== null && _getSourceCode$getAnc !== void 0 ? _getSourceCode$getAnc :
|
|
40
|
+
return (_getSourceCode$getAnc = (_getSourceCode2 = getSourceCode(context)) === null || _getSourceCode2 === void 0 ? void 0 : (_getSourceCode2$getAn = _getSourceCode2.getAncestors) === null || _getSourceCode2$getAn === void 0 ? void 0 : _getSourceCode2$getAn.call(_getSourceCode2, node)) !== null && _getSourceCode$getAnc !== void 0 ? _getSourceCode$getAnc :
|
|
41
|
+
// this is needed for jira's eslint update, as otherwise there is type errors only in jira typechecking
|
|
42
|
+
context.getAncestors(node);
|
|
41
43
|
};
|
package/dist/esm/index.js
CHANGED
|
@@ -12,7 +12,6 @@ import noDuplicateDependencies from './rules/no-duplicate-dependencies';
|
|
|
12
12
|
import noInvalidFeatureFlagUsage from './rules/no-invalid-feature-flag-usage';
|
|
13
13
|
import ensureFeatureFlagPrefix from './rules/ensure-feature-flag-prefix';
|
|
14
14
|
import ensureCriticalDependencyResolutions from './rules/ensure-critical-dependency-resolutions';
|
|
15
|
-
import ensureValidPlatformYarnProtocolUsage from './rules/ensure-valid-platform-yarn-protocol-usage';
|
|
16
15
|
import ensureValidBinValues from './rules/ensure-valid-bin-values';
|
|
17
16
|
import ensureNoPrivateDependencies from './rules/ensure-no-private-dependencies';
|
|
18
17
|
import expandBorderShorthand from './rules/compiled/expand-border-shorthand';
|
|
@@ -32,6 +31,7 @@ import expandBackgroundShorthand from './rules/compiled/expand-background-shorth
|
|
|
32
31
|
import expandSpacingShorthand from './rules/compiled/expand-spacing-shorthand';
|
|
33
32
|
import noSparseCheckout from './rules/no-sparse-checkout';
|
|
34
33
|
import noDirectDocumentUsage from './rules/no-direct-document-usage';
|
|
34
|
+
import noSetImmediate from './rules/no-set-immediate';
|
|
35
35
|
import { join, normalize } from 'node:path';
|
|
36
36
|
import { readFileSync } from 'node:fs';
|
|
37
37
|
var jiraRoot;
|
|
@@ -58,7 +58,6 @@ var rules = {
|
|
|
58
58
|
'ensure-test-runner-nested-count': ensureTestRunnerNestedCount,
|
|
59
59
|
'ensure-atlassian-team': ensureAtlassianTeam,
|
|
60
60
|
'ensure-critical-dependency-resolutions': ensureCriticalDependencyResolutions,
|
|
61
|
-
'ensure-valid-platform-yarn-protocol-usage': ensureValidPlatformYarnProtocolUsage,
|
|
62
61
|
'ensure-valid-bin-values': ensureValidBinValues,
|
|
63
62
|
'ensure-no-private-dependencies': ensureNoPrivateDependencies,
|
|
64
63
|
'expand-border-shorthand': expandBorderShorthand,
|
|
@@ -80,7 +79,8 @@ var rules = {
|
|
|
80
79
|
'use-entrypoints-in-examples': useEntrypointsInExamples,
|
|
81
80
|
'use-recommended-utils': useRecommendedUtils,
|
|
82
81
|
'no-sparse-checkout': noSparseCheckout,
|
|
83
|
-
'no-direct-document-usage': noDirectDocumentUsage
|
|
82
|
+
'no-direct-document-usage': noDirectDocumentUsage,
|
|
83
|
+
'no-set-immediate': noSetImmediate
|
|
84
84
|
};
|
|
85
85
|
var commonConfig = {
|
|
86
86
|
'@atlaskit/platform/ensure-test-runner-arguments': 'error',
|
|
@@ -90,6 +90,7 @@ var commonConfig = {
|
|
|
90
90
|
'@atlaskit/platform/ensure-atlassian-team': 'error',
|
|
91
91
|
'@atlaskit/platform/no-module-level-eval-nav4': 'error',
|
|
92
92
|
'@atlaskit/platform/no-direct-document-usage': 'warn',
|
|
93
|
+
'@atlaskit/platform/no-set-immediate': 'error',
|
|
93
94
|
// Compiled: rules that are not included via `@compiled/recommended
|
|
94
95
|
'@atlaskit/platform/expand-border-shorthand': 'error',
|
|
95
96
|
'@atlaskit/platform/expand-background-shorthand': 'error',
|
|
@@ -8,8 +8,8 @@ import { getObjectPropertyAsObject } from '../util/handle-ast-object';
|
|
|
8
8
|
// In matchMinorVersion, we will check if the versions in resolutions fall in the right ranges.
|
|
9
9
|
//
|
|
10
10
|
var DESIRED_PKG_VERSIONS = {
|
|
11
|
-
typescript: ['5.4'],
|
|
12
|
-
tslib: ['2.6'],
|
|
11
|
+
typescript: ['5.4', '5.9'],
|
|
12
|
+
tslib: ['2.6', '2.8'],
|
|
13
13
|
'@types/react': ['16.14', '18.2'],
|
|
14
14
|
'react-relay': ['npm:atl-react-relay@0.0.0-main-5980a913'],
|
|
15
15
|
'relay-compiler': ['npm:atl-relay-compiler@0.0.0-main-5980a913'],
|
|
@@ -22,7 +22,7 @@ var rule = {
|
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
24
|
(_node$specifiers = node.specifiers) === null || _node$specifiers === void 0 || _node$specifiers.forEach(function (specifier) {
|
|
25
|
-
if (specifier.type === 'ImportSpecifier') {
|
|
25
|
+
if (specifier.type === 'ImportSpecifier' && 'name' in specifier.imported) {
|
|
26
26
|
var imported = specifier.imported,
|
|
27
27
|
local = specifier.local;
|
|
28
28
|
if (imported.name !== local.name) {
|
|
@@ -34,7 +34,7 @@ var rule = {
|
|
|
34
34
|
return {
|
|
35
35
|
ImportDeclaration: function ImportDeclaration(node) {
|
|
36
36
|
if (node.source.value === '@atlaskit/browser-apis' && node.specifiers.some(function (specifier) {
|
|
37
|
-
return specifier.type === 'ImportSpecifier' && specifier.imported.name === 'getDocument';
|
|
37
|
+
return specifier.type === 'ImportSpecifier' && specifier.imported.type === 'Identifier' && specifier.imported.name === 'getDocument';
|
|
38
38
|
})) {
|
|
39
39
|
hasGetDocumentImport = true;
|
|
40
40
|
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var rule = {
|
|
2
|
+
meta: {
|
|
3
|
+
docs: {
|
|
4
|
+
description: "Prevent usage of setImmediate in favor of React Testing Library's `waitFor` or similar",
|
|
5
|
+
recommended: true
|
|
6
|
+
},
|
|
7
|
+
type: 'problem',
|
|
8
|
+
messages: {
|
|
9
|
+
noSetImmediate: "Avoid using setImmediate. Use React Testing Library's waitFor or similar instead for better test reliability.",
|
|
10
|
+
suggestWaitFor: 'Replace with waitFor from @testing-library/react or similar'
|
|
11
|
+
},
|
|
12
|
+
hasSuggestions: true
|
|
13
|
+
},
|
|
14
|
+
create: function create(context) {
|
|
15
|
+
return {
|
|
16
|
+
CallExpression: function CallExpression(node) {
|
|
17
|
+
if (node.callee.type === 'Identifier' && node.callee.name === 'setImmediate') {
|
|
18
|
+
context.report({
|
|
19
|
+
node: node,
|
|
20
|
+
messageId: 'noSetImmediate',
|
|
21
|
+
suggest: [{
|
|
22
|
+
messageId: 'suggestWaitFor',
|
|
23
|
+
fix: function fix(fixer) {
|
|
24
|
+
return fixer.replaceText(node, 'await waitFor(() => { /* your assertion here */ })');
|
|
25
|
+
}
|
|
26
|
+
}]
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
export default rule;
|
|
@@ -24,7 +24,7 @@ export var getSourceCode = function getSourceCode(context) {
|
|
|
24
24
|
*/
|
|
25
25
|
export var getScope = function getScope(context, node) {
|
|
26
26
|
var _getSourceCode$getSco, _getSourceCode, _getSourceCode$getSco2;
|
|
27
|
-
return (_getSourceCode$getSco = (_getSourceCode = getSourceCode(context)) === null || _getSourceCode === void 0 || (_getSourceCode$getSco2 = _getSourceCode.getScope) === null || _getSourceCode$getSco2 === void 0 ? void 0 : _getSourceCode$getSco2.call(_getSourceCode, node)) !== null && _getSourceCode$getSco !== void 0 ? _getSourceCode$getSco : context.getScope();
|
|
27
|
+
return (_getSourceCode$getSco = (_getSourceCode = getSourceCode(context)) === null || _getSourceCode === void 0 || (_getSourceCode$getSco2 = _getSourceCode.getScope) === null || _getSourceCode$getSco2 === void 0 ? void 0 : _getSourceCode$getSco2.call(_getSourceCode, node)) !== null && _getSourceCode$getSco !== void 0 ? _getSourceCode$getSco : context.getScope(node);
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
/**
|
|
@@ -37,5 +37,7 @@ export var getScope = function getScope(context, node) {
|
|
|
37
37
|
*/
|
|
38
38
|
export var getAncestors = function getAncestors(context, node) {
|
|
39
39
|
var _getSourceCode$getAnc, _getSourceCode2, _getSourceCode2$getAn;
|
|
40
|
-
return (_getSourceCode$getAnc = (_getSourceCode2 = getSourceCode(context)) === null || _getSourceCode2 === void 0 || (_getSourceCode2$getAn = _getSourceCode2.getAncestors) === null || _getSourceCode2$getAn === void 0 ? void 0 : _getSourceCode2$getAn.call(_getSourceCode2, node)) !== null && _getSourceCode$getAnc !== void 0 ? _getSourceCode$getAnc :
|
|
40
|
+
return (_getSourceCode$getAnc = (_getSourceCode2 = getSourceCode(context)) === null || _getSourceCode2 === void 0 || (_getSourceCode2$getAn = _getSourceCode2.getAncestors) === null || _getSourceCode2$getAn === void 0 ? void 0 : _getSourceCode2$getAn.call(_getSourceCode2, node)) !== null && _getSourceCode$getAnc !== void 0 ? _getSourceCode$getAnc :
|
|
41
|
+
// this is needed for jira's eslint update, as otherwise there is type errors only in jira typechecking
|
|
42
|
+
context.getAncestors(node);
|
|
41
43
|
};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ declare const rules: {
|
|
|
6
6
|
'ensure-test-runner-nested-count': import("eslint").Rule.RuleModule;
|
|
7
7
|
'ensure-atlassian-team': import("eslint").Rule.RuleModule;
|
|
8
8
|
'ensure-critical-dependency-resolutions': import("eslint").Rule.RuleModule;
|
|
9
|
-
'ensure-valid-platform-yarn-protocol-usage': import("eslint").Rule.RuleModule;
|
|
10
9
|
'ensure-valid-bin-values': import("eslint").Rule.RuleModule;
|
|
11
10
|
'ensure-no-private-dependencies': import("eslint").Rule.RuleModule;
|
|
12
11
|
'expand-border-shorthand': import("eslint").Rule.RuleModule;
|
|
@@ -29,6 +28,7 @@ declare const rules: {
|
|
|
29
28
|
'use-recommended-utils': import("eslint").Rule.RuleModule;
|
|
30
29
|
'no-sparse-checkout': import("eslint").Rule.RuleModule;
|
|
31
30
|
'no-direct-document-usage': import("eslint").Rule.RuleModule;
|
|
31
|
+
'no-set-immediate': import("eslint").Rule.RuleModule;
|
|
32
32
|
};
|
|
33
33
|
declare const plugin: {
|
|
34
34
|
meta: {
|
|
@@ -42,7 +42,6 @@ declare const plugin: {
|
|
|
42
42
|
'ensure-test-runner-nested-count': import("eslint").Rule.RuleModule;
|
|
43
43
|
'ensure-atlassian-team': import("eslint").Rule.RuleModule;
|
|
44
44
|
'ensure-critical-dependency-resolutions': import("eslint").Rule.RuleModule;
|
|
45
|
-
'ensure-valid-platform-yarn-protocol-usage': import("eslint").Rule.RuleModule;
|
|
46
45
|
'ensure-valid-bin-values': import("eslint").Rule.RuleModule;
|
|
47
46
|
'ensure-no-private-dependencies': import("eslint").Rule.RuleModule;
|
|
48
47
|
'expand-border-shorthand': import("eslint").Rule.RuleModule;
|
|
@@ -65,6 +64,7 @@ declare const plugin: {
|
|
|
65
64
|
'use-recommended-utils': import("eslint").Rule.RuleModule;
|
|
66
65
|
'no-sparse-checkout': import("eslint").Rule.RuleModule;
|
|
67
66
|
'no-direct-document-usage': import("eslint").Rule.RuleModule;
|
|
67
|
+
'no-set-immediate': import("eslint").Rule.RuleModule;
|
|
68
68
|
};
|
|
69
69
|
configs: {
|
|
70
70
|
recommended: {
|
|
@@ -87,6 +87,7 @@ declare const plugin: {
|
|
|
87
87
|
'@atlaskit/platform/ensure-atlassian-team': "error";
|
|
88
88
|
'@atlaskit/platform/no-module-level-eval-nav4': "error";
|
|
89
89
|
'@atlaskit/platform/no-direct-document-usage': "warn";
|
|
90
|
+
'@atlaskit/platform/no-set-immediate': "error";
|
|
90
91
|
'@atlaskit/platform/expand-border-shorthand': "error";
|
|
91
92
|
'@atlaskit/platform/expand-background-shorthand': "error";
|
|
92
93
|
'@atlaskit/platform/expand-spacing-shorthand': "error";
|
|
@@ -120,6 +121,7 @@ declare const plugin: {
|
|
|
120
121
|
'@atlaskit/platform/ensure-atlassian-team': "error";
|
|
121
122
|
'@atlaskit/platform/no-module-level-eval-nav4': "error";
|
|
122
123
|
'@atlaskit/platform/no-direct-document-usage': "warn";
|
|
124
|
+
'@atlaskit/platform/no-set-immediate': "error";
|
|
123
125
|
'@atlaskit/platform/expand-border-shorthand': "error";
|
|
124
126
|
'@atlaskit/platform/expand-background-shorthand': "error";
|
|
125
127
|
'@atlaskit/platform/expand-spacing-shorthand': "error";
|
|
@@ -140,6 +142,7 @@ declare const plugin: {
|
|
|
140
142
|
'@atlaskit/platform/ensure-atlassian-team': "error";
|
|
141
143
|
'@atlaskit/platform/no-module-level-eval-nav4': "error";
|
|
142
144
|
'@atlaskit/platform/no-direct-document-usage': "warn";
|
|
145
|
+
'@atlaskit/platform/no-set-immediate': "error";
|
|
143
146
|
'@atlaskit/platform/expand-border-shorthand': "error";
|
|
144
147
|
'@atlaskit/platform/expand-background-shorthand': "error";
|
|
145
148
|
'@atlaskit/platform/expand-spacing-shorthand': "error";
|
|
@@ -163,6 +166,7 @@ declare const plugin: {
|
|
|
163
166
|
'@atlaskit/platform/ensure-atlassian-team': "error";
|
|
164
167
|
'@atlaskit/platform/no-module-level-eval-nav4': "error";
|
|
165
168
|
'@atlaskit/platform/no-direct-document-usage': "warn";
|
|
169
|
+
'@atlaskit/platform/no-set-immediate': "error";
|
|
166
170
|
'@atlaskit/platform/expand-border-shorthand': "error";
|
|
167
171
|
'@atlaskit/platform/expand-background-shorthand': "error";
|
|
168
172
|
'@atlaskit/platform/expand-spacing-shorthand': "error";
|
|
@@ -175,8 +179,8 @@ declare const plugin: {
|
|
|
175
179
|
};
|
|
176
180
|
};
|
|
177
181
|
processors: {
|
|
178
|
-
'package-json-processor': Linter.Processor
|
|
179
|
-
'package-json-processor-for-flat-config': Linter.Processor
|
|
182
|
+
'package-json-processor': Linter.Processor;
|
|
183
|
+
'package-json-processor-for-flat-config': Linter.Processor;
|
|
180
184
|
};
|
|
181
185
|
};
|
|
182
186
|
declare const configs: {
|
|
@@ -200,6 +204,7 @@ declare const configs: {
|
|
|
200
204
|
'@atlaskit/platform/ensure-atlassian-team': "error";
|
|
201
205
|
'@atlaskit/platform/no-module-level-eval-nav4': "error";
|
|
202
206
|
'@atlaskit/platform/no-direct-document-usage': "warn";
|
|
207
|
+
'@atlaskit/platform/no-set-immediate': "error";
|
|
203
208
|
'@atlaskit/platform/expand-border-shorthand': "error";
|
|
204
209
|
'@atlaskit/platform/expand-background-shorthand': "error";
|
|
205
210
|
'@atlaskit/platform/expand-spacing-shorthand': "error";
|
|
@@ -233,6 +238,7 @@ declare const configs: {
|
|
|
233
238
|
'@atlaskit/platform/ensure-atlassian-team': "error";
|
|
234
239
|
'@atlaskit/platform/no-module-level-eval-nav4': "error";
|
|
235
240
|
'@atlaskit/platform/no-direct-document-usage': "warn";
|
|
241
|
+
'@atlaskit/platform/no-set-immediate': "error";
|
|
236
242
|
'@atlaskit/platform/expand-border-shorthand': "error";
|
|
237
243
|
'@atlaskit/platform/expand-background-shorthand': "error";
|
|
238
244
|
'@atlaskit/platform/expand-spacing-shorthand': "error";
|
|
@@ -253,6 +259,7 @@ declare const configs: {
|
|
|
253
259
|
'@atlaskit/platform/ensure-atlassian-team': "error";
|
|
254
260
|
'@atlaskit/platform/no-module-level-eval-nav4': "error";
|
|
255
261
|
'@atlaskit/platform/no-direct-document-usage': "warn";
|
|
262
|
+
'@atlaskit/platform/no-set-immediate': "error";
|
|
256
263
|
'@atlaskit/platform/expand-border-shorthand': "error";
|
|
257
264
|
'@atlaskit/platform/expand-background-shorthand': "error";
|
|
258
265
|
'@atlaskit/platform/expand-spacing-shorthand': "error";
|
|
@@ -276,6 +283,7 @@ declare const configs: {
|
|
|
276
283
|
'@atlaskit/platform/ensure-atlassian-team': "error";
|
|
277
284
|
'@atlaskit/platform/no-module-level-eval-nav4': "error";
|
|
278
285
|
'@atlaskit/platform/no-direct-document-usage': "warn";
|
|
286
|
+
'@atlaskit/platform/no-set-immediate': "error";
|
|
279
287
|
'@atlaskit/platform/expand-border-shorthand': "error";
|
|
280
288
|
'@atlaskit/platform/expand-background-shorthand': "error";
|
|
281
289
|
'@atlaskit/platform/expand-spacing-shorthand': "error";
|
|
@@ -288,8 +296,8 @@ declare const configs: {
|
|
|
288
296
|
};
|
|
289
297
|
};
|
|
290
298
|
declare const processors: {
|
|
291
|
-
'package-json-processor': Linter.Processor
|
|
292
|
-
'package-json-processor-for-flat-config': Linter.Processor
|
|
299
|
+
'package-json-processor': Linter.Processor;
|
|
300
|
+
'package-json-processor-for-flat-config': Linter.Processor;
|
|
293
301
|
};
|
|
294
302
|
export { configs, plugin, processors, rules };
|
|
295
303
|
export default plugin;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { ObjectExpression, SimpleLiteral, RegExpLiteral, BigIntLiteral } from 'estree';
|
|
2
|
-
export declare const getObjectPropertyAsLiteral: (node: ObjectExpression, property: string) => SimpleLiteral[
|
|
2
|
+
export declare const getObjectPropertyAsLiteral: (node: ObjectExpression, property: string) => SimpleLiteral["value"] | RegExpLiteral["value"] | BigIntLiteral["value"];
|
|
3
3
|
export declare const getObjectPropertyAsObject: (node: ObjectExpression, property: string) => ObjectExpression | null;
|