Skip to content

Commit 9f958e4

Browse files
authored
pre-commit hook to check urls in package-lock.json (#192)
* pre-commit hook to check internal artifactory url * updated regex * updated regex
1 parent 30067b2 commit 9f958e4

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

vscode/esbuild.js

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
const { build } = require("esbuild");
2+
const fs = require('fs');
3+
const path = require('path');
24

35
const baseConfig = {
46
bundle: true,
@@ -28,7 +30,21 @@ const watchConfig = {
2830
},
2931
},
3032
};
31-
33+
34+
const NON_NPM_ARTIFACTORY = new RegExp(
35+
String.raw`"resolved"\s*:\s*"http[s]*://(?!registry.npmjs.org)[^"]+"`,
36+
"g"
37+
);
38+
39+
const checkAritfactoryUrl = () => {
40+
const data = fs.readFileSync(path.resolve(__dirname, 'package-lock.json'), { encoding: 'utf-8' });
41+
if (NON_NPM_ARTIFACTORY.test(data)) {
42+
throw new Error("Found references to the internal registry in the file package-lock.json. Please fix it");
43+
} else {
44+
console.log('No internal artifactory references found.');
45+
}
46+
}
47+
3248
(async () => {
3349
const args = process.argv.slice(2);
3450
try {
@@ -40,13 +56,15 @@ const watchConfig = {
4056
...watchConfig,
4157
});
4258
console.log("[watch] build finished");
59+
} else if(args.includes("--artifactory-check")){
60+
checkAritfactoryUrl();
4361
} else {
4462
// Build source code
4563
await build(scriptConfig);
4664
console.log("build complete");
4765
}
4866
} catch (err) {
49-
process.stderr.write(err.stderr);
67+
process.stderr.write(err.message);
5068
process.exit(1);
5169
}
5270
})();

vscode/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -760,8 +760,9 @@
760760
"test": "node ./out/test/runTest.js",
761761
"nbcode": "node ./out/nbcode.js",
762762
"nbjavac": "node ./out/nbcode.js -J-Dnetbeans.close=true --modules --install .*nbjavac.*",
763-
"apisupport": "node ./out/nbcode.js -J-Dnetbeans.close=true --modules --install '(org.netbeans.libs.xerces|org.netbeans.modules.editor.structure|org.netbeans.modules.xml|org.netbeans.modules.xml.axi|org.netbeans.modules.xml.retriever|org.netbeans.modules.xml.schema.model|org.netbeans.modules.xml.tax|org.netbeans.modules.xml.text|org.netbeans.modules.ant.browsetask|.*apisupport.*|org.netbeans.modules.debugger.jpda.ant)' && node ./out/nbcode.js -J-Dnetbeans.close=true --modules --enable .*apisupport.ant"
764-
},
763+
"apisupport": "node ./out/nbcode.js -J-Dnetbeans.close=true --modules --install '(org.netbeans.libs.xerces|org.netbeans.modules.editor.structure|org.netbeans.modules.xml|org.netbeans.modules.xml.axi|org.netbeans.modules.xml.retriever|org.netbeans.modules.xml.schema.model|org.netbeans.modules.xml.tax|org.netbeans.modules.xml.text|org.netbeans.modules.ant.browsetask|.*apisupport.*|org.netbeans.modules.debugger.jpda.ant)' && node ./out/nbcode.js -J-Dnetbeans.close=true --modules --enable .*apisupport.ant",
764+
"artifactory:check": "node ./esbuild.js --artifactory-check"
765+
},
765766
"devDependencies": {
766767
"@types/glob": "^7.1.1",
767768
"@types/mocha": "^9.0.0",

0 commit comments

Comments
 (0)