adamantite 0.35.0 → 0.37.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.
Files changed (38) hide show
  1. package/CHANGELOG.md +1156 -0
  2. package/README.md +35 -15
  3. package/dist/index.js +32 -45
  4. package/dist/presets/analyze.d.ts +5 -3
  5. package/dist/presets/analyze.js +22 -24
  6. package/dist/presets/format.d.ts +3 -1
  7. package/dist/presets/format.js +73 -63
  8. package/dist/presets/lint/antislop.d.ts +5 -0
  9. package/dist/presets/lint/antislop.js +28 -0
  10. package/dist/presets/lint/core.d.ts +17 -1
  11. package/dist/presets/lint/core.js +511 -481
  12. package/dist/presets/lint/jest.d.ts +3 -1
  13. package/dist/presets/lint/jest.js +66 -68
  14. package/dist/presets/lint/nextjs.d.ts +3 -1
  15. package/dist/presets/lint/nextjs.js +28 -30
  16. package/dist/presets/lint/node.d.ts +3 -1
  17. package/dist/presets/lint/node.js +12 -14
  18. package/dist/presets/lint/react.d.ts +3 -1
  19. package/dist/presets/lint/react.js +117 -105
  20. package/dist/presets/lint/vendor/antislop/license.md +27 -0
  21. package/dist/presets/lint/vendor/antislop/plugin.d.mts +11 -0
  22. package/dist/presets/lint/vendor/antislop/plugin.mjs +1629 -0
  23. package/dist/presets/lint/vitest.d.ts +3 -1
  24. package/dist/presets/lint/vitest.js +71 -73
  25. package/dist/presets/lint/vue.d.ts +3 -1
  26. package/dist/presets/lint/vue.js +50 -52
  27. package/package.json +25 -22
  28. package/skills/adamantite/SKILL.md +2 -1
  29. package/presets/analyze.ts +0 -24
  30. package/presets/format.ts +0 -63
  31. package/presets/lint/core.ts +0 -481
  32. package/presets/lint/jest.ts +0 -68
  33. package/presets/lint/nextjs.ts +0 -30
  34. package/presets/lint/node.ts +0 -14
  35. package/presets/lint/react.ts +0 -105
  36. package/presets/lint/vitest.ts +0 -73
  37. package/presets/lint/vue.ts +0 -52
  38. package/presets/tsconfig.json +0 -28
@@ -1,3 +1,5 @@
1
1
  import { OxlintConfig } from "oxlint";
2
+ //#region presets/lint/vitest.d.ts
2
3
  declare const config: OxlintConfig;
