Skip to content
Snippets Groups Projects
Commit bfd656d0 authored by Millicent Billette's avatar Millicent Billette
Browse files

better build process

parent 6d5b91dd
Branches
Tags
No related merge requests found
...@@ -44,7 +44,6 @@ pages: ...@@ -44,7 +44,6 @@ pages:
npm: npm:
stage: publish stage: publish
image: node:latest image: node:latest
# dependencies: ["build"]
script: script:
- cd ./generated/npm - cd ./generated/npm
- echo '//registry.npmjs.org/:_authToken=${NPM_TOKEN}'>.npmrc - echo '//registry.npmjs.org/:_authToken=${NPM_TOKEN}'>.npmrc
......
...@@ -4,11 +4,11 @@ fs.readdirSync('src/').forEach(fileName => { ...@@ -4,11 +4,11 @@ fs.readdirSync('src/').forEach(fileName => {
const orgContent = fs.readFileSync(`src/${fileName}`, 'utf8').replace(/from '\.\.\//g, 'from \'../../'); const orgContent = fs.readFileSync(`src/${fileName}`, 'utf8').replace(/from '\.\.\//g, 'from \'../../');
fs.writeFileSync(`generated/cov-env/${fileName}`, orgContent); fs.writeFileSync(`generated/cov-env/${fileName}`, orgContent);
if (!fileName.includes('.test.')) return; if (!fileName.includes('.test.')) return;
fs.writeFileSync(`generated/npm/${fileName}`, orgContent); fs.writeFileSync(`generated/minified/${fileName}`, orgContent);
const allJsTest = orgContent.replace( const allJsTest = orgContent.replace(
/import \* as app from '\.\/(crypto)\.mjs';/, /import \* as app from '\.\/(crypto)\.mjs';/,
(full, libName) => `import {${libName} as app} from './all.mjs';`); (full, libName) => `import {${libName} as app} from './all.mjs';`);
fs.writeFileSync(`generated/cov-env/all.${fileName}`, allJsTest); fs.writeFileSync(`generated/cov-env/all.${fileName}`, allJsTest);
fs.writeFileSync(`generated/npm/all.${fileName}`, allJsTest); fs.writeFileSync(`generated/minified/all.${fileName}`, allJsTest);
}); });
fs.writeFileSync('generated/cov-env/package.json', fs.readFileSync('package.json', 'utf8')); fs.writeFileSync('generated/cov-env/package.json', fs.readFileSync('package.json', 'utf8'));
const fs = require('fs');
const toRollup = [];
fs.readdirSync('src/').forEach(fileName => (fileName.includes('.test.mjs')) ? 0 : toRollup.push({
input: `src/${fileName}`,
output: {
file: `generated/npm/${fileName}`,
format: 'esm'
}
}));
export default toRollup;
...@@ -19,11 +19,5 @@ ...@@ -19,11 +19,5 @@
"bugs": { "bugs": {
"url": "https://framagit.org/g1/g1lib.js/-/issues" "url": "https://framagit.org/g1/g1lib.js/-/issues"
}, },
"license": "AGPL-3.0", "license": "AGPL-3.0"
"c8": {
"all": true,
"report-dir": "../cov-dead-code-deletion",
"temp-dir": "../nyc_output.temp",
"reporter": ["json"]
}
} }
This diff is collapsed.
...@@ -10,18 +10,12 @@ ...@@ -10,18 +10,12 @@
"build:mk:minfied": "mkdirp generated/minified", "build:mk:minfied": "mkdirp generated/minified",
"build:mk:vendors": "mkdirp generated/vendors", "build:mk:vendors": "mkdirp generated/vendors",
"build:vendors": "node CI/build.js", "build:vendors": "node CI/build.js",
"build:npm:all": "rollup src/all.mjs --format esm --file generated/npm/all.mjs", "build:npm:rollup": "rollup --config CI/rollup.config.js",
"build:npm:basex": "rollup src/basex.mjs --format esm --file generated/npm/basex.mjs",
"build:npm:crypto": "rollup src/crypto.mjs --format esm --file generated/npm/crypto.mjs",
"build:npm:dictionaryBuilder": "rollup src/dictionary-builder.mjs --format esm --file generated/npm/dictionary-builder.mjs",
"build:npm:cp": "cp npm/* generated/npm/", "build:npm:cp": "cp npm/* generated/npm/",
"build:npm:cp:readme": "cp README* generated/npm/", "build:npm:cp:readme": "cp README* generated/npm/",
"build:npm:test2npm": "node CI/gen-prod-test.js", "build:npm:test2npm": "node CI/gen-prod-test.js",
"xbuild:npm:coverageForDeadCodeDeletion": "cd generated/npm/ && c8 ava", "xbuild:npm:coverageForDeadCodeDeletion": "cd generated/npm/ && c8 ava",
"build:npm:min:all": "terser generated/npm/all.mjs -o generated/minified/all.mjs", "build:npm:min:terser": "ucompress --source generated/npm/ --dest generated/minified/",
"build:npm:min:basex": "terser generated/npm/basex.mjs -o generated/minified/basex.mjs",
"build:npm:min:crypto": "terser generated/npm/crypto.mjs -o generated/minified/crypto.mjs",
"build:npm:min:dictionaryBuilder": "terser generated/npm/dictionary-builder.mjs -o generated/minified/dictionary-builder.mjs",
"test": "run-s test:dev", "test": "run-s test:dev",
"test:dev": "run-p test:dev:**", "test:dev": "run-p test:dev:**",
"test:dev:qualityCheck": "xo", "test:dev:qualityCheck": "xo",
...@@ -34,8 +28,9 @@ ...@@ -34,8 +28,9 @@
"test:production:complexity": "./node_modules/.bin/es6-plato -r -d generated/maintainability ./src/*", "test:production:complexity": "./node_modules/.bin/es6-plato -r -d generated/maintainability ./src/*",
"test:production:complexity:badgesAndThreshold": "node CI/plato-badges.js", "test:production:complexity:badgesAndThreshold": "node CI/plato-badges.js",
"test:production:srcCoverage": "cd generated/cov-env/ && c8 ava", "test:production:srcCoverage": "cd generated/cov-env/ && c8 ava",
"test:production:testMinified": "cd generated/npm/ && cp -rf ../minified/* ./ && ava", "test:production:testMinified": "cd generated/minified/ && ava",
"test:production:clean": "rm -rf generated/npm/*.test.mjs generated/npm/node_modules" "test:production:clean": "rm -rf generated/minified/*.test.mjs",
"test:production:minified2npm": "cp -rf generated/minified/* generated/npm/"
}, },
"dependencies": { "dependencies": {
"@thi.ng/base-n": "^0.1.6", "@thi.ng/base-n": "^0.1.6",
...@@ -57,6 +52,7 @@ ...@@ -57,6 +52,7 @@
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"rollup": "^2.42.4", "rollup": "^2.42.4",
"terser": "^5.6.1", "terser": "^5.6.1",
"ucompress": "^0.21.2",
"xo": "^0.38.2" "xo": "^0.38.2"
}, },
"disabledDependenciesTODOAddComplexityQualityCheck": { "disabledDependenciesTODOAddComplexityQualityCheck": {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment