@linzjs/style 5.4.0 → 6.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
@@ -7,100 +7,98 @@ NPM configuration for base typescript projects
7
7
 
8
8
  Includes:
9
9
 
10
- - Prettier
11
- - Eslint
12
- - Typescript
10
+ - [oxlint](https://oxc.rs/docs/guide/usage/linter) — fast JavaScript/TypeScript linter
11
+ - [oxfmt](https://oxc.rs/docs/guide/usage/formatter) — fast JavaScript/TypeScript formatter
12
+ - TypeScript
13
13
 
14
14
  And configuration for saneish defaults, which can be extended
15
15
 
16
16
  Most of these are the raw defaults/recommended settings from typescript, eslint and prettier.
17
17
 
18
- ```typescript
19
- export class FooBar {
20
- get foo(): number {
21
- return 1;
22
- }
23
-
24
- async bar(): Promise<string> {
25
- return 'bar';
26
- }
27
-
28
- /**
29
- * @param foo foo to bar
30
- */
31
- fooBar(foo = 'foo'): string {
32
- return `${foo}bar`;
33
- }
34
- }
35
- ```
36
-
37
18
  ## IDE Usage
38
19
 
39
20
  ### Usage VS Code
40
21
 
41
- 1. Install `eslint` using the extensions menu
42
- 2. Add the following to your settings.json
22
+ Install the [oxc](https://marketplace.visualstudio.com/items?itemName=oxc.oxc-vscode) extension, then update `settings.json`:
43
23
 
44
24
  ```json
45
- "editor.codeActionsOnSave": {
46
- "source.fixAll.eslint": true
47
- },
48
- "eslint.validate": ["javascript"],
25
+ "editor.defaultFormatter": "oxc.oxc-vscode",
26
+ "editor.formatOnSave": true,
49
27
  ```
50
28
 
51
29
  ### Usage with IntelliJ
52
30
 
53
- IntelliJ has ESLint support by default,
54
-
55
- 1. Open the settings in Languages & Frameworks > JavaScript > Code Quality Tools > ESLint
56
- 2. Check Automatic ESLint Configuration
31
+ IntelliJ has an Oxc plugin supporting oxfmt and oxlint: https://plugins.jetbrains.com/plugin/27061-oxc
57
32
 
58
33
  ## Project Usage
59
34
 
60
- 1. Install LINZ Style
35
+ 1. Install `@linzjs/style`:
61
36
 
62
37
  ```bash
63
- npm install @linzjs/style
38
+ # this also installs dependencies: madge oxfmt oxlint oxlint-tsgolint
39
+ npm install --save-dev @linzjs/style
64
40
  ```
65
41
 
66
- 2. Applying eslint config
67
- There are two ways to apply the config
42
+ 2. Install the config files:
43
+ There are two ways to apply the config
68
44
 
69
45
  **Either create the base configuration files**
46
+
70
47
  ```bash
71
48
  # If on windows run `node ./node_modules/@linzjs/style/build/src/install.js`
49
+ # - oxfmt.config.ts
50
+ # - oxlint.config.ts
72
51
  # - tsconfig.json
73
- # - .eslintrc.cjs
74
- # - .prettierrc.cjs
75
52
  npx linz-style-install
76
53
  ```
77
54
 
78
- **Or extend your existing `eslintrc.js` config**
55
+ **Or extend your existing `oxlint.config.ts` config**
79
56
 
80
- Example extending the `.eslintrc.js` file in your project
81
- ```js
82
- module.exports = {
83
- extends: ["./node_modules/@linzjs/style/.eslintrc.cjs"],
57
+ Example extending the `oxlint.config.ts` file in your project
84
58
 
59
+ ```typescript
60
+ import base from '@linzjs/style/oxlint.config-react';
61
+ import { defineConfig } from 'oxlint';
62
+
63
+ export default defineConfig({
64
+ extends: [base],
85
65
  overrides: [
86
66
  {
87
67
  /** Overrides for typescript */
88
- files: ["**/*.ts", "**/*.tsx"],
68
+ files: ['**/*.ts', '**/*.tsx'],
89
69
  rules: {
90
- "@typescript-eslint/super-crazy-hook-rule": "error",
70
+ 'react/super-crazy-hook-rule': 'error',
91
71
  },
92
72
  },
93
- ]
94
- }
73
+ ],
74
+ });
95
75
  ```
96
76
 
97
- 3. Apply the formatting/linting to all source code
77
+ 3. Update `package.json` scripts
98
78
 
99
- ```
100
- npx eslint .
79
+ Add/update lint-related commands in package.json:
80
+
81
+ ```json
82
+ scripts: {
83
+ "lint": "npx concurrently \"npm run lint:circular\" \"npm run lint:oxlint\" \"npm run lint:fmt\" \"tsc\"",
84
+ "lint:circular": "madge --circular --extensions js,ts,tsx --ts-config tsconfig.json ./src",
85
+ "lint:oxlint": "oxlint --deny-warnings",
86
+ "lint:fmt": "oxfmt --check .",
87
+ "lint:fix": "oxlint --fix",
88
+ "format": "oxfmt --write ."
89
+ }
101
90
  ```
102
91
 
92
+ 4. Apply the formatting/linting to all source code
93
+
94
+ ```
95
+ npm run lint .
96
+ ```
103
97
 
104
98
  ## Migration from 3.x to 4.x
105
99
 
106
100
  See [Migration Docs](./migration.4.md)
101
+
102
+ ## Migration from 5.x to 6.x
103
+
104
+ See [Migration Docs](./migration.6.md)
@@ -0,0 +1,15 @@
1
+ declare const _default: {
2
+ semi: true;
3
+ trailingComma: "all";
4
+ singleQuote: true;
5
+ printWidth: number;
6
+ useTabs: false;
7
+ tabWidth: number;
8
+ endOfLine: "lf";
9
+ sortImports: {
10
+ groups: (string | string[])[];
11
+ sortSideEffects: false;
12
+ };
13
+ ignorePatterns: string[];
14
+ };
15
+ export default _default;
@@ -0,0 +1,26 @@
1
+ import { defineConfig } from 'oxfmt';
2
+ export default defineConfig({
3
+ semi: true,
4
+ trailingComma: 'all',
5
+ singleQuote: true,
6
+ printWidth: 120,
7
+ useTabs: false,
8
+ tabWidth: 2,
9
+ endOfLine: 'lf',
10
+ sortImports: {
11
+ groups: [
12
+ ['style', 'side_effect_style', 'side_effect'],
13
+ ['builtin', 'external'],
14
+ 'internal',
15
+ ['parent', 'sibling', 'subpath'],
16
+ ],
17
+ sortSideEffects: false,
18
+ },
19
+ ignorePatterns: [
20
+ 'build/',
21
+ 'node_modules/',
22
+ // "*" has special meaning and should not be reformatted
23
+ '**/CODEOWNERS',
24
+ ],
25
+ });
26
+ //# sourceMappingURL=oxfmt.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oxfmt.config.js","sourceRoot":"","sources":["../oxfmt.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,eAAe,YAAY,CAAC;IAC1B,IAAI,EAAE,IAAI;IACV,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,GAAG;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,CAAC;IACX,SAAS,EAAE,IAAI;IAEf,WAAW,EAAE;QACX,MAAM,EAAE;YACN,CAAC,OAAO,EAAE,mBAAmB,EAAE,aAAa,CAAC;YAC7C,CAAC,SAAS,EAAE,UAAU,CAAC;YACvB,UAAU;YACV,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;SACjC;QACD,eAAe,EAAE,KAAK;KACvB;IAED,cAAc,EAAE;QACd,QAAQ;QACR,eAAe;QAEf,wDAAwD;QACxD,eAAe;KAChB;CACF,CAAC,CAAC"}
@@ -0,0 +1,61 @@
1
+ declare const _default: {
2
+ extends: {
3
+ options: {
4
+ reportUnusedDisableDirectives: "warn";
5
+ typeAware: true;
6
+ typeCheck: false;
7
+ };
8
+ plugins: ("eslint" | "typescript" | "jsx-a11y")[];
9
+ rules: {
10
+ curly: "error";
11
+ eqeqeq: ["error", "always", {
12
+ null: "ignore";
13
+ }];
14
+ 'no-constant-binary-expression': "error";
15
+ 'no-sequences': "error";
16
+ 'no-unsafe-optional-chaining': "error";
17
+ 'no-unused-expressions': "off";
18
+ 'no-useless-rename': "off";
19
+ 'no-var': "error";
20
+ 'typescript/ban-ts-comment': "error";
21
+ 'typescript/explicit-function-return-type': "off";
22
+ 'typescript/no-misused-promises': "error";
23
+ 'typescript/no-namespace': "error";
24
+ 'typescript/no-unnecessary-type-assertion': "error";
25
+ 'typescript/no-unsafe-argument': "error";
26
+ 'typescript/no-unsafe-assignment': "error";
27
+ 'typescript/no-unsafe-call': "error";
28
+ 'typescript/no-unsafe-member-access': "error";
29
+ 'typescript/no-unused-vars': ["warn", {
30
+ argsIgnorePattern: string;
31
+ varsIgnorePattern: string;
32
+ caughtErrorsIgnorePattern: string;
33
+ }];
34
+ 'typescript/prefer-promise-reject-errors': "error";
35
+ 'typescript/require-await': "error";
36
+ 'typescript/restrict-plus-operands': "error";
37
+ };
38
+ overrides: {
39
+ files: string[];
40
+ rules: {
41
+ 'no-console': "off";
42
+ 'typescript/no-non-null-assertion': "off";
43
+ };
44
+ }[];
45
+ }[];
46
+ overrides: {
47
+ files: string[];
48
+ plugins: ("react" | "react-perf")[];
49
+ rules: {
50
+ 'react/display-name': "error";
51
+ 'react/exhaustive-deps': "warn";
52
+ 'react/hook-use-state': "error";
53
+ 'react/jsx-key': "error";
54
+ 'react/jsx-no-duplicate-props': "error";
55
+ 'react/only-export-components': "error";
56
+ 'react/react-in-jsx-scope': "off";
57
+ 'react/rules-of-hooks': "error";
58
+ };
59
+ }[];
60
+ };
61
+ export default _default;
@@ -0,0 +1,24 @@
1
+ import { defineConfig } from 'oxlint';
2
+ // counter intuitive, but need to import js once built
3
+ // if generating errors, run "npm run build" first
4
+ import base from './oxlint.config.js';
5
+ export default defineConfig({
6
+ extends: [base],
7
+ overrides: [
8
+ {
9
+ files: ['**/*.mts', '**/*.ts', '**/*.tsx'],
10
+ plugins: ['react', 'react-perf'],
11
+ rules: {
12
+ 'react/display-name': 'error',
13
+ 'react/exhaustive-deps': 'warn',
14
+ 'react/hook-use-state': 'error',
15
+ 'react/jsx-key': 'error',
16
+ 'react/jsx-no-duplicate-props': 'error',
17
+ 'react/only-export-components': 'error',
18
+ 'react/react-in-jsx-scope': 'off',
19
+ 'react/rules-of-hooks': 'error',
20
+ },
21
+ },
22
+ ],
23
+ });
24
+ //# sourceMappingURL=oxlint.config-react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oxlint.config-react.js","sourceRoot":"","sources":["../oxlint.config-react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,sDAAsD;AACtD,kDAAkD;AAClD,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAEtC,eAAe,YAAY,CAAC;IAC1B,OAAO,EAAE,CAAC,IAAI,CAAC;IAEf,SAAS,EAAE;QACT;YACE,KAAK,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC;YAC1C,OAAO,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC;YAEhC,KAAK,EAAE;gBACL,oBAAoB,EAAE,OAAO;gBAC7B,uBAAuB,EAAE,MAAM;gBAC/B,sBAAsB,EAAE,OAAO;gBAC/B,eAAe,EAAE,OAAO;gBACxB,8BAA8B,EAAE,OAAO;gBACvC,8BAA8B,EAAE,OAAO;gBACvC,0BAA0B,EAAE,KAAK;gBACjC,sBAAsB,EAAE,OAAO;aAChC;SACF;KACF;CACF,CAAC,CAAC"}
@@ -0,0 +1,45 @@
1
+ declare const _default: {
2
+ options: {
3
+ reportUnusedDisableDirectives: "warn";
4
+ typeAware: true;
5
+ typeCheck: false;
6
+ };
7
+ plugins: ("eslint" | "typescript" | "jsx-a11y")[];
8
+ rules: {
9
+ curly: "error";
10
+ eqeqeq: ["error", "always", {
11
+ null: "ignore";
12
+ }];
13
+ 'no-constant-binary-expression': "error";
14
+ 'no-sequences': "error";
15
+ 'no-unsafe-optional-chaining': "error";
16
+ 'no-unused-expressions': "off";
17
+ 'no-useless-rename': "off";
18
+ 'no-var': "error";
19
+ 'typescript/ban-ts-comment': "error";
20
+ 'typescript/explicit-function-return-type': "off";
21
+ 'typescript/no-misused-promises': "error";
22
+ 'typescript/no-namespace': "error";
23
+ 'typescript/no-unnecessary-type-assertion': "error";
24
+ 'typescript/no-unsafe-argument': "error";
25
+ 'typescript/no-unsafe-assignment': "error";
26
+ 'typescript/no-unsafe-call': "error";
27
+ 'typescript/no-unsafe-member-access': "error";
28
+ 'typescript/no-unused-vars': ["warn", {
29
+ argsIgnorePattern: string;
30
+ varsIgnorePattern: string;
31
+ caughtErrorsIgnorePattern: string;
32
+ }];
33
+ 'typescript/prefer-promise-reject-errors': "error";
34
+ 'typescript/require-await': "error";
35
+ 'typescript/restrict-plus-operands': "error";
36
+ };
37
+ overrides: {
38
+ files: string[];
39
+ rules: {
40
+ 'no-console': "off";
41
+ 'typescript/no-non-null-assertion': "off";
42
+ };
43
+ }[];
44
+ };
45
+ export default _default;
@@ -0,0 +1,49 @@
1
+ import { defineConfig } from 'oxlint';
2
+ export default defineConfig({
3
+ options: {
4
+ reportUnusedDisableDirectives: 'warn',
5
+ typeAware: true,
6
+ typeCheck: false,
7
+ },
8
+ plugins: ['eslint', 'typescript', 'jsx-a11y'],
9
+ rules: {
10
+ curly: 'error',
11
+ eqeqeq: ['error', 'always', { null: 'ignore' }],
12
+ 'no-constant-binary-expression': 'error',
13
+ 'no-sequences': 'error',
14
+ 'no-unsafe-optional-chaining': 'error',
15
+ 'no-unused-expressions': 'off',
16
+ 'no-useless-rename': 'off',
17
+ 'no-var': 'error',
18
+ 'typescript/ban-ts-comment': 'error',
19
+ 'typescript/explicit-function-return-type': 'off',
20
+ 'typescript/no-misused-promises': 'error',
21
+ 'typescript/no-namespace': 'error',
22
+ 'typescript/no-unnecessary-type-assertion': 'error',
23
+ 'typescript/no-unsafe-argument': 'error',
24
+ 'typescript/no-unsafe-assignment': 'error',
25
+ 'typescript/no-unsafe-call': 'error',
26
+ 'typescript/no-unsafe-member-access': 'error',
27
+ 'typescript/no-unused-vars': [
28
+ 'warn',
29
+ {
30
+ argsIgnorePattern: '^_',
31
+ varsIgnorePattern: '^_',
32
+ caughtErrorsIgnorePattern: '^_',
33
+ },
34
+ ],
35
+ 'typescript/prefer-promise-reject-errors': 'error',
36
+ 'typescript/require-await': 'error',
37
+ 'typescript/restrict-plus-operands': 'error',
38
+ },
39
+ overrides: [
40
+ {
41
+ files: ['**/*.test.ts', '**/*.test.tsx', '**/*.stories.*'],
42
+ rules: {
43
+ 'no-console': 'off',
44
+ 'typescript/no-non-null-assertion': 'off',
45
+ },
46
+ },
47
+ ],
48
+ });
49
+ //# sourceMappingURL=oxlint.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oxlint.config.js","sourceRoot":"","sources":["../oxlint.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,eAAe,YAAY,CAAC;IAC1B,OAAO,EAAE;QACP,6BAA6B,EAAE,MAAM;QACrC,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,KAAK;KACjB;IAED,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC;IAE7C,KAAK,EAAE;QACL,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC/C,+BAA+B,EAAE,OAAO;QACxC,cAAc,EAAE,OAAO;QACvB,6BAA6B,EAAE,OAAO;QACtC,uBAAuB,EAAE,KAAK;QAC9B,mBAAmB,EAAE,KAAK;QAC1B,QAAQ,EAAE,OAAO;QAEjB,2BAA2B,EAAE,OAAO;QACpC,0CAA0C,EAAE,KAAK;QACjD,gCAAgC,EAAE,OAAO;QACzC,yBAAyB,EAAE,OAAO;QAClC,0CAA0C,EAAE,OAAO;QACnD,+BAA+B,EAAE,OAAO;QACxC,iCAAiC,EAAE,OAAO;QAC1C,2BAA2B,EAAE,OAAO;QACpC,oCAAoC,EAAE,OAAO;QAC7C,2BAA2B,EAAE;YAC3B,MAAM;YACN;gBACE,iBAAiB,EAAE,IAAI;gBACvB,iBAAiB,EAAE,IAAI;gBACvB,yBAAyB,EAAE,IAAI;aAChC;SACF;QACD,yCAAyC,EAAE,OAAO;QAClD,0BAA0B,EAAE,OAAO;QACnC,mCAAmC,EAAE,OAAO;KAC7C;IAED,SAAS,EAAE;QACT;YACE,KAAK,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,gBAAgB,CAAC;YAC1D,KAAK,EAAE;gBACL,YAAY,EAAE,KAAK;gBACnB,kCAAkC,EAAE,KAAK;aAC1C;SACF;KACF;CACF,CAAC,CAAC"}
@@ -2,8 +2,8 @@ import { existsSync, promises as fs } from 'node:fs';
2
2
  import * as path from 'node:path';
3
3
  /** List of files to automatically install */
4
4
  const InstallFiles = [
5
- { source: 'eslintrc.cjs', target: '.eslintrc.cjs' },
6
- { source: 'prettierrc.cjs', target: '.prettierrc.cjs' },
5
+ { source: 'oxfmt.config.ts', target: 'oxfmt.config.ts' },
6
+ { source: 'oxlint.config.ts', target: 'oxlint.config.ts' },
7
7
  { source: 'tsconfig.json', target: 'tsconfig.json' },
8
8
  ];
9
9
  const InstallPath = new URL('../../config/', import.meta.url);
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,6CAA6C;AAC7C,MAAM,YAAY,GAAG;IACnB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE;IACnD,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE;IACvD,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE;CACrD,CAAC;AAEF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE9D,+CAA+C;AAC/C,KAAK,UAAU,IAAI;IACjB,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7C,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAChD,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,6CAA6C;AAC7C,MAAM,YAAY,GAAG;IACnB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,EAAE;IACxD,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE;IAC1D,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE;CACrD,CAAC;AAEF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE9D,+CAA+C;AAC/C,KAAK,UAAU,IAAI;IACjB,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7C,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAChD,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import base from "@linzjs/style/oxfmt.config";
2
+ import { defineConfig } from "oxfmt";
3
+
4
+ export default defineConfig({
5
+ extends: [base],
6
+ // single quote is most common override
7
+ singleQuote: false,
8
+ });
@@ -0,0 +1,24 @@
1
+ // choose one
2
+ // import base from "@linzjs/style/oxlint.config";
3
+ import base from "@linzjs/style/oxlint.config-react";
4
+ import { defineConfig } from "oxlint";
5
+
6
+ export default defineConfig({
7
+ extends: [base],
8
+ env: {
9
+ browser: true,
10
+ es2023: true,
11
+ // "node": true
12
+ },
13
+ overrides: [
14
+ {
15
+ files: ["**/*.test.ts", "**/*.test.tsx", "**/*.stories.*"],
16
+ plugins: ["vitest"],
17
+ jsPlugins: [
18
+ // requires npm install
19
+ // 'eslint-plugin-testing-library',
20
+ // 'eslint-plugin-storybook',
21
+ ],
22
+ },
23
+ ],
24
+ });
package/package.json CHANGED
@@ -1,42 +1,57 @@
1
1
  {
2
2
  "name": "@linzjs/style",
3
- "version": "5.4.0",
3
+ "version": "6.1.0",
4
4
  "license": "MIT",
5
5
  "repository": "github:linz/style-js",
6
6
  "bin": {
7
7
  "linz-style-install": "linz-style-install.mjs"
8
8
  },
9
- "type": "module",
10
9
  "files": [
11
10
  "build",
11
+ "!build/**/__test__",
12
+ "!build/tsconfig.tsbuildinfo",
12
13
  "config",
13
14
  "linz-style-install.mjs",
14
- ".eslintrc.cjs",
15
- ".prettierrc.cjs",
16
- "tsconfig.json",
17
15
  "tsconfig.base.json"
18
16
  ],
17
+ "type": "module",
18
+ "exports": {
19
+ "./oxfmt.config": {
20
+ "types": "./build/oxfmt.config.d.ts",
21
+ "default": "./build/oxfmt.config.js"
22
+ },
23
+ "./oxlint.config": {
24
+ "types": "./build/oxlint.config.d.ts",
25
+ "default": "./build/oxlint.config.js"
26
+ },
27
+ "./oxlint.config-react": {
28
+ "types": "./build/oxlint.config-react.d.ts",
29
+ "default": "./build/oxlint.config-react.js"
30
+ },
31
+ "./tsconfig.base.json": "./tsconfig.base.json"
32
+ },
33
+ "publishConfig": {
34
+ "access": "public"
35
+ },
19
36
  "scripts": {
20
37
  "build": "tsc",
21
- "lint": "npx eslint . --ignore-path .gitignore"
22
- },
23
- "devDependencies": {
24
- "@types/node": "^20.4.9",
25
- "@types/react": "^18.2.20"
38
+ "lint": "npx concurrently \"npm run lint:circular\" \"npm run lint:oxlint\" \"npm run lint:fmt\" \"tsc\"",
39
+ "lint:circular": "madge --circular --extensions js,ts,tsx --ts-config tsconfig.json ./src",
40
+ "lint:oxlint": "oxlint --deny-warnings",
41
+ "lint:fmt": "oxfmt --check .",
42
+ "lint:fix": "oxlint --fix",
43
+ "format": "oxfmt --write .",
44
+ "test": "echo linting is the test for this project"
26
45
  },
27
46
  "dependencies": {
28
- "@typescript-eslint/eslint-plugin": "^7.13.1",
29
- "@typescript-eslint/parser": "^7.13.1",
30
- "eslint": "^8.57.0",
31
- "eslint-config-prettier": "^9.1.0",
32
- "eslint-plugin-prettier": "^5.1.3",
33
- "eslint-plugin-react": "^7.34.3",
34
- "eslint-plugin-react-hooks": "^4.6.2",
35
- "eslint-plugin-simple-import-sort": "^12.1.0",
36
- "prettier": "^3.3.2",
37
- "typescript": "^5.5.2"
47
+ "madge": "^8.0.0",
48
+ "oxfmt": "^0.65.0",
49
+ "oxlint": "^1.80.0",
50
+ "oxlint-tsgolint": "^7.0.2001"
38
51
  },
39
- "publishConfig": {
40
- "access": "public"
52
+ "devDependencies": {
53
+ "@types/node": "^24.13.3",
54
+ "@types/react": "^19.2.18",
55
+ "typescript": "^5.9.3"
41
56
  }
42
57
  }
@@ -1,36 +1,36 @@
1
1
  {
2
- // ESM tsconfig based off https://github.com/sindresorhus/tsconfig/blob/main/tsconfig.json
3
2
  "compilerOptions": {
3
+ "allowJs": true,
4
+ "alwaysStrict": true,
4
5
  "composite": true,
5
- // ESM Modules for node16+
6
- "target": "ES2021",
7
- "module": "Node16",
8
- "moduleResolution": "Node16",
6
+ "esModuleInterop": true,
7
+ "forceConsistentCasingInFileNames": true,
8
+ "isolatedModules": true,
9
+ "jsx": "react-jsx",
10
+ "lib": ["DOM", "DOM.Iterable", "ES2023"],
11
+ "module": "preserve",
9
12
  "moduleDetection": "force",
10
- // To provide backwards compatibility, Node.js allows you to import most CommonJS packages with a default import. This flag tells TypeScript that it's okay to use import on CommonJS modules.
11
- "allowSyntheticDefaultImports": true,
12
- // ESM doesn't yet support JSON modules.
13
- "resolveJsonModule": false,
14
- // Include no libs by default
15
- "lib": ["DOM", "DOM.Iterable", "ES2021"],
16
- "pretty": true,
13
+ "moduleResolution": "bundler",
17
14
  "newLine": "lf",
18
- "jsx": "react",
19
- "declaration": true,
20
- "stripInternal": true,
21
- "strict": true,
22
- "noImplicitReturns": true,
23
- "noImplicitOverride": true,
24
- "noUnusedLocals": true,
25
- "noUnusedParameters": true,
15
+ "noEmitOnError": true,
26
16
  "noFallthroughCasesInSwitch": true,
27
- "noUncheckedIndexedAccess": true,
17
+ "noImplicitAny": true,
18
+ "noImplicitReturns": true,
19
+ "noImplicitThis": true,
28
20
  "noPropertyAccessFromIndexSignature": true,
29
- "noEmitOnError": true,
30
- "useDefineForClassFields": true,
31
- "forceConsistentCasingInFileNames": true,
21
+ "noUncheckedIndexedAccess": true,
22
+ "resolveJsonModule": true,
32
23
  "skipLibCheck": true,
33
- // Additional options outside sindresorhus's base config
34
- "sourceMap": true
24
+ "sourceMap": true,
25
+ "strict": true,
26
+ "strictNullChecks": true,
27
+ "stripInternal": true,
28
+ "target": "ES2023",
29
+
30
+ // no current way to exclude node_modules from these checks
31
+ // https://github.com/microsoft/TypeScript/issues/40426
32
+ "noImplicitOverride": false,
33
+ "noUnusedLocals": false,
34
+ "noUnusedParameters": false
35
35
  }
36
36
  }
package/.eslintrc.cjs DELETED
@@ -1,78 +0,0 @@
1
- module.exports = {
2
- extends: ['plugin:prettier/recommended'],
3
- plugins: ['simple-import-sort'],
4
- parserOptions: {
5
- ecmaVersion: 2018,
6
- sourceType: 'module',
7
- },
8
- /** Default rules for Javascript, Typescript & Tests */
9
- rules: {
10
- // Use const/let
11
- 'no-var': 'error',
12
-
13
- /**
14
- * Force `===` but allow `== null`
15
- * to prevent `x === undefined || x === null`
16
- */
17
- eqeqeq: ['error', 'always', { null: 'ignore' }],
18
-
19
- // https://eslint.org/blog/2022/07/interesting-bugs-caught-by-no-constant-binary-expression/
20
- 'no-constant-binary-expression': 'error',
21
-
22
- // Default simple-import-sort rules
23
- 'simple-import-sort/imports': 'error',
24
- 'simple-import-sort/exports': 'error',
25
-
26
- // Disallow comma operators
27
- 'no-sequences': 'error',
28
- },
29
-
30
- overrides: [
31
- {
32
- /** Overrides for JSON */
33
- files: ['**/*.json'],
34
- extends: [],
35
- rules: {},
36
- parser: '@typescript-eslint/parser',
37
- },
38
- /** Lint/format mjs files */
39
- {
40
- files: ['**/*.mjs'],
41
- extends: ['plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended'],
42
- parser: '@typescript-eslint/parser',
43
- },
44
- {
45
- parserOptions: {
46
- project: true,
47
- },
48
- /** Overrides for typescript */
49
- files: ['**/*.ts', '**/*.tsx'],
50
- extends: [
51
- 'plugin:@typescript-eslint/recommended',
52
- 'plugin:@typescript-eslint/recommended-type-checked',
53
- 'plugin:prettier/recommended',
54
- ],
55
- rules: {
56
- '@typescript-eslint/no-unused-vars': 'error',
57
- '@typescript-eslint/explicit-function-return-type': 'error',
58
- },
59
- parser: '@typescript-eslint/parser',
60
- },
61
- {
62
- /** Overrides for tsx (this will add to the above .tsx rules) */
63
- files: ['**/*.tsx'],
64
- extends: ['plugin:react/recommended', 'plugin:react-hooks/recommended'],
65
- },
66
- {
67
- /**
68
- * Overrides for typescript tests
69
- * All rules in the Typescript overrides are also applied
70
- * They can be overwriten here
71
- */
72
- files: ['**/*.test.ts', '**/*.test.tsx'],
73
- rules: {
74
- '@typescript-eslint/no-non-null-assertion': 'off',
75
- },
76
- },
77
- ],
78
- };
package/.prettierrc.cjs DELETED
@@ -1,9 +0,0 @@
1
- module.exports = {
2
- semi: true,
3
- trailingComma: 'all',
4
- singleQuote: true,
5
- printWidth: 120,
6
- useTabs: false,
7
- tabWidth: 2,
8
- endOfLine: 'lf'
9
- };
@@ -1,7 +0,0 @@
1
- import { ReactElement } from 'react';
2
- /**
3
- * Basic React Component for testing react linting rules
4
- *
5
- * @constructor
6
- */
7
- export default function MyComponent(): ReactElement;
@@ -1,13 +0,0 @@
1
- import React, { useEffect } from 'react';
2
- /**
3
- * Basic React Component for testing react linting rules
4
- *
5
- * @constructor
6
- */
7
- export default function MyComponent() {
8
- useEffect(() => {
9
- console.log('test');
10
- });
11
- return React.createElement("div", null);
12
- }
13
- //# sourceMappingURL=MyComponent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MyComponent.js","sourceRoot":"","sources":["../../../src/__test__/MyComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW;IACjC,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,gCAAW,CAAC;AACrB,CAAC"}
@@ -1,10 +0,0 @@
1
- export declare class FooBar {
2
- get foo(): number;
3
- bar(): Promise<string>;
4
- /**
5
- * @param foo foo to bar
6
- */
7
- fooBar(foo?: string): string;
8
- }
9
- export declare const Foo: FooBar;
10
- export declare const FooMaker: (f: string) => string;
@@ -1,17 +0,0 @@
1
- export class FooBar {
2
- get foo() {
3
- return 1;
4
- }
5
- async bar() {
6
- return await Promise.resolve('bar');
7
- }
8
- /**
9
- * @param foo foo to bar
10
- */
11
- fooBar(foo = 'foo') {
12
- return `${foo}bar`;
13
- }
14
- }
15
- export const Foo = new FooBar();
16
- export const FooMaker = (f) => new FooBar().fooBar(f);
17
- //# sourceMappingURL=class.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"class.js","sourceRoot":"","sources":["../../../src/__test__/class.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,MAAM;IACjB,IAAI,GAAG;QACL,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,GAAG;QACP,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAG,GAAG,KAAK;QAChB,OAAO,GAAG,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC;AAChC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC"}
@@ -1,11 +0,0 @@
1
- export declare class FooBar {
2
- get foo(): number;
3
- bar(): Promise<string>;
4
- maybe(f?: string): string;
5
- /**
6
- * @param foo foo to bar
7
- */
8
- fooBar(foo?: string): string;
9
- }
10
- export declare const Foo: FooBar;
11
- export declare const FooMaker: (f: string) => string;
@@ -1,21 +0,0 @@
1
- export class FooBar {
2
- get foo() {
3
- return 1;
4
- }
5
- async bar() {
6
- return await Promise.resolve('bar');
7
- }
8
- // Should allow `!` in tests
9
- maybe(f) {
10
- return f;
11
- }
12
- /**
13
- * @param foo foo to bar
14
- */
15
- fooBar(foo = 'foo') {
16
- return `${foo}bar`;
17
- }
18
- }
19
- export const Foo = new FooBar();
20
- export const FooMaker = (f) => new FooBar().fooBar(f);
21
- //# sourceMappingURL=class.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"class.test.js","sourceRoot":"","sources":["../../../src/__test__/class.test.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,MAAM;IACjB,IAAI,GAAG;QACL,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,GAAG;QACP,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,4BAA4B;IAC5B,KAAK,CAAC,CAAU;QACd,OAAO,CAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAG,GAAG,KAAK;QAChB,OAAO,GAAG,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC;AAChC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/install.ts","../node_modules/@types/react/global.d.ts","../node_modules/csstype/index.d.ts","../node_modules/@types/prop-types/index.d.ts","../node_modules/@types/scheduler/tracing.d.ts","../node_modules/@types/react/index.d.ts","../src/__test__/MyComponent.tsx","../src/__test__/class.test.ts","../src/__test__/class.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/scheduler/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"4af6b0c727b7a2896463d512fafd23634229adf69ac7c00e2ae15a09cb084fad","affectsGlobalScope":true,"impliedFormat":1},{"version":"9c00a480825408b6a24c63c1b71362232927247595d7c97659bc24dc68ae0757","affectsGlobalScope":true,"impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3de0a56eb92216ec4e73a1d2bb0030e0d0b5495a822fbe1057589fbc87fc33b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"549df62b64a71004aee17685b445a8289013daf96246ce4d9b087d13d7a27a61","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c68749a564a6facdf675416d75789ee5a557afda8960e0803cf6711fa569288","impliedFormat":1},{"version":"6a386ff939f180ae8ef064699d8b7b6e62bc2731a62d7fbf5e02589383838dea","impliedFormat":1},{"version":"f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5","impliedFormat":1},{"version":"571f3b382f9360208e56233415e07530ff2627c4e6f1d7c37076816f07d01286","affectsGlobalScope":true,"impliedFormat":1},{"version":"502711c860551d0de2c1ef276f7ebe88d8c6c728a46e9f29902cd132ffffabe7","signature":"d1b6289ad1a7c6282719e14f2cb9fa2613c12a723a73b08b6305d594d386eb6f","impliedFormat":99},{"version":"999ad8aa9dd947b582b58d2f17f42447266892a43f4766911897c2a5dd001546","signature":"5885b091ce30919d04a9e83f5069c1ebe089164980b36a3afbac37151acb6adc","impliedFormat":99},{"version":"6b08e80d4b58e02a1016b63c0e20c24253057c5d6887b7e9520ff23e6a0d29c7","signature":"dd8ba7247da63d6e1c9eb0ad4d040bc110cb482c94c206626d8f96388dcd88b9","impliedFormat":99},{"version":"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228","impliedFormat":1},{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true,"impliedFormat":1},{"version":"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","impliedFormat":1},{"version":"57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050","impliedFormat":1},{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","impliedFormat":1},{"version":"3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","impliedFormat":1},{"version":"5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","impliedFormat":1},{"version":"be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","impliedFormat":1},{"version":"8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","impliedFormat":1},{"version":"1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd","impliedFormat":1},{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d74c73e21579ffe9f77ce969bc0317470c63797bd4719c8895a60ce6ae6a263","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","impliedFormat":1},{"version":"765f9f91293be0c057d5bf2b59494e1eac70efae55ff1c27c6e47c359bc889d2","impliedFormat":1},{"version":"55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","impliedFormat":1},{"version":"3122a3f1136508a27a229e0e4e2848299028300ffa11d0cdfe99df90c492fe20","impliedFormat":1},{"version":"42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","impliedFormat":1},{"version":"354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80","impliedFormat":1},{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","impliedFormat":1},{"version":"5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","impliedFormat":1},{"version":"3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d","impliedFormat":1},{"version":"5810080a0da989a944d3b691b7b479a4a13c75947fb538abb8070710baa5ccee","affectsGlobalScope":true,"impliedFormat":1},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","impliedFormat":1},{"version":"e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","impliedFormat":1},{"version":"a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","impliedFormat":1},{"version":"c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","impliedFormat":1},{"version":"898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","impliedFormat":1},{"version":"c58642af30c06a8e250d248a747ceb045af9a92d8cab22478d80c3bef276bfd5","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270","impliedFormat":1},{"version":"ea57fab1b1cccb7abae193364e049b0f40b75f5d38676c12c27c307c1e3f4dfa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","impliedFormat":1},{"version":"5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","impliedFormat":1},{"version":"812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","impliedFormat":1},{"version":"993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661","impliedFormat":1},{"version":"4d06f3abc2a6aae86f1be39e397372f74fb6e7964f594d645926b4a3419cc15d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","impliedFormat":1},{"version":"92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","impliedFormat":1},{"version":"16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b","impliedFormat":1},{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"562e1951bb48e89df7b821d998bfcd9458d93b0afd06cf6db8286606da5f21fd","impliedFormat":1},{"version":"7ccce4adb23a87a044c257685613126b47160f6975b224cea5f6af36c7f37514","impliedFormat":1}],"root":[53,[59,61]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"jsx":2,"module":100,"newLine":1,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"stripInternal":true,"target":8,"useDefineForClassFields":true},"fileIdsList":[[62,108],[65,108],[66,71,99,108],[67,78,79,86,96,107,108],[67,68,78,86,108],[69,108],[70,71,79,87,108],[71,96,104,108],[72,74,78,86,108],[73,108],[74,75,108],[78,108],[76,78,108],[78,79,80,96,107,108],[78,79,80,93,96,99,108],[108,112],[108],[74,78,81,86,96,107,108],[78,79,81,82,86,96,104,107,108],[81,83,96,104,107,108],[62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114],[78,84,108],[85,107,108],[74,78,86,96,108],[87,108],[88,108],[65,89,108],[90,106,108,112],[91,108],[92,108],[78,93,94,108],[93,95,108,110],[66,78,96,97,98,99,108],[66,96,98,108],[96,97,108],[99,108],[100,108],[65,96,108],[78,102,103,108],[102,103,108],[71,86,96,104,108],[105,108],[86,106,108],[66,81,92,107,108],[71,108],[96,108,109],[108,110],[108,111],[66,71,78,80,89,96,107,108,110,112],[96,108,113],[54,55,56,57,108],[58,108],[79,88,108]],"referencedMap":[[62,1],[63,1],[65,2],[66,3],[67,4],[68,5],[69,6],[70,7],[71,8],[72,9],[73,10],[74,11],[75,11],[77,12],[76,13],[78,12],[79,14],[80,15],[64,16],[114,17],[81,18],[82,19],[83,20],[115,21],[84,22],[85,23],[86,24],[87,25],[88,26],[89,27],[90,28],[91,29],[92,30],[93,31],[94,31],[95,32],[96,33],[98,34],[97,35],[99,36],[100,37],[101,38],[102,39],[103,40],[104,41],[105,42],[106,43],[107,44],[108,45],[109,46],[110,47],[111,48],[112,49],[113,50],[56,17],[54,17],[58,51],[116,17],[57,17],[55,17],[51,17],[52,17],[9,17],[10,17],[12,17],[11,17],[2,17],[13,17],[14,17],[15,17],[16,17],[17,17],[18,17],[19,17],[20,17],[3,17],[21,17],[4,17],[22,17],[26,17],[23,17],[24,17],[25,17],[27,17],[28,17],[29,17],[5,17],[30,17],[31,17],[32,17],[33,17],[6,17],[37,17],[34,17],[35,17],[36,17],[38,17],[7,17],[39,17],[44,17],[45,17],[40,17],[41,17],[42,17],[43,17],[8,17],[49,17],[46,17],[47,17],[48,17],[1,17],[50,17],[59,52],[60,17],[61,17],[53,53]],"latestChangedDtsFile":"./src/__test__/class.d.ts"},"version":"5.5.2"}
@@ -1 +0,0 @@
1
- module.exports = { ...require('@linzjs/style/.eslintrc.cjs') };
@@ -1 +0,0 @@
1
- module.exports = { ...require('@linzjs/style/.prettierrc.cjs') };
package/tsconfig.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "extends": "./tsconfig.base.json",
3
- "compilerOptions": {
4
- "outDir": "build"
5
- },
6
- "include": ["src"]
7
- }