@sidebase/base-config 0.2.1 → 0.3.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.
@@ -13,7 +13,7 @@
13
13
  "ci": {
14
14
  "placeholders": {
15
15
  "CI_APT_PACKAGES": { "configPath": "ci.aptPackages", "default": "", "pattern": "^$|^[a-z0-9][a-z0-9 +.-]*$", "join": "space" },
16
- "NODE_VERSION": { "configPath": "versions.node", "default": "24.13.0", "pattern": "^[\\w.+-]+$" }
16
+ "NODE_VERSION": { "configPath": "versions.node", "default": "24.21.0", "pattern": "^[\\w.+-]+$" }
17
17
  },
18
18
  "fragments": [
19
19
  { "toggle": "ci.unitTests", "source": "nuxt-app/templates/ci/test-job.yml" },
@@ -23,15 +23,15 @@
23
23
  "dockerfile": {
24
24
  "placeholders": {
25
25
  "APT_PACKAGES": { "configPath": "docker.aptPackages", "default": "", "pattern": "^$|^[a-z0-9][a-z0-9 +.-]*$", "join": "space" },
26
- "NODE_VERSION": { "configPath": "versions.node", "default": "24.13.0", "pattern": "^[\\w.+-]+$" },
27
- "PNPM_VERSION": { "configPath": "versions.pnpm", "default": "10.28.1", "pattern": "^[\\w.+-]+$" },
26
+ "NODE_VERSION": { "configPath": "versions.node", "default": "24.21.0", "pattern": "^[\\w.+-]+$" },
27
+ "PNPM_VERSION": { "configPath": "versions.pnpm", "default": "10.34.5", "pattern": "^[\\w.+-]+$" },
28
28
  "DOCKER_PRE_INSTALL": { "configPath": "docker.preInstall", "default": "" },
29
29
  "DOCKER_BUILD_ARGS": { "configPath": "docker.buildArgs", "default": "" },
30
30
  "DOCKER_BUILD_STEPS": { "configPath": "docker.buildSteps", "default": "RUN pnpm nuxi prepare\nRUN pnpm prisma generate\nRUN pnpm run build" },
31
31
  "DOCKER_FINAL_STAGE": { "configPath": "docker.finalStage", "default": "" },
32
32
  "DOCKER_PRISMA_RUNTIME": { "configPath": "docker.prismaRuntime", "default": "COPY --chown=node:node --from=production-base /app/prisma /app/prisma\n\n# Prisma CLI for `migrate deploy`. Override the pin with --build-arg.\nARG PRISMA_VERSION=${PRISMA_VERSION_DEFAULT}\n\n# Chowned to uid 1000 in the same layer, so a later USER switch needs no\n# second pass over node_modules.\nRUN npm i -D prisma@${PRISMA_VERSION} && chown -R node:node /app/node_modules" },
33
- "PRISMA_VERSION_DEFAULT": { "configPath": "docker.prismaVersion", "fromDependency": "prisma", "default": "6.19.1", "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$" },
34
- "DOCKER_START_COMMAND": { "configPath": "docker.startCommand", "default": "npm exec prisma migrate deploy && node --max-old-space-size-percentage=75 .output/server/index.mjs" }
33
+ "PRISMA_VERSION_DEFAULT": { "configPath": "docker.prismaVersion", "fromDependency": "prisma", "default": "6.19.3", "pattern": "^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$" },
34
+ "DOCKER_START_COMMAND": { "configPath": "docker.startCommand", "default": "npm exec prisma migrate deploy && exec node --max-old-space-size-percentage=75 .output/server/index.mjs", "pattern": "^[^\\r\\n]+$" }
35
35
  },
36
36
  "passthrough": ["PRISMA_VERSION"]
37
37
  }
@@ -39,7 +39,6 @@
39
39
  "configKeys": {
40
40
  "ci.unitTests": "boolean",
41
41
  "ci.e2e": "boolean",
42
- "ci.aptPackages": "string[]",
43
42
  "docker.aptPackages": "string[]",
44
43
  "docker.preInstall": "string",
45
44
  "docker.buildArgs": "string",
@@ -47,23 +46,22 @@
47
46
  "docker.finalStage": "string",
48
47
  "docker.prismaRuntime": "string",
49
48
  "docker.prismaVersion": "string",
50
- "docker.startCommand": "string",
51
- "eslint": "object"
49
+ "docker.startCommand": "string"
52
50
  },
53
51
  "versionProfiles": {
54
52
  "nuxt-4": {
55
- "engines.node": ">=24.13.0",
56
- "engines.pnpm": ">=10.28.1",
57
- "packageManager": "pnpm@10.28.1",
58
- "devDependencies.nuxt": "^4.3.0",
59
- "devDependencies.typescript": "^6.0.2",
60
- "devDependencies.eslint": "^10.5.0",
61
- "devDependencies.oxlint": "^1.43.0",
62
- "devDependencies.prisma": "^6.19.1",
63
- "devDependencies.@prisma/client": "^6.19.1",
64
- "devDependencies.jiti": "^2.2.0",
65
- "devDependencies.json-sort-cli": "^4.1.3",
66
- "devDependencies.vitest": "^3.0.0",
53
+ "engines.node": ">=24.21.0",
54
+ "engines.pnpm": ">=10.34.5",
55
+ "packageManager": "pnpm@10.34.5",
56
+ "devDependencies.nuxt": "^4.5.2",
57
+ "devDependencies.typescript": "^6.0.3",
58
+ "devDependencies.eslint": "^10.10.0",
59
+ "devDependencies.oxlint": "^1.83.0",
60
+ "devDependencies.prisma": "^6.19.3",
61
+ "devDependencies.@prisma/client": "^6.19.3",
62
+ "devDependencies.jiti": "^2.7.0",
63
+ "devDependencies.json-sort-cli": "^4.3.1",
64
+ "devDependencies.vitest": "^3.2.7",
67
65
  "scripts.postinstall": "nuxt prepare",
68
66
  "scripts.lint": "oxlint -c .oxlintrc.json --deny-warnings && eslint --max-warnings 0 ."
69
67
  }
@@ -22,12 +22,12 @@
22
22
  --health-timeout 5s
23
23
  --health-retries 5
24
24
  steps:
25
- - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
25
+ - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
26
26
  - name: Install apt packages
27
27
  if: ${{ env.CI_APT_PACKAGES != '' }}
28
28
  run: sudo apt-get update && sudo apt-get install -y --no-install-recommends $CI_APT_PACKAGES
29
- - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
30
- - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
29
+ - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
30
+ - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0
31
31
  with:
32
32
  node-version: ${{ env.NODE_VERSION }}
33
33
  cache: pnpm
@@ -1,12 +1,12 @@
1
1
  test:
2
2
  runs-on: ubuntu-latest
3
3
  steps:
4
- - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
4
+ - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0
5
5
  - name: Install apt packages
6
6
  if: ${{ env.CI_APT_PACKAGES != '' }}
7
7
  run: sudo apt-get update && sudo apt-get install -y --no-install-recommends $CI_APT_PACKAGES
8
- - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
9
- - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
8
+ - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
9
+ - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0
10
10
  with:
11
11
  node-version: ${{ env.NODE_VERSION }}
12
12
  cache: pnpm
@@ -1,43 +0,0 @@
1
- /** Options for the published ESLint factory (`@sidebase/base-config/eslint`). */
2
- interface CreateSidebaseEslintOptions {
3
- /** Zod `.extend()/.merge()/.passthrough()` bans and/or `import * as z` enforcement. Default `"none"` (opt-in). */
4
- zod?: "full" | "import-style" | "none";
5
- /** Allow-list of permitted console methods, or a hard error. Default `"error"`. */
6
- console?: string[] | "error";
7
- /** Ban `publicProcedure` in `server/trpc/routers/**`. Default `false`. */
8
- trpcGuard?: boolean;
9
- /** Restrict `~~/prisma/` client imports on the app side. Default `false`. */
10
- prismaImportGuard?: boolean;
11
- /** `ts/consistent-type-definitions`. Default `"interface"`. */
12
- typeDefStyle?: "interface" | "type";
13
- /** Paths banned from direct import (Nuxt auto-import). Default `["utils/", "composables/", "~~/shared/types/"]`. */
14
- autoImportPaths?: string[];
15
- /**
16
- * Subset of {@link autoImportPaths} where `import type { ... }` is still allowed
17
- * (value imports stay banned), for repos that import a path like `composables/`
18
- * only for its types. Default `[]` (opt-in).
19
- */
20
- autoImportTypeOnly?: string[];
21
- /**
22
- * Files excluded from antfu's type-aware program (only relevant when
23
- * type-aware). Default excludes `prisma.config.ts`, `eslint.config.ts`, the
24
- * root `streamctl.config.ts`, and the legacy `.streamctl` TS files (see
25
- * `resolveEslintOptions`).
26
- */
27
- ignoresTypeAware?: string[];
28
- /**
29
- * Globs for test / spec / story files where the `process.env` + auto-import
30
- * bans are relaxed. Defaults to the standard `.test.`/`.spec.`/
31
- * `.stories.` `ts`/`tsx` globs (see `resolveEslintOptions`).
32
- */
33
- testFilePattern?: string[];
34
- }
35
- /**
36
- * Runtime list of every {@link CreateSidebaseEslintOptions} key. The `satisfies` map
37
- * keeps it exhaustive: a new option fails to compile until it is listed here, so the
38
- * validator allow-list cannot drift.
39
- */
40
- declare const ESLINT_OPTION_KEYS: string[];
41
-
42
- export { ESLINT_OPTION_KEYS as E };
43
- export type { CreateSidebaseEslintOptions as C };
@@ -1,43 +0,0 @@
1
- /** Options for the published ESLint factory (`@sidebase/base-config/eslint`). */
2
- interface CreateSidebaseEslintOptions {
3
- /** Zod `.extend()/.merge()/.passthrough()` bans and/or `import * as z` enforcement. Default `"none"` (opt-in). */
4
- zod?: "full" | "import-style" | "none";
5
- /** Allow-list of permitted console methods, or a hard error. Default `"error"`. */
6
- console?: string[] | "error";
7
- /** Ban `publicProcedure` in `server/trpc/routers/**`. Default `false`. */
8
- trpcGuard?: boolean;
9
- /** Restrict `~~/prisma/` client imports on the app side. Default `false`. */
10
- prismaImportGuard?: boolean;
11
- /** `ts/consistent-type-definitions`. Default `"interface"`. */
12
- typeDefStyle?: "interface" | "type";
13
- /** Paths banned from direct import (Nuxt auto-import). Default `["utils/", "composables/", "~~/shared/types/"]`. */
14
- autoImportPaths?: string[];
15
- /**
16
- * Subset of {@link autoImportPaths} where `import type { ... }` is still allowed
17
- * (value imports stay banned), for repos that import a path like `composables/`
18
- * only for its types. Default `[]` (opt-in).
19
- */
20
- autoImportTypeOnly?: string[];
21
- /**
22
- * Files excluded from antfu's type-aware program (only relevant when
23
- * type-aware). Default excludes `prisma.config.ts`, `eslint.config.ts`, the
24
- * root `streamctl.config.ts`, and the legacy `.streamctl` TS files (see
25
- * `resolveEslintOptions`).
26
- */
27
- ignoresTypeAware?: string[];
28
- /**
29
- * Globs for test / spec / story files where the `process.env` + auto-import
30
- * bans are relaxed. Defaults to the standard `.test.`/`.spec.`/
31
- * `.stories.` `ts`/`tsx` globs (see `resolveEslintOptions`).
32
- */
33
- testFilePattern?: string[];
34
- }
35
- /**
36
- * Runtime list of every {@link CreateSidebaseEslintOptions} key. The `satisfies` map
37
- * keeps it exhaustive: a new option fails to compile until it is listed here, so the
38
- * validator allow-list cannot drift.
39
- */
40
- declare const ESLINT_OPTION_KEYS: string[];
41
-
42
- export { ESLINT_OPTION_KEYS as E };
43
- export type { CreateSidebaseEslintOptions as C };
@@ -1,3 +0,0 @@
1
- # CLAUDE.md
2
-
3
- @AGENTS.md