@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.
- package/build/hooks/Precommit/pre-commit.js +74 -24
- package/build/hooks/hook.js +29 -0
- package/build/utils/FileAndFolderOperations/filterFiles.js +27 -2
- package/build/utils/General/getGeneralInfo.js +7 -1
- package/build/utils/PluginsInstallation/installPlugins.js +1 -1
- package/configuration/.prettierignore +1 -0
- package/configuration/.prettierrc +13 -0
- package/configuration/common/.eslintrc.js +18 -0
- package/configuration/common/index.js +8 -0
- package/configuration/common/pluginVersion.js +3 -0
- package/configuration/services/Desk-Extension/.eslintrc.js +23 -0
- package/configuration/services/Desk-Extension/index.js +25 -0
- package/configuration/services/Desk-Extension/pluginVersion.js +16 -0
- package/configuration/services/Desk-Extension/rule_configuration/css_rules/cssRuleConfiguration.js +15 -0
- package/configuration/services/Desk-Extension/rule_configuration/i18nRules/noHardcodingRuleExcludes.js +41 -0
- package/configuration/services/Desk-Extension/rule_configuration/unUsed/unUsedImport.js +14 -0
- package/configuration/services/GC_Chat/index.js +21 -0
- package/configuration/services/GC_Chat/pluginVersion.js +12 -0
- package/configuration/services/GC_Chat/rule_configuration/i18nRules/i18nRules.js +284 -0
- package/configuration/services/GC_Chat/rule_configuration/react-performance-rules/reactPerformanceRulesConfig.js +26 -0
- package/configuration/services/client_platform/.eslintrc.js +35 -0
- package/configuration/services/client_platform/index.js +16 -0
- package/configuration/services/client_platform/pluginVersion.js +12 -0
- package/configuration/services/client_platform/rule_configuration/architecture_rules/architectureRuleConfiguration.js +172 -0
- package/configuration/services/client_platform/rule_configuration/architecture_rules/clientScriptRuleConfiguration.js +19 -0
- package/configuration/services/client_platform/rule_configuration/architecture_rules/customFieldRuleConfiguration.js +30 -0
- package/configuration/services/client_platform/rule_configuration/architecture_rules/errorHandlerRuleConfiguration.js +34 -0
- package/configuration/services/client_platform/rule_configuration/architecture_rules/layerConfiguration.js +52 -0
- package/configuration/services/client_platform/rule_configuration/i18n/i18n.js +39 -0
- package/configuration/services/client_platform/rule_configuration/sdk/sdk.js +23 -0
- package/configuration/services/desk_client_app/.eslintrc.js +23 -0
- package/configuration/services/desk_client_app/index.js +41 -0
- package/configuration/services/desk_client_app/pluginVersion.js +52 -0
- package/configuration/services/desk_client_app/rule_configuration/i18nRules/noHardcodingRuleExcludes.js +49 -0
- package/configuration/services/desk_client_app/rule_configuration/propertiesFileValidation/propertiesFileExcludes.js +23 -0
- package/configuration/services/desk_client_app/rule_configuration/react-compiler/reactCompilerConfig.js +25 -0
- package/configuration/services/desk_client_app/rule_configuration/react-general/reactGeneralConfig.js +33 -0
- package/configuration/services/desk_client_app/rule_configuration/react-performance-rules/reactPerformanceRulesConfig.js +84 -0
- package/configuration/services/desk_client_app/rule_configuration/uatRules/uatRules.js +23 -0
- package/configuration/services/desk_client_app/rule_configuration/unused-imports/unusedImportsConfig.js +28 -0
- package/configuration/services/helpcenter_product/.eslintrc.js +23 -0
- package/configuration/services/helpcenter_product/index.js +33 -0
- package/configuration/services/helpcenter_product/pluginVersion.js +33 -0
- package/configuration/services/helpcenter_product/rule_configuration/i18nRules/noHardcodingRuleExcludes.js +40 -0
- package/configuration/services/helpcenter_product/rule_configuration/react-compiler/reactCompilerConfig.js +18 -0
- package/configuration/services/helpcenter_product/rule_configuration/react-general/reactGeneralConfig.js +24 -0
- package/configuration/services/helpcenter_product/rule_configuration/react-performance-rules/reactPerformanceRulesConfig.js +25 -0
- package/configuration/services/zohodesk/.eslintrc.js +22 -0
- package/configuration/services/zohodesk/index.js +15 -0
- package/configuration/services/zohodesk/pluginVersion.js +7 -0
- package/configuration/services/zohodesk/rule_configuration/select2RestrictedOptions/select2Excludes.js +8 -0
- package/configuration/services/zohogc_client/.eslintrc.js +23 -0
- package/configuration/services/zohogc_client/index.js +22 -0
- package/configuration/services/zohogc_client/pluginVersion.js +27 -0
- package/configuration/services/zohogc_client/rule_configuration/fitnessFunction/fitnessFunctionRules.js +31 -0
- package/configuration/services/zohogc_client/rule_configuration/i18nRules/i18nRules.js +303 -0
- package/configuration/services/zohogc_client/rule_configuration/react-performance-rules/reactPerformanceRulesConfig.js +27 -0
- package/configuration/services/zohogc_client/rule_configuration/uatRules/uatRules.js +23 -0
- package/configuration/services/zohoim_client/.eslintrc.js +23 -0
- package/configuration/services/zohoim_client/defaultRule.txt +243 -0
- package/configuration/services/zohoim_client/index.js +28 -0
- package/configuration/services/zohoim_client/pluginVersion.js +38 -0
- package/configuration/services/zohoim_client/rule_configuration/i18nRules/noHardcodingRule.js +38 -0
- package/configuration/services/zohoim_client/rule_configuration/propertiesFileValidation/propertiesFileRule.js +23 -0
- package/configuration/services/zohoim_client/rule_configuration/react-compiler/reactCompilerConfig.js +16 -0
- package/configuration/services/zohoim_client/rule_configuration/react-general/reactGeneralConfig.js +22 -0
- package/configuration/services/zohoim_client/rule_configuration/react-performance-rules/reactPerformanceRulesConfig.js +19 -0
- package/configuration/services/zohoim_client/rule_configuration/uatRules/uatRules.js +21 -0
- 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
|
+
}
|