skuba 8.0.1 → 8.1.0-pm-20240430084912
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/lib/utils/packageManager.js +13 -8
- package/lib/utils/packageManager.js.map +3 -3
- package/package.json +2 -3
- package/template/base/_.prettierignore +1 -0
- package/template/express-rest-api/package.json +1 -1
- package/template/greeter/package.json +1 -1
- package/template/koa-rest-api/package.json +1 -1
- package/template/lambda-sqs-worker/package.json +1 -1
- package/template/lambda-sqs-worker-cdk/package.json +1 -1
|
@@ -34,7 +34,7 @@ __export(packageManager_exports, {
|
|
|
34
34
|
packageManagerSchema: () => packageManagerSchema
|
|
35
35
|
});
|
|
36
36
|
module.exports = __toCommonJS(packageManager_exports);
|
|
37
|
-
var
|
|
37
|
+
var import_find_up = __toESM(require("find-up"));
|
|
38
38
|
var import_is_installed_globally = __toESM(require("is-installed-globally"));
|
|
39
39
|
var import_zod = require("zod");
|
|
40
40
|
var import_logging = require("./logging");
|
|
@@ -59,10 +59,15 @@ const configForPackageManager = (packageManager) => ({
|
|
|
59
59
|
});
|
|
60
60
|
const detectPackageManager = async (cwd) => {
|
|
61
61
|
let packageManager = DEFAULT_PACKAGE_MANAGER;
|
|
62
|
-
let raw;
|
|
63
62
|
try {
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
const [yarnDepth, pnpmDepth] = await Promise.all([
|
|
64
|
+
findDepth("yarn.lock", cwd),
|
|
65
|
+
findDepth("pnpm-lock.yaml", cwd)
|
|
66
|
+
]);
|
|
67
|
+
if (yarnDepth === void 0 && pnpmDepth === void 0) {
|
|
68
|
+
throw new Error("No package manager lockfile found.");
|
|
69
|
+
}
|
|
70
|
+
packageManager = (pnpmDepth ?? -1) > (yarnDepth ?? -1) ? "pnpm" : "yarn";
|
|
66
71
|
} catch (err) {
|
|
67
72
|
import_logging.log.warn(
|
|
68
73
|
`Failed to detect package manager; defaulting to ${import_logging.log.bold(
|
|
@@ -72,10 +77,6 @@ const detectPackageManager = async (cwd) => {
|
|
|
72
77
|
import_logging.log.subtle(
|
|
73
78
|
(() => {
|
|
74
79
|
switch (true) {
|
|
75
|
-
case err instanceof import_zod.ZodError:
|
|
76
|
-
return `Expected ${Object.keys(PACKAGE_MANAGERS).join(
|
|
77
|
-
"|"
|
|
78
|
-
)}, received ${raw}`;
|
|
79
80
|
case err instanceof Error:
|
|
80
81
|
return err.message;
|
|
81
82
|
default:
|
|
@@ -86,6 +87,10 @@ const detectPackageManager = async (cwd) => {
|
|
|
86
87
|
}
|
|
87
88
|
return configForPackageManager(packageManager);
|
|
88
89
|
};
|
|
90
|
+
const findDepth = async (filename, cwd) => {
|
|
91
|
+
const path = await (0, import_find_up.default)(filename, { cwd });
|
|
92
|
+
return path ? path.split("/").length : void 0;
|
|
93
|
+
};
|
|
89
94
|
const packageManagerSchema = import_zod.z.enum(["pnpm", "yarn"]).default(DEFAULT_PACKAGE_MANAGER);
|
|
90
95
|
// Annotate the CommonJS export names for ESM import in node:
|
|
91
96
|
0 && (module.exports = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/packageManager.ts"],
|
|
4
|
-
"sourcesContent": ["import
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
6
|
-
"names": ["isInstalledGlobally"]
|
|
4
|
+
"sourcesContent": ["import findUp from 'find-up';\nimport isInstalledGlobally from 'is-installed-globally';\nimport { z } from 'zod';\n\nimport { log } from './logging';\n\n// TODO: consider changing to this to `pnpm` in a future major version.\nexport const DEFAULT_PACKAGE_MANAGER = 'yarn';\n\nexport type PackageManagerConfig =\n (typeof PACKAGE_MANAGERS)[keyof typeof PACKAGE_MANAGERS] & {\n command: PackageManager;\n };\n\nconst PACKAGE_MANAGERS = {\n pnpm: {\n exec: 'pnpm exec',\n install: 'pnpm install',\n runSilent: 'pnpm --silent run',\n update: isInstalledGlobally ? 'pnpm update --global' : 'pnpm update',\n },\n yarn: {\n exec: 'yarn',\n install: 'yarn install',\n runSilent: 'yarn -s',\n update: isInstalledGlobally ? 'yarn global upgrade' : 'yarn upgrade',\n },\n};\n\nexport const configForPackageManager = (\n packageManager: PackageManager,\n): PackageManagerConfig => ({\n ...PACKAGE_MANAGERS[packageManager],\n command: packageManager,\n});\n\nexport const detectPackageManager = async (\n cwd?: string,\n): Promise<PackageManagerConfig> => {\n let packageManager: PackageManager = DEFAULT_PACKAGE_MANAGER;\n\n try {\n const [yarnDepth, pnpmDepth] = await Promise.all([\n findDepth('yarn.lock', cwd),\n findDepth('pnpm-lock.yaml', cwd),\n ]);\n\n if (yarnDepth === undefined && pnpmDepth === undefined) {\n throw new Error('No package manager lockfile found.');\n }\n\n packageManager = (pnpmDepth ?? -1) > (yarnDepth ?? -1) ? 'pnpm' : 'yarn';\n } catch (err) {\n log.warn(\n `Failed to detect package manager; defaulting to ${log.bold(\n DEFAULT_PACKAGE_MANAGER,\n )}.`,\n );\n log.subtle(\n (() => {\n switch (true) {\n case err instanceof Error:\n return err.message;\n\n default:\n return String(err);\n }\n })(),\n );\n }\n\n return configForPackageManager(packageManager);\n};\n\nconst findDepth = async (filename: string, cwd?: string) => {\n const path = await findUp(filename, { cwd });\n return path ? path.split('/').length : undefined;\n};\n\nexport type PackageManager = z.infer<typeof packageManagerSchema>;\n\nexport const packageManagerSchema = z\n .enum(['pnpm', 'yarn'])\n .default(DEFAULT_PACKAGE_MANAGER);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAmB;AACnB,mCAAgC;AAChC,iBAAkB;AAElB,qBAAoB;AAGb,MAAM,0BAA0B;AAOvC,MAAM,mBAAmB;AAAA,EACvB,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAW;AAAA,IACX,QAAQ,6BAAAA,UAAsB,yBAAyB;AAAA,EACzD;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAW;AAAA,IACX,QAAQ,6BAAAA,UAAsB,wBAAwB;AAAA,EACxD;AACF;AAEO,MAAM,0BAA0B,CACrC,oBAC0B;AAAA,EAC1B,GAAG,iBAAiB,cAAc;AAAA,EAClC,SAAS;AACX;AAEO,MAAM,uBAAuB,OAClC,QACkC;AAClC,MAAI,iBAAiC;AAErC,MAAI;AACF,UAAM,CAAC,WAAW,SAAS,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC/C,UAAU,aAAa,GAAG;AAAA,MAC1B,UAAU,kBAAkB,GAAG;AAAA,IACjC,CAAC;AAED,QAAI,cAAc,UAAa,cAAc,QAAW;AACtD,YAAM,IAAI,MAAM,oCAAoC;AAAA,IACtD;AAEA,sBAAkB,aAAa,OAAO,aAAa,MAAM,SAAS;AAAA,EACpE,SAAS,KAAK;AACZ,uBAAI;AAAA,MACF,mDAAmD,mBAAI;AAAA,QACrD;AAAA,MACF,CAAC;AAAA,IACH;AACA,uBAAI;AAAA,OACD,MAAM;AACL,gBAAQ,MAAM;AAAA,UACZ,KAAK,eAAe;AAClB,mBAAO,IAAI;AAAA,UAEb;AACE,mBAAO,OAAO,GAAG;AAAA,QACrB;AAAA,MACF,GAAG;AAAA,IACL;AAAA,EACF;AAEA,SAAO,wBAAwB,cAAc;AAC/C;AAEA,MAAM,YAAY,OAAO,UAAkB,QAAiB;AAC1D,QAAM,OAAO,UAAM,eAAAC,SAAO,UAAU,EAAE,IAAI,CAAC;AAC3C,SAAO,OAAO,KAAK,MAAM,GAAG,EAAE,SAAS;AACzC;AAIO,MAAM,uBAAuB,aACjC,KAAK,CAAC,QAAQ,MAAM,CAAC,EACrB,QAAQ,uBAAuB;",
|
|
6
|
+
"names": ["isInstalledGlobally", "findUp"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skuba",
|
|
3
|
-
"version": "8.0
|
|
3
|
+
"version": "8.1.0-pm-20240430084912",
|
|
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",
|
|
@@ -60,7 +60,6 @@
|
|
|
60
60
|
"@types/node": ">=18.12",
|
|
61
61
|
"chalk": "^4.1.0",
|
|
62
62
|
"concurrently": "^8.0.0",
|
|
63
|
-
"detect-package-manager": "^3.0.1",
|
|
64
63
|
"dotenv": "^16.0.0",
|
|
65
64
|
"ejs": "^3.1.6",
|
|
66
65
|
"enquirer": "^2.3.6",
|
|
@@ -68,6 +67,7 @@
|
|
|
68
67
|
"eslint": "^8.56.0",
|
|
69
68
|
"execa": "^5.0.0",
|
|
70
69
|
"fast-glob": "^3.3.2",
|
|
70
|
+
"find-up": "^5.0.0",
|
|
71
71
|
"fs-extra": "^11.0.0",
|
|
72
72
|
"function-arguments": "^1.0.9",
|
|
73
73
|
"get-port": "^5.1.1",
|
|
@@ -139,7 +139,6 @@
|
|
|
139
139
|
"optional": true
|
|
140
140
|
}
|
|
141
141
|
},
|
|
142
|
-
"packageManager": "pnpm@8.15.6",
|
|
143
142
|
"engines": {
|
|
144
143
|
"node": ">=18.18.0"
|
|
145
144
|
},
|