@theholocron/holocron-config 7.33.0 → 8.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.
@@ -1,2 +1,2 @@
1
- import { n as NextjsOptions, t as nextjs } from "../nextjs-CaFUxEzC.js";
1
+ import { n as NextjsOptions, t as nextjs } from "../nextjs-qslqCncU.js";
2
2
  export { type NextjsOptions, nextjs };
@@ -1,2 +1,2 @@
1
- import { t as nextjs } from "../nextjs-DPCHDAHq.js";
1
+ import { t as nextjs } from "../nextjs-BVbxyvYY.js";
2
2
  export { nextjs };
@@ -9,9 +9,9 @@ type NodeDocsSitePreset = ComposedPreset;
9
9
  * Includes the "audit / Conclusion" required check so branch protection works
10
10
  * for repos that add the audit workflow explicitly. The workflow itself is
11
11
  * intentionally left repo-specific — add it with your own options:
12
- * workflows: [...preset.workflows, "audit", ...]
12
+ * tasks: [...preset.tasks, "audit", ...]
13
13
  * // or with overrides:
14
- * workflows: [...preset.workflows, { name: "audit", with: { "run-knip": true } }, ...]
14
+ * tasks: [...preset.tasks, { name: "audit", with: { "run-knip": true } }, ...]
15
15
  *
16
16
  * For docs-only sites without TypeScript source, use nodeDocsSite() instead.
17
17
  *
@@ -22,7 +22,7 @@ type NodeDocsSitePreset = ComposedPreset;
22
22
  * description: "...",
23
23
  * homepage: "https://docs.theholocron.dev/my-lib/",
24
24
  * repo: { ...preset.repo, name: "theholocron/my-lib", topics: ["typescript"] },
25
- * workflows: [...preset.workflows, "audit", { name: "release", with: { "run-build": true } }, "sync"],
25
+ * tasks: [...preset.tasks, "audit", { name: "release", with: { "run-build": true } }, "sync"],
26
26
  * providers: { ...preset.providers, secrets: "github" },
27
27
  * });
28
28
  */
@@ -37,7 +37,7 @@ declare function nodeDocs(): NodeDocsPreset;
37
37
  * ...preset,
38
38
  * description: "...",
39
39
  * repo: { ...preset.repo, name: "theholocron/my-site" },
40
- * workflows: [...preset.workflows, { name: "release", with: { "run-build": false } }, "sync"],
40
+ * tasks: [...preset.tasks, { name: "release", with: { "run-build": false } }, "sync"],
41
41
  * providers: { ...preset.providers, secrets: "github" },
42
42
  * });
43
43
  */
@@ -1,2 +1,2 @@
1
- import { n as nodeDocsSite, t as nodeDocs } from "../node-docs-CqBw0mLC.js";
1
+ import { n as nodeDocsSite, t as nodeDocs } from "../node-docs-CWBYBXn2.js";
2
2
  export { nodeDocs, nodeDocsSite };
@@ -9,7 +9,7 @@ import { ComposedPreset } from "@theholocron/cli";
9
9
  * export default defineConfig({
10
10
  * ...preset,
11
11
  * repo: { ...preset.repo, name: "theholocron/my-lib" },
12
- * workflows: [...preset.workflows, { name: "release", with: { "run-build": true } }],
12
+ * tasks: [...preset.tasks, { name: "release", with: { "run-build": true } }],
13
13
  * });
14
14
  */
15
15
  declare function node(): ComposedPreset;
@@ -1,4 +1,4 @@
1
- import { t as node$1 } from "../node-BIaAQSrx.js";
1
+ import { t as node$1 } from "../node-Rfcptkso.js";
2
2
  import { compose } from "@theholocron/cli";
3
3
  //#region configs/node.ts
4
4
  /**
@@ -10,7 +10,7 @@ import { compose } from "@theholocron/cli";
10
10
  * export default defineConfig({
11
11
  * ...preset,
12
12
  * repo: { ...preset.repo, name: "theholocron/my-lib" },
13
- * workflows: [...preset.workflows, { name: "release", with: { "run-build": true } }],
13
+ * tasks: [...preset.tasks, { name: "release", with: { "run-build": true } }],
14
14
  * });
15
15
  */
