@zohodesk/codestandard-validator 0.0.7-exp-3 → 0.0.7-exp-5

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 (69) hide show
  1. package/build/hooks/Precommit/pre-commit.js +74 -24
  2. package/build/hooks/hook.js +29 -0
  3. package/build/utils/FileAndFolderOperations/filterFiles.js +27 -2
  4. package/build/utils/General/getGeneralInfo.js +7 -1
  5. package/build/utils/PluginsInstallation/installPlugins.js +1 -1
  6. package/configuration/.prettierignore +1 -0
  7. package/configuration/.prettierrc +13 -0
  8. package/configuration/common/.eslintrc.js +18 -0
  9. package/configuration/common/index.js +8 -0
  10. package/configuration/common/pluginVersion.js +3 -0
  11. package/configuration/services/Desk-Extension/.eslintrc.js +23 -0
  12. package/configuration/services/Desk-Extension/index.js +25 -0
  13. package/configuration/services/Desk-Extension/pluginVersion.js +16 -0
  14. package/configuration/services/Desk-Extension/rule_configuration/css_rules/cssRuleConfiguration.js +15 -0
  15. package/configuration/services/Desk-Extension/rule_configuration/i18nRules/noHardcodingRuleExcludes.js +41 -0
  16. package/configuration/services/Desk-Extension/rule_configuration/unUsed/unUsedImport.js +14 -0
  17. package/configuration/services/GC_Chat/index.js +21 -0
  18. package/configuration/services/GC_Chat/pluginVersion.js +12 -0
  19. package/configuration/services/GC_Chat/rule_configuration/i18nRules/i18nRules.js +284 -0
  20. package/configuration/services/GC_Chat/rule_configuration/react-performance-rules/reactPerformanceRulesConfig.js +26 -0
  21. package/configuration/services/client_platform/.eslintrc.js +35 -0
  22. package/configuration/services/client_platform/index.js +16 -0
  23. package/configuration/services/client_platform/pluginVersion.js +12 -0
  24. package/configuration/services/client_platform/rule_configuration/architecture_rules/architectureRuleConfiguration.js +172 -0
  25. package/configuration/services/client_platform/rule_configuration/architecture_rules/clientScriptRuleConfiguration.js +19 -0
  26. package/configuration/services/client_platform/rule_configuration/architecture_rules/customFieldRuleConfiguration.js +30 -0
  27. package/configuration/services/client_platform/rule_configuration/architecture_rules/errorHandlerRuleConfiguration.js +34 -0
  28. package/configuration/services/client_platform/rule_configuration/architecture_rules/layerConfiguration.js +52 -0
  29. package/configuration/services/client_platform/rule_configuration/i18n/i18n.js +39 -0
  30. package/configuration/services/client_platform/rule_configuration/sdk/sdk.js +23 -0
  31. package/configuration/services/desk_client_app/.eslintrc.js +23 -0
  32. package/configuration/services/desk_client_app/index.js +41 -0
  33. package/configuration/services/desk_client_app/pluginVersion.js +52 -0
  34. package/configuration/services/desk_client_app/rule_configuration/i18nRules/noHardcodingRuleExcludes.js +49 -0
  35. package/configuration/services/desk_client_app/rule_configuration/propertiesFileValidation/propertiesFileExcludes.js +23 -0
  36. package/configuration/services/desk_client_app/rule_configuration/react-compiler/reactCompilerConfig.js +25 -0
  37. package/configuration/services/desk_client_app/rule_configuration/react-general/reactGeneralConfig.js +33 -0
  38. package/configuration/services/desk_client_app/rule_configuration/react-performance-rules/reactPerformanceRulesConfig.js +84 -0
  39. package/configuration/services/desk_client_app/rule_configuration/uatRules/uatRules.js +23 -0
  40. package/configuration/services/desk_client_app/rule_configuration/unused-imports/unusedImportsConfig.js +28 -0
  41. package/configuration/services/helpcenter_product/.eslintrc.js +23 -0
  42. package/configuration/services/helpcenter_product/index.js +33 -0
  43. package/configuration/services/helpcenter_product/pluginVersion.js +33 -0
  44. package/configuration/services/helpcenter_product/rule_configuration/i18nRules/noHardcodingRuleExcludes.js +40 -0
  45. package/configuration/services/helpcenter_product/rule_configuration/react-compiler/reactCompilerConfig.js +18 -0
  46. package/configuration/services/helpcenter_product/rule_configuration/react-general/reactGeneralConfig.js +24 -0
  47. package/configuration/services/helpcenter_product/rule_configuration/react-performance-rules/reactPerformanceRulesConfig.js +25 -0
  48. package/configuration/services/zohodesk/.eslintrc.js +22 -0
  49. package/configuration/services/zohodesk/index.js +15 -0
  50. package/configuration/services/zohodesk/pluginVersion.js +7 -0
  51. package/configuration/services/zohodesk/rule_configuration/select2RestrictedOptions/select2Excludes.js +8 -0
  52. package/configuration/services/zohogc_client/.eslintrc.js +23 -0
  53. package/configuration/services/zohogc_client/index.js +22 -0
  54. package/configuration/services/zohogc_client/pluginVersion.js +27 -0
  55. package/configuration/services/zohogc_client/rule_configuration/fitnessFunction/fitnessFunctionRules.js +31 -0
  56. package/configuration/services/zohogc_client/rule_configuration/i18nRules/i18nRules.js +303 -0
  57. package/configuration/services/zohogc_client/rule_configuration/react-performance-rules/reactPerformanceRulesConfig.js +27 -0
  58. package/configuration/services/zohogc_client/rule_configuration/uatRules/uatRules.js +23 -0
  59. package/configuration/services/zohoim_client/.eslintrc.js +23 -0
  60. package/configuration/services/zohoim_client/defaultRule.txt +243 -0
  61. package/configuration/services/zohoim_client/index.js +28 -0
  62. package/configuration/services/zohoim_client/pluginVersion.js +38 -0
  63. package/configuration/services/zohoim_client/rule_configuration/i18nRules/noHardcodingRule.js +38 -0
  64. package/configuration/services/zohoim_client/rule_configuration/propertiesFileValidation/propertiesFileRule.js +23 -0
  65. package/configuration/services/zohoim_client/rule_configuration/react-compiler/reactCompilerConfig.js +16 -0
  66. package/configuration/services/zohoim_client/rule_configuration/react-general/reactGeneralConfig.js +22 -0
  67. package/configuration/services/zohoim_client/rule_configuration/react-performance-rules/reactPerformanceRulesConfig.js +19 -0
  68. package/configuration/services/zohoim_client/rule_configuration/uatRules/uatRules.js +21 -0
  69. package/package.json +2 -1
