diff --git a/angular.json b/angular.json index 9e9bb3be3..104f27aa6 100644 --- a/angular.json +++ b/angular.json @@ -98,6 +98,10 @@ "jestConfig": "apps/xlayers/jest.config.js", "passWithNoTests": true } + }, + "stamp": { + "builder": "@xlayers/version-stamp:stamp", + "options": {} } } }, diff --git a/package-lock.json b/package-lock.json index f531e9999..70068e448 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4803,6 +4803,16 @@ "@xtuc/long": "4.2.2" } }, + "@xlayers/version-stamp": { + "version": "0.0.1", + "resolved": "http://localhost:4873/@xlayers%2fversion-stamp/-/version-stamp-0.0.1.tgz", + "integrity": "sha512-N9nZiyHwSTKrA1dNmwW2PsksYthvgab2D92ujIw2CyGIarOzUS36VvL++pCP8/6fTaqee1flwimnajujvD2pGw==", + "dev": true, + "requires": { + "replace-in-file": "^6.1.0", + "simple-git": "^2.20.1" + } + }, "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", diff --git a/package.json b/package.json index e0ea93137..44f1c2984 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "update": "ng update @nrwl/workspace", "workspace-schematic": "nx workspace-schematic", "dep-graph": "nx dep-graph", - "stamp": "node tools/stamp.js", + "stamp": "ng run xlayers:stamp", "release": "release-it --config .release-it.json", "deploy": "npm run build -- --prod && npm run stamp && firebase deploy --only hosting", "help": "nx help" @@ -83,6 +83,8 @@ "@types/jest": "26.0.8", "@types/node": "^8.10.64", "@types/sketchapp": "^56.0.0", + "@xlayers/version-stamp": "0.0.1", + "adm-zip": ">=0.4.11", "codelyzer": "~5.0.1", "cypress": "^4.1.0", "cypress-file-upload": "^4.0.7", @@ -101,8 +103,7 @@ "ts-node": "~7.0.0", "tslint": "~6.0.0", "typescript": "3.9.7", - "url-parse": ">=1.4.3", - "adm-zip": ">=0.4.11" + "url-parse": ">=1.4.3" }, "lint-staged": { "*.{ts,json,md}": [ diff --git a/tools/stamp.js b/tools/stamp.js deleted file mode 100644 index 8643e002c..000000000 --- a/tools/stamp.js +++ /dev/null @@ -1,28 +0,0 @@ -const simpleGit = require('simple-git'); -const replace = require('replace-in-file'); -const git = simpleGit(); - -/** Get build number from current git revision */ -const getBuildNumber = () => - Promise.all([ - git.revparse(['--abbrev-ref', 'HEAD']), - git.revparse(['--short', 'HEAD']), - ]).then(([b, v]) => `${b}+sha.${v}`); - -/** Replace _BUILD_HASH_ in dist files with the current build number */ -const replaceBuildHash = (buildNumber) => - replace({ - from: /_BUILD_HASH_/g, - to: buildNumber, - files: 'dist/**/**/*.js', - }).then(() => buildNumber); - -// Run script -getBuildNumber() - .then(replaceBuildHash) - .then((buildNumber) => { - console.log(`Build was stamped: ${buildNumber}`); - }) - .catch((e) => { - console.error('Could not stamp this build!', e); - });