@storm-software/git-tools 2.131.107 → 2.131.112
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/README.md +1 -1
- package/bin/chunk-2AV5HYTF.cjs +58 -0
- package/bin/chunk-2AV5HYTF.cjs.map +1 -0
- package/bin/{chunk-KMPLSTO3.js → chunk-7J7WTT44.js} +4 -4
- package/bin/chunk-7J7WTT44.js.map +1 -0
- package/bin/chunk-BBYXIOTE.cjs +19 -0
- package/bin/chunk-BBYXIOTE.cjs.map +1 -0
- package/bin/chunk-CYET4YQA.js +51 -0
- package/bin/chunk-CYET4YQA.js.map +1 -0
- package/bin/{chunk-PWU3UV75.cjs → chunk-IATNESIH.cjs} +4 -4
- package/bin/chunk-IATNESIH.cjs.map +1 -0
- package/bin/{chunk-FG3I2VCP.cjs → chunk-JORAXF7H.cjs} +4 -4
- package/bin/chunk-JORAXF7H.cjs.map +1 -0
- package/bin/chunk-KN36EKQK.js +17 -0
- package/bin/chunk-KN36EKQK.js.map +1 -0
- package/bin/{chunk-TQGWTIZB.cjs → chunk-LJN53JNW.cjs} +3 -3
- package/bin/chunk-LJN53JNW.cjs.map +1 -0
- package/bin/{chunk-GUKZHV4C.js → chunk-MHLCOIRK.js} +4 -4
- package/bin/chunk-MHLCOIRK.js.map +1 -0
- package/bin/{chunk-2YVIE3BK.js → chunk-S7XHJBRS.js} +3 -3
- package/bin/chunk-S7XHJBRS.js.map +1 -0
- package/bin/chunk-SP3UCTLI.cjs +59 -0
- package/bin/chunk-SP3UCTLI.cjs.map +1 -0
- package/bin/{chunk-K6GWYEPW.cjs → chunk-XQOIAFJG.cjs} +4 -4
- package/bin/chunk-XQOIAFJG.cjs.map +1 -0
- package/bin/chunk-XVWRXJFS.js +53 -0
- package/bin/chunk-XVWRXJFS.js.map +1 -0
- package/bin/{chunk-WPUDOWXK.js → chunk-YKPFFJLQ.js} +4 -4
- package/bin/chunk-YKPFFJLQ.js.map +1 -0
- package/bin/{chunk-JJVQKQSQ.js → chunk-YNYCZK6A.js} +3 -3
- package/bin/chunk-YNYCZK6A.js.map +1 -0
- package/bin/{chunk-SGL3Y2VO.cjs → chunk-Z2M4I2BJ.cjs} +3 -3
- package/bin/chunk-Z2M4I2BJ.cjs.map +1 -0
- package/bin/git.cjs +14 -14
- package/bin/git.js +8 -8
- package/bin/post-checkout.cjs +3 -3
- package/bin/post-checkout.js +2 -2
- package/bin/post-commit.cjs +3 -3
- package/bin/post-commit.js +2 -2
- package/bin/post-merge.cjs +3 -3
- package/bin/post-merge.js +2 -2
- package/bin/pre-commit.cjs +3 -3
- package/bin/pre-commit.js +2 -2
- package/bin/pre-install.cjs +2 -2
- package/bin/pre-install.js +1 -1
- package/bin/pre-push.cjs +3 -3
- package/bin/pre-push.js +2 -2
- package/bin/prepare.cjs +2 -2
- package/bin/prepare.js +1 -1
- package/bin/version-warning.cjs +2 -2
- package/bin/version-warning.cjs.map +1 -1
- package/bin/version-warning.js +2 -2
- package/bin/version-warning.js.map +1 -1
- package/dist/{chunk-AHLNR6XV.js → chunk-2R63WHWO.js} +1 -1
- package/dist/{chunk-F2FAV3G7.js → chunk-GLCQOF2M.js} +3 -3
- package/dist/chunk-HOQEXODF.cjs +56 -0
- package/dist/{chunk-DHKJKEWQ.cjs → chunk-IAK23H7B.cjs} +1 -1
- package/dist/{chunk-FIBROPKG.cjs → chunk-LXXJEGUX.cjs} +2 -2
- package/dist/{chunk-YT5MBM4H.js → chunk-NPCVH6FC.js} +2 -2
- package/dist/chunk-O7UOEIMT.js +49 -0
- package/dist/{chunk-OBTRAJMP.js → chunk-OABXW2AI.js} +2 -2
- package/dist/{chunk-4LAYVXYI.js → chunk-PBGCSXPL.js} +2 -2
- package/dist/chunk-RGE2RUUB.cjs +57 -0
- package/dist/{chunk-TDEG4V2Y.cjs → chunk-SHNYRICK.cjs} +2 -2
- package/dist/{chunk-P4GKSB3C.cjs → chunk-SJJTGPWB.cjs} +1 -1
- package/dist/{chunk-GMUM2CKB.js → chunk-T5BLHFZW.js} +1 -1
- package/dist/{chunk-EEEX7BTF.cjs → chunk-TMEQLVEV.cjs} +4 -4
- package/dist/chunk-ZF6CEBNE.js +51 -0
- package/dist/{chunk-WQU2Z7JS.cjs → chunk-ZYMWVRAL.cjs} +2 -2
- package/dist/index.cjs +33 -33
- package/dist/index.js +9 -9
- package/dist/lefthook/bun/bun/minimal.yml +61 -0
- package/dist/lefthook/bun/bun/recommended.yml +20 -0
- package/dist/lefthook/bun/bun/strict.yml +23 -0
- package/dist/release/config.cjs +19 -19
- package/dist/release/config.js +2 -2
- package/package.json +8 -7
- package/bin/chunk-2YVIE3BK.js.map +0 -1
- package/bin/chunk-DKB6PGG3.js +0 -52
- package/bin/chunk-DKB6PGG3.js.map +0 -1
- package/bin/chunk-EQSXP2RC.cjs +0 -59
- package/bin/chunk-EQSXP2RC.cjs.map +0 -1
- package/bin/chunk-FG3I2VCP.cjs.map +0 -1
- package/bin/chunk-FNMZLTI2.cjs +0 -19
- package/bin/chunk-FNMZLTI2.cjs.map +0 -1
- package/bin/chunk-GUKZHV4C.js.map +0 -1
- package/bin/chunk-HBLWPOJV.js +0 -19
- package/bin/chunk-HBLWPOJV.js.map +0 -1
- package/bin/chunk-IFGNDIXB.js +0 -17
- package/bin/chunk-IFGNDIXB.js.map +0 -1
- package/bin/chunk-JJVQKQSQ.js.map +0 -1
- package/bin/chunk-K6GWYEPW.cjs.map +0 -1
- package/bin/chunk-KMPLSTO3.js.map +0 -1
- package/bin/chunk-PWU3UV75.cjs.map +0 -1
- package/bin/chunk-SGL3Y2VO.cjs.map +0 -1
- package/bin/chunk-TQGWTIZB.cjs.map +0 -1
- package/bin/chunk-WPUDOWXK.js.map +0 -1
- package/bin/chunk-YHZNDNCW.cjs +0 -22
- package/bin/chunk-YHZNDNCW.cjs.map +0 -1
- package/dist/chunk-GPFVAOPY.js +0 -50
- package/dist/chunk-HMHOHK22.js +0 -17
- package/dist/chunk-QCNDIFYQ.cjs +0 -20
- package/dist/chunk-VQNC53VQ.cjs +0 -57
- /package/dist/{chunk-FN4S2UNY.cjs → chunk-IVBFLZSL.cjs} +0 -0
- /package/dist/{chunk-UX5W5DUP.js → chunk-J5FHPMMG.js} +0 -0
- /package/dist/lefthook/{minimal.yml → pnpm/pnpm/minimal.yml} +0 -0
- /package/dist/lefthook/{recommended.yml → pnpm/pnpm/recommended.yml} +0 -0
- /package/dist/lefthook/{strict.yml → pnpm/pnpm/strict.yml} +0 -0
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ This package is part of the <b>⚡Storm-Ops</b> monorepo. The Storm-Ops packages
|
|
|
27
27
|
|
|
28
28
|
<h3 align="center">💻 Visit <a href="https://stormsoftware.com" target="_blank">stormsoftware.com</a> to stay up to date with this developer</h3><br />
|
|
29
29
|
|
|
30
|
-
[](https://prettier.io/) [](http://nx.dev/) [](https://nextjs.org/) [](http://commitizen.github.io/cz-cli/)  [](https://fumadocs.vercel.app/) 
|
|
31
31
|
|
|
32
32
|
<!-- prettier-ignore-start -->
|
|
33
33
|
<!-- markdownlint-disable -->
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkSP3UCTLI_cjs = require('./chunk-SP3UCTLI.cjs');
|
|
4
|
+
var chunkNJMSWUK7_cjs = require('./chunk-NJMSWUK7.cjs');
|
|
5
|
+
var fs = require('fs');
|
|
6
|
+
var promises = require('fs/promises');
|
|
7
|
+
var path = require('path');
|
|
8
|
+
|
|
9
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
|
|
11
|
+
var fs__default = /*#__PURE__*/_interopDefault(fs);
|
|
12
|
+
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
13
|
+
|
|
14
|
+
async function prePushHook(config, files) {
|
|
15
|
+
chunkNJMSWUK7_cjs.writeInfo("Running pre-push hook...", config);
|
|
16
|
+
chunkSP3UCTLI_cjs.checkPackageVersion(files, config);
|
|
17
|
+
chunkNJMSWUK7_cjs.writeInfo("\u{1F512}\u{1F512}\u{1F512} Validating lock files \u{1F512}\u{1F512}\u{1F512}", config);
|
|
18
|
+
const workspaceRoot = config.workspaceRoot ?? "./";
|
|
19
|
+
const lockFileName = chunkSP3UCTLI_cjs.getLockFileName(config.packageManager);
|
|
20
|
+
const installCommand = chunkSP3UCTLI_cjs.getInstallCommand(config.packageManager);
|
|
21
|
+
const errors = [];
|
|
22
|
+
for (const otherLockFile of chunkSP3UCTLI_cjs.getOtherLockFileNames(config.packageManager)) {
|
|
23
|
+
if (fs__default.default.existsSync(path__default.default.join(workspaceRoot, otherLockFile))) {
|
|
24
|
+
errors.push(
|
|
25
|
+
`Invalid occurrence of "${otherLockFile}" file. Please remove it and use only "${lockFileName}"`
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
try {
|
|
30
|
+
const content = await promises.readFile(path__default.default.join(workspaceRoot, lockFileName), {
|
|
31
|
+
encoding: "utf8"
|
|
32
|
+
});
|
|
33
|
+
if (config.packageManager === "pnpm") {
|
|
34
|
+
if (content?.match(/localhost:487/)) {
|
|
35
|
+
errors.push(
|
|
36
|
+
`The "${lockFileName}" has reference to local repository ("localhost:4873"). Please ensure you disable local registry before running "${installCommand}"`
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
if (content?.match(/resolution: \{tarball/)) {
|
|
40
|
+
errors.push(
|
|
41
|
+
`The "${lockFileName}" has reference to tarball package. Please use npm registry only`
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
} catch {
|
|
46
|
+
errors.push(`The "${lockFileName}" does not exist or cannot be read`);
|
|
47
|
+
}
|
|
48
|
+
if (errors.length > 0) {
|
|
49
|
+
throw new Error(
|
|
50
|
+
"\u274C Lock file validation failed\n" + errors.join("\n")
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
chunkNJMSWUK7_cjs.writeSuccess("\u2714 Lock file is valid for push", config);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
exports.prePushHook = prePushHook;
|
|
57
|
+
//# sourceMappingURL=chunk-2AV5HYTF.cjs.map
|
|
58
|
+
//# sourceMappingURL=chunk-2AV5HYTF.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/pre-push.ts"],"names":["writeInfo","checkPackageVersion","getLockFileName","getInstallCommand","getOtherLockFileNames","fs","path","readFile","writeSuccess"],"mappings":";;;;;;;;;;;;;AAcA,eAAsB,WAAA,CACpB,QACA,KAAA,EACA;AACA,EAAAA,2BAAA,CAAU,4BAA4B,MAAM,CAAA;AAC5C,EAAAC,qCAAA,CAAoB,OAAO,MAAM,CAAA;AAEjC,EAAAD,2BAAA,CAAU,iFAAuC,MAAM,CAAA;AAEvD,EAAA,MAAM,aAAA,GAAgB,OAAO,aAAA,IAAiB,IAAA;AAC9C,EAAA,MAAM,YAAA,GAAeE,iCAAA,CAAgB,MAAA,CAAO,cAAc,CAAA;AAC1D,EAAA,MAAM,cAAA,GAAiBC,mCAAA,CAAkB,MAAA,CAAO,cAAc,CAAA;AAC9D,EAAA,MAAM,SAAS,EAAC;AAEhB,EAAA,KAAA,MAAW,aAAA,IAAiBC,uCAAA,CAAsB,MAAA,CAAO,cAAc,CAAA,EAAG;AACxE,IAAA,IAAIC,oBAAG,UAAA,CAAWC,qBAAA,CAAK,KAAK,aAAA,EAAe,aAAa,CAAC,CAAA,EAAG;AAC1D,MAAA,MAAA,CAAO,IAAA;AAAA,QACL,CAAA,uBAAA,EAA0B,aAAa,CAAA,uCAAA,EAA0C,YAAY,CAAA,CAAA;AAAA,OAC/F;AAAA,IACF;AAAA,EACF;AAEA,EAAA,IAAI;AACF,IAAA,MAAM,UAAU,MAAMC,iBAAA,CAASD,sBAAK,IAAA,CAAK,aAAA,EAAe,YAAY,CAAA,EAAG;AAAA,MACrE,QAAA,EAAU;AAAA,KACX,CAAA;AAED,IAAA,IAAI,MAAA,CAAO,mBAAmB,MAAA,EAAQ;AACpC,MAAA,IAAI,OAAA,EAAS,KAAA,CAAM,eAAe,CAAA,EAAG;AACnC,QAAA,MAAA,CAAO,IAAA;AAAA,UACL,CAAA,KAAA,EAAQ,YAAY,CAAA,iHAAA,EAAoH,cAAc,CAAA,CAAA;AAAA,SACxJ;AAAA,MACF;AACA,MAAA,IAAI,OAAA,EAAS,KAAA,CAAM,uBAAuB,CAAA,EAAG;AAC3C,QAAA,MAAA,CAAO,IAAA;AAAA,UACL,QAAQ,YAAY,CAAA,gEAAA;AAAA,SACtB;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAA,CAAA,MAAQ;AACN,IAAA,MAAA,CAAO,IAAA,CAAK,CAAA,KAAA,EAAQ,YAAY,CAAA,kCAAA,CAAoC,CAAA;AAAA,EACtE;AAEA,EAAA,IAAI,MAAA,CAAO,SAAS,CAAA,EAAG;AACrB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,sCAAA,GAAyC,MAAA,CAAO,IAAA,CAAK,IAAI;AAAA,KAC3D;AAAA,EACF;AAEA,EAAAE,8BAAA,CAAa,sCAAiC,MAAM,CAAA;AAetD","file":"chunk-2AV5HYTF.cjs","sourcesContent":["#!/usr/bin/env node\n\nimport { StormWorkspaceConfig } from \"@storm-software/config\";\nimport { writeInfo, writeSuccess } from \"@storm-software/config-tools\";\nimport fs from \"node:fs\";\nimport { readFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { checkPackageVersion } from \"../utilities/check-package-version\";\nimport {\n getInstallCommand,\n getLockFileName,\n getOtherLockFileNames\n} from \"../utilities/package-manager\";\n\nexport async function prePushHook(\n config: StormWorkspaceConfig,\n files: string[]\n) {\n writeInfo(\"Running pre-push hook...\", config);\n checkPackageVersion(files, config);\n\n writeInfo(\"🔒🔒🔒 Validating lock files 🔒🔒🔒\", config);\n\n const workspaceRoot = config.workspaceRoot ?? \"./\";\n const lockFileName = getLockFileName(config.packageManager);\n const installCommand = getInstallCommand(config.packageManager);\n const errors = [] as string[];\n\n for (const otherLockFile of getOtherLockFileNames(config.packageManager)) {\n if (fs.existsSync(path.join(workspaceRoot, otherLockFile))) {\n errors.push(\n `Invalid occurrence of \"${otherLockFile}\" file. Please remove it and use only \"${lockFileName}\"`\n );\n }\n }\n\n try {\n const content = await readFile(path.join(workspaceRoot, lockFileName), {\n encoding: \"utf8\"\n });\n\n if (config.packageManager === \"pnpm\") {\n if (content?.match(/localhost:487/)) {\n errors.push(\n `The \"${lockFileName}\" has reference to local repository (\"localhost:4873\"). Please ensure you disable local registry before running \"${installCommand}\"`\n );\n }\n if (content?.match(/resolution: \\{tarball/)) {\n errors.push(\n `The \"${lockFileName}\" has reference to tarball package. Please use npm registry only`\n );\n }\n }\n } catch {\n errors.push(`The \"${lockFileName}\" does not exist or cannot be read`);\n }\n\n if (errors.length > 0) {\n throw new Error(\n \"❌ Lock file validation failed\" + \"\\n\" + errors.join(\"\\n\")\n );\n }\n\n writeSuccess(\"✔ Lock file is valid for push\", config);\n\n // run(config, \"git lfs pre-push origin\");\n\n // try {\n // run(config, \"git-lfs version\");\n // } catch (error) {\n // throw new Error(\n // `This repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/pre-push.\\nError: ${\n // (error as Error)?.message\n // }`\n // );\n // }\n\n // run(config, \"git lfs pre-push origin\");\n}\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { checkPackageVersion } from './chunk-
|
|
1
|
+
import { checkPackageVersion } from './chunk-XVWRXJFS.js';
|
|
2
2
|
import { run } from './chunk-RPK5AKGK.js';
|
|
3
3
|
import { writeInfo } from './chunk-42Y4PTRA.js';
|
|
4
4
|
|
|
5
5
|
// src/hooks/post-merge.ts
|
|
6
6
|
async function postMergeHook(config, files) {
|
|
7
7
|
writeInfo("Running post-merge hook...", config);
|
|
8
|
-
checkPackageVersion(files);
|
|
8
|
+
checkPackageVersion(files, config);
|
|
9
9
|
try {
|
|
10
10
|
run(config, "git-lfs version");
|
|
11
11
|
} catch (error) {
|
|
@@ -18,5 +18,5 @@ Error: ${error?.message}`
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
export { postMergeHook };
|
|
21
|
-
//# sourceMappingURL=chunk-
|
|
22
|
-
//# sourceMappingURL=chunk-
|
|
21
|
+
//# sourceMappingURL=chunk-7J7WTT44.js.map
|
|
22
|
+
//# sourceMappingURL=chunk-7J7WTT44.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/post-merge.ts"],"names":[],"mappings":";;;;;AAMA,eAAsB,aAAA,CACpB,QACA,KAAA,EACA;AACA,EAAA,SAAA,CAAU,8BAA8B,MAAM,CAAA;AAC9C,EAAA,mBAAA,CAAoB,OAAO,MAAM,CAAA;AAEjC,EAAA,IAAI;AACF,IAAA,GAAA,CAAI,QAAQ,iBAAiB,CAAA;AAAA,EAC/B,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA;AAAA,OAAA,EACG,OAAiB,OACpB,CAAA;AAAA,KACF;AAAA,EACF;AAEA,EAAA,GAAA,CAAI,QAAQ,oBAAoB,CAAA;AAClC","file":"chunk-7J7WTT44.js","sourcesContent":["#!/usr/bin/env node\n\nimport { StormWorkspaceConfig } from \"@storm-software/config\";\nimport { run, writeInfo } from \"@storm-software/config-tools\";\nimport { checkPackageVersion } from \"../utilities/check-package-version\";\n\nexport async function postMergeHook(\n config: StormWorkspaceConfig,\n files: string[]\n) {\n writeInfo(\"Running post-merge hook...\", config);\n checkPackageVersion(files, config);\n\n try {\n run(config, \"git-lfs version\");\n } catch (error) {\n throw new Error(\n `This repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/post-merge.\\nError: ${\n (error as Error)?.message\n }`\n );\n }\n\n run(config, \"git lfs post-merge\");\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkSP3UCTLI_cjs = require('./chunk-SP3UCTLI.cjs');
|
|
4
|
+
var chunkNJMSWUK7_cjs = require('./chunk-NJMSWUK7.cjs');
|
|
5
|
+
|
|
6
|
+
// src/hooks/pre-commit.ts
|
|
7
|
+
async function preCommitHook(config, files) {
|
|
8
|
+
chunkNJMSWUK7_cjs.writeInfo("Running pre-commit hook...", config);
|
|
9
|
+
chunkSP3UCTLI_cjs.checkPackageVersion(files, config);
|
|
10
|
+
if (chunkSP3UCTLI_cjs.isPackageVersionChanged(files)) {
|
|
11
|
+
throw new Error(
|
|
12
|
+
`Please regenerate the ${chunkSP3UCTLI_cjs.getLockFileName(config.packageManager)} before committing...`
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
exports.preCommitHook = preCommitHook;
|
|
18
|
+
//# sourceMappingURL=chunk-BBYXIOTE.cjs.map
|
|
19
|
+
//# sourceMappingURL=chunk-BBYXIOTE.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/pre-commit.ts"],"names":["writeInfo","checkPackageVersion","isPackageVersionChanged","getLockFileName"],"mappings":";;;;;;AAUA,eAAsB,aAAA,CACpB,QACA,KAAA,EACA;AACA,EAAAA,2BAAA,CAAU,8BAA8B,MAAM,CAAA;AAE9C,EAAAC,qCAAA,CAAoB,OAAO,MAAM,CAAA;AACjC,EAAA,IAAIC,yCAAA,CAAwB,KAAK,CAAA,EAAG;AAClC,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,sBAAA,EAAyBC,iCAAA,CAAgB,MAAA,CAAO,cAAc,CAAC,CAAA,qBAAA;AAAA,KACjE;AAAA,EACF;AACF","file":"chunk-BBYXIOTE.cjs","sourcesContent":["#!/usr/bin/env node\n\nimport { StormWorkspaceConfig } from \"@storm-software/config\";\nimport { writeInfo } from \"@storm-software/config-tools\";\nimport {\n checkPackageVersion,\n isPackageVersionChanged\n} from \"../utilities/check-package-version\";\nimport { getLockFileName } from \"../utilities/package-manager\";\n\nexport async function preCommitHook(\n config: StormWorkspaceConfig,\n files: string[]\n) {\n writeInfo(\"Running pre-commit hook...\", config);\n\n checkPackageVersion(files, config);\n if (isPackageVersionChanged(files)) {\n throw new Error(\n `Please regenerate the ${getLockFileName(config.packageManager)} before committing...`\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { checkPackageVersion, getLockFileName, getInstallCommand, getOtherLockFileNames } from './chunk-XVWRXJFS.js';
|
|
2
|
+
import { writeInfo, writeSuccess } from './chunk-42Y4PTRA.js';
|
|
3
|
+
import fs from 'node:fs';
|
|
4
|
+
import { readFile } from 'node:fs/promises';
|
|
5
|
+
import path from 'node:path';
|
|
6
|
+
|
|
7
|
+
async function prePushHook(config, files) {
|
|
8
|
+
writeInfo("Running pre-push hook...", config);
|
|
9
|
+
checkPackageVersion(files, config);
|
|
10
|
+
writeInfo("\u{1F512}\u{1F512}\u{1F512} Validating lock files \u{1F512}\u{1F512}\u{1F512}", config);
|
|
11
|
+
const workspaceRoot = config.workspaceRoot ?? "./";
|
|
12
|
+
const lockFileName = getLockFileName(config.packageManager);
|
|
13
|
+
const installCommand = getInstallCommand(config.packageManager);
|
|
14
|
+
const errors = [];
|
|
15
|
+
for (const otherLockFile of getOtherLockFileNames(config.packageManager)) {
|
|
16
|
+
if (fs.existsSync(path.join(workspaceRoot, otherLockFile))) {
|
|
17
|
+
errors.push(
|
|
18
|
+
`Invalid occurrence of "${otherLockFile}" file. Please remove it and use only "${lockFileName}"`
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
const content = await readFile(path.join(workspaceRoot, lockFileName), {
|
|
24
|
+
encoding: "utf8"
|
|
25
|
+
});
|
|
26
|
+
if (config.packageManager === "pnpm") {
|
|
27
|
+
if (content?.match(/localhost:487/)) {
|
|
28
|
+
errors.push(
|
|
29
|
+
`The "${lockFileName}" has reference to local repository ("localhost:4873"). Please ensure you disable local registry before running "${installCommand}"`
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
if (content?.match(/resolution: \{tarball/)) {
|
|
33
|
+
errors.push(
|
|
34
|
+
`The "${lockFileName}" has reference to tarball package. Please use npm registry only`
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
} catch {
|
|
39
|
+
errors.push(`The "${lockFileName}" does not exist or cannot be read`);
|
|
40
|
+
}
|
|
41
|
+
if (errors.length > 0) {
|
|
42
|
+
throw new Error(
|
|
43
|
+
"\u274C Lock file validation failed\n" + errors.join("\n")
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
writeSuccess("\u2714 Lock file is valid for push", config);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export { prePushHook };
|
|
50
|
+
//# sourceMappingURL=chunk-CYET4YQA.js.map
|
|
51
|
+
//# sourceMappingURL=chunk-CYET4YQA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/pre-push.ts"],"names":[],"mappings":";;;;;;AAcA,eAAsB,WAAA,CACpB,QACA,KAAA,EACA;AACA,EAAA,SAAA,CAAU,4BAA4B,MAAM,CAAA;AAC5C,EAAA,mBAAA,CAAoB,OAAO,MAAM,CAAA;AAEjC,EAAA,SAAA,CAAU,iFAAuC,MAAM,CAAA;AAEvD,EAAA,MAAM,aAAA,GAAgB,OAAO,aAAA,IAAiB,IAAA;AAC9C,EAAA,MAAM,YAAA,GAAe,eAAA,CAAgB,MAAA,CAAO,cAAc,CAAA;AAC1D,EAAA,MAAM,cAAA,GAAiB,iBAAA,CAAkB,MAAA,CAAO,cAAc,CAAA;AAC9D,EAAA,MAAM,SAAS,EAAC;AAEhB,EAAA,KAAA,MAAW,aAAA,IAAiB,qBAAA,CAAsB,MAAA,CAAO,cAAc,CAAA,EAAG;AACxE,IAAA,IAAI,GAAG,UAAA,CAAW,IAAA,CAAK,KAAK,aAAA,EAAe,aAAa,CAAC,CAAA,EAAG;AAC1D,MAAA,MAAA,CAAO,IAAA;AAAA,QACL,CAAA,uBAAA,EAA0B,aAAa,CAAA,uCAAA,EAA0C,YAAY,CAAA,CAAA;AAAA,OAC/F;AAAA,IACF;AAAA,EACF;AAEA,EAAA,IAAI;AACF,IAAA,MAAM,UAAU,MAAM,QAAA,CAAS,KAAK,IAAA,CAAK,aAAA,EAAe,YAAY,CAAA,EAAG;AAAA,MACrE,QAAA,EAAU;AAAA,KACX,CAAA;AAED,IAAA,IAAI,MAAA,CAAO,mBAAmB,MAAA,EAAQ;AACpC,MAAA,IAAI,OAAA,EAAS,KAAA,CAAM,eAAe,CAAA,EAAG;AACnC,QAAA,MAAA,CAAO,IAAA;AAAA,UACL,CAAA,KAAA,EAAQ,YAAY,CAAA,iHAAA,EAAoH,cAAc,CAAA,CAAA;AAAA,SACxJ;AAAA,MACF;AACA,MAAA,IAAI,OAAA,EAAS,KAAA,CAAM,uBAAuB,CAAA,EAAG;AAC3C,QAAA,MAAA,CAAO,IAAA;AAAA,UACL,QAAQ,YAAY,CAAA,gEAAA;AAAA,SACtB;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAA,CAAA,MAAQ;AACN,IAAA,MAAA,CAAO,IAAA,CAAK,CAAA,KAAA,EAAQ,YAAY,CAAA,kCAAA,CAAoC,CAAA;AAAA,EACtE;AAEA,EAAA,IAAI,MAAA,CAAO,SAAS,CAAA,EAAG;AACrB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,sCAAA,GAAyC,MAAA,CAAO,IAAA,CAAK,IAAI;AAAA,KAC3D;AAAA,EACF;AAEA,EAAA,YAAA,CAAa,sCAAiC,MAAM,CAAA;AAetD","file":"chunk-CYET4YQA.js","sourcesContent":["#!/usr/bin/env node\n\nimport { StormWorkspaceConfig } from \"@storm-software/config\";\nimport { writeInfo, writeSuccess } from \"@storm-software/config-tools\";\nimport fs from \"node:fs\";\nimport { readFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { checkPackageVersion } from \"../utilities/check-package-version\";\nimport {\n getInstallCommand,\n getLockFileName,\n getOtherLockFileNames\n} from \"../utilities/package-manager\";\n\nexport async function prePushHook(\n config: StormWorkspaceConfig,\n files: string[]\n) {\n writeInfo(\"Running pre-push hook...\", config);\n checkPackageVersion(files, config);\n\n writeInfo(\"🔒🔒🔒 Validating lock files 🔒🔒🔒\", config);\n\n const workspaceRoot = config.workspaceRoot ?? \"./\";\n const lockFileName = getLockFileName(config.packageManager);\n const installCommand = getInstallCommand(config.packageManager);\n const errors = [] as string[];\n\n for (const otherLockFile of getOtherLockFileNames(config.packageManager)) {\n if (fs.existsSync(path.join(workspaceRoot, otherLockFile))) {\n errors.push(\n `Invalid occurrence of \"${otherLockFile}\" file. Please remove it and use only \"${lockFileName}\"`\n );\n }\n }\n\n try {\n const content = await readFile(path.join(workspaceRoot, lockFileName), {\n encoding: \"utf8\"\n });\n\n if (config.packageManager === \"pnpm\") {\n if (content?.match(/localhost:487/)) {\n errors.push(\n `The \"${lockFileName}\" has reference to local repository (\"localhost:4873\"). Please ensure you disable local registry before running \"${installCommand}\"`\n );\n }\n if (content?.match(/resolution: \\{tarball/)) {\n errors.push(\n `The \"${lockFileName}\" has reference to tarball package. Please use npm registry only`\n );\n }\n }\n } catch {\n errors.push(`The \"${lockFileName}\" does not exist or cannot be read`);\n }\n\n if (errors.length > 0) {\n throw new Error(\n \"❌ Lock file validation failed\" + \"\\n\" + errors.join(\"\\n\")\n );\n }\n\n writeSuccess(\"✔ Lock file is valid for push\", config);\n\n // run(config, \"git lfs pre-push origin\");\n\n // try {\n // run(config, \"git-lfs version\");\n // } catch (error) {\n // throw new Error(\n // `This repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/pre-push.\\nError: ${\n // (error as Error)?.message\n // }`\n // );\n // }\n\n // run(config, \"git lfs pre-push origin\");\n}\n"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkSP3UCTLI_cjs = require('./chunk-SP3UCTLI.cjs');
|
|
4
4
|
var chunkMTAYUS7E_cjs = require('./chunk-MTAYUS7E.cjs');
|
|
5
5
|
var chunkNJMSWUK7_cjs = require('./chunk-NJMSWUK7.cjs');
|
|
6
6
|
|
|
7
7
|
// src/hooks/post-commit.ts
|
|
8
8
|
async function postCommitHook(config, files) {
|
|
9
9
|
chunkNJMSWUK7_cjs.writeInfo("Running post-commit hook...", config);
|
|
10
|
-
|
|
10
|
+
chunkSP3UCTLI_cjs.checkPackageVersion(files, config);
|
|
11
11
|
try {
|
|
12
12
|
chunkMTAYUS7E_cjs.run(config, "git-lfs version");
|
|
13
13
|
} catch (error) {
|
|
@@ -20,5 +20,5 @@ Error: ${error?.message}`
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
exports.postCommitHook = postCommitHook;
|
|
23
|
-
//# sourceMappingURL=chunk-
|
|
24
|
-
//# sourceMappingURL=chunk-
|
|
23
|
+
//# sourceMappingURL=chunk-IATNESIH.cjs.map
|
|
24
|
+
//# sourceMappingURL=chunk-IATNESIH.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/post-commit.ts"],"names":["writeInfo","checkPackageVersion","run"],"mappings":";;;;;;;AAMA,eAAsB,cAAA,CACpB,QACA,KAAA,EACA;AACA,EAAAA,2BAAA,CAAU,+BAA+B,MAAM,CAAA;AAC/C,EAAAC,qCAAA,CAAoB,OAAO,MAAM,CAAA;AAEjC,EAAA,IAAI;AACF,IAAAC,qBAAA,CAAI,QAAQ,iBAAiB,CAAA;AAAA,EAC/B,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA;AAAA,OAAA,EACG,OAAiB,OACpB,CAAA;AAAA,KACF;AAAA,EACF;AAEA,EAAAA,qBAAA,CAAI,QAAQ,qBAAqB,CAAA;AACnC","file":"chunk-IATNESIH.cjs","sourcesContent":["#!/usr/bin/env node\n\nimport { StormWorkspaceConfig } from \"@storm-software/config\";\nimport { run, writeInfo } from \"@storm-software/config-tools\";\nimport { checkPackageVersion } from \"../utilities/check-package-version\";\n\nexport async function postCommitHook(\n config: StormWorkspaceConfig,\n files: string[]\n) {\n writeInfo(\"Running post-commit hook...\", config);\n checkPackageVersion(files, config);\n\n try {\n run(config, \"git-lfs version\");\n } catch (error) {\n throw new Error(\n `This repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/post-commit.\\nError: ${\n (error as Error)?.message\n }`\n );\n }\n\n run(config, \"git lfs post-commit\");\n}\n"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkSP3UCTLI_cjs = require('./chunk-SP3UCTLI.cjs');
|
|
4
4
|
var chunkMTAYUS7E_cjs = require('./chunk-MTAYUS7E.cjs');
|
|
5
5
|
var chunkNJMSWUK7_cjs = require('./chunk-NJMSWUK7.cjs');
|
|
6
6
|
|
|
7
7
|
// src/hooks/post-merge.ts
|
|
8
8
|
async function postMergeHook(config, files) {
|
|
9
9
|
chunkNJMSWUK7_cjs.writeInfo("Running post-merge hook...", config);
|
|
10
|
-
|
|
10
|
+
chunkSP3UCTLI_cjs.checkPackageVersion(files, config);
|
|
11
11
|
try {
|
|
12
12
|
chunkMTAYUS7E_cjs.run(config, "git-lfs version");
|
|
13
13
|
} catch (error) {
|
|
@@ -20,5 +20,5 @@ Error: ${error?.message}`
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
exports.postMergeHook = postMergeHook;
|
|
23
|
-
//# sourceMappingURL=chunk-
|
|
24
|
-
//# sourceMappingURL=chunk-
|
|
23
|
+
//# sourceMappingURL=chunk-JORAXF7H.cjs.map
|
|
24
|
+
//# sourceMappingURL=chunk-JORAXF7H.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/post-merge.ts"],"names":["writeInfo","checkPackageVersion","run"],"mappings":";;;;;;;AAMA,eAAsB,aAAA,CACpB,QACA,KAAA,EACA;AACA,EAAAA,2BAAA,CAAU,8BAA8B,MAAM,CAAA;AAC9C,EAAAC,qCAAA,CAAoB,OAAO,MAAM,CAAA;AAEjC,EAAA,IAAI;AACF,IAAAC,qBAAA,CAAI,QAAQ,iBAAiB,CAAA;AAAA,EAC/B,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA;AAAA,OAAA,EACG,OAAiB,OACpB,CAAA;AAAA,KACF;AAAA,EACF;AAEA,EAAAA,qBAAA,CAAI,QAAQ,oBAAoB,CAAA;AAClC","file":"chunk-JORAXF7H.cjs","sourcesContent":["#!/usr/bin/env node\n\nimport { StormWorkspaceConfig } from \"@storm-software/config\";\nimport { run, writeInfo } from \"@storm-software/config-tools\";\nimport { checkPackageVersion } from \"../utilities/check-package-version\";\n\nexport async function postMergeHook(\n config: StormWorkspaceConfig,\n files: string[]\n) {\n writeInfo(\"Running post-merge hook...\", config);\n checkPackageVersion(files, config);\n\n try {\n run(config, \"git-lfs version\");\n } catch (error) {\n throw new Error(\n `This repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/post-merge.\\nError: ${\n (error as Error)?.message\n }`\n );\n }\n\n run(config, \"git lfs post-merge\");\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { checkPackageVersion, isPackageVersionChanged, getLockFileName } from './chunk-XVWRXJFS.js';
|
|
2
|
+
import { writeInfo } from './chunk-42Y4PTRA.js';
|
|
3
|
+
|
|
4
|
+
// src/hooks/pre-commit.ts
|
|
5
|
+
async function preCommitHook(config, files) {
|
|
6
|
+
writeInfo("Running pre-commit hook...", config);
|
|
7
|
+
checkPackageVersion(files, config);
|
|
8
|
+
if (isPackageVersionChanged(files)) {
|
|
9
|
+
throw new Error(
|
|
10
|
+
`Please regenerate the ${getLockFileName(config.packageManager)} before committing...`
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { preCommitHook };
|
|
16
|
+
//# sourceMappingURL=chunk-KN36EKQK.js.map
|
|
17
|
+
//# sourceMappingURL=chunk-KN36EKQK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/pre-commit.ts"],"names":[],"mappings":";;;;AAUA,eAAsB,aAAA,CACpB,QACA,KAAA,EACA;AACA,EAAA,SAAA,CAAU,8BAA8B,MAAM,CAAA;AAE9C,EAAA,mBAAA,CAAoB,OAAO,MAAM,CAAA;AACjC,EAAA,IAAI,uBAAA,CAAwB,KAAK,CAAA,EAAG;AAClC,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA,sBAAA,EAAyB,eAAA,CAAgB,MAAA,CAAO,cAAc,CAAC,CAAA,qBAAA;AAAA,KACjE;AAAA,EACF;AACF","file":"chunk-KN36EKQK.js","sourcesContent":["#!/usr/bin/env node\n\nimport { StormWorkspaceConfig } from \"@storm-software/config\";\nimport { writeInfo } from \"@storm-software/config-tools\";\nimport {\n checkPackageVersion,\n isPackageVersionChanged\n} from \"../utilities/check-package-version\";\nimport { getLockFileName } from \"../utilities/package-manager\";\n\nexport async function preCommitHook(\n config: StormWorkspaceConfig,\n files: string[]\n) {\n writeInfo(\"Running pre-commit hook...\", config);\n\n checkPackageVersion(files, config);\n if (isPackageVersionChanged(files)) {\n throw new Error(\n `Please regenerate the ${getLockFileName(config.packageManager)} before committing...`\n );\n }\n}\n"]}
|
|
@@ -7,10 +7,10 @@ var chunkNJMSWUK7_cjs = require('./chunk-NJMSWUK7.cjs');
|
|
|
7
7
|
async function prepareHook(config) {
|
|
8
8
|
chunkNJMSWUK7_cjs.writeInfo("Running prepare hook...", config);
|
|
9
9
|
if (!process.env.CI && !process.env.STORM_CI) {
|
|
10
|
-
chunkMTAYUS7E_cjs.run(config,
|
|
10
|
+
chunkMTAYUS7E_cjs.run(config, `${config.packageManager} lefthook install`);
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
exports.prepareHook = prepareHook;
|
|
15
|
-
//# sourceMappingURL=chunk-
|
|
16
|
-
//# sourceMappingURL=chunk-
|
|
15
|
+
//# sourceMappingURL=chunk-LJN53JNW.cjs.map
|
|
16
|
+
//# sourceMappingURL=chunk-LJN53JNW.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/prepare.ts"],"names":["writeInfo","run"],"mappings":";;;;;;AAKA,eAAsB,YAAY,MAAA,EAA8B;AAC9D,EAAAA,2BAAA,CAAU,2BAA2B,MAAM,CAAA;AAE3C,EAAA,IAAI,CAAC,OAAA,CAAQ,GAAA,CAAI,MAAM,CAAC,OAAA,CAAQ,IAAI,QAAA,EAAU;AAC5C,IAAAC,qBAAA,CAAI,MAAA,EAAQ,CAAA,EAAG,MAAA,CAAO,cAAc,CAAA,iBAAA,CAAmB,CAAA;AAAA,EACzD;AACF","file":"chunk-LJN53JNW.cjs","sourcesContent":["#!/usr/bin/env node\n\nimport { StormWorkspaceConfig } from \"@storm-software/config\";\nimport { run, writeInfo } from \"@storm-software/config-tools\";\n\nexport async function prepareHook(config: StormWorkspaceConfig) {\n writeInfo(\"Running prepare hook...\", config);\n\n if (!process.env.CI && !process.env.STORM_CI) {\n run(config, `${config.packageManager} lefthook install`);\n }\n}\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { checkPackageVersion } from './chunk-
|
|
1
|
+
import { checkPackageVersion } from './chunk-XVWRXJFS.js';
|
|
2
2
|
import { run } from './chunk-RPK5AKGK.js';
|
|
3
3
|
import { writeInfo } from './chunk-42Y4PTRA.js';
|
|
4
4
|
|
|
5
5
|
// src/hooks/post-commit.ts
|
|
6
6
|
async function postCommitHook(config, files) {
|
|
7
7
|
writeInfo("Running post-commit hook...", config);
|
|
8
|
-
checkPackageVersion(files);
|
|
8
|
+
checkPackageVersion(files, config);
|
|
9
9
|
try {
|
|
10
10
|
run(config, "git-lfs version");
|
|
11
11
|
} catch (error) {
|
|
@@ -18,5 +18,5 @@ Error: ${error?.message}`
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
export { postCommitHook };
|
|
21
|
-
//# sourceMappingURL=chunk-
|
|
22
|
-
//# sourceMappingURL=chunk-
|
|
21
|
+
//# sourceMappingURL=chunk-MHLCOIRK.js.map
|
|
22
|
+
//# sourceMappingURL=chunk-MHLCOIRK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/post-commit.ts"],"names":[],"mappings":";;;;;AAMA,eAAsB,cAAA,CACpB,QACA,KAAA,EACA;AACA,EAAA,SAAA,CAAU,+BAA+B,MAAM,CAAA;AAC/C,EAAA,mBAAA,CAAoB,OAAO,MAAM,CAAA;AAEjC,EAAA,IAAI;AACF,IAAA,GAAA,CAAI,QAAQ,iBAAiB,CAAA;AAAA,EAC/B,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA;AAAA,OAAA,EACG,OAAiB,OACpB,CAAA;AAAA,KACF;AAAA,EACF;AAEA,EAAA,GAAA,CAAI,QAAQ,qBAAqB,CAAA;AACnC","file":"chunk-MHLCOIRK.js","sourcesContent":["#!/usr/bin/env node\n\nimport { StormWorkspaceConfig } from \"@storm-software/config\";\nimport { run, writeInfo } from \"@storm-software/config-tools\";\nimport { checkPackageVersion } from \"../utilities/check-package-version\";\n\nexport async function postCommitHook(\n config: StormWorkspaceConfig,\n files: string[]\n) {\n writeInfo(\"Running post-commit hook...\", config);\n checkPackageVersion(files, config);\n\n try {\n run(config, \"git-lfs version\");\n } catch (error) {\n throw new Error(\n `This repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/post-commit.\\nError: ${\n (error as Error)?.message\n }`\n );\n }\n\n run(config, \"git lfs post-commit\");\n}\n"]}
|
|
@@ -8,9 +8,9 @@ async function preInstallHook(config) {
|
|
|
8
8
|
writeInfo("Skipping pre-install for CI process...", config);
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
11
|
-
run(config,
|
|
11
|
+
run(config, `npx -y only-allow ${config.packageManager}`);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
export { preInstallHook };
|
|
15
|
-
//# sourceMappingURL=chunk-
|
|
16
|
-
//# sourceMappingURL=chunk-
|
|
15
|
+
//# sourceMappingURL=chunk-S7XHJBRS.js.map
|
|
16
|
+
//# sourceMappingURL=chunk-S7XHJBRS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/pre-install.ts"],"names":[],"mappings":";;;;AAKA,eAAsB,eAAe,MAAA,EAA8B;AACjE,EAAA,SAAA,CAAU,+BAA+B,MAAM,CAAA;AAE/C,EAAA,IAAI,OAAA,CAAQ,QAAQ,GAAA,CAAI,EAAE,KAAK,OAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,QAAQ,CAAA,EAAG;AAC5D,IAAA,SAAA,CAAU,0CAA0C,MAAM,CAAA;AAC1D,IAAA;AAAA,EACF;AAEA,EAAA,GAAA,CAAI,MAAA,EAAQ,CAAA,kBAAA,EAAqB,MAAA,CAAO,cAAc,CAAA,CAAE,CAAA;AAC1D","file":"chunk-S7XHJBRS.js","sourcesContent":["#!/usr/bin/env node\n\nimport { StormWorkspaceConfig } from \"@storm-software/config\";\nimport { run, writeInfo } from \"@storm-software/config-tools\";\n\nexport async function preInstallHook(config: StormWorkspaceConfig) {\n writeInfo(\"Running pre-install hook...\", config);\n\n if (Boolean(process.env.CI) || Boolean(process.env.STORM_CI)) {\n writeInfo(\"Skipping pre-install for CI process...\", config);\n return;\n }\n\n run(config, `npx -y only-allow ${config.packageManager}`);\n}\n"]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
// src/utilities/package-manager.ts
|
|
4
|
+
var LOCK_FILE_BY_PACKAGE_MANAGER = {
|
|
5
|
+
npm: "package-lock.json",
|
|
6
|
+
yarn: "yarn.lock",
|
|
7
|
+
pnpm: "pnpm-lock.yaml",
|
|
8
|
+
bun: "bun.lock"
|
|
9
|
+
};
|
|
10
|
+
var OTHER_LOCK_FILES = {
|
|
11
|
+
npm: ["yarn.lock", "pnpm-lock.yaml", "bun.lock", "bun.lockb"],
|
|
12
|
+
yarn: ["package-lock.json", "pnpm-lock.yaml", "bun.lock", "bun.lockb"],
|
|
13
|
+
pnpm: ["package-lock.json", "yarn.lock", "bun.lock", "bun.lockb"],
|
|
14
|
+
bun: ["package-lock.json", "yarn.lock", "pnpm-lock.yaml", "bun.lockb"]
|
|
15
|
+
};
|
|
16
|
+
function getLockFileName(packageManager) {
|
|
17
|
+
return LOCK_FILE_BY_PACKAGE_MANAGER[packageManager];
|
|
18
|
+
}
|
|
19
|
+
function getOtherLockFileNames(packageManager) {
|
|
20
|
+
return OTHER_LOCK_FILES[packageManager];
|
|
21
|
+
}
|
|
22
|
+
function getInstallCommand(packageManager) {
|
|
23
|
+
switch (packageManager) {
|
|
24
|
+
case "npm":
|
|
25
|
+
return "npm i";
|
|
26
|
+
case "yarn":
|
|
27
|
+
return "yarn install";
|
|
28
|
+
case "pnpm":
|
|
29
|
+
return "pnpm i";
|
|
30
|
+
case "bun":
|
|
31
|
+
return "bun install";
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// src/utilities/check-package-version.ts
|
|
36
|
+
var isPackageVersionChanged = (files) => files?.some(
|
|
37
|
+
(arg) => arg.includes("package-lock.json") || arg.includes("yarn.lock") || arg.includes("pnpm-lock.json") || arg.includes("pnpm-lock.yaml") || arg.includes("pnpm-lock.yml") || arg.includes("bun.lock") || arg.includes("bun.lockb")
|
|
38
|
+
);
|
|
39
|
+
var checkPackageVersion = (files, config) => {
|
|
40
|
+
if (isPackageVersionChanged(files)) {
|
|
41
|
+
const lockFileName = getLockFileName(config.packageManager);
|
|
42
|
+
const installCommand = getInstallCommand(config.packageManager);
|
|
43
|
+
console.warn(
|
|
44
|
+
[
|
|
45
|
+
"\u26A0\uFE0F ----------------------------------------------------------------------------------------- \u26A0\uFE0F",
|
|
46
|
+
`\u26A0\uFE0F The ${lockFileName} file changed! Please run \`${installCommand}\` to ensure your packages are up to date. \u26A0\uFE0F`,
|
|
47
|
+
"\u26A0\uFE0F ----------------------------------------------------------------------------------------- \u26A0\uFE0F"
|
|
48
|
+
].join("\n")
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
exports.checkPackageVersion = checkPackageVersion;
|
|
54
|
+
exports.getInstallCommand = getInstallCommand;
|
|
55
|
+
exports.getLockFileName = getLockFileName;
|
|
56
|
+
exports.getOtherLockFileNames = getOtherLockFileNames;
|
|
57
|
+
exports.isPackageVersionChanged = isPackageVersionChanged;
|
|
58
|
+
//# sourceMappingURL=chunk-SP3UCTLI.cjs.map
|
|
59
|
+
//# sourceMappingURL=chunk-SP3UCTLI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/package-manager.ts","../../src/utilities/check-package-version.ts"],"names":[],"mappings":";;;AAMA,IAAM,4BAAA,GAA+D;AAAA,EACnE,GAAA,EAAK,mBAAA;AAAA,EACL,IAAA,EAAM,WAAA;AAAA,EACN,IAAA,EAAM,gBAAA;AAAA,EACN,GAAA,EAAK;AACP,CAAA;AAEA,IAAM,gBAAA,GAAqD;AAAA,EACzD,GAAA,EAAK,CAAC,WAAA,EAAa,gBAAA,EAAkB,YAAY,WAAW,CAAA;AAAA,EAC5D,IAAA,EAAM,CAAC,mBAAA,EAAqB,gBAAA,EAAkB,YAAY,WAAW,CAAA;AAAA,EACrE,IAAA,EAAM,CAAC,mBAAA,EAAqB,WAAA,EAAa,YAAY,WAAW,CAAA;AAAA,EAChE,GAAA,EAAK,CAAC,mBAAA,EAAqB,WAAA,EAAa,kBAAkB,WAAW;AACvE,CAAA;AAEO,SAAS,gBACd,cAAA,EACQ;AACR,EAAA,OAAO,6BAA6B,cAAc,CAAA;AACpD;AAEO,SAAS,sBACd,cAAA,EACU;AACV,EAAA,OAAO,iBAAiB,cAAc,CAAA;AACxC;AAEO,SAAS,kBACd,cAAA,EACQ;AACR,EAAA,QAAQ,cAAA;AAAgB,IACtB,KAAK,KAAA;AACH,MAAA,OAAO,OAAA;AAAA,IACT,KAAK,MAAA;AACH,MAAA,OAAO,cAAA;AAAA,IACT,KAAK,MAAA;AACH,MAAA,OAAO,QAAA;AAAA,IACT,KAAK,KAAA;AACH,MAAA,OAAO,aAAA;AAAA;AAEb;;;ACpCO,IAAM,uBAAA,GAA0B,CAAC,KAAA,KACtC,KAAA,EAAO,IAAA;AAAA,EACL,CAAA,GAAA,KACE,GAAA,CAAI,QAAA,CAAS,mBAAmB,CAAA,IAChC,GAAA,CAAI,QAAA,CAAS,WAAW,CAAA,IACxB,GAAA,CAAI,QAAA,CAAS,gBAAgB,CAAA,IAC7B,GAAA,CAAI,QAAA,CAAS,gBAAgB,CAAA,IAC7B,GAAA,CAAI,QAAA,CAAS,eAAe,CAAA,IAC5B,GAAA,CAAI,QAAA,CAAS,UAAU,CAAA,IACvB,GAAA,CAAI,QAAA,CAAS,WAAW;AAC5B;AAQK,IAAM,mBAAA,GAAsB,CACjC,KAAA,EACA,MAAA,KACG;AACH,EAAA,IAAI,uBAAA,CAAwB,KAAK,CAAA,EAAG;AAClC,IAAA,MAAM,YAAA,GAAe,eAAA,CAAgB,MAAA,CAAO,cAAc,CAAA;AAC1D,IAAA,MAAM,cAAA,GAAiB,iBAAA,CAAkB,MAAA,CAAO,cAAc,CAAA;AAE9D,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN;AAAA,QACE,qHAAA;AAAA,QACA,CAAA,kBAAA,EAAW,YAAY,CAAA,4BAAA,EAA+B,cAAc,CAAA,wDAAA,CAAA;AAAA,QACpE;AAAA,OACF,CAAE,KAAK,IAAI;AAAA,KACb;AAAA,EACF;AACF","file":"chunk-SP3UCTLI.cjs","sourcesContent":["import type { StormWorkspaceConfig } from \"@storm-software/config\";\n\nexport type PackageManager = NonNullable<\n StormWorkspaceConfig[\"packageManager\"]\n>;\n\nconst LOCK_FILE_BY_PACKAGE_MANAGER: Record<PackageManager, string> = {\n npm: \"package-lock.json\",\n yarn: \"yarn.lock\",\n pnpm: \"pnpm-lock.yaml\",\n bun: \"bun.lock\"\n};\n\nconst OTHER_LOCK_FILES: Record<PackageManager, string[]> = {\n npm: [\"yarn.lock\", \"pnpm-lock.yaml\", \"bun.lock\", \"bun.lockb\"],\n yarn: [\"package-lock.json\", \"pnpm-lock.yaml\", \"bun.lock\", \"bun.lockb\"],\n pnpm: [\"package-lock.json\", \"yarn.lock\", \"bun.lock\", \"bun.lockb\"],\n bun: [\"package-lock.json\", \"yarn.lock\", \"pnpm-lock.yaml\", \"bun.lockb\"]\n};\n\nexport function getLockFileName(\n packageManager: PackageManager\n): string {\n return LOCK_FILE_BY_PACKAGE_MANAGER[packageManager];\n}\n\nexport function getOtherLockFileNames(\n packageManager: PackageManager\n): string[] {\n return OTHER_LOCK_FILES[packageManager];\n}\n\nexport function getInstallCommand(\n packageManager: PackageManager\n): string {\n switch (packageManager) {\n case \"npm\":\n return \"npm i\";\n case \"yarn\":\n return \"yarn install\";\n case \"pnpm\":\n return \"pnpm i\";\n case \"bun\":\n return \"bun install\";\n }\n}\n","import type { StormWorkspaceConfig } from \"@storm-software/config\";\nimport { getInstallCommand, getLockFileName } from \"./package-manager\";\n\n/**\n * Checks if the package version has changed by looking for changes in lock files.\n *\n * @param files - An array of file paths to check for changes. Typically, this would be the list of files changed in a git commit or checkout.\n * @returns true if any of the lock files have changed, indicating a potential change in package versions; otherwise, false.\n */\nexport const isPackageVersionChanged = (files: string[]) =>\n files?.some(\n arg =>\n arg.includes(\"package-lock.json\") ||\n arg.includes(\"yarn.lock\") ||\n arg.includes(\"pnpm-lock.json\") ||\n arg.includes(\"pnpm-lock.yaml\") ||\n arg.includes(\"pnpm-lock.yml\") ||\n arg.includes(\"bun.lock\") ||\n arg.includes(\"bun.lockb\")\n );\n\n/**\n * Checks if the package version has changed and logs a warning if it has. This function is typically used in git hooks to alert developers to run the configured package manager install command when lock files have changed, ensuring that their local environment is up to date with the latest dependencies.\n *\n * @param files - An array of file paths to check for changes. Typically, this would be the list of files changed in a git commit or checkout.\n * @param config - The workspace configuration used to determine the package manager and install command.\n */\nexport const checkPackageVersion = (\n files: string[],\n config: StormWorkspaceConfig\n) => {\n if (isPackageVersionChanged(files)) {\n const lockFileName = getLockFileName(config.packageManager);\n const installCommand = getInstallCommand(config.packageManager);\n\n console.warn(\n [\n \"⚠️ ----------------------------------------------------------------------------------------- ⚠️\",\n `⚠️ The ${lockFileName} file changed! Please run \\`${installCommand}\\` to ensure your packages are up to date. ⚠️`,\n \"⚠️ ----------------------------------------------------------------------------------------- ⚠️\"\n ].join(\"\\n\")\n );\n }\n};\n"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkSP3UCTLI_cjs = require('./chunk-SP3UCTLI.cjs');
|
|
4
4
|
var chunkMTAYUS7E_cjs = require('./chunk-MTAYUS7E.cjs');
|
|
5
5
|
var chunkNJMSWUK7_cjs = require('./chunk-NJMSWUK7.cjs');
|
|
6
6
|
|
|
7
7
|
// src/hooks/post-checkout.ts
|
|
8
8
|
async function postCheckoutHook(config, files) {
|
|
9
9
|
chunkNJMSWUK7_cjs.writeInfo("Running post-checkout hook...", config);
|
|
10
|
-
|
|
10
|
+
chunkSP3UCTLI_cjs.checkPackageVersion(files, config);
|
|
11
11
|
try {
|
|
12
12
|
chunkMTAYUS7E_cjs.run(config, "git-lfs version");
|
|
13
13
|
} catch (error) {
|
|
@@ -20,5 +20,5 @@ Error: ${error?.message}`
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
exports.postCheckoutHook = postCheckoutHook;
|
|
23
|
-
//# sourceMappingURL=chunk-
|
|
24
|
-
//# sourceMappingURL=chunk-
|
|
23
|
+
//# sourceMappingURL=chunk-XQOIAFJG.cjs.map
|
|
24
|
+
//# sourceMappingURL=chunk-XQOIAFJG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/post-checkout.ts"],"names":["writeInfo","checkPackageVersion","run"],"mappings":";;;;;;;AAMA,eAAsB,gBAAA,CACpB,QACA,KAAA,EACA;AACA,EAAAA,2BAAA,CAAU,iCAAiC,MAAM,CAAA;AACjD,EAAAC,qCAAA,CAAoB,OAAO,MAAM,CAAA;AAEjC,EAAA,IAAI;AACF,IAAAC,qBAAA,CAAI,QAAQ,iBAAiB,CAAA;AAAA,EAC/B,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA;AAAA,OAAA,EACG,OAAiB,OACpB,CAAA;AAAA,KACF;AAAA,EACF;AAEA,EAAAA,qBAAA,CAAI,QAAQ,uBAAuB,CAAA;AACrC","file":"chunk-XQOIAFJG.cjs","sourcesContent":["#!/usr/bin/env node\n\nimport { StormWorkspaceConfig } from \"@storm-software/config\";\nimport { run, writeInfo } from \"@storm-software/config-tools\";\nimport { checkPackageVersion } from \"../utilities/check-package-version\";\n\nexport async function postCheckoutHook(\n config: StormWorkspaceConfig,\n files: string[]\n) {\n writeInfo(\"Running post-checkout hook...\", config);\n checkPackageVersion(files, config);\n\n try {\n run(config, \"git-lfs version\");\n } catch (error) {\n throw new Error(\n `This repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/post-checkout.\\nError: ${\n (error as Error)?.message\n }`\n );\n }\n\n run(config, \"git lfs post-checkout\");\n}\n"]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// src/utilities/package-manager.ts
|
|
2
|
+
var LOCK_FILE_BY_PACKAGE_MANAGER = {
|
|
3
|
+
npm: "package-lock.json",
|
|
4
|
+
yarn: "yarn.lock",
|
|
5
|
+
pnpm: "pnpm-lock.yaml",
|
|
6
|
+
bun: "bun.lock"
|
|
7
|
+
};
|
|
8
|
+
var OTHER_LOCK_FILES = {
|
|
9
|
+
npm: ["yarn.lock", "pnpm-lock.yaml", "bun.lock", "bun.lockb"],
|
|
10
|
+
yarn: ["package-lock.json", "pnpm-lock.yaml", "bun.lock", "bun.lockb"],
|
|
11
|
+
pnpm: ["package-lock.json", "yarn.lock", "bun.lock", "bun.lockb"],
|
|
12
|
+
bun: ["package-lock.json", "yarn.lock", "pnpm-lock.yaml", "bun.lockb"]
|
|
13
|
+
};
|
|
14
|
+
function getLockFileName(packageManager) {
|
|
15
|
+
return LOCK_FILE_BY_PACKAGE_MANAGER[packageManager];
|
|
16
|
+
}
|
|
17
|
+
function getOtherLockFileNames(packageManager) {
|
|
18
|
+
return OTHER_LOCK_FILES[packageManager];
|
|
19
|
+
}
|
|
20
|
+
function getInstallCommand(packageManager) {
|
|
21
|
+
switch (packageManager) {
|
|
22
|
+
case "npm":
|
|
23
|
+
return "npm i";
|
|
24
|
+
case "yarn":
|
|
25
|
+
return "yarn install";
|
|
26
|
+
case "pnpm":
|
|
27
|
+
return "pnpm i";
|
|
28
|
+
case "bun":
|
|
29
|
+
return "bun install";
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// src/utilities/check-package-version.ts
|
|
34
|
+
var isPackageVersionChanged = (files) => files?.some(
|
|
35
|
+
(arg) => arg.includes("package-lock.json") || arg.includes("yarn.lock") || arg.includes("pnpm-lock.json") || arg.includes("pnpm-lock.yaml") || arg.includes("pnpm-lock.yml") || arg.includes("bun.lock") || arg.includes("bun.lockb")
|
|
36
|
+
);
|
|
37
|
+
var checkPackageVersion = (files, config) => {
|
|
38
|
+
if (isPackageVersionChanged(files)) {
|
|
39
|
+
const lockFileName = getLockFileName(config.packageManager);
|
|
40
|
+
const installCommand = getInstallCommand(config.packageManager);
|
|
41
|
+
console.warn(
|
|
42
|
+
[
|
|
43
|
+
"\u26A0\uFE0F ----------------------------------------------------------------------------------------- \u26A0\uFE0F",
|
|
44
|
+
`\u26A0\uFE0F The ${lockFileName} file changed! Please run \`${installCommand}\` to ensure your packages are up to date. \u26A0\uFE0F`,
|
|
45
|
+
"\u26A0\uFE0F ----------------------------------------------------------------------------------------- \u26A0\uFE0F"
|
|
46
|
+
].join("\n")
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export { checkPackageVersion, getInstallCommand, getLockFileName, getOtherLockFileNames, isPackageVersionChanged };
|
|
52
|
+
//# sourceMappingURL=chunk-XVWRXJFS.js.map
|
|
53
|
+
//# sourceMappingURL=chunk-XVWRXJFS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/package-manager.ts","../../src/utilities/check-package-version.ts"],"names":[],"mappings":";AAMA,IAAM,4BAAA,GAA+D;AAAA,EACnE,GAAA,EAAK,mBAAA;AAAA,EACL,IAAA,EAAM,WAAA;AAAA,EACN,IAAA,EAAM,gBAAA;AAAA,EACN,GAAA,EAAK;AACP,CAAA;AAEA,IAAM,gBAAA,GAAqD;AAAA,EACzD,GAAA,EAAK,CAAC,WAAA,EAAa,gBAAA,EAAkB,YAAY,WAAW,CAAA;AAAA,EAC5D,IAAA,EAAM,CAAC,mBAAA,EAAqB,gBAAA,EAAkB,YAAY,WAAW,CAAA;AAAA,EACrE,IAAA,EAAM,CAAC,mBAAA,EAAqB,WAAA,EAAa,YAAY,WAAW,CAAA;AAAA,EAChE,GAAA,EAAK,CAAC,mBAAA,EAAqB,WAAA,EAAa,kBAAkB,WAAW;AACvE,CAAA;AAEO,SAAS,gBACd,cAAA,EACQ;AACR,EAAA,OAAO,6BAA6B,cAAc,CAAA;AACpD;AAEO,SAAS,sBACd,cAAA,EACU;AACV,EAAA,OAAO,iBAAiB,cAAc,CAAA;AACxC;AAEO,SAAS,kBACd,cAAA,EACQ;AACR,EAAA,QAAQ,cAAA;AAAgB,IACtB,KAAK,KAAA;AACH,MAAA,OAAO,OAAA;AAAA,IACT,KAAK,MAAA;AACH,MAAA,OAAO,cAAA;AAAA,IACT,KAAK,MAAA;AACH,MAAA,OAAO,QAAA;AAAA,IACT,KAAK,KAAA;AACH,MAAA,OAAO,aAAA;AAAA;AAEb;;;ACpCO,IAAM,uBAAA,GAA0B,CAAC,KAAA,KACtC,KAAA,EAAO,IAAA;AAAA,EACL,CAAA,GAAA,KACE,GAAA,CAAI,QAAA,CAAS,mBAAmB,CAAA,IAChC,GAAA,CAAI,QAAA,CAAS,WAAW,CAAA,IACxB,GAAA,CAAI,QAAA,CAAS,gBAAgB,CAAA,IAC7B,GAAA,CAAI,QAAA,CAAS,gBAAgB,CAAA,IAC7B,GAAA,CAAI,QAAA,CAAS,eAAe,CAAA,IAC5B,GAAA,CAAI,QAAA,CAAS,UAAU,CAAA,IACvB,GAAA,CAAI,QAAA,CAAS,WAAW;AAC5B;AAQK,IAAM,mBAAA,GAAsB,CACjC,KAAA,EACA,MAAA,KACG;AACH,EAAA,IAAI,uBAAA,CAAwB,KAAK,CAAA,EAAG;AAClC,IAAA,MAAM,YAAA,GAAe,eAAA,CAAgB,MAAA,CAAO,cAAc,CAAA;AAC1D,IAAA,MAAM,cAAA,GAAiB,iBAAA,CAAkB,MAAA,CAAO,cAAc,CAAA;AAE9D,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN;AAAA,QACE,qHAAA;AAAA,QACA,CAAA,kBAAA,EAAW,YAAY,CAAA,4BAAA,EAA+B,cAAc,CAAA,wDAAA,CAAA;AAAA,QACpE;AAAA,OACF,CAAE,KAAK,IAAI;AAAA,KACb;AAAA,EACF;AACF","file":"chunk-XVWRXJFS.js","sourcesContent":["import type { StormWorkspaceConfig } from \"@storm-software/config\";\n\nexport type PackageManager = NonNullable<\n StormWorkspaceConfig[\"packageManager\"]\n>;\n\nconst LOCK_FILE_BY_PACKAGE_MANAGER: Record<PackageManager, string> = {\n npm: \"package-lock.json\",\n yarn: \"yarn.lock\",\n pnpm: \"pnpm-lock.yaml\",\n bun: \"bun.lock\"\n};\n\nconst OTHER_LOCK_FILES: Record<PackageManager, string[]> = {\n npm: [\"yarn.lock\", \"pnpm-lock.yaml\", \"bun.lock\", \"bun.lockb\"],\n yarn: [\"package-lock.json\", \"pnpm-lock.yaml\", \"bun.lock\", \"bun.lockb\"],\n pnpm: [\"package-lock.json\", \"yarn.lock\", \"bun.lock\", \"bun.lockb\"],\n bun: [\"package-lock.json\", \"yarn.lock\", \"pnpm-lock.yaml\", \"bun.lockb\"]\n};\n\nexport function getLockFileName(\n packageManager: PackageManager\n): string {\n return LOCK_FILE_BY_PACKAGE_MANAGER[packageManager];\n}\n\nexport function getOtherLockFileNames(\n packageManager: PackageManager\n): string[] {\n return OTHER_LOCK_FILES[packageManager];\n}\n\nexport function getInstallCommand(\n packageManager: PackageManager\n): string {\n switch (packageManager) {\n case \"npm\":\n return \"npm i\";\n case \"yarn\":\n return \"yarn install\";\n case \"pnpm\":\n return \"pnpm i\";\n case \"bun\":\n return \"bun install\";\n }\n}\n","import type { StormWorkspaceConfig } from \"@storm-software/config\";\nimport { getInstallCommand, getLockFileName } from \"./package-manager\";\n\n/**\n * Checks if the package version has changed by looking for changes in lock files.\n *\n * @param files - An array of file paths to check for changes. Typically, this would be the list of files changed in a git commit or checkout.\n * @returns true if any of the lock files have changed, indicating a potential change in package versions; otherwise, false.\n */\nexport const isPackageVersionChanged = (files: string[]) =>\n files?.some(\n arg =>\n arg.includes(\"package-lock.json\") ||\n arg.includes(\"yarn.lock\") ||\n arg.includes(\"pnpm-lock.json\") ||\n arg.includes(\"pnpm-lock.yaml\") ||\n arg.includes(\"pnpm-lock.yml\") ||\n arg.includes(\"bun.lock\") ||\n arg.includes(\"bun.lockb\")\n );\n\n/**\n * Checks if the package version has changed and logs a warning if it has. This function is typically used in git hooks to alert developers to run the configured package manager install command when lock files have changed, ensuring that their local environment is up to date with the latest dependencies.\n *\n * @param files - An array of file paths to check for changes. Typically, this would be the list of files changed in a git commit or checkout.\n * @param config - The workspace configuration used to determine the package manager and install command.\n */\nexport const checkPackageVersion = (\n files: string[],\n config: StormWorkspaceConfig\n) => {\n if (isPackageVersionChanged(files)) {\n const lockFileName = getLockFileName(config.packageManager);\n const installCommand = getInstallCommand(config.packageManager);\n\n console.warn(\n [\n \"⚠️ ----------------------------------------------------------------------------------------- ⚠️\",\n `⚠️ The ${lockFileName} file changed! Please run \\`${installCommand}\\` to ensure your packages are up to date. ⚠️`,\n \"⚠️ ----------------------------------------------------------------------------------------- ⚠️\"\n ].join(\"\\n\")\n );\n }\n};\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { checkPackageVersion } from './chunk-
|
|
1
|
+
import { checkPackageVersion } from './chunk-XVWRXJFS.js';
|
|
2
2
|
import { run } from './chunk-RPK5AKGK.js';
|
|
3
3
|
import { writeInfo } from './chunk-42Y4PTRA.js';
|
|
4
4
|
|
|
5
5
|
// src/hooks/post-checkout.ts
|
|
6
6
|
async function postCheckoutHook(config, files) {
|
|
7
7
|
writeInfo("Running post-checkout hook...", config);
|
|
8
|
-
checkPackageVersion(files);
|
|
8
|
+
checkPackageVersion(files, config);
|
|
9
9
|
try {
|
|
10
10
|
run(config, "git-lfs version");
|
|
11
11
|
} catch (error) {
|
|
@@ -18,5 +18,5 @@ Error: ${error?.message}`
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
export { postCheckoutHook };
|
|
21
|
-
//# sourceMappingURL=chunk-
|
|
22
|
-
//# sourceMappingURL=chunk-
|
|
21
|
+
//# sourceMappingURL=chunk-YKPFFJLQ.js.map
|
|
22
|
+
//# sourceMappingURL=chunk-YKPFFJLQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/post-checkout.ts"],"names":[],"mappings":";;;;;AAMA,eAAsB,gBAAA,CACpB,QACA,KAAA,EACA;AACA,EAAA,SAAA,CAAU,iCAAiC,MAAM,CAAA;AACjD,EAAA,mBAAA,CAAoB,OAAO,MAAM,CAAA;AAEjC,EAAA,IAAI;AACF,IAAA,GAAA,CAAI,QAAQ,iBAAiB,CAAA;AAAA,EAC/B,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,CAAA;AAAA,OAAA,EACG,OAAiB,OACpB,CAAA;AAAA,KACF;AAAA,EACF;AAEA,EAAA,GAAA,CAAI,QAAQ,uBAAuB,CAAA;AACrC","file":"chunk-YKPFFJLQ.js","sourcesContent":["#!/usr/bin/env node\n\nimport { StormWorkspaceConfig } from \"@storm-software/config\";\nimport { run, writeInfo } from \"@storm-software/config-tools\";\nimport { checkPackageVersion } from \"../utilities/check-package-version\";\n\nexport async function postCheckoutHook(\n config: StormWorkspaceConfig,\n files: string[]\n) {\n writeInfo(\"Running post-checkout hook...\", config);\n checkPackageVersion(files, config);\n\n try {\n run(config, \"git-lfs version\");\n } catch (error) {\n throw new Error(\n `This repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/post-checkout.\\nError: ${\n (error as Error)?.message\n }`\n );\n }\n\n run(config, \"git lfs post-checkout\");\n}\n"]}
|
|
@@ -5,10 +5,10 @@ import { writeInfo } from './chunk-42Y4PTRA.js';
|
|
|
5
5
|
async function prepareHook(config) {
|
|
6
6
|
writeInfo("Running prepare hook...", config);
|
|
7
7
|
if (!process.env.CI && !process.env.STORM_CI) {
|
|
8
|
-
run(config,
|
|
8
|
+
run(config, `${config.packageManager} lefthook install`);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
export { prepareHook };
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
14
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-YNYCZK6A.js.map
|
|
14
|
+
//# sourceMappingURL=chunk-YNYCZK6A.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/prepare.ts"],"names":[],"mappings":";;;;AAKA,eAAsB,YAAY,MAAA,EAA8B;AAC9D,EAAA,SAAA,CAAU,2BAA2B,MAAM,CAAA;AAE3C,EAAA,IAAI,CAAC,OAAA,CAAQ,GAAA,CAAI,MAAM,CAAC,OAAA,CAAQ,IAAI,QAAA,EAAU;AAC5C,IAAA,GAAA,CAAI,MAAA,EAAQ,CAAA,EAAG,MAAA,CAAO,cAAc,CAAA,iBAAA,CAAmB,CAAA;AAAA,EACzD;AACF","file":"chunk-YNYCZK6A.js","sourcesContent":["#!/usr/bin/env node\n\nimport { StormWorkspaceConfig } from \"@storm-software/config\";\nimport { run, writeInfo } from \"@storm-software/config-tools\";\n\nexport async function prepareHook(config: StormWorkspaceConfig) {\n writeInfo(\"Running prepare hook...\", config);\n\n if (!process.env.CI && !process.env.STORM_CI) {\n run(config, `${config.packageManager} lefthook install`);\n }\n}\n"]}
|
|
@@ -10,9 +10,9 @@ async function preInstallHook(config) {
|
|
|
10
10
|
chunkNJMSWUK7_cjs.writeInfo("Skipping pre-install for CI process...", config);
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
|
-
chunkMTAYUS7E_cjs.run(config,
|
|
13
|
+
chunkMTAYUS7E_cjs.run(config, `npx -y only-allow ${config.packageManager}`);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
exports.preInstallHook = preInstallHook;
|
|
17
|
-
//# sourceMappingURL=chunk-
|
|
18
|
-
//# sourceMappingURL=chunk-
|
|
17
|
+
//# sourceMappingURL=chunk-Z2M4I2BJ.cjs.map
|
|
18
|
+
//# sourceMappingURL=chunk-Z2M4I2BJ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/pre-install.ts"],"names":["writeInfo","run"],"mappings":";;;;;;AAKA,eAAsB,eAAe,MAAA,EAA8B;AACjE,EAAAA,2BAAA,CAAU,+BAA+B,MAAM,CAAA;AAE/C,EAAA,IAAI,OAAA,CAAQ,QAAQ,GAAA,CAAI,EAAE,KAAK,OAAA,CAAQ,OAAA,CAAQ,GAAA,CAAI,QAAQ,CAAA,EAAG;AAC5D,IAAAA,2BAAA,CAAU,0CAA0C,MAAM,CAAA;AAC1D,IAAA;AAAA,EACF;AAEA,EAAAC,qBAAA,CAAI,MAAA,EAAQ,CAAA,kBAAA,EAAqB,MAAA,CAAO,cAAc,CAAA,CAAE,CAAA;AAC1D","file":"chunk-Z2M4I2BJ.cjs","sourcesContent":["#!/usr/bin/env node\n\nimport { StormWorkspaceConfig } from \"@storm-software/config\";\nimport { run, writeInfo } from \"@storm-software/config-tools\";\n\nexport async function preInstallHook(config: StormWorkspaceConfig) {\n writeInfo(\"Running pre-install hook...\", config);\n\n if (Boolean(process.env.CI) || Boolean(process.env.STORM_CI)) {\n writeInfo(\"Skipping pre-install for CI process...\", config);\n return;\n }\n\n run(config, `npx -y only-allow ${config.packageManager}`);\n}\n"]}
|