@willbooster/eslint-config-js 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.eslintignore ADDED
@@ -0,0 +1,458 @@
1
+ # Project-specific settings
2
+
3
+
4
+ # Generated by @willbooster/willboosterify
5
+
6
+ 3rd-party/
7
+ @types/
8
+ __generated__/
9
+ android/
10
+ ios/
11
+ no-format/
12
+ test-fixtures/
13
+ *.config.js
14
+ *.d.ts
15
+ *.min.js
16
+ .yarn/
17
+ .pnp.js
18
+
19
+
20
+ .devcontainer/
21
+ dist/
22
+ temp/
23
+ Icon[
24
+
25
+ # Created by https://www.toptal.com/developers/gitignore/api/windows
26
+ # Edit at https://www.toptal.com/developers/gitignore?templates=windows
27
+
28
+ ### Windows ###
29
+ # Windows thumbnail cache files
30
+ Thumbs.db
31
+ Thumbs.db:encryptable
32
+ ehthumbs.db
33
+ ehthumbs_vista.db
34
+
35
+ # Dump file
36
+ *.stackdump
37
+
38
+ # Folder config file
39
+ [Dd]esktop.ini
40
+
41
+ # Recycle Bin used on file shares
42
+ $RECYCLE.BIN/
43
+
44
+ # Windows Installer files
45
+ *.cab
46
+ *.msi
47
+ *.msix
48
+ *.msm
49
+ *.msp
50
+
51
+ # Windows shortcuts
52
+ *.lnk
53
+
54
+ # End of https://www.toptal.com/developers/gitignore/api/windows
55
+
56
+ # Created by https://www.toptal.com/developers/gitignore/api/macos
57
+ # Edit at https://www.toptal.com/developers/gitignore?templates=macos
58
+
59
+ ### macOS ###
60
+ # General
61
+ .DS_Store
62
+ .AppleDouble
63
+ .LSOverride
64
+
65
+ # Icon must end with two \r
66
+ Icon
67
+
68
+ # Thumbnails
69
+ ._*
70
+
71
+ # Files that might appear in the root of a volume
72
+ .DocumentRevisions-V100
73
+ .fseventsd
74
+ .Spotlight-V100
75
+ .TemporaryItems
76
+ .Trashes
77
+ .VolumeIcon.icns
78
+ .com.apple.timemachine.donotpresent
79
+
80
+ # Directories potentially created on remote AFP share
81
+ .AppleDB
82
+ .AppleDesktop
83
+ Network Trash Folder
84
+ Temporary Items
85
+ .apdisk
86
+
87
+ # End of https://www.toptal.com/developers/gitignore/api/macos
88
+
89
+ # Created by https://www.toptal.com/developers/gitignore/api/linux
90
+ # Edit at https://www.toptal.com/developers/gitignore?templates=linux
91
+
92
+ ### Linux ###
93
+ *~
94
+
95
+ # temporary files which can be created if a process still has a handle open of a deleted file
96
+ .fuse_hidden*
97
+
98
+ # KDE directory preferences
99
+ .directory
100
+
101
+ # Linux trash folder which might appear on any partition or disk
102
+ .Trash-*
103
+
104
+ # .nfs files are created when an open file is removed but is still being accessed
105
+ .nfs*
106
+
107
+ # End of https://www.toptal.com/developers/gitignore/api/linux
108
+
109
+ # Created by https://www.toptal.com/developers/gitignore/api/jetbrains
110
+ # Edit at https://www.toptal.com/developers/gitignore?templates=jetbrains
111
+
112
+ ### JetBrains ###
113
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
114
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
115
+
116
+ # User-specific stuff
117
+ .idea/**/workspace.xml
118
+ .idea/**/tasks.xml
119
+ .idea/**/usage.statistics.xml
120
+ .idea/**/dictionaries
121
+ .idea/**/shelf
122
+
123
+ # AWS User-specific
124
+ .idea/**/aws.xml
125
+
126
+ # Generated files
127
+ .idea/**/contentModel.xml
128
+
129
+ # Sensitive or high-churn files
130
+ .idea/**/dataSources/
131
+ .idea/**/dataSources.ids
132
+ .idea/**/dataSources.local.xml
133
+ .idea/**/sqlDataSources.xml
134
+ .idea/**/dynamic.xml
135
+ .idea/**/uiDesigner.xml
136
+ .idea/**/dbnavigator.xml
137
+
138
+ # Gradle
139
+ .idea/**/gradle.xml
140
+ .idea/**/libraries
141
+
142
+ # Gradle and Maven with auto-import
143
+ # When using Gradle or Maven with auto-import, you should exclude module files,
144
+ # since they will be recreated, and may cause churn. Uncomment if using
145
+ # auto-import.
146
+ # .idea/artifacts
147
+ # .idea/compiler.xml
148
+ # .idea/jarRepositories.xml
149
+ # .idea/modules.xml
150
+ # .idea/*.iml
151
+ # .idea/modules
152
+ # *.iml
153
+ # *.ipr
154
+
155
+ # CMake
156
+ cmake-build-*/
157
+
158
+ # Mongo Explorer plugin
159
+ .idea/**/mongoSettings.xml
160
+
161
+ # File-based project format
162
+ *.iws
163
+
164
+ # IntelliJ
165
+ out/
166
+
167
+ # mpeltonen/sbt-idea plugin
168
+ .idea_modules/
169
+
170
+ # JIRA plugin
171
+ atlassian-ide-plugin.xml
172
+
173
+ # Cursive Clojure plugin
174
+ .idea/replstate.xml
175
+
176
+ # Crashlytics plugin (for Android Studio and IntelliJ)
177
+ com_crashlytics_export_strings.xml
178
+ crashlytics.properties
179
+ crashlytics-build.properties
180
+ fabric.properties
181
+
182
+ # Editor-based Rest Client
183
+ .idea/httpRequests
184
+
185
+ # Android studio 3.1+ serialized cache file
186
+ .idea/caches/build_file_checksums.ser
187
+
188
+ ### JetBrains Patch ###
189
+ # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
190
+
191
+ # *.iml
192
+ # modules.xml
193
+ # .idea/misc.xml
194
+ # *.ipr
195
+
196
+ # Sonarlint plugin
197
+ # https://plugins.jetbrains.com/plugin/7973-sonarlint
198
+ .idea/**/sonarlint/
199
+
200
+ # SonarQube Plugin
201
+ # https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
202
+ .idea/**/sonarIssues.xml
203
+
204
+ # Markdown Navigator plugin
205
+ # https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
206
+ .idea/**/markdown-navigator.xml
207
+ .idea/**/markdown-navigator-enh.xml
208
+ .idea/**/markdown-navigator/
209
+
210
+ # Cache file creation bug
211
+ # See https://youtrack.jetbrains.com/issue/JBR-2257
212
+ .idea/$CACHE_FILE$
213
+
214
+ # CodeStream plugin
215
+ # https://plugins.jetbrains.com/plugin/12206-codestream
216
+ .idea/codestream.xml
217
+
218
+ # End of https://www.toptal.com/developers/gitignore/api/jetbrains
219
+
220
+ # Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode
221
+ # Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode
222
+
223
+ ### VisualStudioCode ###
224
+ .vscode/*
225
+ !.vscode/settings.json
226
+ !.vscode/tasks.json
227
+ !.vscode/launch.json
228
+ !.vscode/extensions.json
229
+ *.code-workspace
230
+
231
+ # Local History for Visual Studio Code
232
+ .history/
233
+
234
+ ### VisualStudioCode Patch ###
235
+ # Ignore all local history of files
236
+ .history
237
+ .ionide
238
+
239
+ # Support for Project snippet scope
240
+ !.vscode/*.code-snippets
241
+
242
+ # End of https://www.toptal.com/developers/gitignore/api/visualstudiocode
243
+
244
+ # Created by https://www.toptal.com/developers/gitignore/api/emacs
245
+ # Edit at https://www.toptal.com/developers/gitignore?templates=emacs
246
+
247
+ ### Emacs ###
248
+ # -*- mode: gitignore; -*-
249
+ *~
250
+ \#*\#
251
+ /.emacs.desktop
252
+ /.emacs.desktop.lock
253
+ *.elc
254
+ auto-save-list
255
+ tramp
256
+ .\#*
257
+
258
+ # Org-mode
259
+ .org-id-locations
260
+ *_archive
261
+
262
+ # flymake-mode
263
+ *_flymake.*
264
+
265
+ # eshell files
266
+ /eshell/history
267
+ /eshell/lastdir
268
+
269
+ # elpa packages
270
+ /elpa/
271
+
272
+ # reftex files
273
+ *.rel
274
+
275
+ # AUCTeX auto folder
276
+ /auto/
277
+
278
+ # cask packages
279
+ .cask/
280
+ dist/
281
+
282
+ # Flycheck
283
+ flycheck_*.el
284
+
285
+ # server auth directory
286
+ /server/
287
+
288
+ # projectiles files
289
+ .projectile
290
+
291
+ # directory configuration
292
+ .dir-locals.el
293
+
294
+ # network security
295
+ /network-security.data
296
+
297
+ # End of https://www.toptal.com/developers/gitignore/api/emacs
298
+
299
+ # Created by https://www.toptal.com/developers/gitignore/api/vim
300
+ # Edit at https://www.toptal.com/developers/gitignore?templates=vim
301
+
302
+ ### Vim ###
303
+ # Swap
304
+ [._]*.s[a-v][a-z]
305
+ !*.svg # comment out if you don't need vector files
306
+ [._]*.sw[a-p]
307
+ [._]s[a-rt-v][a-z]
308
+ [._]ss[a-gi-z]
309
+ [._]sw[a-p]
310
+
311
+ # Session
312
+ Session.vim
313
+ Sessionx.vim
314
+
315
+ # Temporary
316
+ .netrwhist
317
+ *~
318
+ # Auto-generated tag files
319
+ tags
320
+ # Persistent undo
321
+ [._]*.un~
322
+
323
+ # End of https://www.toptal.com/developers/gitignore/api/vim
324
+
325
+ # Created by https://www.toptal.com/developers/gitignore/api/node
326
+ # Edit at https://www.toptal.com/developers/gitignore?templates=node
327
+
328
+ ### Node ###
329
+ # Logs
330
+ logs
331
+ *.log
332
+ npm-debug.log*
333
+ yarn-debug.log*
334
+ yarn-error.log*
335
+ lerna-debug.log*
336
+ .pnpm-debug.log*
337
+
338
+ # Diagnostic reports (https://nodejs.org/api/report.html)
339
+ report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
340
+
341
+ # Runtime data
342
+ pids
343
+ *.pid
344
+ *.seed
345
+ *.pid.lock
346
+
347
+ # Directory for instrumented libs generated by jscoverage/JSCover
348
+ lib-cov
349
+
350
+ # Coverage directory used by tools like istanbul
351
+ coverage
352
+ *.lcov
353
+
354
+ # nyc test coverage
355
+ .nyc_output
356
+
357
+ # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
358
+ .grunt
359
+
360
+ # Bower dependency directory (https://bower.io/)
361
+ bower_components
362
+
363
+ # node-waf configuration
364
+ .lock-wscript
365
+
366
+ # Compiled binary addons (https://nodejs.org/api/addons.html)
367
+ build/Release
368
+
369
+ # Dependency directories
370
+ node_modules/
371
+ jspm_packages/
372
+
373
+ # Snowpack dependency directory (https://snowpack.dev/)
374
+ web_modules/
375
+
376
+ # TypeScript cache
377
+ *.tsbuildinfo
378
+
379
+ # Optional npm cache directory
380
+ .npm
381
+
382
+ # Optional eslint cache
383
+ .eslintcache
384
+
385
+ # Microbundle cache
386
+ .rpt2_cache/
387
+ .rts2_cache_cjs/
388
+ .rts2_cache_es/
389
+ .rts2_cache_umd/
390
+
391
+ # Optional REPL history
392
+ .node_repl_history
393
+
394
+ # Output of 'npm pack'
395
+ *.tgz
396
+
397
+ # Yarn Integrity file
398
+ .yarn-integrity
399
+
400
+ # dotenv environment variables file
401
+ .env
402
+ .env.test
403
+ .env.production
404
+
405
+ # parcel-bundler cache (https://parceljs.org/)
406
+ .cache
407
+ .parcel-cache
408
+
409
+ # Next.js build output
410
+ .next
411
+ out
412
+
413
+ # Nuxt.js build / generate output
414
+ .nuxt
415
+ dist
416
+
417
+ # Gatsby files
418
+ .cache/
419
+ # Comment in the public line in if your project uses Gatsby and not Next.js
420
+ # https://nextjs.org/blog/next-9-1#public-directory-support
421
+ # public
422
+
423
+ # vuepress build output
424
+ .vuepress/dist
425
+
426
+ # Serverless directories
427
+ .serverless/
428
+
429
+ # FuseBox cache
430
+ .fusebox/
431
+
432
+ # DynamoDB Local files
433
+ .dynamodb/
434
+
435
+ # TernJS port file
436
+ .tern-port
437
+
438
+ # Stores VSCode versions used for testing VSCode extensions
439
+ .vscode-test
440
+
441
+ # yarn v2
442
+ .yarn/cache
443
+ .yarn/unplugged
444
+ .yarn/build-state.yml
445
+ .yarn/install-state.gz
446
+ .pnp.*
447
+
448
+ ### Node Patch ###
449
+ # Serverless Webpack directories
450
+ .webpack/
451
+
452
+ # Optional stylelint cache
453
+ .stylelintcache
454
+
455
+ # SvelteKit build / generate output
456
+ .svelte-kit
457
+
458
+ # End of https://www.toptal.com/developers/gitignore/api/node
package/.eslintrc.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "extends": ["eslint:recommended", "plugin:import/recommended", "plugin:sort-class-members/recommended", "prettier"],
3
+ "plugins": ["sort-destructure-keys"],
4
+ "parserOptions": {
5
+ "ecmaVersion": 2021
6
+ },
7
+ "env": { "es2021": true },
8
+ "rules": {
9
+ "eqeqeq": "warn",
10
+ "no-console": "off", // allow `console.log()`
11
+ "no-unused-vars": ["warn", { "ignoreRestSiblings": true }], // allow unused vars in object destructuring
12
+ "import/newline-after-import": "error",
13
+ "import/no-duplicates": "error",
14
+ "import/order": [
15
+ "error",
16
+ {
17
+ "newlines-between": "always",
18
+ "alphabetize": {
19
+ "order": "asc"
20
+ }
21
+ }
22
+ ],
23
+ "sort-destructure-keys/sort-destructure-keys": "error"
24
+ }
25
+ }
@@ -0,0 +1,18 @@
1
+ const path = require('path');
2
+ const micromatch = require('micromatch');
3
+
4
+ module.exports = {
5
+ './{src,__tests__}/**/*.{cjs,js,jsx,mjs,ts,tsx}': ['eslint --fix', 'prettier --write'],
6
+ './**/*.{cjs,css,htm,html,js,json,json5,jsx,md,mjs,scss,ts,tsx,vue,yaml,yml}': (files) => {
7
+ files = micromatch.not(files, './{src,__tests__}/**/*.{cjs,js,jsx,mjs,ts,tsx}');
8
+ const filteredFiles = files
9
+ .filter((file) => !file.includes('/test-fixtures/'))
10
+ .map((file) => path.relative('', file));
11
+ if (filteredFiles.length === 0) return [];
12
+ const commands = [`prettier --write ${filteredFiles.join(' ')}`];
13
+ if (filteredFiles.some((file) => file.endsWith('package.json'))) {
14
+ commands.push('yarn sort-package-json');
15
+ }
16
+ return commands;
17
+ },
18
+ };
@@ -0,0 +1,455 @@
1
+ # Project-specific settings
2
+
3
+
4
+ # Generated by @willbooster/gen-configs
5
+
6
+ 3rd-party/
7
+ android/
8
+ ios/
9
+ no-format/
10
+ test-fixtures/
11
+ *.d.ts
12
+ *.min.js
13
+ .yarn/
14
+ .pnp.js
15
+
16
+
17
+ .devcontainer/
18
+ dist/
19
+ temp/
20
+ Icon[
21
+
22
+ # Created by https://www.toptal.com/developers/gitignore/api/windows
23
+ # Edit at https://www.toptal.com/developers/gitignore?templates=windows
24
+
25
+ ### Windows ###
26
+ # Windows thumbnail cache files
27
+ Thumbs.db
28
+ Thumbs.db:encryptable
29
+ ehthumbs.db
30
+ ehthumbs_vista.db
31
+
32
+ # Dump file
33
+ *.stackdump
34
+
35
+ # Folder config file
36
+ [Dd]esktop.ini
37
+
38
+ # Recycle Bin used on file shares
39
+ $RECYCLE.BIN/
40
+
41
+ # Windows Installer files
42
+ *.cab
43
+ *.msi
44
+ *.msix
45
+ *.msm
46
+ *.msp
47
+
48
+ # Windows shortcuts
49
+ *.lnk
50
+
51
+ # End of https://www.toptal.com/developers/gitignore/api/windows
52
+
53
+ # Created by https://www.toptal.com/developers/gitignore/api/macos
54
+ # Edit at https://www.toptal.com/developers/gitignore?templates=macos
55
+
56
+ ### macOS ###
57
+ # General
58
+ .DS_Store
59
+ .AppleDouble
60
+ .LSOverride
61
+
62
+ # Icon must end with two \r
63
+ Icon
64
+
65
+ # Thumbnails
66
+ ._*
67
+
68
+ # Files that might appear in the root of a volume
69
+ .DocumentRevisions-V100
70
+ .fseventsd
71
+ .Spotlight-V100
72
+ .TemporaryItems
73
+ .Trashes
74
+ .VolumeIcon.icns
75
+ .com.apple.timemachine.donotpresent
76
+
77
+ # Directories potentially created on remote AFP share
78
+ .AppleDB
79
+ .AppleDesktop
80
+ Network Trash Folder
81
+ Temporary Items
82
+ .apdisk
83
+
84
+ # End of https://www.toptal.com/developers/gitignore/api/macos
85
+
86
+ # Created by https://www.toptal.com/developers/gitignore/api/linux
87
+ # Edit at https://www.toptal.com/developers/gitignore?templates=linux
88
+
89
+ ### Linux ###
90
+ *~
91
+
92
+ # temporary files which can be created if a process still has a handle open of a deleted file
93
+ .fuse_hidden*
94
+
95
+ # KDE directory preferences
96
+ .directory
97
+
98
+ # Linux trash folder which might appear on any partition or disk
99
+ .Trash-*
100
+
101
+ # .nfs files are created when an open file is removed but is still being accessed
102
+ .nfs*
103
+
104
+ # End of https://www.toptal.com/developers/gitignore/api/linux
105
+
106
+ # Created by https://www.toptal.com/developers/gitignore/api/jetbrains
107
+ # Edit at https://www.toptal.com/developers/gitignore?templates=jetbrains
108
+
109
+ ### JetBrains ###
110
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
111
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
112
+
113
+ # User-specific stuff
114
+ .idea/**/workspace.xml
115
+ .idea/**/tasks.xml
116
+ .idea/**/usage.statistics.xml
117
+ .idea/**/dictionaries
118
+ .idea/**/shelf
119
+
120
+ # AWS User-specific
121
+ .idea/**/aws.xml
122
+
123
+ # Generated files
124
+ .idea/**/contentModel.xml
125
+
126
+ # Sensitive or high-churn files
127
+ .idea/**/dataSources/
128
+ .idea/**/dataSources.ids
129
+ .idea/**/dataSources.local.xml
130
+ .idea/**/sqlDataSources.xml
131
+ .idea/**/dynamic.xml
132
+ .idea/**/uiDesigner.xml
133
+ .idea/**/dbnavigator.xml
134
+
135
+ # Gradle
136
+ .idea/**/gradle.xml
137
+ .idea/**/libraries
138
+
139
+ # Gradle and Maven with auto-import
140
+ # When using Gradle or Maven with auto-import, you should exclude module files,
141
+ # since they will be recreated, and may cause churn. Uncomment if using
142
+ # auto-import.
143
+ # .idea/artifacts
144
+ # .idea/compiler.xml
145
+ # .idea/jarRepositories.xml
146
+ # .idea/modules.xml
147
+ # .idea/*.iml
148
+ # .idea/modules
149
+ # *.iml
150
+ # *.ipr
151
+
152
+ # CMake
153
+ cmake-build-*/
154
+
155
+ # Mongo Explorer plugin
156
+ .idea/**/mongoSettings.xml
157
+
158
+ # File-based project format
159
+ *.iws
160
+
161
+ # IntelliJ
162
+ out/
163
+
164
+ # mpeltonen/sbt-idea plugin
165
+ .idea_modules/
166
+
167
+ # JIRA plugin
168
+ atlassian-ide-plugin.xml
169
+
170
+ # Cursive Clojure plugin
171
+ .idea/replstate.xml
172
+
173
+ # Crashlytics plugin (for Android Studio and IntelliJ)
174
+ com_crashlytics_export_strings.xml
175
+ crashlytics.properties
176
+ crashlytics-build.properties
177
+ fabric.properties
178
+
179
+ # Editor-based Rest Client
180
+ .idea/httpRequests
181
+
182
+ # Android studio 3.1+ serialized cache file
183
+ .idea/caches/build_file_checksums.ser
184
+
185
+ ### JetBrains Patch ###
186
+ # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
187
+
188
+ # *.iml
189
+ # modules.xml
190
+ # .idea/misc.xml
191
+ # *.ipr
192
+
193
+ # Sonarlint plugin
194
+ # https://plugins.jetbrains.com/plugin/7973-sonarlint
195
+ .idea/**/sonarlint/
196
+
197
+ # SonarQube Plugin
198
+ # https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
199
+ .idea/**/sonarIssues.xml
200
+
201
+ # Markdown Navigator plugin
202
+ # https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
203
+ .idea/**/markdown-navigator.xml
204
+ .idea/**/markdown-navigator-enh.xml
205
+ .idea/**/markdown-navigator/
206
+
207
+ # Cache file creation bug
208
+ # See https://youtrack.jetbrains.com/issue/JBR-2257
209
+ .idea/$CACHE_FILE$
210
+
211
+ # CodeStream plugin
212
+ # https://plugins.jetbrains.com/plugin/12206-codestream
213
+ .idea/codestream.xml
214
+
215
+ # End of https://www.toptal.com/developers/gitignore/api/jetbrains
216
+
217
+ # Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode
218
+ # Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode
219
+
220
+ ### VisualStudioCode ###
221
+ .vscode/*
222
+ !.vscode/settings.json
223
+ !.vscode/tasks.json
224
+ !.vscode/launch.json
225
+ !.vscode/extensions.json
226
+ *.code-workspace
227
+
228
+ # Local History for Visual Studio Code
229
+ .history/
230
+
231
+ ### VisualStudioCode Patch ###
232
+ # Ignore all local history of files
233
+ .history
234
+ .ionide
235
+
236
+ # Support for Project snippet scope
237
+ !.vscode/*.code-snippets
238
+
239
+ # End of https://www.toptal.com/developers/gitignore/api/visualstudiocode
240
+
241
+ # Created by https://www.toptal.com/developers/gitignore/api/emacs
242
+ # Edit at https://www.toptal.com/developers/gitignore?templates=emacs
243
+
244
+ ### Emacs ###
245
+ # -*- mode: gitignore; -*-
246
+ *~
247
+ \#*\#
248
+ /.emacs.desktop
249
+ /.emacs.desktop.lock
250
+ *.elc
251
+ auto-save-list
252
+ tramp
253
+ .\#*
254
+
255
+ # Org-mode
256
+ .org-id-locations
257
+ *_archive
258
+
259
+ # flymake-mode
260
+ *_flymake.*
261
+
262
+ # eshell files
263
+ /eshell/history
264
+ /eshell/lastdir
265
+
266
+ # elpa packages
267
+ /elpa/
268
+
269
+ # reftex files
270
+ *.rel
271
+
272
+ # AUCTeX auto folder
273
+ /auto/
274
+
275
+ # cask packages
276
+ .cask/
277
+ dist/
278
+
279
+ # Flycheck
280
+ flycheck_*.el
281
+
282
+ # server auth directory
283
+ /server/
284
+
285
+ # projectiles files
286
+ .projectile
287
+
288
+ # directory configuration
289
+ .dir-locals.el
290
+
291
+ # network security
292
+ /network-security.data
293
+
294
+ # End of https://www.toptal.com/developers/gitignore/api/emacs
295
+
296
+ # Created by https://www.toptal.com/developers/gitignore/api/vim
297
+ # Edit at https://www.toptal.com/developers/gitignore?templates=vim
298
+
299
+ ### Vim ###
300
+ # Swap
301
+ [._]*.s[a-v][a-z]
302
+ !*.svg # comment out if you don't need vector files
303
+ [._]*.sw[a-p]
304
+ [._]s[a-rt-v][a-z]
305
+ [._]ss[a-gi-z]
306
+ [._]sw[a-p]
307
+
308
+ # Session
309
+ Session.vim
310
+ Sessionx.vim
311
+
312
+ # Temporary
313
+ .netrwhist
314
+ *~
315
+ # Auto-generated tag files
316
+ tags
317
+ # Persistent undo
318
+ [._]*.un~
319
+
320
+ # End of https://www.toptal.com/developers/gitignore/api/vim
321
+
322
+ # Created by https://www.toptal.com/developers/gitignore/api/node
323
+ # Edit at https://www.toptal.com/developers/gitignore?templates=node
324
+
325
+ ### Node ###
326
+ # Logs
327
+ logs
328
+ *.log
329
+ npm-debug.log*
330
+ yarn-debug.log*
331
+ yarn-error.log*
332
+ lerna-debug.log*
333
+ .pnpm-debug.log*
334
+
335
+ # Diagnostic reports (https://nodejs.org/api/report.html)
336
+ report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
337
+
338
+ # Runtime data
339
+ pids
340
+ *.pid
341
+ *.seed
342
+ *.pid.lock
343
+
344
+ # Directory for instrumented libs generated by jscoverage/JSCover
345
+ lib-cov
346
+
347
+ # Coverage directory used by tools like istanbul
348
+ coverage
349
+ *.lcov
350
+
351
+ # nyc test coverage
352
+ .nyc_output
353
+
354
+ # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
355
+ .grunt
356
+
357
+ # Bower dependency directory (https://bower.io/)
358
+ bower_components
359
+
360
+ # node-waf configuration
361
+ .lock-wscript
362
+
363
+ # Compiled binary addons (https://nodejs.org/api/addons.html)
364
+ build/Release
365
+
366
+ # Dependency directories
367
+ node_modules/
368
+ jspm_packages/
369
+
370
+ # Snowpack dependency directory (https://snowpack.dev/)
371
+ web_modules/
372
+
373
+ # TypeScript cache
374
+ *.tsbuildinfo
375
+
376
+ # Optional npm cache directory
377
+ .npm
378
+
379
+ # Optional eslint cache
380
+ .eslintcache
381
+
382
+ # Microbundle cache
383
+ .rpt2_cache/
384
+ .rts2_cache_cjs/
385
+ .rts2_cache_es/
386
+ .rts2_cache_umd/
387
+
388
+ # Optional REPL history
389
+ .node_repl_history
390
+
391
+ # Output of 'npm pack'
392
+ *.tgz
393
+
394
+ # Yarn Integrity file
395
+ .yarn-integrity
396
+
397
+ # dotenv environment variables file
398
+ .env
399
+ .env.test
400
+ .env.production
401
+
402
+ # parcel-bundler cache (https://parceljs.org/)
403
+ .cache
404
+ .parcel-cache
405
+
406
+ # Next.js build output
407
+ .next
408
+ out
409
+
410
+ # Nuxt.js build / generate output
411
+ .nuxt
412
+ dist
413
+
414
+ # Gatsby files
415
+ .cache/
416
+ # Comment in the public line in if your project uses Gatsby and not Next.js
417
+ # https://nextjs.org/blog/next-9-1#public-directory-support
418
+ # public
419
+
420
+ # vuepress build output
421
+ .vuepress/dist
422
+
423
+ # Serverless directories
424
+ .serverless/
425
+
426
+ # FuseBox cache
427
+ .fusebox/
428
+
429
+ # DynamoDB Local files
430
+ .dynamodb/
431
+
432
+ # TernJS port file
433
+ .tern-port
434
+
435
+ # Stores VSCode versions used for testing VSCode extensions
436
+ .vscode-test
437
+
438
+ # yarn v2
439
+ .yarn/cache
440
+ .yarn/unplugged
441
+ .yarn/build-state.yml
442
+ .yarn/install-state.gz
443
+ .pnp.*
444
+
445
+ ### Node Patch ###
446
+ # Serverless Webpack directories
447
+ .webpack/
448
+
449
+ # Optional stylelint cache
450
+ .stylelintcache
451
+
452
+ # SvelteKit build / generate output
453
+ .svelte-kit
454
+
455
+ # End of https://www.toptal.com/developers/gitignore/api/node
package/LICENSE ADDED
@@ -0,0 +1,201 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright [yyyy] [name of copyright owner]
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
package/NOTICE ADDED
@@ -0,0 +1,15 @@
1
+ @willbooster/eslint-config-js
2
+
3
+ Copyright (c) 2019 WillBooster Inc. and contributors.
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
package/README.md ADDED
@@ -0,0 +1,14 @@
1
+ # eslint-config-js
2
+
3
+ A ESLint config for JavaScript projects.
4
+ You need to do the following command to install peer dependencies.
5
+
6
+ ```sh
7
+ yarn add -D @willbooster/eslint-config-js \\
8
+ eslint \\
9
+ eslint-config-prettier \\
10
+ eslint-plugin-import \\
11
+ eslint-plugin-prettier \\
12
+ prettier \\
13
+ @willbooster/prettier-config
14
+ ```
@@ -0,0 +1,8 @@
1
+ /* eslint-env node */
2
+
3
+ const child_process = require('child_process');
4
+
5
+ const { useImmer } = require('use-immer');
6
+
7
+ child_process.exec('echo 0');
8
+ console.log(useImmer);
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@willbooster/eslint-config-js",
3
+ "version": "1.0.0",
4
+ "description": "A ESLint config for JavaScript projects",
5
+ "license": "Apache-2.0",
6
+ "author": "WillBooster Inc.",
7
+ "main": ".eslintrc.json",
8
+ "scripts": {
9
+ "cleanup": "yarn format && yarn lint-fix",
10
+ "format": "sort-package-json && yarn prettify",
11
+ "lint": "eslint --color \"./{src,__tests__}/**/*.{cjs,js,jsx,mjs,ts,tsx}\"",
12
+ "lint-fix": "yarn lint --fix",
13
+ "prettify": "prettier --color --write \"**/{.*/,}*.{cjs,css,htm,html,js,json,json5,jsx,md,mjs,scss,ts,tsx,vue,yaml,yml}\" \"!**/test-fixtures/**\"",
14
+ "test": "yarn lint"
15
+ },
16
+ "prettier": "@willbooster/prettier-config",
17
+ "devDependencies": {
18
+ "@types/eslint": "8.2.2",
19
+ "@types/micromatch": "4.0.2",
20
+ "@willbooster/prettier-config": "1.0.0",
21
+ "eslint": "8.6.0",
22
+ "eslint-config-prettier": "8.3.0",
23
+ "eslint-plugin-import": "2.25.4",
24
+ "eslint-plugin-sort-class-members": "1.14.1",
25
+ "eslint-plugin-sort-destructure-keys": "1.4.0",
26
+ "lint-staged": "12.1.7",
27
+ "micromatch": "4.0.4",
28
+ "prettier": "2.5.1",
29
+ "sort-package-json": "1.53.1"
30
+ },
31
+ "peerDependencies": {
32
+ "@willbooster/prettier-config": "1.0.0",
33
+ "eslint": ">=8",
34
+ "eslint-config-prettier": ">=8",
35
+ "eslint-plugin-import": ">=2",
36
+ "eslint-plugin-sort-class-members": ">=1.14",
37
+ "eslint-plugin-sort-destructure-keys": ">=1.4"
38
+ },
39
+ "gitHead": "865a18e97886b4051f555430f8fc0c89bd364001"
40
+ }