@atlaskit/eslint-plugin-platform 0.7.0 → 0.7.2

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.
Files changed (38) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/index.js +1 -1
  3. package/dist/cjs/rules/ensure-feature-flag-prefix/index.js +2 -1
  4. package/dist/cjs/rules/inline-usage/index.js +1 -1
  5. package/dist/cjs/rules/no-alias/index.js +1 -1
  6. package/dist/cjs/rules/no-module-level-eval/index.js +2 -2
  7. package/dist/cjs/rules/no-preconditioning/index.js +1 -1
  8. package/dist/cjs/rules/prefer-fg/index.js +1 -1
  9. package/dist/cjs/rules/static-feature-flags/index.js +1 -1
  10. package/dist/cjs/rules/use-recommended-utils/index.js +1 -1
  11. package/dist/es2019/index.js +1 -1
  12. package/dist/es2019/rules/ensure-feature-flag-prefix/index.js +2 -1
  13. package/dist/es2019/rules/inline-usage/index.js +1 -1
  14. package/dist/es2019/rules/no-alias/index.js +1 -1
  15. package/dist/es2019/rules/no-module-level-eval/index.js +2 -2
  16. package/dist/es2019/rules/no-preconditioning/index.js +1 -1
  17. package/dist/es2019/rules/prefer-fg/index.js +1 -1
  18. package/dist/es2019/rules/static-feature-flags/index.js +1 -1
  19. package/dist/es2019/rules/use-recommended-utils/index.js +1 -1
  20. package/dist/esm/index.js +1 -1
  21. package/dist/esm/rules/ensure-feature-flag-prefix/index.js +2 -1
  22. package/dist/esm/rules/inline-usage/index.js +1 -1
  23. package/dist/esm/rules/no-alias/index.js +1 -1
  24. package/dist/esm/rules/no-module-level-eval/index.js +2 -2
  25. package/dist/esm/rules/no-preconditioning/index.js +1 -1
  26. package/dist/esm/rules/prefer-fg/index.js +1 -1
  27. package/dist/esm/rules/static-feature-flags/index.js +1 -1
  28. package/dist/esm/rules/use-recommended-utils/index.js +1 -1
  29. package/package.json +1 -1
  30. package/src/index.tsx +1 -4
  31. package/src/rules/ensure-feature-flag-prefix/index.tsx +2 -1
  32. package/src/rules/inline-usage/index.tsx +1 -1
  33. package/src/rules/no-alias/index.tsx +1 -1
  34. package/src/rules/no-module-level-eval/index.tsx +2 -2
  35. package/src/rules/no-preconditioning/index.tsx +1 -1
  36. package/src/rules/prefer-fg/index.tsx +1 -1
  37. package/src/rules/static-feature-flags/index.tsx +1 -1
  38. package/src/rules/use-recommended-utils/index.tsx +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @atlaskit/eslint-plugin-platform
2
2
 
3
+ ## 0.7.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#116772](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/116772)
8
+ [`46167815c5528`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/46167815c5528) -
9
+ Update feature flag prefix rule to be warn and recommend prefix only for deprecated launch darkly
10
+ flags.
11
+
12
+ ## 0.7.1
13
+
14
+ ### Patch Changes
15
+
16
+ - [#116062](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/116062)
17
+ [`c965047f03c61`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/c965047f03c61) -
18
+ Update rule docs link.
19
+
3
20
  ## 0.7.0
4
21
 
5
22
  ### Minor Changes
package/dist/cjs/index.js CHANGED
@@ -55,7 +55,7 @@ var configs = exports.configs = {
55
55
  plugins: ['@atlaskit/platform'],
56
56
  rules: {
57
57
  '@atlaskit/platform/ensure-feature-flag-registration': 'error',
58
- '@atlaskit/platform/ensure-feature-flag-prefix': ['error', {
58
+ '@atlaskit/platform/ensure-feature-flag-prefix': ['warn', {
59
59
  allowedPrefixes: ['platform.']
60
60
  }],
61
61
  '@atlaskit/platform/ensure-test-runner-arguments': 'error',
@@ -10,11 +10,12 @@ var _registrationUtils = require("../util/registration-utils");
10
10
  var rule = {
11
11
  meta: {
12
12
  docs: {
13
+ url: 'http://go/pff-eslint',
13
14
  recommended: false
14
15
  },
15
16
  type: 'problem',
16
17
  messages: {
17
- featureFlagIncorrectPrefix: "Please change your flag \"{{ featureFlag }}\" to have a valid prefix, options are [{{ allowedPrefixes }}]. See http://go/pff-eslint for details"
18
+ featureFlagIncorrectPrefix: "Is this a LaunchDarkly feature flag? It needs a prefix so Confluence picks it up: [{{ allowedPrefixes }}]. Statsig feature gates don't need a prefix."
18
19
  },
19
20
  hasSuggestions: true,
20
21
  schema: [{
@@ -72,7 +72,7 @@ var rule = {
72
72
  type: 'problem',
73
73
  docs: {
74
74
  description: 'Ensure feature flags/gates and experiments are inlined so that they can be statically analyzable.',
75
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/inline-usage/README.md'
75
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/inline-usage/README.md'
76
76
  },
77
77
  messages: {
78
78
  inlineUsage: 'Do not export or wrap feature flags/gates and experiments usages. Inline calls at the callsite to ensure it is statically analyzable.'
@@ -12,7 +12,7 @@ var IMPORT_SOURCES = new Set([].concat((0, _toConsumableArray2.default)(_constan
12
12
  var rule = {
13
13
  meta: {
14
14
  docs: {
15
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/no-alias/README.md',
15
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/no-alias/README.md',
16
16
  description: 'Disallow aliasing of feature flag utils to ensure feature flag usage is statically analyzable'
17
17
  },
18
18
  messages: {
@@ -23,10 +23,10 @@ var rule = {
23
23
  meta: {
24
24
  docs: {
25
25
  description: 'Disallow feature flag usage at module level',
26
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/no-module-level-eval/README.md'
26
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/no-module-level-eval/README.md'
27
27
  },
28
28
  messages: {
29
- noModuleLevelEval: 'Do not evaluate feature flags at module level, it will always resolve to false when server side rendered.'
29
+ noModuleLevelEval: 'Do not evaluate feature flags in the module level, it will always resolve to false when server side rendered or when flags are loaded async.'
30
30
  }
31
31
  },
32
32
  create: function create(context) {
@@ -52,7 +52,7 @@ var rule = {
52
52
  meta: {
53
53
  docs: {
54
54
  description: 'Inform on how to use gates and experiments in logical expressions',
55
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/no-preconditioning/README.md'
55
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/no-preconditioning/README.md'
56
56
  },
57
57
  messages: {
58
58
  useConfig: 'Do not precondition gates or experiments with another gate. Configure this in Statsig instead to reduce unnecessary code and simplify cleanup.',
@@ -53,7 +53,7 @@ var validateUsage = function validateUsage(node, utilName, context, changeMap) {
53
53
  var rule = {
54
54
  meta: {
55
55
  docs: {
56
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/prefer-fg/README.md',
56
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/prefer-fg/README.md',
57
57
  description: 'Keep usages of boolean feature flags consistent'
58
58
  },
59
59
  fixable: 'code',
@@ -17,7 +17,7 @@ var rule = {
17
17
  meta: {
18
18
  type: 'problem',
19
19
  docs: {
20
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/static-feature-flags/README.md',
20
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/static-feature-flags/README.md',
21
21
  description: 'Ensure feature flags or gates are static string literals'
22
22
  },
23
23
  fixable: 'code',
@@ -9,7 +9,7 @@ var BANNED_IMPORTS_SET = new Set(['@atlaskit/feature-gate-js-client']);
9
9
  var rule = {
10
10
  meta: {
11
11
  docs: {
12
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/use-recommended-utils/README.md',
12
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/use-recommended-utils/README.md',
13
13
  description: 'Prefer using the feature flag abstraction over direct statsig library.'
14
14
  },
15
15
  messages: {
@@ -47,7 +47,7 @@ export const configs = {
47
47
  plugins: ['@atlaskit/platform'],
48
48
  rules: {
49
49
  '@atlaskit/platform/ensure-feature-flag-registration': 'error',
50
- '@atlaskit/platform/ensure-feature-flag-prefix': ['error', {
50
+ '@atlaskit/platform/ensure-feature-flag-prefix': ['warn', {
51
51
  allowedPrefixes: ['platform.']
52
52
  }],
53
53
  '@atlaskit/platform/ensure-test-runner-arguments': 'error',
@@ -4,11 +4,12 @@ import { getMetadataForFilename, getterIdentifierToFlagTypeMap } from '../util/r
4
4
  const rule = {
5
5
  meta: {
6
6
  docs: {
7
+ url: 'http://go/pff-eslint',
7
8
  recommended: false
8
9
  },
9
10
  type: 'problem',
10
11
  messages: {
11
- featureFlagIncorrectPrefix: `Please change your flag "{{ featureFlag }}" to have a valid prefix, options are [{{ allowedPrefixes }}]. See http://go/pff-eslint for details`
12
+ featureFlagIncorrectPrefix: `Is this a LaunchDarkly feature flag? It needs a prefix so Confluence picks it up: [{{ allowedPrefixes }}]. Statsig feature gates don't need a prefix.`
12
13
  },
13
14
  hasSuggestions: true,
14
15
  schema: [{
@@ -66,7 +66,7 @@ const rule = {
66
66
  type: 'problem',
67
67
  docs: {
68
68
  description: 'Ensure feature flags/gates and experiments are inlined so that they can be statically analyzable.',
69
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/inline-usage/README.md'
69
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/inline-usage/README.md'
70
70
  },
71
71
  messages: {
72
72
  inlineUsage: 'Do not export or wrap feature flags/gates and experiments usages. Inline calls at the callsite to ensure it is statically analyzable.'
@@ -4,7 +4,7 @@ const IMPORT_SOURCES = new Set([...FEATURE_API_IMPORT_SOURCES, ...FEATURE_MOCKS_
4
4
  const rule = {
5
5
  meta: {
6
6
  docs: {
7
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/no-alias/README.md',
7
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/no-alias/README.md',
8
8
  description: 'Disallow aliasing of feature flag utils to ensure feature flag usage is statically analyzable'
9
9
  },
10
10
  messages: {
@@ -17,10 +17,10 @@ const rule = {
17
17
  meta: {
18
18
  docs: {
19
19
  description: 'Disallow feature flag usage at module level',
20
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/no-module-level-eval/README.md'
20
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/no-module-level-eval/README.md'
21
21
  },
22
22
  messages: {
23
- noModuleLevelEval: 'Do not evaluate feature flags at module level, it will always resolve to false when server side rendered.'
23
+ noModuleLevelEval: 'Do not evaluate feature flags in the module level, it will always resolve to false when server side rendered or when flags are loaded async.'
24
24
  }
25
25
  },
26
26
  create(context) {
@@ -47,7 +47,7 @@ const rule = {
47
47
  meta: {
48
48
  docs: {
49
49
  description: 'Inform on how to use gates and experiments in logical expressions',
50
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/no-preconditioning/README.md'
50
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/no-preconditioning/README.md'
51
51
  },
52
52
  messages: {
53
53
  useConfig: 'Do not precondition gates or experiments with another gate. Configure this in Statsig instead to reduce unnecessary code and simplify cleanup.',
@@ -32,7 +32,7 @@ const validateUsage = (node, utilName, context, changeMap) => {
32
32
  const rule = {
33
33
  meta: {
34
34
  docs: {
35
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/prefer-fg/README.md',
35
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/prefer-fg/README.md',
36
36
  description: 'Keep usages of boolean feature flags consistent'
37
37
  },
38
38
  fixable: 'code',
@@ -9,7 +9,7 @@ const rule = {
9
9
  meta: {
10
10
  type: 'problem',
11
11
  docs: {
12
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/static-feature-flags/README.md',
12
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/static-feature-flags/README.md',
13
13
  description: 'Ensure feature flags or gates are static string literals'
14
14
  },
15
15
  fixable: 'code',
@@ -3,7 +3,7 @@ const BANNED_IMPORTS_SET = new Set(['@atlaskit/feature-gate-js-client']);
3
3
  const rule = {
4
4
  meta: {
5
5
  docs: {
6
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/use-recommended-utils/README.md',
6
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/use-recommended-utils/README.md',
7
7
  description: 'Prefer using the feature flag abstraction over direct statsig library.'
8
8
  },
9
9
  messages: {
package/dist/esm/index.js CHANGED
@@ -50,7 +50,7 @@ export var configs = {
50
50
  plugins: ['@atlaskit/platform'],
51
51
  rules: {
52
52
  '@atlaskit/platform/ensure-feature-flag-registration': 'error',
53
- '@atlaskit/platform/ensure-feature-flag-prefix': ['error', {
53
+ '@atlaskit/platform/ensure-feature-flag-prefix': ['warn', {
54
54
  allowedPrefixes: ['platform.']
55
55
  }],
56
56
  '@atlaskit/platform/ensure-test-runner-arguments': 'error',
@@ -4,11 +4,12 @@ import { getMetadataForFilename, getterIdentifierToFlagTypeMap } from '../util/r
4
4
  var rule = {
5
5
  meta: {
6
6
  docs: {
7
+ url: 'http://go/pff-eslint',
7
8
  recommended: false
8
9
  },
9
10
  type: 'problem',
10
11
  messages: {
11
- featureFlagIncorrectPrefix: "Please change your flag \"{{ featureFlag }}\" to have a valid prefix, options are [{{ allowedPrefixes }}]. See http://go/pff-eslint for details"
12
+ featureFlagIncorrectPrefix: "Is this a LaunchDarkly feature flag? It needs a prefix so Confluence picks it up: [{{ allowedPrefixes }}]. Statsig feature gates don't need a prefix."
12
13
  },
13
14
  hasSuggestions: true,
14
15
  schema: [{
@@ -65,7 +65,7 @@ var rule = {
65
65
  type: 'problem',
66
66
  docs: {
67
67
  description: 'Ensure feature flags/gates and experiments are inlined so that they can be statically analyzable.',
68
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/inline-usage/README.md'
68
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/inline-usage/README.md'
69
69
  },
70
70
  messages: {
71
71
  inlineUsage: 'Do not export or wrap feature flags/gates and experiments usages. Inline calls at the callsite to ensure it is statically analyzable.'
@@ -5,7 +5,7 @@ var IMPORT_SOURCES = new Set([].concat(_toConsumableArray(FEATURE_API_IMPORT_SOU
5
5
  var rule = {
6
6
  meta: {
7
7
  docs: {
8
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/no-alias/README.md',
8
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/no-alias/README.md',
9
9
  description: 'Disallow aliasing of feature flag utils to ensure feature flag usage is statically analyzable'
10
10
  },
11
11
  messages: {
@@ -17,10 +17,10 @@ var rule = {
17
17
  meta: {
18
18
  docs: {
19
19
  description: 'Disallow feature flag usage at module level',
20
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/no-module-level-eval/README.md'
20
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/no-module-level-eval/README.md'
21
21
  },
22
22
  messages: {
23
- noModuleLevelEval: 'Do not evaluate feature flags at module level, it will always resolve to false when server side rendered.'
23
+ noModuleLevelEval: 'Do not evaluate feature flags in the module level, it will always resolve to false when server side rendered or when flags are loaded async.'
24
24
  }
25
25
  },
26
26
  create: function create(context) {
@@ -46,7 +46,7 @@ var rule = {
46
46
  meta: {
47
47
  docs: {
48
48
  description: 'Inform on how to use gates and experiments in logical expressions',
49
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/no-preconditioning/README.md'
49
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/no-preconditioning/README.md'
50
50
  },
51
51
  messages: {
52
52
  useConfig: 'Do not precondition gates or experiments with another gate. Configure this in Statsig instead to reduce unnecessary code and simplify cleanup.',
@@ -46,7 +46,7 @@ var validateUsage = function validateUsage(node, utilName, context, changeMap) {
46
46
  var rule = {
47
47
  meta: {
48
48
  docs: {
49
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/prefer-fg/README.md',
49
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/prefer-fg/README.md',
50
50
  description: 'Keep usages of boolean feature flags consistent'
51
51
  },
52
52
  fixable: 'code',
@@ -10,7 +10,7 @@ var rule = {
10
10
  meta: {
11
11
  type: 'problem',
12
12
  docs: {
13
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/static-feature-flags/README.md',
13
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/static-feature-flags/README.md',
14
14
  description: 'Ensure feature flags or gates are static string literals'
15
15
  },
16
16
  fixable: 'code',
@@ -3,7 +3,7 @@ var BANNED_IMPORTS_SET = new Set(['@atlaskit/feature-gate-js-client']);
3
3
  var rule = {
4
4
  meta: {
5
5
  docs: {
6
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/use-recommended-utils/README.md',
6
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/use-recommended-utils/README.md',
7
7
  description: 'Prefer using the feature flag abstraction over direct statsig library.'
8
8
  },
9
9
  messages: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@atlaskit/eslint-plugin-platform",
3
3
  "description": "The essential plugin for use with Atlassian frontend platform tools",
4
- "version": "0.7.0",
4
+ "version": "0.7.2",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "atlassian": {
7
7
  "team": "UIP - Platform Integration Trust (PITa)",
package/src/index.tsx CHANGED
@@ -49,10 +49,7 @@ export const configs = {
49
49
  plugins: ['@atlaskit/platform'],
50
50
  rules: {
51
51
  '@atlaskit/platform/ensure-feature-flag-registration': 'error',
52
- '@atlaskit/platform/ensure-feature-flag-prefix': [
53
- 'error',
54
- { allowedPrefixes: ['platform.'] },
55
- ],
52
+ '@atlaskit/platform/ensure-feature-flag-prefix': ['warn', { allowedPrefixes: ['platform.'] }],
56
53
  '@atlaskit/platform/ensure-test-runner-arguments': 'error',
57
54
  '@atlaskit/platform/ensure-test-runner-nested-count': 'warn',
58
55
  '@atlaskit/platform/no-invalid-feature-flag-usage': 'error',
@@ -9,11 +9,12 @@ type RuleOptions = {
9
9
  const rule: Rule.RuleModule = {
10
10
  meta: {
11
11
  docs: {
12
+ url: 'http://go/pff-eslint',
12
13
  recommended: false,
13
14
  },
14
15
  type: 'problem',
15
16
  messages: {
16
- featureFlagIncorrectPrefix: `Please change your flag "{{ featureFlag }}" to have a valid prefix, options are [{{ allowedPrefixes }}]. See http://go/pff-eslint for details`,
17
+ featureFlagIncorrectPrefix: `Is this a LaunchDarkly feature flag? It needs a prefix so Confluence picks it up: [{{ allowedPrefixes }}]. Statsig feature gates don't need a prefix.`,
17
18
  },
18
19
  hasSuggestions: true,
19
20
  schema: [
@@ -107,7 +107,7 @@ const rule: Rule.RuleModule = {
107
107
  docs: {
108
108
  description:
109
109
  'Ensure feature flags/gates and experiments are inlined so that they can be statically analyzable.',
110
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/inline-usage/README.md',
110
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/inline-usage/README.md',
111
111
  },
112
112
  messages: {
113
113
  inlineUsage:
@@ -15,7 +15,7 @@ const IMPORT_SOURCES = new Set([
15
15
  const rule: Rule.RuleModule = {
16
16
  meta: {
17
17
  docs: {
18
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/no-alias/README.md',
18
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/no-alias/README.md',
19
19
  description:
20
20
  'Disallow aliasing of feature flag utils to ensure feature flag usage is statically analyzable',
21
21
  },
@@ -23,11 +23,11 @@ const rule: Rule.RuleModule = {
23
23
  meta: {
24
24
  docs: {
25
25
  description: 'Disallow feature flag usage at module level',
26
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/no-module-level-eval/README.md',
26
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/no-module-level-eval/README.md',
27
27
  },
28
28
  messages: {
29
29
  noModuleLevelEval:
30
- 'Do not evaluate feature flags at module level, it will always resolve to false when server side rendered.',
30
+ 'Do not evaluate feature flags in the module level, it will always resolve to false when server side rendered or when flags are loaded async.',
31
31
  },
32
32
  },
33
33
  create(context) {
@@ -64,7 +64,7 @@ const rule: Rule.RuleModule = {
64
64
  meta: {
65
65
  docs: {
66
66
  description: 'Inform on how to use gates and experiments in logical expressions',
67
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/no-preconditioning/README.md',
67
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/no-preconditioning/README.md',
68
68
  },
69
69
  messages: {
70
70
  useConfig:
@@ -48,7 +48,7 @@ const validateUsage = (
48
48
  const rule: Rule.RuleModule = {
49
49
  meta: {
50
50
  docs: {
51
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/prefer-fg/README.md',
51
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/prefer-fg/README.md',
52
52
  description: 'Keep usages of boolean feature flags consistent',
53
53
  },
54
54
  fixable: 'code',
@@ -45,7 +45,7 @@ const rule: Rule.RuleModule = {
45
45
  meta: {
46
46
  type: 'problem',
47
47
  docs: {
48
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/static-feature-flags/README.md',
48
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/static-feature-flags/README.md',
49
49
  description: 'Ensure feature flags or gates are static string literals',
50
50
  },
51
51
  fixable: 'code',
@@ -6,7 +6,7 @@ const BANNED_IMPORTS_SET = new Set(['@atlaskit/feature-gate-js-client']);
6
6
  const rule: Rule.RuleModule = {
7
7
  meta: {
8
8
  docs: {
9
- url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/ff/use-recommended-utils/README.md',
9
+ url: 'https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/platform/eslint-plugin/src/rules/use-recommended-utils/README.md',
10
10
  description: 'Prefer using the feature flag abstraction over direct statsig library.',
11
11
  },
12
12
  messages: {