skuba 14.0.0-node-24-20251209233211 → 14.0.0-node-24-20251210005321

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.
@@ -152,11 +152,12 @@ const upgradeInfraPackages = async (mode, packages) => {
152
152
  )
153
153
  );
154
154
  const packageManager = await (0, import_packageManager.detectPackageManager)();
155
- if (packageManager.command === "pnpm") {
156
- await (0, import_exec.exec)(packageManager.command, "install", "--no-frozen-lockfile");
157
- } else {
158
- await (0, import_exec.exec)(packageManager.command, "install", "--frozen-lockfile=false");
159
- }
155
+ await (0, import_exec.exec)(
156
+ packageManager.command,
157
+ "install",
158
+ "--frozen-lockfile=false",
159
+ "--prefer-offline"
160
+ );
160
161
  return {
161
162
  result: "apply"
162
163
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/cli/migrate/nodeVersion/upgrade.ts"],
4
- "sourcesContent": ["import { inspect } from 'node:util';\n\nimport { glob } from 'fast-glob';\nimport fs from 'fs-extra';\nimport { coerce, lt } from 'semver';\n\nimport { exec } from '../../../utils/exec.js';\nimport { log } from '../../../utils/logging.js';\nimport { detectPackageManager } from '../../../utils/packageManager.js';\nimport type { PatchReturnType } from '../../lint/internalLints/upgrade/index.js';\n\nconst packageVersionRegex = (packageName: string) =>\n new RegExp(`\"\\\\b${packageName}\\\\b\"\\\\s*:\\\\s*\"([^\"]+)\"`, 'g');\n\nconst yamlPackageVersionRegex = (packageName: string) =>\n new RegExp(`\\\\b${packageName}\\\\b:\\\\s*([^\\\\s]+)`, 'g');\n\nconst normalizeVersionRange = (\n currentVersion: string,\n newVersion: string,\n): string => {\n if (currentVersion.startsWith('^')) {\n return `^${newVersion}`;\n }\n\n if (currentVersion.startsWith('~')) {\n return `~${newVersion}`;\n }\n\n // >=1.2.3, >1.2.3, <=1.2.3, <1.2.3\n if (\n currentVersion.startsWith('>=') ||\n currentVersion.startsWith('>') ||\n currentVersion.startsWith('<=') ||\n currentVersion.startsWith('<')\n ) {\n return `^${newVersion}`;\n }\n\n // 1.x, 1.2.x, 1.x.x\n if (currentVersion.includes('x') || currentVersion.includes('X')) {\n return `^${newVersion}`;\n }\n\n // 1.0.0 - 2.0.0\n if (currentVersion.includes(' - ')) {\n return `^${newVersion}`;\n }\n\n const coercedCurrent = coerce(currentVersion);\n if (coercedCurrent && lt(coercedCurrent, newVersion)) {\n return newVersion;\n }\n\n return currentVersion;\n};\n\ntype PackageInfo = {\n name: string;\n version: string;\n};\n\nexport const upgradeInfraPackages = async (\n mode: 'lint' | 'format',\n packages: PackageInfo[],\n): Promise<PatchReturnType> => {\n const [packageJsonPaths, pnpmWorkspacePaths] = await Promise.all([\n glob(['**/package.json'], {\n ignore: ['**/.git', '**/node_modules'],\n }),\n glob('**/pnpm-workspace.yaml', {\n ignore: ['**/.git', '**/node_modules'],\n }),\n ]);\n\n if (packageJsonPaths.length === 0 && pnpmWorkspacePaths.length === 0) {\n return {\n result: 'skip',\n reason: 'no package.json or pnpm-workspace.yaml files found',\n };\n }\n\n const [packageJsons, pnpmWorkspaces] = await Promise.all([\n Promise.all(\n packageJsonPaths.map(async (file) => {\n const contents = await fs.readFile(file, 'utf8');\n\n return {\n file,\n contents,\n };\n }),\n ),\n Promise.all(\n pnpmWorkspacePaths.map(async (file) => {\n const contents = await fs.readFile(file, 'utf8');\n\n return {\n file,\n contents,\n };\n }),\n ),\n ]);\n\n const patchedPackageJsons = packageJsons\n .map((file) => {\n const updated = packages.reduce((contents, packageName) => {\n const regex = packageVersionRegex(packageName.name);\n return contents.replaceAll(regex, (match, currentVersion: string) => {\n if (\n currentVersion.startsWith('*') ||\n currentVersion.startsWith('workspace:') ||\n currentVersion.startsWith('link:') ||\n currentVersion.startsWith('file:') ||\n currentVersion.startsWith('catalog:')\n ) {\n return match;\n }\n\n const newVersion = normalizeVersionRange(\n currentVersion,\n packageName.version,\n );\n\n return newVersion === currentVersion\n ? match\n : `\"${packageName.name}\":\"${newVersion}\"`;\n });\n }, file.contents);\n\n return {\n ...file,\n updated,\n };\n })\n .filter(({ contents, updated }) => contents !== updated);\n\n const patchedPnpmWorkspaces = pnpmWorkspaces\n .map((file) => {\n const updated = packages.reduce((contents, packageName) => {\n const regex = yamlPackageVersionRegex(packageName.name);\n return contents.replace(regex, (match, currentVersion: string) => {\n const newVersion = normalizeVersionRange(\n currentVersion,\n packageName.version,\n );\n\n return newVersion === currentVersion\n ? match\n : `${packageName.name}: ${newVersion}`;\n });\n }, file.contents);\n\n return {\n ...file,\n updated,\n };\n })\n .filter(({ contents, updated }) => contents !== updated);\n\n if (patchedPackageJsons.length === 0 && patchedPnpmWorkspaces.length === 0) {\n return {\n result: 'skip',\n reason: 'no package.json or pnpm-workspace.yaml files to patch',\n };\n }\n\n if (mode === 'lint') {\n return {\n result: 'apply',\n };\n }\n\n await Promise.all(\n [...patchedPackageJsons, ...patchedPnpmWorkspaces].map(\n async ({ file, updated }) => {\n await fs.writeFile(file, updated, 'utf8');\n },\n ),\n );\n\n const packageManager = await detectPackageManager();\n\n if (packageManager.command === 'pnpm') {\n await exec(packageManager.command, 'install', '--no-frozen-lockfile');\n } else {\n await exec(packageManager.command, 'install', '--frozen-lockfile=false');\n }\n\n return {\n result: 'apply',\n };\n};\n\nexport const tryUpgradeInfraPackages = async (\n mode: 'lint' | 'format',\n packages: PackageInfo[],\n): Promise<PatchReturnType> => {\n try {\n return await upgradeInfraPackages(mode, packages);\n } catch (err) {\n log.err('Failed to upgrade infrastructure packages');\n log.subtle(inspect(err));\n return { result: 'skip', reason: 'due to an error' };\n }\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { inspect } from 'node:util';\n\nimport { glob } from 'fast-glob';\nimport fs from 'fs-extra';\nimport { coerce, lt } from 'semver';\n\nimport { exec } from '../../../utils/exec.js';\nimport { log } from '../../../utils/logging.js';\nimport { detectPackageManager } from '../../../utils/packageManager.js';\nimport type { PatchReturnType } from '../../lint/internalLints/upgrade/index.js';\n\nconst packageVersionRegex = (packageName: string) =>\n new RegExp(`\"\\\\b${packageName}\\\\b\"\\\\s*:\\\\s*\"([^\"]+)\"`, 'g');\n\nconst yamlPackageVersionRegex = (packageName: string) =>\n new RegExp(`\\\\b${packageName}\\\\b:\\\\s*([^\\\\s]+)`, 'g');\n\nconst normalizeVersionRange = (\n currentVersion: string,\n newVersion: string,\n): string => {\n if (currentVersion.startsWith('^')) {\n return `^${newVersion}`;\n }\n\n if (currentVersion.startsWith('~')) {\n return `~${newVersion}`;\n }\n\n // >=1.2.3, >1.2.3, <=1.2.3, <1.2.3\n if (\n currentVersion.startsWith('>=') ||\n currentVersion.startsWith('>') ||\n currentVersion.startsWith('<=') ||\n currentVersion.startsWith('<')\n ) {\n return `^${newVersion}`;\n }\n\n // 1.x, 1.2.x, 1.x.x\n if (currentVersion.includes('x') || currentVersion.includes('X')) {\n return `^${newVersion}`;\n }\n\n // 1.0.0 - 2.0.0\n if (currentVersion.includes(' - ')) {\n return `^${newVersion}`;\n }\n\n const coercedCurrent = coerce(currentVersion);\n if (coercedCurrent && lt(coercedCurrent, newVersion)) {\n return newVersion;\n }\n\n return currentVersion;\n};\n\ntype PackageInfo = {\n name: string;\n version: string;\n};\n\nexport const upgradeInfraPackages = async (\n mode: 'lint' | 'format',\n packages: PackageInfo[],\n): Promise<PatchReturnType> => {\n const [packageJsonPaths, pnpmWorkspacePaths] = await Promise.all([\n glob(['**/package.json'], {\n ignore: ['**/.git', '**/node_modules'],\n }),\n glob('**/pnpm-workspace.yaml', {\n ignore: ['**/.git', '**/node_modules'],\n }),\n ]);\n\n if (packageJsonPaths.length === 0 && pnpmWorkspacePaths.length === 0) {\n return {\n result: 'skip',\n reason: 'no package.json or pnpm-workspace.yaml files found',\n };\n }\n\n const [packageJsons, pnpmWorkspaces] = await Promise.all([\n Promise.all(\n packageJsonPaths.map(async (file) => {\n const contents = await fs.readFile(file, 'utf8');\n\n return {\n file,\n contents,\n };\n }),\n ),\n Promise.all(\n pnpmWorkspacePaths.map(async (file) => {\n const contents = await fs.readFile(file, 'utf8');\n\n return {\n file,\n contents,\n };\n }),\n ),\n ]);\n\n const patchedPackageJsons = packageJsons\n .map((file) => {\n const updated = packages.reduce((contents, packageName) => {\n const regex = packageVersionRegex(packageName.name);\n return contents.replaceAll(regex, (match, currentVersion: string) => {\n if (\n currentVersion.startsWith('*') ||\n currentVersion.startsWith('workspace:') ||\n currentVersion.startsWith('link:') ||\n currentVersion.startsWith('file:') ||\n currentVersion.startsWith('catalog:')\n ) {\n return match;\n }\n\n const newVersion = normalizeVersionRange(\n currentVersion,\n packageName.version,\n );\n\n return newVersion === currentVersion\n ? match\n : `\"${packageName.name}\":\"${newVersion}\"`;\n });\n }, file.contents);\n\n return {\n ...file,\n updated,\n };\n })\n .filter(({ contents, updated }) => contents !== updated);\n\n const patchedPnpmWorkspaces = pnpmWorkspaces\n .map((file) => {\n const updated = packages.reduce((contents, packageName) => {\n const regex = yamlPackageVersionRegex(packageName.name);\n return contents.replace(regex, (match, currentVersion: string) => {\n const newVersion = normalizeVersionRange(\n currentVersion,\n packageName.version,\n );\n\n return newVersion === currentVersion\n ? match\n : `${packageName.name}: ${newVersion}`;\n });\n }, file.contents);\n\n return {\n ...file,\n updated,\n };\n })\n .filter(({ contents, updated }) => contents !== updated);\n\n if (patchedPackageJsons.length === 0 && patchedPnpmWorkspaces.length === 0) {\n return {\n result: 'skip',\n reason: 'no package.json or pnpm-workspace.yaml files to patch',\n };\n }\n\n if (mode === 'lint') {\n return {\n result: 'apply',\n };\n }\n\n await Promise.all(\n [...patchedPackageJsons, ...patchedPnpmWorkspaces].map(\n async ({ file, updated }) => {\n await fs.writeFile(file, updated, 'utf8');\n },\n ),\n );\n\n const packageManager = await detectPackageManager();\n\n await exec(\n packageManager.command,\n 'install',\n '--frozen-lockfile=false',\n '--prefer-offline',\n );\n\n return {\n result: 'apply',\n };\n};\n\nexport const tryUpgradeInfraPackages = async (\n mode: 'lint' | 'format',\n packages: PackageInfo[],\n): Promise<PatchReturnType> => {\n try {\n return await upgradeInfraPackages(mode, packages);\n } catch (err) {\n log.err('Failed to upgrade infrastructure packages');\n log.subtle(inspect(err));\n return { result: 'skip', reason: 'due to an error' };\n }\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["fs"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skuba",
3
- "version": "14.0.0-node-24-20251209233211",
3
+ "version": "14.0.0-node-24-20251210005321",
4
4
  "private": false,
5
5
  "description": "SEEK development toolkit for backend applications and packages",
6
6
  "homepage": "https://github.com/seek-oss/skuba#readme",
@@ -100,8 +100,8 @@
100
100
  "tsx": "^4.21.0",
101
101
  "typescript": "~5.9.0",
102
102
  "zod": "^4.0.0",
103
- "eslint-config-skuba": "7.2.1",
104
- "@skuba-lib/api": "^2.0.0-node-24-20251209233211"
103
+ "@skuba-lib/api": "^2.0.0-node-24-20251210005321",
104
+ "eslint-config-skuba": "7.2.1"
105
105
  },
106
106
  "devDependencies": {
107
107
  "@changesets/cli": "2.29.8",
@@ -19,11 +19,11 @@
19
19
  "test:watch": "skuba test --watch"
20
20
  },
21
21
  "dependencies": {
22
- "skuba-dive": "4.0.0-node-24-20251209233211"
22
+ "skuba-dive": "4.0.0-node-24-20251210005321"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/node": "^22.13.10",
26
- "skuba": "14.0.0-node-24-20251209233211"
26
+ "skuba": "14.0.0-node-24-20251210005321"
27
27
  },
28
28
  "packageManager": "pnpm@10.24.0",
29
29
  "engines": {
@@ -24,7 +24,7 @@
24
24
  "@aws-sdk/client-sns": "^3.363.0",
25
25
  "@seek/aws-codedeploy-hooks": "^2.0.0",
26
26
  "@seek/logger": "^11.1.0",
27
- "skuba-dive": "4.0.0-node-24-20251209233211",
27
+ "skuba-dive": "4.0.0-node-24-20251210005321",
28
28
  "zod": "^4.0.0"
29
29
  },
30
30
  "devDependencies": {
@@ -42,7 +42,7 @@
42
42
  "datadog-lambda-js": "^12.0.0",
43
43
  "dd-trace": "^5.0.0",
44
44
  "pino-pretty": "^13.0.0",
45
- "skuba": "14.0.0-node-24-20251209233211"
45
+ "skuba": "14.0.0-node-24-20251210005321"
46
46
  },
47
47
  "packageManager": "pnpm@10.24.0",
48
48
  "engines": {