3
- export { config as default };
4
+ //#endregion
5
+ export { config as default };
@@ -1,74 +1,72 @@
1
- // presets/lint/vitest.ts
2
- var config = {
3
- plugins: ["vitest"],
4
- rules: {
5
- "vitest/consistent-each-for": "error",
6
- "vitest/consistent-test-it": "error",
7
- "vitest/hoisted-apis-on-top": "error",
8
- "vitest/max-expects": "error",
9
- "vitest/max-nested-describe": "error",
10
- "vitest/no-alias-methods": "error",
11
- "vitest/no-commented-out-tests": "error",
12
- "vitest/no-conditional-expect": "error",
13
- "vitest/no-conditional-in-test": "error",
14
- "vitest/no-conditional-tests": "error",
15
- "vitest/no-disabled-tests": "error",
16
- "vitest/no-duplicate-hooks": "error",
17
- "vitest/no-focused-tests": "error",
18
- "vitest/no-hooks": "error",
19
- "vitest/no-identical-title": "error",
20
- "vitest/no-import-node-test": "error",
21
- "vitest/no-importing-vitest-globals": "error",
22
- "vitest/no-interpolation-in-snapshots": "error",
23
- "vitest/no-large-snapshots": "error",
24
- "vitest/no-mocks-import": "error",
25
- "vitest/no-restricted-matchers": "error",
26
- "vitest/no-standalone-expect": "error",
27
- "vitest/no-test-prefixes": "error",
28
- "vitest/no-test-return-statement": "error",
29
- "vitest/no-unneeded-async-expect-function": "error",
30
- "vitest/padding-around-test-blocks": "error",
31
- "vitest/prefer-called-exactly-once-with": "error",
32
- "vitest/prefer-called-once": "error",
33
- "vitest/prefer-called-times": "error",
34
- "vitest/prefer-called-with": "error",
35
- "vitest/prefer-comparison-matcher": "error",
36
- "vitest/prefer-describe-function-title": "error",
37
- "vitest/prefer-each": "error",
38
- "vitest/prefer-equality-matcher": "error",
39
- "vitest/prefer-expect-assertions": "error",
40
- "vitest/prefer-expect-resolves": "error",
41
- "vitest/prefer-expect-type-of": "error",
42
- "vitest/prefer-hooks-in-order": "error",
43
- "vitest/prefer-hooks-on-top": "error",
44
- "vitest/prefer-import-in-mock": "error",
45
- "vitest/prefer-importing-vitest-globals": "error",
46
- "vitest/prefer-lowercase-title": "error",
47
- "vitest/prefer-mock-promise-shorthand": "error",
48
- "vitest/prefer-mock-return-shorthand": "error",
49
- "vitest/prefer-snapshot-hint": "error",
50
- "vitest/prefer-spy-on": "error",
51
- "vitest/prefer-strict-boolean-matchers": "error",
52
- "vitest/prefer-strict-equal": "error",
53
- "vitest/prefer-to-be": "error",
54
- "vitest/prefer-to-be-object": "error",
55
- "vitest/prefer-to-contain": "error",
56
- "vitest/prefer-to-have-been-called-times": "error",
57
- "vitest/prefer-to-have-length": "error",
58
- "vitest/prefer-todo": "error",
59
- "vitest/require-awaited-expect-poll": "error",
60
- "vitest/require-hook": "error",
61
- "vitest/require-local-test-context-for-concurrent-snapshots": "error",
62
- "vitest/require-mock-type-parameters": "error",
63
- "vitest/require-to-throw-message": "error",
64
- "vitest/require-top-level-describe": "error",
65
- "vitest/valid-describe-callback": "error",
66
- "vitest/valid-expect": "error",
67
- "vitest/valid-expect-in-promise": "error",
68
- "vitest/valid-title": "error"
69
- }
70
- };
71
- var vitest_default = config;
72
- export {
73
- vitest_default as default
1
+ //#region presets/lint/vitest.ts
2
+ const config = {
3
+ plugins: ["vitest"],
4
+ rules: {
5
+ "vitest/consistent-each-for": "error",
6
+ "vitest/consistent-test-it": "error",
7
+ "vitest/hoisted-apis-on-top": "error",
8
+ "vitest/max-expects": "error",
9
+ "vitest/max-nested-describe": "error",
10
+ "vitest/no-alias-methods": "error",
11
+ "vitest/no-commented-out-tests": "error",
12
+ "vitest/no-conditional-expect": "error",
13
+ "vitest/no-conditional-in-test": "error",
14
+ "vitest/no-conditional-tests": "error",
15
+ "vitest/no-disabled-tests": "error",
16
+ "vitest/no-duplicate-hooks": "error",
17
+ "vitest/no-focused-tests": "error",
18
+ "vitest/no-hooks": "error",
19
+ "vitest/no-identical-title": "error",
20
+ "vitest/no-import-node-test": "error",
21
+ "vitest/no-importing-vitest-globals": "error",
22
+ "vitest/no-interpolation-in-snapshots": "error",
23
+ "vitest/no-large-snapshots": "error",
24
+ "vitest/no-mocks-import": "error",
25
+ "vitest/no-restricted-matchers": "error",
26
+ "vitest/no-standalone-expect": "error",
27
+ "vitest/no-test-prefixes": "error",
28
+ "vitest/no-test-return-statement": "error",
29
+ "vitest/no-unneeded-async-expect-function": "error",
30
+ "vitest/padding-around-test-blocks": "error",
31
+ "vitest/prefer-called-exactly-once-with": "error",
32
+ "vitest/prefer-called-once": "error",
33
+ "vitest/prefer-called-times": "error",
34
+ "vitest/prefer-called-with": "error",
35
+ "vitest/prefer-comparison-matcher": "error",
36
+ "vitest/prefer-describe-function-title": "error",
37
+ "vitest/prefer-each": "error",
38
+ "vitest/prefer-equality-matcher": "error",
39
+ "vitest/prefer-expect-assertions": "error",
40
+ "vitest/prefer-expect-resolves": "error",
41
+ "vitest/prefer-expect-type-of": "error",
42
+ "vitest/prefer-hooks-in-order": "error",
43
+ "vitest/prefer-hooks-on-top": "error",
44
+ "vitest/prefer-import-in-mock": "error",
45
+ "vitest/prefer-importing-vitest-globals": "error",
46
+ "vitest/prefer-lowercase-title": "error",
47
+ "vitest/prefer-mock-promise-shorthand": "error",
48
+ "vitest/prefer-mock-return-shorthand": "error",
49
+ "vitest/prefer-snapshot-hint": "error",
50
+ "vitest/prefer-spy-on": "error",
51
+ "vitest/prefer-strict-boolean-matchers": "error",
52
+ "vitest/prefer-strict-equal": "error",
53
+ "vitest/prefer-to-be": "error",
54
+ "vitest/prefer-to-be-object": "error",
55
+ "vitest/prefer-to-contain": "error",
56
+ "vitest/prefer-to-have-been-called-times": "error",
57
+ "vitest/prefer-to-have-length": "error",
58
+ "vitest/prefer-todo": "error",
59
+ "vitest/require-awaited-expect-poll": "error",
60
+ "vitest/require-hook": "error",
61
+ "vitest/require-local-test-context-for-concurrent-snapshots": "error",
62
+ "vitest/require-mock-type-parameters": "error",
63
+ "vitest/require-to-throw-message": "error",
64
+ "vitest/require-top-level-describe": "error",
65
+ "vitest/valid-describe-callback": "error",
66
+ "vitest/valid-expect": "error",
67
+ "vitest/valid-expect-in-promise": "error",
68
+ "vitest/valid-title": "error"
69
+ }
74
70
  };
71
+ //#endregion
72
+ export { config as default };
@@ -1,3 +1,5 @@
1
1
  import { OxlintConfig } from "oxlint";
2
+ //#region presets/lint/vue.d.ts
2
3
  declare const config: OxlintConfig;
3
- export { config as default };
4
+ //#endregion
5
+ export { config as default };
@@ -1,53 +1,51 @@
1
- // presets/lint/vue.ts
2
- var config = {
3
- plugins: ["vue"],
4
- rules: {
5
- "vue/define-emits-declaration": "error",
6
- "vue/define-props-declaration": "error",
7
- "vue/define-props-destructuring": "error",
8
- "vue/max-props": "error",
9
- "vue/no-arrow-functions-in-watch": "error",
10
- "vue/no-async-in-computed-properties": "error",
11
- "vue/no-computed-properties-in-data": "error",
12
- "vue/no-deprecated-data-object-declaration": "error",
13
- "vue/no-deprecated-delete-set": "error",
14
- "vue/no-deprecated-destroyed-lifecycle": "error",
15
- "vue/no-deprecated-events-api": "error",
16
- "vue/no-deprecated-model-definition": "error",
17
- "vue/no-deprecated-props-default-this": "error",
18
- "vue/no-deprecated-vue-config-keycodes": "error",
19
- "vue/no-dupe-keys": "error",
20
- "vue/no-export-in-script-setup": "error",
21
- "vue/no-expose-after-await": "error",
22
- "vue/no-import-compiler-macros": "error",
23
- "vue/no-lifecycle-after-await": "error",
24
- "vue/no-multiple-slot-args": "error",
25
- "vue/no-required-prop-with-default": "error",
26
- "vue/no-reserved-component-names": "error",
27
- "vue/no-reserved-keys": "error",
28
- "vue/no-reserved-props": "error",
29
- "vue/no-shared-component-data": "error",
30
- "vue/no-side-effects-in-computed-properties": "error",
31
- "vue/no-this-in-before-route-enter": "error",
32
- "vue/no-watch-after-await": "error",
33
- "vue/prefer-import-from-vue": "error",
34
- "vue/require-default-export": "error",
35
- "vue/require-default-prop": "error",
36
- "vue/require-direct-export": "error",
37
- "vue/require-prop-type-constructor": "error",
38
- "vue/require-prop-types": "error",
39
- "vue/require-render-return": "error",
40
- "vue/require-slots-as-functions": "error",
41
- "vue/require-typed-ref": "error",
42
- "vue/return-in-computed-property": "error",
43
- "vue/return-in-emits-validator": "error",
44
- "vue/valid-define-emits": "error",
45
- "vue/valid-define-options": "error",
46
- "vue/valid-define-props": "error",
47
- "vue/valid-next-tick": "error"
48
- }
49
- };
50
- var vue_default = config;
51
- export {
52
- vue_default as default
1
+ //#region presets/lint/vue.ts
2
+ const config = {
3
+ plugins: ["vue"],
4
+ rules: {
5
+ "vue/define-emits-declaration": "error",
6
+ "vue/define-props-declaration": "error",
7
+ "vue/define-props-destructuring": "error",
8
+ "vue/max-props": "error",
9
+ "vue/no-arrow-functions-in-watch": "error",
10
+ "vue/no-async-in-computed-properties": "error",
11
+ "vue/no-computed-properties-in-data": "error",
12
+ "vue/no-deprecated-data-object-declaration": "error",
13
+ "vue/no-deprecated-delete-set": "error",
14
+ "vue/no-deprecated-destroyed-lifecycle": "error",
15
+ "vue/no-deprecated-events-api": "error",
16
+ "vue/no-deprecated-model-definition": "error",
17
+ "vue/no-deprecated-props-default-this": "error",
18
+ "vue/no-deprecated-vue-config-keycodes": "error",
19
+ "vue/no-dupe-keys": "error",
20
+ "vue/no-export-in-script-setup": "error",
21
+ "vue/no-expose-after-await": "error",
22
+ "vue/no-import-compiler-macros": "error",
23
+ "vue/no-lifecycle-after-await": "error",
24
+ "vue/no-multiple-slot-args": "error",
25
+ "vue/no-required-prop-with-default": "error",
26
+ "vue/no-reserved-component-names": "error",
27
+ "vue/no-reserved-keys": "error",
28
+ "vue/no-reserved-props": "error",
29
+ "vue/no-shared-component-data": "error",
30
+ "vue/no-side-effects-in-computed-properties": "error",
31
+ "vue/no-this-in-before-route-enter": "error",
32
+ "vue/no-watch-after-await": "error",
33
+ "vue/prefer-import-from-vue": "error",
34
+ "vue/require-default-export": "error",
35
+ "vue/require-default-prop": "error",
36
+ "vue/require-direct-export": "error",
37
+ "vue/require-prop-type-constructor": "error",
38
+ "vue/require-prop-types": "error",
39
+ "vue/require-render-return": "error",
40
+ "vue/require-slots-as-functions": "error",
41
+ "vue/require-typed-ref": "error",
42
+ "vue/return-in-computed-property": "error",
43
+ "vue/return-in-emits-validator": "error",
44
+ "vue/valid-define-emits": "error",
45
+ "vue/valid-define-options": "error",
46
+ "vue/valid-define-props": "error",
47
+ "vue/valid-next-tick": "error"
48
+ }
53
49
  };
50
+ //#endregion
51
+ export { config as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "adamantite",
3
- "version": "0.35.0",
3
+ "version": "0.37.0",
4
4
  "description": "An strict and opinionated set of presets for modern TypeScript applications",
5
5
  "keywords": [
6
6
  "adamantite",
@@ -28,7 +28,6 @@
28
28
  "files": [
29
29
  "bin",
30
30
  "dist",
31
- "presets",
32
31
  "skills",
33
32
  "!skills/_artifacts"
34
33
  ],
@@ -57,20 +56,6 @@
57
56
  },
58
57
  "./typescript": "./dist/presets/tsconfig.json"
59
58
  },
60
- "scripts": {
61
- "analyze": "bun run src/index.ts analyze",
62
- "build": "bunup && cp presets/tsconfig.json dist/presets/",
63
- "bump:deps": "bun update --interactive",
64
- "check": "bun run src/index.ts check",
65
- "dev": "bunup --watch",
66
- "fix": "bun run src/index.ts fix",
67
- "format": "bun run src/index.ts format",
68
- "release": "changeset publish",
69
- "test": "bun test",
70
- "test:coverage": "bun test --coverage",
71
- "test:watch": "bun --watch test",
72
- "version": "changeset version"
73
- },
74
59
  "dependencies": {
75
60
  "@clack/prompts": "1.7.0",
76
61
  "@effect/platform-node": "4.0.0-rc.108",
@@ -84,18 +69,22 @@
84
69
  "devDependencies": {
85
70
  "@changesets/changelog-github": "1.0.0",
86
71
  "@changesets/cli": "3.0.0",
72
+ "@effect/vitest": "4.0.0-rc.108",
87
73
  "@tanstack/intent": "0.3.6",
88
- "@types/bun": "1.3.14",
89
74
  "@types/figlet": "1.7.0",
90
- "bunup": "0.16.32",
75
+ "@types/node": "22.20.1",
76
+ "@vitest/coverage-v8": "4.1.10",
91
77
  "figlet": "1.11.4",
92
78
  "knip": "6.32.2",
93
79
  "oxfmt": "0.63.0",
94
- "oxlint": "1.78.0",
80
+ "oxlint": "1.79.0",
95
81
  "oxlint-tsgolint": "7.0.2001",
96
82
  "sherif": "1.13.0",
83
+ "tsdown": "0.22.14",
97
84
  "type-fest": "5.8.0",
98
- "typescript": "7.0.2"
85
+ "typescript": "7.0.2",
86
+ "unplugin-macros": "0.23.2",
87
+ "vitest": "4.1.10"
99
88
  },
100
89
  "peerDependencies": {
101
90
  "typescript": ">=7"
@@ -104,5 +93,19 @@
104
93
  "bun": ">=1.0.0",
105
94
  "node": ">=22.19.0"
106
95
  },
107
- "packageManager": "bun@1.3.14"
108
- }
96
+ "scripts": {
97
+ "analyze": "knip",
98
+ "build": "tsdown",
99
+ "bump:deps": "pnpm update --interactive",
100
+ "check": "oxlint",
101
+ "dev": "tsdown --watch",
102
+ "fix": "oxlint --fix",
103
+ "format": "oxfmt",
104
+ "release": "changeset publish",
105
+ "test": "vitest run",
106
+ "test:build": "pnpm run build && node scripts/test-build.ts",
107
+ "test:coverage": "vitest run --coverage",
108
+ "test:watch": "vitest",
109
+ "version": "changeset version"
110
+ }
111
+ }
@@ -28,7 +28,8 @@ npx adamantite init --non-interactive --script check --script fix --script forma
28
28
  Repeat `--script`, `--preset`, and `--editor` for multiple values. Available values are:
29
29
 
30
30
  - Scripts: `check`, `fix`, `format`, `analyze`, `check:monorepo`, `fix:monorepo`
31
- - Presets: `react`, `nextjs`, `vue`, `jest`, `vitest`, `node`; editors: `vscode`, `zed`
31
+ - Presets: `react`, `nextjs`, `vue`, `jest`, `vitest`, `node`, `antislop`; editors:
32
+ `vscode`, `zed`
32
33
  - Optional flags: `--typescript`, `--install-extensions`, `--github-actions`, `--agents`,
33
34
  `--overwrite-scripts`
34
35
 
@@ -1,24 +0,0 @@
1
- import type { KnipConfiguration } from "knip"
2
-
3
- const config: KnipConfiguration = {
4
- ignoreExportsUsedInFile: true,
5
- rules: {
6
- binaries: "error",
7
- catalog: "error",
8
- dependencies: "error",
9
- devDependencies: "error",
10
- duplicates: "warn",
11
- enumMembers: "off",
12
- exports: "warn",
13
- files: "error",
14
- namespaceMembers: "warn",
15
- nsExports: "warn",
16
- nsTypes: "warn",
17
- optionalPeerDependencies: "warn",
18
- types: "warn",
19
- unlisted: "error",
20
- unresolved: "error",
21
- },
22
- }
23
-
24
- export default config
package/presets/format.ts DELETED
@@ -1,63 +0,0 @@
1
- import type { FormatConfig } from "oxfmt"
2
-
3
- const config: FormatConfig = {
4
- arrowParens: "always",
5
- bracketSameLine: false,
6
- bracketSpacing: true,
7
- embeddedLanguageFormatting: "auto",
8
- endOfLine: "lf",
9
- htmlWhitespaceSensitivity: "css",
10
- insertFinalNewline: true,
11
- jsdoc: {
12
- addDefaultToDescription: true,
13
- bracketSpacing: false,
14
- capitalizeDescriptions: true,
15
- commentLineStrategy: "multiline",
16
- descriptionTag: false,
17
- descriptionWithDot: false,
18
- keepUnparsableExampleIndent: false,
19
- lineWrappingStyle: "greedy",
20
- preferCodeFences: false,
21
- separateReturnsFromParam: true,
22
- },
23
- jsxSingleQuote: false,
24
- objectWrap: "preserve",
25
- printWidth: 100,
26
- quoteProps: "as-needed",
27
- semi: false,
28
- singleAttributePerLine: false,
29
- singleQuote: false,
30
- sortImports: {
31
- groups: [
32
- ["value-builtin", "type-import"],
33
- ["value-external"],
34
- ["type-internal"],
35
- ["value-internal"],
36
- ["type-subpath"],
37
- ["value-subpath"],
38
- ["type-parent", "type-sibling", "type-index"],
39
- ["value-parent", "value-sibling", "value-index"],
40
- ["unknown"],
41
- ],
42
- ignoreCase: true,
43
- newlinesBetween: false,
44
- order: "asc",
45
- partitionByComment: true,
46
- partitionByNewline: true,
47
- sortSideEffects: false,
48
- },
49
- sortPackageJson: {
50
- sortScripts: true,
51
- },
52
- sortTailwindcss: {
53
- attributes: ["className", "class"],
54
- functions: ["clsx", "cn", "cva", "tw", "twMerge"],
55
- preserveDuplicates: false,
56
- preserveWhitespace: false,
57
- },
58
- tabWidth: 2,
59
- trailingComma: "es5",
60
- useTabs: false,
61
- }
62
-
63
- export default config