@evaneos/front-config 1.0.5 → 1.1.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/README.md CHANGED
@@ -15,22 +15,83 @@ npm install @evaneos/front-config@latest
15
15
  In your `eslint.config.(c|m)js` file, add:
16
16
 
17
17
  ```cjs
18
- const evaneosConfig = require("@evaneos/front-config/eslint/eslint.config.js");
18
+ const evaneosConfig = require('@evaneos/front-config/eslint/index.js');
19
19
  module.export = [...evaneosConfig];
20
20
  ```
21
21
 
22
22
  ```mjs
23
- import evaneosConfig from "@evaneos/front-config/eslint/eslint.config.mjs";
23
+ import evaneosConfig from '@evaneos/front-config/eslint/index.mjs';
24
24
  export default [...evaneosConfig];
25
25
  ```
26
26
 
27
+ You may want to turn off the new rules, here is an example from rm
28
+
29
+ ```
30
+ import globals from 'globals';
31
+ import evaneosConfig from '@evaneos/front-config/eslint/index.mjs';
32
+
33
+ export default [
34
+ ...evaneosConfig,
35
+ {
36
+ files: ['**/*.ts', '**/*.tsx'],
37
+ rules: {
38
+ '@typescript-eslint/ban-ts-comment': 'off',
39
+ '@typescript-eslint/no-unsafe-assignment': 'off',
40
+ '@typescript-eslint/no-unsafe-member-access': 'off',
41
+ '@typescript-eslint/no-unsafe-argument': 'off',
42
+ '@typescript-eslint/no-unsafe-return': 'off',
43
+ '@typescript-eslint/no-unsafe-call': 'off',
44
+ '@typescript-eslint/no-duplicate-type-constituents': 'off',
45
+ '@typescript-eslint/no-unnecessary-type-assertion': 'off',
46
+ '@typescript-eslint/no-unused-expressions': 'off',
47
+ '@typescript-eslint/unbound-method': 'off',
48
+ '@typescript-eslint/no-unsafe-enum-comparison': 'off',
49
+ '@typescript-eslint/only-throw-error': 'off',
50
+ '@typescript-eslint/no-redundant-type-constituents': 'off',
51
+ '@typescript-eslint/await-thenable': 'off',
52
+ '@typescript-eslint/require-await': 'off',
53
+ 'no-constant-binary-expression': 'off',
54
+ '@typescript-eslint/no-empty-function': 'off',
55
+ 'jsx-a11y/alt-text': 'off',
56
+ },
57
+ },
58
+ ];
59
+
60
+ ```
61
+
62
+ You may want to lint some files differently, for example if its node or browser or test files, if so you can do like this:
63
+
64
+ ```
65
+
66
+ {
67
+ files: [
68
+ 'webpack.config.dev.js',
69
+ 'webpack.config.prod.js',
70
+ 'webpack.config.common.js',
71
+ '.jestrc.js',
72
+ '.prettierrc.js',
73
+ 'babel.config.js',
74
+ 'jest/mediaFileTransformer.js',
75
+ 'jest/setup.js',
76
+ ],
77
+ rules: {
78
+ '@typescript-eslint/no-require-imports': 'off',
79
+ },
80
+ languageOptions: {
81
+ globals: {
82
+ ...globals.node,
83
+ },
84
+ },
85
+ },
86
+ ```
87
+
27
88
  ## TSConfig
28
89
 
29
90
  In your `tsconfig.json` file, add:
30
91
 
31
92
  ```json
32
93
  {
33
- "extends": "@evaneos/front-config/config/tsconfig.json"
94
+ "extends": "@evaneos/front-config/config/tsconfig.json"
34
95
  }
35
96
  ```
36
97
 
@@ -40,7 +101,7 @@ In your `.prettierrc.js` file add:
40
101
 
41
102
  ```js
42
103
  module.exports = {
43
- ...require("@evaneos/front-config/linting/prettier-config.js"),
104
+ ...require('@evaneos/front-config/prettier/index.js'),
44
105
  };
45
106
  ```
