@agilebot/eslint-config 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -4,8 +4,7 @@
4
4
 
5
5
  ```bash
6
6
  npm install --save-dev eslint \
7
- @agilebot/eslint-config \
8
- @agilebot/eslint-plugin
7
+ @agilebot/eslint-config
9
8
  ```
10
9
 
11
10
  ```js
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ require('../dist/cli').cli();
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ declare function cli(): void;
2
+
3
+ export { cli };
package/dist/cli.js ADDED
@@ -0,0 +1,90 @@
1
+ /**
2
+ * @license @agilebot/eslint-config v0.2.4
3
+ *
4
+ * Copyright (c) Agilebot, Inc. and its affiliates.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
10
+ "use strict";
11
+ var __create = Object.create;
12
+ var __defProp = Object.defineProperty;
13
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
14
+ var __getOwnPropNames = Object.getOwnPropertyNames;
15
+ var __getProtoOf = Object.getPrototypeOf;
16
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
17
+ var __export = (target, all) => {
18
+ for (var name in all)
19
+ __defProp(target, name, { get: all[name], enumerable: true });
20
+ };
21
+ var __copyProps = (to, from, except, desc) => {
22
+ if (from && typeof from === "object" || typeof from === "function") {
23
+ for (let key of __getOwnPropNames(from))
24
+ if (!__hasOwnProp.call(to, key) && key !== except)
25
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
26
+ }
27
+ return to;
28
+ };
29
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
30
+ // If the importer is in node compatibility mode or this is not an ESM
31
+ // file that has been converted to a CommonJS file using a Babel-
32
+ // compatible transform (i.e. "__esModule" has not been set), then set
33
+ // "default" to the CommonJS "module.exports" for node compatibility.
34
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
35
+ mod
36
+ ));
37
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
38
+
39
+ // src/cli.ts
40
+ var cli_exports = {};
41
+ __export(cli_exports, {
42
+ cli: () => cli
43
+ });
44
+ module.exports = __toCommonJS(cli_exports);
45
+ var import_node_fs = __toESM(require("fs"));
46
+ var import_node_path = __toESM(require("path"));
47
+ function cli() {
48
+ const isEslint = /^\.eslint.*/;
49
+ const cwd = process.cwd();
50
+ const has = {
51
+ ext: false,
52
+ fix: false,
53
+ config: false
54
+ };
55
+ process.argv.forEach((arg) => {
56
+ has.ext = has.ext || arg === "--ext";
57
+ has.fix = has.fix || arg === "--fix";
58
+ has.config = has.config || arg === "-c" || arg === "--config";
59
+ });
60
+ if (!has.fix) {
61
+ process.argv.splice(2, 0, "--fix");
62
+ }
63
+ if (!has.ext) {
64
+ process.argv.splice(
65
+ 2,
66
+ 0,
67
+ "--ext",
68
+ ".js,.jsx,.ts,.tsx,.cjs,.mjs,.cts,.mts,.vue"
69
+ );
70
+ }
71
+ import_node_fs.default.readdir(cwd, (err, files) => {
72
+ if (err) {
73
+ throw err;
74
+ }
75
+ has.config = has.config || files.some((file) => {
76
+ return isEslint.test(file);
77
+ });
78
+ if (!has.config) {
79
+ throw new Error("No ESLint configuration file found");
80
+ }
81
+ const pkg = require.resolve("eslint/package.json");
82
+ const bin = import_node_path.default.join(pkg, "..", "bin", "eslint.js");
83
+ require(bin);
84
+ });
85
+ }
86
+ // Annotate the CommonJS export names for ESM import in node:
87
+ 0 && (module.exports = {
88
+ cli
89
+ });
90
+ if (module.exports.default) module.exports = module.exports.default;
package/dist/index.js CHANGED
@@ -1,10 +1,33 @@
1
+ /**
2
+ * @license @agilebot/eslint-config v0.2.4
3
+ *
4
+ * Copyright (c) Agilebot, Inc. and its affiliates.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+
1
10
  "use strict";
2
11
  var __create = Object.create;
3
12
  var __defProp = Object.defineProperty;
4
13
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
14
  var __getOwnPropNames = Object.getOwnPropertyNames;
15
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
16
  var __getProtoOf = Object.getPrototypeOf;
7
17
  var __hasOwnProp = Object.prototype.hasOwnProperty;
18
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
19
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
20
+ var __spreadValues = (a, b) => {
21
+ for (var prop in b || (b = {}))
22
+ if (__hasOwnProp.call(b, prop))
23
+ __defNormalProp(a, prop, b[prop]);
24
+ if (__getOwnPropSymbols)
25
+ for (var prop of __getOwnPropSymbols(b)) {
26
+ if (__propIsEnum.call(b, prop))
27
+ __defNormalProp(a, prop, b[prop]);
28
+ }
29
+ return a;
30
+ };
8
31
  var __export = (target, all) => {
9
32
  for (var name in all)
10
33
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -182,6 +205,7 @@ var import_node_path = __toESM(require("path"));
182
205
  var import_node_fs = __toESM(require("fs"));
183
206
  var import_eslint_utils = require("@agilebot/eslint-utils");
184
207
  function eslintImport(opts) {
208
+ var _a;
185
209
  const rootDir = (0, import_eslint_utils.findRootDir)(__dirname);
186
210
  const pkgPath = import_node_path.default.join(opts.packageDir, "package.json");
187
211
  if (!import_node_fs.default.existsSync(pkgPath)) {
@@ -239,7 +263,7 @@ function eslintImport(opts) {
239
263
  "**/.storybook/**",
240
264
  "**/*.stories.{ts,tsx}",
241
265
  "**/scripts/*.{ts,mts}",
242
- ...opts.devDependencies ?? []
266
+ ...(_a = opts.devDependencies) != null ? _a : []
243
267
  ],
244
268
  includeInternal: true
245
269
  }
@@ -486,7 +510,7 @@ function agilebot(opts) {
486
510
  plugins: ["react-hooks"],
487
511
  rules: {
488
512
  "react-hooks/exhaustive-deps": "off",
489
- "@agilebot/react/better-exhaustive-deps": [
513
+ "@agilebot/react-better-exhaustive-deps": [
490
514
  "warn",
491
515
  {
492
516
  checkMemoizedVariableIsStatic: true,
@@ -508,7 +532,10 @@ function agilebot(opts) {
508
532
  },
509
533
  settings: {
510
534
  "agilebot/project-root": opts.root,
511
- "agilebot/monorepo-scope": opts.monorepoScope ? opts.monorepoScope.replaceAll("/", "") : void 0
535
+ "agilebot/monorepo-scope": opts.monorepoScope ? (
536
+ // eslint-disable-next-line unicorn/prefer-string-replace-all -- not supported in Node.js 12
537
+ opts.monorepoScope.replace(/\//g, "")
538
+ ) : void 0
512
539
  }
513
540
  };
514
541
  }
@@ -546,36 +573,41 @@ function godaddy() {
546
573
  "max-depth": "off",
547
574
  "no-undefined": "off",
548
575
  "no-process-env": "off",
549
- "no-sync": "off"
576
+ "no-sync": "off",
577
+ "no-continue": "off",
578
+ "no-case-declarations": "off",
579
+ "unicorn/prefer-string-slice": "off",
580
+ "unicorn/prefer-string-replace-all": "off"
550
581
  }
551
582
  };
552
583
  }
553
584
 
554
585
  // src/factory.ts
555
586
  function factory(root, options) {
587
+ var _a, _b, _c, _d;
556
588
  import_node_assert.default.ok(root, "root option is required");
557
589
  const commonConfigs = [
558
590
  unicorn({
559
- module: options?.module ?? false
591
+ module: (_a = options == null ? void 0 : options.module) != null ? _a : false
560
592
  }),
561
593
  eslint(),
562
594
  eslintImport({
563
595
  packageDir: root,
564
- devDependencies: options?.devDependencies,
565
- monorepoScope: options?.monorepoScope
596
+ devDependencies: options == null ? void 0 : options.devDependencies,
597
+ monorepoScope: options == null ? void 0 : options.monorepoScope
566
598
  }),
567
599
  prettier()
568
600
  ];
569
- if (options?.godaddy) {
601
+ if (options == null ? void 0 : options.godaddy) {
570
602
  return (0, import_eslint_utils3.mergeESLintConfig)(
571
603
  godaddy(),
572
604
  ...commonConfigs,
573
- options?.config ?? {}
605
+ (_b = options == null ? void 0 : options.config) != null ? _b : {}
574
606
  );
575
607
  }
576
608
  const config = {
577
609
  overrides: [
578
- {
610
+ __spreadValues({
579
611
  files: [
580
612
  "*.ts",
581
613
  "*.tsx",
@@ -587,34 +619,34 @@ function factory(root, options) {
587
619
  "*.mjs",
588
620
  "*.vue"
589
621
  ],
590
- parser: !options?.vue ? "@typescript-eslint/parser" : "vue-eslint-parser",
622
+ parser: !(options == null ? void 0 : options.vue) ? "@typescript-eslint/parser" : "vue-eslint-parser",
591
623
  parserOptions: {
592
624
  parser: "@typescript-eslint/parser",
593
- tsconfigRootDir: root
594
- },
595
- ...(0, import_eslint_utils3.mergeESLintConfig)(
596
- env(),
597
- standard(),
598
- ts(),
599
- promise(),
600
- options?.react ? react() : {},
601
- options?.vue ? vue({
602
- version: options.vue
603
- }) : {},
604
- jsdoc(),
605
- lodash(),
606
- deprecation(),
607
- cspell({
608
- words: options?.cspellWords ?? []
609
- }),
610
- ...commonConfigs,
611
- agilebot({
612
- root,
613
- monorepoScope: options?.monorepoScope
614
- }),
615
- options?.config ?? {}
616
- )
617
- },
625
+ tsconfigRootDir: root,
626
+ extraFileExtensions: !(options == null ? void 0 : options.vue) ? void 0 : [".vue"]
627
+ }
628
+ }, (0, import_eslint_utils3.mergeESLintConfig)(
629
+ env(),
630
+ standard(),
631
+ ts(),
632
+ promise(),
633
+ (options == null ? void 0 : options.react) ? react() : {},
634
+ (options == null ? void 0 : options.vue) ? vue({
635
+ version: options.vue
636
+ }) : {},
637
+ jsdoc(),
638
+ lodash(),
639
+ deprecation(),
640
+ cspell({
641
+ words: (_c = options == null ? void 0 : options.cspellWords) != null ? _c : []
642
+ }),
643
+ ...commonConfigs,
644
+ agilebot({
645
+ root,
646
+ monorepoScope: options == null ? void 0 : options.monorepoScope
647
+ }),
648
+ (_d = options == null ? void 0 : options.config) != null ? _d : {}
649
+ )),
618
650
  {
619
651
  files: ["*.ts", "*.tsx"],
620
652
  rules: {
package/package.json CHANGED
@@ -1,7 +1,10 @@
1
1
  {
2
2
  "name": "@agilebot/eslint-config",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "Agilebot's ESLint config",
5
+ "bin": {
6
+ "eslint-agilebot": "bin/eslint-agilebot"
7
+ },
5
8
  "main": "dist/index.js",
6
9
  "types": "dist/index.d.ts",
7
10
  "license": "MIT",
@@ -40,13 +43,14 @@
40
43
  "eslint-plugin-vue": "^9.25.0",
41
44
  "eslint-plugin-you-dont-need-lodash-underscore": "^6.13.0",
42
45
  "fast-glob": "^3.3.2",
43
- "@agilebot/eslint-utils": "0.2.3"
46
+ "@agilebot/eslint-utils": "0.2.4"
44
47
  },
45
48
  "peerDependencies": {
46
49
  "@agilebot/eslint-plugin": "*",
47
50
  "eslint": "^7.0.0 || ^8.0.0"
48
51
  },
49
52
  "files": [
53
+ "bin",
50
54
  "dist"
51
55
  ],
52
56
  "scripts": {