16
16
  function node() {
@@ -1,2 +1,2 @@
1
- import { n as ReactOptions, t as react } from "../react-DKXFl0ZG.js";
1
+ import { n as ReactOptions, t as react } from "../react-DFP2FRgL.js";
2
2
  export { type ReactOptions, react };
@@ -1,6 +1,6 @@
1
- import { t as node } from "../node-BIaAQSrx.js";
2
- import { t as typecheck } from "../typecheck-epaimGtp.js";
3
- import { t as react$1 } from "../react-hLw4lgas.js";
1
+ import { t as node } from "../node-Rfcptkso.js";
2
+ import { t as typecheck } from "../typecheck-CIe5Am0j.js";
3
+ import { t as react$1 } from "../react-B6frNMdd.js";
4
4
  import { compose } from "@theholocron/cli";
5
5
  //#region configs/react.ts
6
6
  /**
@@ -17,7 +17,7 @@ import { compose } from "@theholocron/cli";
17
17
  * export default defineConfig({
18
18
  * ...preset,
19
19
  * repo: { ...preset.repo, name: "theholocron/my-app" },
20
- * workflows: [...preset.workflows, "sync", { name: "deploy", with: { docs: true, storybook: [{ name: "" }] } }],
20
+ * tasks: [...preset.tasks, "sync", { name: "deploy", with: { docs: true, storybook: [{ name: "" }] } }],
21
21
  * });
22
22
  */
23
23
  function react(options) {
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { monorepo } from "./configs/monorepo.js";
2
- import { n as NextjsOptions, r as nextjs$1, t as nextjs } from "./nextjs-CaFUxEzC.js";
2
+ import { n as NextjsOptions, r as nextjs$1, t as nextjs } from "./nextjs-qslqCncU.js";
3
3
  import { NodeDocsPreset, NodeDocsSitePreset, nodeDocs, nodeDocsSite } from "./configs/node-docs.js";
4
4
  import { HolocronPreset as ComposedPreset$1 } from "./configs/node.js";
5
- import { n as ReactOptions, r as react$1, t as react } from "./react-DKXFl0ZG.js";
5
+ import { n as ReactOptions, r as react$1, t as react } from "./react-DFP2FRgL.js";
6
6
  import { Capability, Capability as Capability$1, ComposedPreset, compose } from "@theholocron/cli";
7
7
  //#region constants.d.ts
8
8
  /** Cloudflare account ID for the theholocron org. */
@@ -14,6 +14,8 @@ declare const CLOUDFLARE_ACCOUNT_ID = "9c558af98664d13fc89b7e0a0d93d5a8";
14
14
  * Contributes: GitHub source/CI/issues providers, strict branch protection,
15
15
  * and the standard workflow set (lint, test, security, review, stale, greetings,
16
16
  * dependencies, bookkeeping). Does NOT include typecheck — add that separately.
17
+ * The `lint` task carries the org linter list explicitly so every repo runs the
18
+ * same set (a repo can override with its own `{ name: "lint", linters: [...] }`).
17
19
  */
18
20
  declare function node(): Capability$1;
19
21
  //#endregion
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import { i as CLOUDFLARE_ACCOUNT_ID, n as nodeDocsSite, r as docs, t as nodeDocs } from "./node-docs-CqBw0mLC.js";
2
- import { t as node } from "./node-BIaAQSrx.js";
3
- import { t as typecheck } from "./typecheck-epaimGtp.js";
4
- import { t as react$1 } from "./react-hLw4lgas.js";
5
- import { n as nextjs$1, t as nextjs } from "./nextjs-DPCHDAHq.js";
1
+ import { i as CLOUDFLARE_ACCOUNT_ID, n as nodeDocsSite, r as docs, t as nodeDocs } from "./node-docs-CWBYBXn2.js";
2
+ import { t as node } from "./node-Rfcptkso.js";
3
+ import { t as typecheck } from "./typecheck-CIe5Am0j.js";
4
+ import { t as react$1 } from "./react-B6frNMdd.js";
5
+ import { n as nextjs$1, t as nextjs } from "./nextjs-BVbxyvYY.js";
6
6
  import { react } from "./configs/react.js";
7
7
  import { monorepo } from "./configs/monorepo.js";
8
8
  import { compose } from "@theholocron/cli";
@@ -19,7 +19,7 @@ function audit({ knip = false, performance = false, lighthouseConfig } = {}) {
19
19
  return {
20
20
  id: "audit",
21
21
  requires: ["node"],
22
- workflows: [Object.keys(withBlock).length > 0 ? {
22
+ tasks: [Object.keys(withBlock).length > 0 ? {
23
23
  name: "audit",
24
24
  with: withBlock
25
25
  } : "audit"],
@@ -66,7 +66,7 @@ function wiki() {
66
66
  }],
67
67
  workers: ["cloudflare", { accountId: "9c558af98664d13fc89b7e0a0d93d5a8" }]
68
68
  },
69
- workflows: ["wiki"]
69
+ tasks: ["wiki"]
70
70
  };
71
71
  }
72
72
  //#endregion
@@ -1,6 +1,6 @@
1
- import { t as node } from "./node-BIaAQSrx.js";
2
- import { t as typecheck } from "./typecheck-epaimGtp.js";
3
- import { t as react } from "./react-hLw4lgas.js";
1
+ import { t as node } from "./node-Rfcptkso.js";
2
+ import { t as typecheck } from "./typecheck-CIe5Am0j.js";
3
+ import { t as react } from "./react-B6frNMdd.js";
4
4
  import { compose } from "@theholocron/cli";
5
5
  //#region capabilities/nextjs.ts
6
6
  /**
@@ -21,7 +21,7 @@ function nextjs$1({ test: testOverrides = {} } = {}) {
21
21
  org: "theholocron",
22
22
  domain: "theholocron.dev",
23
23
  providers: { deployment: "vercel" },
24
- workflows: [{
24
+ tasks: [{
25
25
  name: "test",
26
26
  with: {
27
27
  "run-unit": false,
@@ -46,8 +46,8 @@ function nextjs$1({ test: testOverrides = {} } = {}) {
46
46
  * export default defineConfig({
47
47
  * ...preset,
48
48
  * repo: { ...preset.repo, name: "theholocron/my-app", topics: ["nextjs"] },
49
- * workflows: [
50
- * ...preset.workflows,
49
+ * tasks: [
50
+ * ...preset.tasks,
51
51
  * "sync",
52
52
  * { name: "deploy", with: { docs: true, storybook: [{ name: "" }] } },
53
53
  * ],
@@ -28,8 +28,8 @@ declare function nextjs$1({ test: testOverrides }?: NextjsOptions): Capability[]
28
28
  * export default defineConfig({
29
29
  * ...preset,
30
30
  * repo: { ...preset.repo, name: "theholocron/my-app", topics: ["nextjs"] },
31
- * workflows: [
32
- * ...preset.workflows,
31
+ * tasks: [
32
+ * ...preset.tasks,
33
33
  * "sync",
34
34
  * { name: "deploy", with: { docs: true, storybook: [{ name: "" }] } },
35
35
  * ],
@@ -1,9 +1,22 @@
1
1
  //#region capabilities/node.ts
2
+ /** The org-standard linter set — drives both CI super-linter and `holocron run lint`. */
3
+ const ORG_LINTERS = [
4
+ "eslint",
5
+ "prettier",
6
+ "yamllint",
7
+ "actionlint",
8
+ "gitleaks",
9
+ "editorconfig",
10
+ "commitlint",
11
+ "git-merge-conflict-markers"
12
+ ];
2
13
  /**
3
14
  * Base capability for all theholocron Node.js repositories.
4
15
  * Contributes: GitHub source/CI/issues providers, strict branch protection,
5
16
  * and the standard workflow set (lint, test, security, review, stale, greetings,
6
17
  * dependencies, bookkeeping). Does NOT include typecheck — add that separately.
18
+ * The `lint` task carries the org linter list explicitly so every repo runs the
19
+ * same set (a repo can override with its own `{ name: "lint", linters: [...] }`).
7
20
  */
8
21
  function node() {
9
22
  return {
@@ -26,8 +39,11 @@ function node() {
26
39
  }
27
40
  },
28
41
  requiredChecks: ["Lint / Conclusion", "Test / Conclusion"],
29
- workflows: [
30
- "lint",
42
+ tasks: [
43
+ {
44
+ name: "lint",
45
+ linters: ORG_LINTERS
46
+ },
31
47
  "test",
32
48
  "security",
33
49
  "review",
@@ -1,5 +1,5 @@
1
- import { t as node } from "./node-BIaAQSrx.js";
2
- import { t as typecheck } from "./typecheck-epaimGtp.js";
1
+ import { t as node } from "./node-Rfcptkso.js";
2
+ import { t as typecheck } from "./typecheck-CIe5Am0j.js";
3
3
  import { compose } from "@theholocron/cli";
4
4
  //#region constants.ts
5
5
  /** Cloudflare account ID for the theholocron org. */
@@ -27,7 +27,7 @@ function docs() {
27
27
  dns: "cloudflare",
28
28
  workers: ["cloudflare", { accountId: CLOUDFLARE_ACCOUNT_ID }]
29
29
  },
30
- workflows: [{
30
+ tasks: [{
31
31
  name: "deploy",
32
32
  with: {
33
33
  docs: true,
@@ -46,9 +46,9 @@ function docs() {
46
46
  * Includes the "audit / Conclusion" required check so branch protection works
47
47
  * for repos that add the audit workflow explicitly. The workflow itself is
48
48
  * intentionally left repo-specific — add it with your own options:
49
- * workflows: [...preset.workflows, "audit", ...]
49
+ * tasks: [...preset.tasks, "audit", ...]
50
50
  * // or with overrides:
51
- * workflows: [...preset.workflows, { name: "audit", with: { "run-knip": true } }, ...]
51
+ * tasks: [...preset.tasks, { name: "audit", with: { "run-knip": true } }, ...]
52
52
  *
53
53
  * For docs-only sites without TypeScript source, use nodeDocsSite() instead.
54
54
  *
@@ -59,7 +59,7 @@ function docs() {
59
59
  * description: "...",
60
60
  * homepage: "https://docs.theholocron.dev/my-lib/",
61
61
  * repo: { ...preset.repo, name: "theholocron/my-lib", topics: ["typescript"] },
62
- * workflows: [...preset.workflows, "audit", { name: "release", with: { "run-build": true } }, "sync"],
62
+ * tasks: [...preset.tasks, "audit", { name: "release", with: { "run-build": true } }, "sync"],
63
63
  * providers: { ...preset.providers, secrets: "github" },
64
64
  * });
65
65
  */
@@ -80,7 +80,7 @@ function nodeDocs() {
80
80
  * ...preset,
81
81
  * description: "...",
82
82
  * repo: { ...preset.repo, name: "theholocron/my-site" },
83
- * workflows: [...preset.workflows, { name: "release", with: { "run-build": false } }, "sync"],
83
+ * tasks: [...preset.tasks, { name: "release", with: { "run-build": false } }, "sync"],
84
84
  * providers: { ...preset.providers, secrets: "github" },
85
85
  * });
86
86
  */
@@ -21,7 +21,7 @@ function react({ test: testOverrides = {} } = {}) {
21
21
  runtime_environment: "browser",
22
22
  uses_external_packages: false
23
23
  } },
24
- workflows: [{
24
+ tasks: [{
25
25
  name: "audit",
26
26
  with: {
27
27
  "run-knip": true,
@@ -34,7 +34,7 @@ declare function react$1({ test: testOverrides }?: ReactOptions): Capability;
34
34
  * export default defineConfig({
35
35
  * ...preset,
36
36
  * repo: { ...preset.repo, name: "theholocron/my-app" },
37
- * workflows: [...preset.workflows, "sync", { name: "deploy", with: { docs: true, storybook: [{ name: "" }] } }],
37
+ * tasks: [...preset.tasks, "sync", { name: "deploy", with: { docs: true, storybook: [{ name: "" }] } }],
38
38
  * });
39
39
  */
40
40
  declare function react(options?: ReactOptions): ComposedPreset;
@@ -7,7 +7,7 @@ function typecheck() {
7
7
  return {
8
8
  id: "typecheck",
9
9
  requires: ["node"],
10
- workflows: ["typecheck"],
10
+ tasks: ["typecheck"],
11
11
  requiredChecks: ["Typecheck / Conclusion"]
12
12
  };
13
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theholocron/holocron-config",
3
- "version": "7.33.0",
3
+ "version": "8.1.0",
4
4
  "description": "Shareable holocron configuration presets for theholocron repositories.",
5
5
  "homepage": "https://github.com/theholocron/configs/tree/main/packages/holocron-config#readme",
6
6
  "bugs": "https://github.com/theholocron/configs/issues",
@@ -18,16 +18,16 @@
18
18
  ],
19
19
  "type": "module",
20
20
  "devDependencies": {
21
- "@theholocron/cli": "^3.45.1",
21
+ "@theholocron/cli": "^4.6.0",
22
22
  "tsdown": "^0.22.14",
23
23
  "typescript": "^5.9.3",
24
24
  "vitest": "^4.1.10",
25
25
  "@vitest/coverage-v8": "^4.1.10",
26
- "@theholocron/tsconfig": "7.33.0",
27
- "@theholocron/vitest-config": "7.33.0"
26
+ "@theholocron/tsconfig": "8.1.0",
27
+ "@theholocron/vitest-config": "8.1.0"
28
28
  },
29
29
  "peerDependencies": {
30
- "@theholocron/cli": ">=2.0.0-alpha.1"
30
+ "@theholocron/cli": ">=4.6.0"
31
31
  },
32
32
  "exports": {
33
33
  ".": {