46
107
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@evaneos/front-config",
3
- "version": "1.0.5",
3
+ "version": "1.1.0",
4
4
  "engines": {
5
5
  "node": ">=v18",
6
6
  "npm": ">=9"
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../linting/eslint.config.ts","../linting/rules/react.ts","../linting/rules/test.ts","../linting/rules/override.ts"],"sourcesContent":["import eslintConfigPrettier from \"eslint-config-prettier\";\n\nimport eslint from \"@eslint/js\";\nimport tseslint from \"typescript-eslint\";\n\nimport reactLint from \"./rules/react\";\nimport testLint from \"./rules/test\";\nimport evaneosOverrides from \"./rules/override\";\n\nexport default tseslint.config(\n eslint.configs.recommended,\n tseslint.configs.recommendedTypeChecked,\n {\n languageOptions: {\n parserOptions: {\n projectService: true,\n tsconfigRootDir: process.cwd(),\n },\n },\n },\n {\n files: [\"**/*.js\", \"**/*.cjs\"],\n extends: [tseslint.configs.disableTypeChecked],\n },\n eslintConfigPrettier,\n testLint,\n ...reactLint,\n // custom evaneos rules\n ...evaneosOverrides\n);\n","import reactPlugin from \"eslint-plugin-react\";\n\nexport default [\n reactPlugin.configs.flat.recommended,\n reactPlugin.configs.flat[\"jsx-runtime\"],\n {\n rules: {\n \"react/display-name\": 0,\n \"react/prop-types\": 0,\n \"react/react-in-jsx-scope\": 0,\n },\n },\n];\n","import testingLibrary from \"eslint-plugin-testing-library\";\r\n\r\nexport default {\r\n files: [\"**/__tests__/**/*.[jt]s?(x)\", \"**/?(*.)+(spec|test).[jt]s?(x)\"],\r\n ...testingLibrary.configs[\"flat/react\"],\r\n};\r\n","export default [\n {\n rules: {\n \"no-process-env\": 0,\n \"prefer-const\": 1,\n \"prefer-destructuring\": 1,\n \"prefer-spread\": 1,\n \"arrow-body-style\": 0,\n },\n },\n] as const;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAAiC;AAEjC,gBAAmB;AACnB,+BAAqB;;;ACHrB,iCAAwB;AAExB,IAAO,gBAAQ;AAAA,EACb,2BAAAA,QAAY,QAAQ,KAAK;AAAA,EACzB,2BAAAA,QAAY,QAAQ,KAAK,aAAa;AAAA,EACtC;AAAA,IACE,OAAO;AAAA,MACL,sBAAsB;AAAA,MACtB,oBAAoB;AAAA,MACpB,4BAA4B;AAAA,IAC9B;AAAA,EACF;AACF;;;ACZA,2CAA2B;AAE3B,IAAO,eAAQ;AAAA,EACb,OAAO,CAAC,+BAA+B,gCAAgC;AAAA,GACpE,qCAAAC,QAAe,QAAQ,YAAY;;;ACJxC,IAAO,mBAAQ;AAAA,EACb;AAAA,IACE,OAAO;AAAA,MACL,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,wBAAwB;AAAA,MACxB,iBAAiB;AAAA,MACjB,oBAAoB;AAAA,IACtB;AAAA,EACF;AACF;;;AHDA,IAAO,wBAAQ,yBAAAC,QAAS;AAAA,EACtB,UAAAC,QAAO,QAAQ;AAAA,EACf,yBAAAD,QAAS,QAAQ;AAAA,EACjB;AAAA,IACE,iBAAiB;AAAA,MACf,eAAe;AAAA,QACb,gBAAgB;AAAA,QAChB,iBAAiB,QAAQ,IAAI;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,OAAO,CAAC,WAAW,UAAU;AAAA,IAC7B,SAAS,CAAC,yBAAAA,QAAS,QAAQ,kBAAkB;AAAA,EAC/C;AAAA,EACA,8BAAAE;AAAA,EACA;AAAA,EACA,GAAG;AAAA,EAEH,GAAG;AACL;","names":["reactPlugin","testingLibrary","tseslint","eslint","eslintConfigPrettier"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../linting/eslint.config.ts","../linting/rules/react.ts","../linting/rules/test.ts","../linting/rules/override.ts"],"sourcesContent":["import eslintConfigPrettier from \"eslint-config-prettier\";\n\nimport eslint from \"@eslint/js\";\nimport tseslint from \"typescript-eslint\";\n\nimport reactLint from \"./rules/react\";\nimport testLint from \"./rules/test\";\nimport evaneosOverrides from \"./rules/override\";\n\nexport default tseslint.config(\n eslint.configs.recommended,\n tseslint.configs.recommendedTypeChecked,\n {\n languageOptions: {\n parserOptions: {\n projectService: true,\n tsconfigRootDir: process.cwd(),\n },\n },\n },\n {\n files: [\"**/*.js\", \"**/*.cjs\"],\n extends: [tseslint.configs.disableTypeChecked],\n },\n eslintConfigPrettier,\n testLint,\n ...reactLint,\n // custom evaneos rules\n ...evaneosOverrides\n);\n","import reactPlugin from \"eslint-plugin-react\";\n\nexport default [\n reactPlugin.configs.flat.recommended,\n reactPlugin.configs.flat[\"jsx-runtime\"],\n {\n rules: {\n \"react/display-name\": 0,\n \"react/prop-types\": 0,\n \"react/react-in-jsx-scope\": 0,\n },\n },\n];\n","import testingLibrary from \"eslint-plugin-testing-library\";\r\n\r\nexport default {\r\n files: [\"**/__tests__/**/*.[jt]s?(x)\", \"**/?(*.)+(spec|test).[jt]s?(x)\"],\r\n ...testingLibrary.configs[\"flat/react\"],\r\n};\r\n","export default [\n {\n rules: {\n \"no-process-env\": 0,\n \"prefer-const\": 1,\n \"prefer-destructuring\": 1,\n \"prefer-spread\": 1,\n \"arrow-body-style\": 0,\n },\n },\n] as const;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,0BAA0B;AAEjC,OAAO,YAAY;AACnB,OAAO,cAAc;;;ACHrB,OAAO,iBAAiB;AAExB,IAAO,gBAAQ;AAAA,EACb,YAAY,QAAQ,KAAK;AAAA,EACzB,YAAY,QAAQ,KAAK,aAAa;AAAA,EACtC;AAAA,IACE,OAAO;AAAA,MACL,sBAAsB;AAAA,MACtB,oBAAoB;AAAA,MACpB,4BAA4B;AAAA,IAC9B;AAAA,EACF;AACF;;;ACZA,OAAO,oBAAoB;AAE3B,IAAO,eAAQ;AAAA,EACb,OAAO,CAAC,+BAA+B,gCAAgC;AAAA,GACpE,eAAe,QAAQ,YAAY;;;ACJxC,IAAO,mBAAQ;AAAA,EACb;AAAA,IACE,OAAO;AAAA,MACL,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,wBAAwB;AAAA,MACxB,iBAAiB;AAAA,MACjB,oBAAoB;AAAA,IACtB;AAAA,EACF;AACF;;;AHDA,IAAO,wBAAQ,SAAS;AAAA,EACtB,OAAO,QAAQ;AAAA,EACf,SAAS,QAAQ;AAAA,EACjB;AAAA,IACE,iBAAiB;AAAA,MACf,eAAe;AAAA,QACb,gBAAgB;AAAA,QAChB,iBAAiB,QAAQ,IAAI;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,OAAO,CAAC,WAAW,UAAU;AAAA,IAC7B,SAAS,CAAC,SAAS,QAAQ,kBAAkB;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AAAA,EAEH,GAAG;AACL;","names":[]}