diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a8d60c16..8beeb999 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -51,6 +51,7 @@ build: stage: build before_script: - yarn install --immutable + - if [[ ! -z ${CI_COMMIT_TAG+x} ]]; then export NODE_ENV=production; fi script: - yarn build - mv dist ds4 diff --git a/package.json b/package.json index 4e1042d8..3d88c228 100644 --- a/package.json +++ b/package.json @@ -78,6 +78,8 @@ "lint-staged": "11.2.6", "prettier": "2.4.1", "rollup": "2.58.3", + "rollup-plugin-sourcemaps": "^0.6.3", + "rollup-plugin-terser": "^7.0.2", "rollup-plugin-typescript2": "0.30.0", "sass": "1.43.3", "semver": "7.3.5", diff --git a/rollup.config.js b/rollup.config.js index 3594effa..8699a6ea 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -3,6 +3,8 @@ // SPDX-License-Identifier: MIT const typescript = require("rollup-plugin-typescript2"); +const sourcemaps = require("rollup-plugin-sourcemaps"); +const { terser } = require("rollup-plugin-terser"); module.exports = { input: "src/module/ds4.ts", @@ -11,5 +13,5 @@ module.exports = { format: "es", sourcemap: true, }, - plugins: [typescript({})], + plugins: [sourcemaps(), typescript({}), process.env.NODE_ENV === "production" && terser()], }; diff --git a/yarn.lock b/yarn.lock index 9e5c1865..bb15d28e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14,6 +14,15 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.10.4": + version: 7.15.8 + resolution: "@babel/code-frame@npm:7.15.8" + dependencies: + "@babel/highlight": ^7.14.5 + checksum: d75950f0e0925b33ab5e870079134509c13bcdbf96c8bf4d0dea91606775bc044258c762104ab20882fda3b07cbff24176ed77dfb57af5a901bde33ddfe690bb + languageName: node + linkType: hard + "@babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.14.5": version: 7.14.5 resolution: "@babel/code-frame@npm:7.14.5" @@ -1316,6 +1325,19 @@ __metadata: languageName: node linkType: hard +"@rollup/pluginutils@npm:^3.0.9": + version: 3.1.0 + resolution: "@rollup/pluginutils@npm:3.1.0" + dependencies: + "@types/estree": 0.0.39 + estree-walker: ^1.0.1 + picomatch: ^2.2.2 + peerDependencies: + rollup: ^1.20.0||^2.0.0 + checksum: 8be16e27863c219edbb25a4e6ec2fe0e1e451d9e917b6a43cf2ae5bc025a6b8faaa40f82a6e53b66d0de37b58ff472c6c3d57a83037ae635041f8df959d6d9aa + languageName: node + linkType: hard + "@rollup/pluginutils@npm:^4.1.0": version: 4.1.0 resolution: "@rollup/pluginutils@npm:4.1.0" @@ -1419,6 +1441,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:0.0.39": + version: 0.0.39 + resolution: "@types/estree@npm:0.0.39" + checksum: 412fb5b9868f2c418126451821833414189b75cc6bf84361156feed733e3d92ec220b9d74a89e52722e03d5e241b2932732711b7497374a404fad49087adc248 + languageName: node + linkType: hard + "@types/fs-extra@npm:9.0.13": version: 9.0.13 resolution: "@types/fs-extra@npm:9.0.13" @@ -2845,6 +2874,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^2.20.0": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e + languageName: node + linkType: hard + "commander@npm:^8.2.0": version: 8.2.0 resolution: "commander@npm:8.2.0" @@ -3481,6 +3517,8 @@ __metadata: lint-staged: 11.2.6 prettier: 2.4.1 rollup: 2.58.3 + rollup-plugin-sourcemaps: ^0.6.3 + rollup-plugin-terser: ^7.0.2 rollup-plugin-typescript2: 0.30.0 sass: 1.43.3 semver: 7.3.5 @@ -3902,6 +3940,13 @@ __metadata: languageName: node linkType: hard +"estree-walker@npm:^1.0.1": + version: 1.0.1 + resolution: "estree-walker@npm:1.0.1" + checksum: 7e70da539691f6db03a08e7ce94f394ce2eef4180e136d251af299d41f92fb2d28ebcd9a6e393e3728d7970aeb5358705ddf7209d52fbcb2dd4693f95dcf925f + languageName: node + linkType: hard + "estree-walker@npm:^2.0.1": version: 2.0.2 resolution: "estree-walker@npm:2.0.2" @@ -6050,6 +6095,17 @@ fsevents@^1.2.7: languageName: node linkType: hard +"jest-worker@npm:^26.2.1": + version: 26.6.2 + resolution: "jest-worker@npm:26.6.2" + dependencies: + "@types/node": "*" + merge-stream: ^2.0.0 + supports-color: ^7.0.0 + checksum: f9afa3b88e3f12027901e4964ba3ff048285b5783b5225cab28fac25b4058cea8ad54001e9a1577ee2bed125fac3ccf5c80dc507b120300cc1bbcb368796533e + languageName: node + linkType: hard + "jest-worker@npm:^27.3.1": version: 27.3.1 resolution: "jest-worker@npm:27.3.1" @@ -7803,6 +7859,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: ^5.1.0 + checksum: d779499376bd4cbb435ef3ab9a957006c8682f343f14089ed5f27764e4645114196e75b7f6abf1cbd84fd247c0cb0651698444df8c9bf30e62120fbbc52269d6 + languageName: node + linkType: hard + "react-is@npm:^17.0.1": version: 17.0.2 resolution: "react-is@npm:17.0.2" @@ -8175,6 +8240,36 @@ fsevents@^1.2.7: languageName: node linkType: hard +"rollup-plugin-sourcemaps@npm:^0.6.3": + version: 0.6.3 + resolution: "rollup-plugin-sourcemaps@npm:0.6.3" + dependencies: + "@rollup/pluginutils": ^3.0.9 + source-map-resolve: ^0.6.0 + peerDependencies: + "@types/node": ">=10.0.0" + rollup: ">=0.31.2" + peerDependenciesMeta: + "@types/node": + optional: true + checksum: bb4909a90f2e824717a67ad146b2cccc40411ee54709ffa548c47c4dfe485bd55039a5850d7640ecb2691de9dc30e3fd57287e4d74331f36fed9c263d86dd4dc + languageName: node + linkType: hard + +"rollup-plugin-terser@npm:^7.0.2": + version: 7.0.2 + resolution: "rollup-plugin-terser@npm:7.0.2" + dependencies: + "@babel/code-frame": ^7.10.4 + jest-worker: ^26.2.1 + serialize-javascript: ^4.0.0 + terser: ^5.0.0 + peerDependencies: + rollup: ^2.0.0 + checksum: af84bb7a7a894cd00852b6486528dfb8653cf94df4c126f95f389a346f401d054b08c46bee519a2ab6a22b33804d1d6ac6d8c90b1b2bf8fffb097eed73fc3c72 + languageName: node + linkType: hard + "rollup-plugin-typescript2@npm:0.30.0": version: 0.30.0 resolution: "rollup-plugin-typescript2@npm:0.30.0" @@ -8318,6 +8413,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"serialize-javascript@npm:^4.0.0": + version: 4.0.0 + resolution: "serialize-javascript@npm:4.0.0" + dependencies: + randombytes: ^2.1.0 + checksum: 3273b3394b951671fcf388726e9577021870dfbf85e742a1183fb2e91273e6101bdccea81ff230724f6659a7ee4cef924b0ff9baca32b79d9384ec37caf07302 + languageName: node + linkType: hard + "set-blocking@npm:^2.0.0, set-blocking@npm:~2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -8499,7 +8603,17 @@ fsevents@^1.2.7: languageName: node linkType: hard -"source-map-support@npm:^0.5.17": +"source-map-resolve@npm:^0.6.0": + version: 0.6.0 + resolution: "source-map-resolve@npm:0.6.0" + dependencies: + atob: ^2.1.2 + decode-uri-component: ^0.2.0 + checksum: fe503b9e5dac1c54be835282fcfec10879434e7b3ee08a9774f230299c724a8d403484d9531276d1670c87390e0e4d1d3f92b14cca6e4a2445ea3016b786ecd4 + languageName: node + linkType: hard + +"source-map-support@npm:^0.5.17, source-map-support@npm:~0.5.20": version: 0.5.20 resolution: "source-map-support@npm:0.5.20" dependencies: @@ -8540,7 +8654,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"source-map@npm:^0.7.3": +"source-map@npm:^0.7.3, source-map@npm:~0.7.2": version: 0.7.3 resolution: "source-map@npm:0.7.3" checksum: cd24efb3b8fa69b64bf28e3c1b1a500de77e84260c5b7f2b873f88284df17974157cc88d386ee9b6d081f08fdd8242f3fc05c953685a6ad81aad94c7393dedea @@ -8926,6 +9040,19 @@ fsevents@^1.2.7: languageName: node linkType: hard +"terser@npm:^5.0.0": + version: 5.9.0 + resolution: "terser@npm:5.9.0" + dependencies: + commander: ^2.20.0 + source-map: ~0.7.2 + source-map-support: ~0.5.20 + bin: + terser: bin/terser + checksum: 11c1246b1991015a8881742878af779e3863fad42f626ffda957dbf28c94bf51e7994cffb9ffbec86ff3c23ab45ffa6d79d453c15e664306e35fc7b2c4eee5f4 + languageName: node + linkType: hard + "test-exclude@npm:^6.0.0": version: 6.0.0 resolution: "test-exclude@npm:6.0.0"