Merge pull request #8363 from ahocevar/package-json-autogenerate
Autogenerate src/ol/package.json
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -3,3 +3,4 @@
|
||||
/dist/
|
||||
node_modules/
|
||||
src/index.js
|
||||
src/ol/package.json
|
||||
|
||||
10
package.json
10
package.json
@@ -16,9 +16,9 @@
|
||||
"serve-examples": "webpack-dev-server --config examples/webpack/config.js --mode development --watch",
|
||||
"build-examples": "webpack --config examples/webpack/config.js --mode production",
|
||||
"build-index": "node tasks/generate-index",
|
||||
"set-version": "node tasks/set-version",
|
||||
"prebuild": "npm run set-version && npm run build-index",
|
||||
"prepare": "npm run set-version",
|
||||
"prepare-package": "node tasks/prepare-package",
|
||||
"prebuild": "npm run prepare-package && npm run build-index",
|
||||
"prepare": "npm run prepare-package",
|
||||
"build": "rollup --config config/rollup.js && cleancss --source-map src/ol/ol.css -o build/ol.css",
|
||||
"presrc-closure": "npm run prebuild",
|
||||
"src-closure": "node tasks/transform-types",
|
||||
@@ -35,10 +35,6 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/openlayers/openlayers/issues"
|
||||
},
|
||||
"browser": "dist/ol.js",
|
||||
"style": [
|
||||
"css/ol.css"
|
||||
],
|
||||
"dependencies": {
|
||||
"pbf": "3.1.0",
|
||||
"pixelworks": "1.1.0",
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"name": "ol",
|
||||
"version": "5.0.2",
|
||||
"description": "OpenLayers mapping library",
|
||||
"main": "index.js",
|
||||
"module": "index.js",
|
||||
"license": "BSD-2-Clause",
|
||||
"dependencies": {
|
||||
"pbf": "3.1.0",
|
||||
"pixelworks": "1.1.0",
|
||||
"rbush": "2.0.2"
|
||||
},
|
||||
"sideEffects": false
|
||||
}
|
||||
27
tasks/prepare-package.js
Normal file
27
tasks/prepare-package.js
Normal file
@@ -0,0 +1,27 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const pkg = require('../package.json');
|
||||
|
||||
const util = require.resolve('../src/ol/util');
|
||||
const lines = fs.readFileSync(util, 'utf-8').split('\n');
|
||||
const versionRegEx = /const VERSION = '(.*)';$/;
|
||||
for (let i = 0, ii = lines.length; i < ii; ++i) {
|
||||
const line = lines[i];
|
||||
if (versionRegEx.test(line)) {
|
||||
lines[i] = line.replace(versionRegEx, `const VERSION = '${pkg.version}';`);
|
||||
break;
|
||||
}
|
||||
}
|
||||
fs.writeFileSync(util, lines.join('\n'), 'utf-8');
|
||||
|
||||
const src = path.join('src', 'ol');
|
||||
const packageJson = path.resolve(__dirname, path.join('..', src, 'package.json'));
|
||||
delete pkg.scripts;
|
||||
delete pkg.devDependencies;
|
||||
delete pkg.style;
|
||||
delete pkg.eslintConfig;
|
||||
const main = path.posix.relative(src, require.resolve(path.join('..', pkg.main)));
|
||||
pkg.main = pkg.module = main;
|
||||
pkg.name = 'ol';
|
||||
|
||||
fs.writeFileSync(packageJson, JSON.stringify(pkg, null, 2), 'utf-8');
|
||||
@@ -1,23 +0,0 @@
|
||||
const fs = require('fs');
|
||||
const pkg = require('../package.json');
|
||||
|
||||
const index = require.resolve('../src/ol/util');
|
||||
const lines = fs.readFileSync(index, 'utf-8').split('\n');
|
||||
|
||||
const versionRegEx = /const VERSION = '(.*)';$/;
|
||||
|
||||
for (let i = 0, ii = lines.length; i < ii; ++i) {
|
||||
const line = lines[i];
|
||||
if (versionRegEx.test(line)) {
|
||||
lines[i] = line.replace(versionRegEx, `const VERSION = '${pkg.version}';`);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
const packageJson = require.resolve('../src/ol/package.json');
|
||||
const packageJsonObj = JSON.parse(fs.readFileSync(packageJson, 'utf-8'));
|
||||
packageJsonObj.version = pkg.version;
|
||||
fs.writeFileSync(packageJson, JSON.stringify(packageJsonObj, null, 2), 'utf-8');
|
||||
|
||||
|
||||
fs.writeFileSync(index, lines.join('\n'), 'utf-8');
|
||||
Reference in New Issue
Block a user