@@ -0,0 +1,284 @@
1
+ let noHardcodingRuleExcludes = {
2
+ objectKeys: [
3
+ 'dataId',
4
+ 'data-id',
5
+ 'data-test-id',
6
+ 'size',
7
+ 'iconSize',
8
+ 'iconName',
9
+ 'align',
10
+ 'alignBox',
11
+ 'palette',
12
+ 'scroll',
13
+ 'boxSize',
14
+ 'boxPosition',
15
+ 'type',
16
+ 'moduleName',
17
+ 'apiname',
18
+ 'apiName',
19
+ 'id',
20
+ 'target',
21
+ 'tagName',
22
+ 'module',
23
+ 'folderName',
24
+ 'componentGroup',
25
+ 'hoverType',
26
+ 'tabIndex',
27
+ 'aria-Label',
28
+ 'aria-label',
29
+ 'ariaLabel',
30
+ 'd',
31
+ 'className',
32
+ 'rel',
33
+ 'heading',
34
+ 'column',
35
+ 'row',
36
+ 'transform',
37
+ 'color',
38
+ 'condition',
39
+ 'fieldName',
40
+ 'animationStyle',
41
+ 'textBoxVariant',
42
+ 'searchBoxSize',
43
+ 'src',
44
+ 'display',
45
+ 'href',
46
+ 'width',
47
+ 'height',
48
+ 'enctype',
49
+ 'target',
50
+ 'left',
51
+ 'top',
52
+ 'position',
53
+ 'location',
54
+ 'backgroundColor',
55
+ 'visibility',
56
+ 'cursor',
57
+ 'lineHeight',
58
+ 'border',
59
+ 'readOnly',
60
+ 'textAlign',
61
+ 'scrolling',
62
+ 'class',
63
+ 'padding',
64
+ 'overflow',
65
+ 'textBoxSize',
66
+ 'right',
67
+ 'top',
68
+ 'bottom',
69
+ 'left',
70
+ 'fieldType',
71
+ 'regex',
72
+ 'searchModuleFieldName',
73
+ 'searchConditionValue',
74
+ 'logoName',
75
+ '_id'
76
+ ],
77
+ props: [
78
+ 'dataId',
79
+ 'data-id',
80
+ 'data-test-id',
81
+ 'size',
82
+ 'iconSize',
83
+ 'iconName',
84
+ 'align',
85
+ 'alignBox',
86
+ 'palette',
87
+ 'scroll',
88
+ 'boxSize',
89
+ 'boxPosition',
90
+ 'type',
91
+ 'moduleName',
92
+ 'apiname',
93
+ 'apiName',
94
+ 'id',
95
+ 'target',
96
+ 'tagName',
97
+ 'module',
98
+ 'folderName',
99
+ 'componentGroup',
100
+ 'hoverType',
101
+ 'tabIndex',
102
+ 'aria-Label',
103
+ 'aria-label',
104
+ 'ariaLabel',
105
+ 'd',
106
+ 'className',
107
+ 'rel',
108
+ 'heading',
109
+ 'column',
110
+ 'row',
111
+ 'transform',
112
+ 'color',
113
+ 'condition',
114
+ 'fieldName',
115
+ 'animationStyle',
116
+ 'textBoxVariant',
117
+ 'searchBoxSize',
118
+ 'src',
119
+ 'display',
120
+ 'href',
121
+ 'width',
122
+ 'height',
123
+ 'enctype',
124
+ 'target',
125
+ 'left',
126
+ 'top',
127
+ 'position',
128
+ 'location',
129
+ 'backgroundColor',
130
+ 'visibility',
131
+ 'cursor',
132
+ 'lineHeight',
133
+ 'border',
134
+ 'readOnly',
135
+ 'textAlign',
136
+ 'scrolling',
137
+ 'class',
138
+ 'padding',
139
+ 'overflow',
140
+ 'textBoxSize',
141
+ 'right',
142
+ 'top',
143
+ 'bottom',
144
+ 'left',
145
+ 'fieldType',
146
+ 'logoName',
147
+ '_id'
148
+ ],
149
+ methods: [
150
+ 'findIdex',
151
+ 'findIndex',
152
+ 'includes',
153
+ 'getFieldIndex',
154
+ 'oneOf',
155
+ 'oneOfType',
156
+ 'bind',
157
+ 'getFieldLabel',
158
+ 'addEventListener',
159
+ 'removeEventListener',
160
+ 'replace',
161
+ 'split',
162
+ 'indexOf',
163
+ 'set',
164
+ 'selectn',
165
+ 'getAdditionalProperty',
166
+ 'reject',
167
+ 'sendResponse',
168
+ 'resolve',
169
+ 'mapStateToProps',
170
+ 'setAttribute',
171
+ 'updateError',
172
+ 'concat',
173
+ 'createElement',
174
+ 'getproperty',
175
+ 'addElement',
176
+ 'getElementsByName',
177
+ 'match',
178
+ 'lastIndexOf',
179
+ 'setRequestHeader',
180
+ 'getParameter',
181
+ 'getAttribute',
182
+ 'RegExp',
183
+ 'substring',
184
+ 'equals',
185
+ 'log',
186
+ 'debug',
187
+ 'addClass',
188
+ 'open',
189
+ 'find',
190
+ 'setTimeout',
191
+ 'attachEvent',
192
+ 'addEventListener',
193
+ 'removeAttribute',
194
+ 'parseInt',
195
+ 'replace',
196
+ 'setInterval',
197
+ 'getObj',
198
+ 'detachEvent',
199
+ 'removeEventListener',
200
+ 'css',
201
+ 'animate',
202
+ 'bind',
203
+ 'ajaxNew',
204
+ 'set_cookie',
205
+ 'getElementById',
206
+ 'ajax',
207
+ 'find',
208
+ 'createTextNode',
209
+ 'parents',
210
+ 'removeClass',
211
+ 'toggleClass',
212
+ 'write',
213
+ 'get_cookie',
214
+ 'parseFromString',
215
+ 'Error',
216
+ 'error',
217
+ 'querySelector',
218
+ 'getDeptBasedData',
219
+ 'timeEnd',
220
+ 'time',
221
+ 'deskCustomError'
222
+ ],
223
+ allowedTags: ['svg', 'css'],
224
+ keys: [],
225
+ commentsToIgnoreHardcodingCheck: ['no i18n', 'NOI18N'],
226
+ stringsAllowedAsBlockCommentStart: ['ignore i18n start', 'no i18n start'],
227
+ stringsAllowedAsBlockCommentEnd: ['ignore i18n end', 'no i18n end'],
228
+ dateFormatPatterns: [
229
+ 'dd/MM/yyyy hh:mm a',
230
+ 'MM/dd/yyyy hh:mm a',
231
+ 'yyyy/MM/dd hh:mm a',
232
+ 'dd/MM/yyyy',
233
+ 'MM/dd/yyyy',
234
+ 'yyyy/MM/dd',
235
+ 'DD MMM YYYY hh:mm A',
236
+ 'DD/MM/YYYY h:mm A',
237
+ 'DDD, DD MMM YYYY HH:mm:ss',
238
+ 'DD MMM YYYY',
239
+ 'hh:mm A'
240
+ ]
241
+ };
242
+ const [error, , off] = ['error', '', 'off'];
243
+
244
+ let usegetI18NValueAppropriatelyExcludes = {
245
+ i18nKeys: noHardcodingRuleExcludes.keys,
246
+ commentsToIgnoreCheck:
247
+ noHardcodingRuleExcludes.commentsToIgnoreHardcodingCheck
248
+ };
249
+
250
+ module.exports.i18nConfiguration = [
251
+ {
252
+ files: ['src/**/*.js'],
253
+ excludedFiles: [
254
+ 'src/actions/*.js',
255
+ 'src/library/*.js',
256
+ 'src/middleware/*.js',
257
+ 'src/reducers/*.js',
258
+ 'src/sdk/*.js',
259
+ 'src/store/*.js',
260
+ 'src/worker/*.js',
261
+ 'src/appUrls.js',
262
+ 'src/efc.js',
263
+ 'src/historyChange.js',
264
+ 'src/index.js',
265
+ 'src/initialBindings.js',
266
+ 'src/initialState.js',
267
+ 'src/renderApp.js',
268
+ 'src/bindStaticInfo.js',
269
+ 'src/**/*.spec.js',
270
+ 'src/**/*.docs.js',
271
+ 'src/**/*.test.js'
272
+ ],
273
+ rules: {
274
+ '@zohodesk/no-hardcoding/no-hardcoding': [
275
+ error,
276
+ { ...noHardcodingRuleExcludes }
277
+ ],
278
+ '@zohodesk/no-hardcoding/use-getI18NValue-method-appropriately': [
279
+ error,
280
+ { ...usegetI18NValueAppropriatelyExcludes }
281
+ ]
282
+ }
283
+ }
284
+ ];
@@ -0,0 +1,26 @@
1
+ const [off, warn, error] = ['off', 'warn', 'error'];
2
+ module.exports.reactPerformanceRulesConfig = [
3
+ {
4
+ files: ['src/**/*.js'],
5
+ excludedFiles: [
6
+ 'src/actions/*.js',
7
+ 'src/middleware/*.js',
8
+ 'src/reducers/*.js',
9
+ 'src/sdk/*.js',
10
+ 'src/store/*.js',
11
+ 'src/appUrls.js',
12
+ 'src/efc.js',
13
+ 'src/historyChange.js',
14
+ 'src/initialBindings.js',
15
+ 'src/initialState.js',
16
+ 'src/renderApp.js',
17
+ 'src/bindStaticInfo.js',
18
+ 'src/**/*.spec.js',
19
+ 'src/**/*.docs.js',
20
+ 'src/**/*.test.js'
21
+ ],
22
+ rules: {
23
+ '@zohodesk/react-performance/no-ref-mapstatetoprops': [error]
24
+ }
25
+ }
26
+ ];
@@ -0,0 +1,35 @@
1
+ const {
2
+ rulesConfig,
3
+ plugins,
4
+ extendPlugins,
5
+ } = require("@zohodesk/codestandard-validator"); //no i18n
6
+ const path = require("path");
7
+
8
+ module.exports = {
9
+ env: {
10
+ browser: true,
11
+ es2021: true,
12
+ },
13
+ extends: extendPlugins,
14
+ parser: "@typescript-eslint/parser",
15
+ parserOptions: {
16
+ project: path.resolve(process.cwd(), "tsconfig.json"), // ts config file get from running directory
17
+ ecmaFeatures: {
18
+ jsx: true,
19
+ },
20
+ ecmaVersion: 12,
21
+ sourceType: "module",
22
+ },
23
+ plugins: plugins,
24
+ ignorePatterns: [
25
+ "node_modules/",
26
+ "**/__test__/**",
27
+ "**/__tests__/**",
28
+ "**/index.js",
29
+ "**/index.ts",
30
+ "**/lint.config.js",
31
+ "**/react-cli.config.js",
32
+ "**/es/**"
33
+ ],
34
+ overrides: rulesConfig,
35
+ };
@@ -0,0 +1,16 @@
1
+
2
+ const { plugins , rulesConfig} = require('../../common/index')
3
+ const { architecture_rule_configuration } = require('./rule_configuration/architecture_rules/architectureRuleConfiguration')
4
+ const { clientscript_rule_configuration } = require('./rule_configuration/architecture_rules/clientScriptRuleConfiguration')
5
+ const { errorhandle_rule_configuration } = require('./rule_configuration/architecture_rules/errorHandlerRuleConfiguration')
6
+ const { i18nConfiguration } = require('./rule_configuration/i18n/i18n')
7
+ const { sdk_rule_configuration } = require('./rule_configuration/sdk/sdk')
8
+ const $plugins = [...require('./pluginVersion'), ...plugins ]
9
+
10
+
11
+
12
+ module.exports = {
13
+ rulesConfig : Object.assign([],[...architecture_rule_configuration, ...i18nConfiguration, ...rulesConfig, ...clientscript_rule_configuration,...errorhandle_rule_configuration,...sdk_rule_configuration]) ,
14
+ plugins: $plugins.map((plugin) => plugin?.plugin).filter(item => item !== undefined) ,
15
+ extendPlugins: $plugins.map((plugin) => plugin?.extend).filter(item => item !== undefined)
16
+ }
@@ -0,0 +1,12 @@
1
+ module.exports = [
2
+ {
3
+ packageName: "@zohodesk/eslint-plugin-no-hardcoding",
4
+ version: "1.0.6-platform-1",
5
+ plugin: "@zohodesk/no-hardcoding"
6
+ },
7
+ {
8
+ packageName: "@zohodesk/eslint-plugin-architecturerules",
9
+ version: "0.0.6-exp-1",
10
+ plugin: "@zohodesk/architecturerules"
11
+ }
12
+ ];
@@ -0,0 +1,172 @@
1
+ const path = require("path");
2
+ const [warn, error, off] = ["warn", "error", "off"];
3
+ const {domains, frameworks, adapters, applications,library } = require('./layerConfiguration')
4
+
5
+ module.exports.architecture_rule_configuration = [
6
+ {
7
+ files: ["src/library/**", "src/platform/**"],
8
+ rules: {
9
+ "@zohodesk/architecturerules/import-contract":['error',{ importConfig: { domains,applications,adapters,frameworks, library}}],
10
+ "@zohodesk/architecturerules/no-comments": [warn,{terms:['TODO','FIX','BUG','OPTIMIZE','HACK','NOTE','REFACTOR','DEPRECATED','WARNING','REVIEW','INFO']}],
11
+ "max-lines-per-function": [error, 20],
12
+ "max-lines": [
13
+ error,
14
+ { max: 250, skipBlankLines: true, skipComments: true }
15
+ ],
16
+ "@zohodesk/architecturerules/no-unused-vars": error,
17
+ "@zohodesk/architecturerules/no-defaultprops": error,
18
+ "@zohodesk/architecturerules/define-property-schema": [
19
+ warn,
20
+ {
21
+ variableType: "ArrayExpression",
22
+ schemaType: "TSTypeAnnotation"
23
+ }
24
+ ],
25
+ "@zohodesk/architecturerules/no-nested-property": error,
26
+ "@zohodesk/architecturerules/path-alias": error,
27
+ "@zohodesk/architecturerules/define-contract-schema": warn,
28
+ "@zohodesk/architecturerules/avoid-deprecated-methods": warn
29
+ },
30
+ excludedFiles: [
31
+ "**/src/library/**/__tests__/**",
32
+ "**/src/platform/**/__tests__/**",
33
+ "**/src/library/**/__testcases__/**",
34
+ "**/src/platform/**/__testcases__/**",
35
+ "**/src/**/**/http-template/**"
36
+ ]
37
+ },
38
+ {
39
+ files: ["src/library/**", "src/platform/**"],
40
+ rules: {
41
+ "@zohodesk/architecturerules/spinal-case-folder": error,
42
+ "@zohodesk/architecturerules/pascal-case-file": error
43
+ },
44
+ excludedFiles: [
45
+ "**/src/library/**/__tests__/**",
46
+ "**/src/platform/**/__tests__/**",
47
+ "**/src/library/**/__testcases__/**",
48
+ "**/src/platform/**/__testcases__/**",
49
+ "**/src/**/**/http-template/**"
50
+ ]
51
+ },
52
+ {
53
+ files: ['src/{library,platform}/**/usecases/**', 'src/{library,platform}/**/controllers/**', 'src/{library,platform}/**/presenter/**'],
54
+ rules: {
55
+ '@zohodesk/architecturerules/return-void': error
56
+ },
57
+ excludedFiles: ["**/src/{library,platform}/**/usecases/entities-factory/**"]
58
+ },
59
+ {
60
+ files: ["src/library/**/entities/**", "src/platform/**/entities/**"],
61
+ rules: {
62
+ "@zohodesk/architecturerules/no-external-library": [
63
+ error,
64
+ {
65
+ packageTypes: ["npm-dev"],
66
+ packageJson: require(path.resolve(process.cwd(), "package.json"))
67
+ }
68
+ ]
69
+ }
70
+ },
71
+ {
72
+ files: [
73
+ "src/**/**/adaptors/controllers/**",
74
+ "src/**/**/usecases/interactors/**"
75
+ ],
76
+ rules: {
77
+ "@zohodesk/architecturerules/should-implement": [
78
+ off,
79
+ {
80
+ interface: {
81
+ usecases: path.resolve(
82
+ process.cwd(),
83
+ "**",
84
+ "architecture",
85
+ "IUsecase.ts"
86
+ ),
87
+ controllers: path.resolve(
88
+ process.cwd(),
89
+ "**",
90
+ "architecture",
91
+ "IController.ts"
92
+ )
93
+ }
94
+ }
95
+ ]
96
+ },
97
+ excludedFiles: [
98
+ "src/**/adaptors/**/interfaces/**",
99
+ "src/**/usecases/**/interfaces/**"
100
+ ]
101
+ },
102
+ {
103
+ files: ["src/**/**/adaptors/**/**"],
104
+ rules: {
105
+ "@zohodesk/architecturerules/no-businesslogic": error
106
+ }
107
+ },
108
+ {
109
+ files: [
110
+ "src/**/**/Actions.ts",
111
+ "src/**/**/Constants.ts",
112
+ "src/**/**/Symbols.ts"
113
+ ],
114
+ rules: {
115
+ "@zohodesk/architecturerules/snake-case-identifier": error,
116
+ "@zohodesk/architecturerules/type-should-be-constant": error
117
+ }
118
+ },
119
+ {
120
+ files: ["**/src/library/dot/**"],
121
+ rules: {
122
+ "@zohodesk/architecturerules/no-hooks-used": error
123
+ }
124
+ },
125
+ {
126
+ files: ["**/src/**/**"],
127
+ rules: {
128
+ "@zohodesk/architecturerules/method-not-invoke": [
129
+ error,
130
+ { methods: ["updateState"] }
131
+ ]
132
+ },
133
+ excludedFiles: ["**/src/**/**/presenter/**"]
134
+ },
135
+ {
136
+ files: ["**/src/**/**"],
137
+ rules: {
138
+ "@zohodesk/architecturerules/method-not-invoke": [
139
+ error,
140
+ { methods: ["dispatch"] }
141
+ ]
142
+ },
143
+ excludedFiles: ["**/src/**/**/usecase/**", "**/src/**/**/frameworks/**"]
144
+ },
145
+ {
146
+ files: ["**/src/**/**"],
147
+ rules: {
148
+ "@zohodesk/architecturerules/method-not-invoke": [
149
+ error,
150
+ { methods: ["repository"] }
151
+ ]
152
+ },
153
+ excludedFiles: ["**/src/**/**/usecase/**"]
154
+ },
155
+ {
156
+ files: ["**/src/**/Repository.ts"],
157
+ rules: {
158
+ "@zohodesk/architecturerules/avoid-local-state": [
159
+ error,
160
+ { methodName: ["useState"] }
161
+ ]
162
+ },
163
+ excludedFiles:["src/library/custom-component/adapters/gateways/repository/Repository.ts",
164
+ "src/library/dot/components/action-location/adapters/gateway/Repository.ts"]
165
+ },
166
+ {
167
+ files:["**/src/**/**/frameworks/**"],
168
+ rules:{
169
+ "@zohodesk/architecturerules/single-factory":[off,{methodShouldImplement:"create"}]
170
+ }
171
+ }
172
+ ];
@@ -0,0 +1,19 @@
1
+ const [warn, error, off] = ["warn", "error", "off"];
2
+
3
+ module.exports.clientscript_rule_configuration = [
4
+ {
5
+ files: ["**/*.js", "**/*.js"],
6
+ rules: {
7
+ "@zohodesk/architecturerules/import-restricted":[off],
8
+ "@zohodesk/architecturerules/method-signature":[error, {
9
+ handler: 'execute',
10
+ handlerProperties: [
11
+ { type: 'ObjectPattern', property: ['event', 'sdk', 'context'] }
12
+ ]
13
+ }],
14
+ "@zohodesk/architecturerules/should-not-block-thread":[off],
15
+ "@zohodesk/architecturerules/framework-agnostic":[off,{forbiddenImports:null,domGlobals:null}]
16
+ },
17
+ excludedFiles: [ ]
18
+ }
19
+ ]
@@ -0,0 +1,30 @@
1
+ const [warn, error, off] = ["warn", "error", "off"];
2
+
3
+ module.exports.customfield_rule_configuration = [
4
+ {
5
+ files: [
6
+ "**/*.js"
7
+ ],
8
+ rules: {
9
+ "@zohodesk/architecturerules/framework-agnostic":[off,{forbiddenImports:null,domGlobals:null}],
10
+ "@zohodesk/architecturerules/method-signature": [
11
+ error,
12
+ {
13
+ handler: "fieldToUIComponentTranslator",
14
+ handlerProperties: [
15
+ {
16
+ type: "ObjectExpression",
17
+ property: ["field", "record" , "context" ]
18
+ }
19
+ ]
20
+ }
21
+ ]
22
+ },
23
+ excludedFiles: []
24
+ }
25
+ ];
26
+
27
+
28
+ /**
29
+ * rule no 2 need to enable in deskclientapp
30
+ */
@@ -0,0 +1,34 @@
1
+ const [warn, error, off] = ["warn", "error", "off"];
2
+
3
+ module.exports.errorhandle_rule_configuration = [
4
+ {
5
+ files: [
6
+ "**/src/**/**/ErrorEventHandlersFactory.ts"
7
+ ],
8
+ rules: {
9
+ "@zohodesk/architecturerules/ensure-event-handler": [
10
+ error,
11
+ { eventName: "COMPONENT_ERROR_THROWN" }
12
+ ],
13
+ "@zohodesk/architecturerules/method-signature": [
14
+ error,
15
+ {
16
+ handler: "dispatch",
17
+ handlerProperties: [
18
+ {
19
+ type: "ObjectExpression",
20
+ property: ["type", "payload"],
21
+ nestedProperties: {
22
+ payload: {
23
+ type: "ObjectExpression",
24
+ property: ["code", "message", "errorDetails"]
25
+ }
26
+ }
27
+ }
28
+ ]
29
+ }
30
+ ]
31
+ },
32
+ excludedFiles: []
33
+ }
34
+ ];
@@ -0,0 +1,52 @@
1
+ module.exports = {
2
+ domains: {
3
+ from: /^.*\/src\/.*\/domain/,
4
+ avoid: [
5
+ /^.*\/src\/.*\/applications/,
6
+ /^.*\/src\/.*\/adapters/,
7
+ /^.*\/src\/.*\/frameworks/
8
+ ],
9
+ avoidFrom: []
10
+ },
11
+ applications: {
12
+ from: /^.*\/src\/.*\/applications/,
13
+ avoid: [
14
+ /^.*\/src\/.*\/adapters/,
15
+ /^.*\/src\/.*\/frameworks/
16
+ ],
17
+ avoidFrom: []
18
+ },
19
+ adapters: {
20
+ from: /^.*\/src\/.*\/adapters/,
21
+ avoid: [
22
+ /^.*\/src\/.*\/frameworks/
23
+ ],
24
+ avoidFrom: [
25
+ /^.*\/src\/.*\/entities/
26
+ ]
27
+ },
28
+ frameworks: {
29
+ from: /^.*\/src\/.*\/frameworks/,
30
+ avoid: [],
31
+ avoidFrom: [
32
+ /^.*\/src\/.*\/applications/
33
+ ]
34
+ },
35
+ libraries:{
36
+ from: /^.*\/src\/.*\/library/,
37
+ avoid: [
38
+ /^.*\/src\/platform\/.*\/bc/,
39
+ /^.*\/src\/platform\/.*\/cc/,
40
+ /^.*\/src\/platform\/cc/,
41
+ /^.*\/src\/platform\/bc/
42
+ ],
43
+ avoidFrom: []
44
+ },
45
+ library:{
46
+ from: /^.*\/src\/library/,
47
+ avoid: [
48
+ /^.*\/src\/platform/
49
+ ],
50
+ avoidFrom: []
51
+ }
52
+ }