From d1a609e0a388f921ecdd33dda45821d7cc4c0884 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Wed, 11 Jul 2018 09:35:42 +0200 Subject: [PATCH] Merge pull request #8363 from ahocevar/package-json-autogenerate Autogenerate src/ol/package.json --- .gitignore | 1 + package.json | 10 +++------- src/ol/package.json | 14 -------------- tasks/prepare-package.js | 27 +++++++++++++++++++++++++++ tasks/set-version.js | 23 ----------------------- 5 files changed, 31 insertions(+), 44 deletions(-) delete mode 100644 src/ol/package.json create mode 100644 tasks/prepare-package.js delete mode 100644 tasks/set-version.js diff --git a/.gitignore b/.gitignore index 749803a845..d914ce0fc6 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /dist/ node_modules/ src/index.js +src/ol/package.json diff --git a/package.json b/package.json index 4a9d6a27f5..2b2cfd50f7 100644 --- a/package.json +++ b/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", diff --git a/src/ol/package.json b/src/ol/package.json deleted file mode 100644 index c0da2137c2..0000000000 --- a/src/ol/package.json +++ /dev/null @@ -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" -} \ No newline at end of file diff --git a/tasks/prepare-package.js b/tasks/prepare-package.js new file mode 100644 index 0000000000..5397b5dc5a --- /dev/null +++ b/tasks/prepare-package.js @@ -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'); diff --git a/tasks/set-version.js b/tasks/set-version.js deleted file mode 100644 index db84c5210a..0000000000 --- a/tasks/set-version.js +++ /dev/null @@ -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');