From 3babf14afbf9253a0acff4168abb941488118b0c Mon Sep 17 00:00:00 2001 From: Slava Leleka Date: Wed, 27 Sep 2023 20:22:12 +0300 Subject: [PATCH] fix smoke tests for tswebextension. AG-25580 Squashed commit of the following: commit d6aed009852908e187adf50dd815abda8c299c30 Author: Slava Leleka Date: Wed Sep 27 19:27:57 2023 +0300 fix typo commit e433a5c3cd22eb637b5f8656edf6d3d34c2eaea6 Author: Slava Leleka Date: Wed Sep 27 18:36:32 2023 +0300 revert plugin-typescript commit 897f5234b538d7d40cf9cbea3d6ce23dafb3a1e0 Merge: a9ad7be8 448358eb Author: Slava Leleka Date: Wed Sep 27 18:35:54 2023 +0300 Merge branch 'master' into fix/AG-25580 commit a9ad7be8c8ff0d7791716d2142b1fb9ded196402 Author: Slava Leleka Date: Wed Sep 27 18:07:35 2023 +0300 clean up commit 132ae67871c235573e04508914a7020ee290bbed Author: Slava Leleka Date: Wed Sep 27 18:04:58 2023 +0300 fix typo commit 7ab6678d2ef142c2c88381ce89e1d19ad6705ca8 Author: Slava Leleka Date: Wed Sep 27 17:57:35 2023 +0300 fix specs commit fb48f258e24e7ddd51c6d268b17491c3506b5430 Author: Slava Leleka Date: Wed Sep 27 17:56:25 2023 +0300 revert renaming commit ed0b4305379383c16e1a79321231a86f2e97c8b2 Author: Slava Leleka Date: Wed Sep 27 17:52:17 2023 +0300 fix specs commit 832142d24a10c5f65697ceaee641ac3877ea199d Author: Slava Leleka Date: Wed Sep 27 17:50:26 2023 +0300 Revert "clean up configs" This reverts commit 4b5d8539adebcfd3e2870ba0a27ff1dea9f566cd. commit 4b5d8539adebcfd3e2870ba0a27ff1dea9f566cd Author: Slava Leleka Date: Wed Sep 27 17:47:01 2023 +0300 clean up configs commit 6a09edc8c8522257ae3ca88bb54dbf7098a53c43 Author: Slava Leleka Date: Wed Sep 27 17:46:45 2023 +0300 clean up comments commit 8558d965e3c2748ab3d81f184d2e510acc562924 Author: Slava Leleka Date: Wed Sep 27 17:38:01 2023 +0300 fix logging commit e091760e03ee5367c4f1119d4f14290d59d334bb Author: Slava Leleka Date: Wed Sep 27 17:32:54 2023 +0300 add more logging commit fe1c3b920417a5969c348819e91bc02650d74b70 Author: Slava Leleka Date: Wed Sep 27 17:28:51 2023 +0300 fix specs commit b466e956b98490588782601200669ecb1fe124c3 Author: Slava Leleka Date: Wed Sep 27 17:26:26 2023 +0300 try js instead of ts for test build input commit ea6dbc57b92178acc13741b6ab5ef008d37307e9 Author: Slava Leleka Date: Wed Sep 27 17:26:00 2023 +0300 add logging commit 5067293472985fc4d571b7ddf95b9b1cd22c52a7 Author: Slava Leleka Date: Wed Sep 27 17:04:21 2023 +0300 add verbose logging commit 2dc44779f46527870f83266be683604f39155f3d Author: Slava Leleka Date: Wed Sep 27 16:54:20 2023 +0300 fix specs temporary commit ad4a88316e4f0f4c207776f8077eab94ce640561 Author: Slava Leleka Date: Wed Sep 27 16:53:55 2023 +0300 add rollup/plugin-typescript to devDependencies for smoke tests commit ccffb0b18c313d92185eac38a4da9d3d858a0f2f Author: Slava Leleka Date: Wed Sep 27 16:53:27 2023 +0300 revert test.sh ... and 12 more commits --- bamboo-specs/tsurlfilter-tests.yaml | 5 +- bamboo-specs/tswebextension-tests.yaml | 4 +- packages/tsurlfilter/package.json | 3 +- .../test/builders/rollup-ts/.eslintrc.js | 12 + .../test/builders/rollup-ts/package.json | 15 ++ .../test/builders/rollup-ts/rollup.config.mjs | 20 ++ .../test/builders/rollup-ts/src/background.ts | 0 .../test/builders/rollup-ts/test.sh | 37 +++ .../test/builders/rollup-ts/tsconfig.json | 15 ++ .../test/builders/rollup-ts/yarn.lock | 217 ++++++++++++++++++ .../test/builders/rollup-ts/package.json | 1 + .../test/builders/rollup-ts/rollup.config.mjs | 15 +- .../test/builders/rollup-ts/test.sh | 22 +- .../test/builders/rollup-ts/yarn.lock | 101 ++++++++ 14 files changed, 448 insertions(+), 19 deletions(-) create mode 100644 packages/tsurlfilter/test/builders/rollup-ts/.eslintrc.js create mode 100644 packages/tsurlfilter/test/builders/rollup-ts/package.json create mode 100644 packages/tsurlfilter/test/builders/rollup-ts/rollup.config.mjs rename packages/{tswebextension => tsurlfilter}/test/builders/rollup-ts/src/background.ts (100%) create mode 100755 packages/tsurlfilter/test/builders/rollup-ts/test.sh create mode 100644 packages/tsurlfilter/test/builders/rollup-ts/tsconfig.json create mode 100644 packages/tsurlfilter/test/builders/rollup-ts/yarn.lock diff --git a/bamboo-specs/tsurlfilter-tests.yaml b/bamboo-specs/tsurlfilter-tests.yaml index ee72206d9..3e7e6c5ce 100644 --- a/bamboo-specs/tsurlfilter-tests.yaml +++ b/bamboo-specs/tsurlfilter-tests.yaml @@ -36,9 +36,12 @@ Test: ls -alt npx lerna@6 bootstrap --scope @adguard/tsurlfilter --include-dependencies - npx lerna@6 run --scope @adguard/tsurlfilter test:prod + npx lerna@6 run --scope @adguard/tsurlfilter build + # IMPORTANT: run tests after the build because smoke tests requires tsurlfilter to have built dist dir + npx lerna@6 run --scope @adguard/tsurlfilter test:prod + # cleanup parent rm -rf node_modules # cleanup child packages diff --git a/bamboo-specs/tswebextension-tests.yaml b/bamboo-specs/tswebextension-tests.yaml index 4ed4daa6d..083cf7891 100644 --- a/bamboo-specs/tswebextension-tests.yaml +++ b/bamboo-specs/tswebextension-tests.yaml @@ -48,9 +48,11 @@ Test: # build tsurlfilter first, because it is used in tswebextension tests npx lerna@6 run --scope @adguard/tsurlfilter build - npx lerna@6 run --scope @adguard/tswebextension test:prod npx lerna@6 run --scope @adguard/tswebextension build + # IMPORTANT: run tests after the build because smoke tests requires tswebextension to have built dist dir + npx lerna@6 run --scope @adguard/tswebextension test:prod + # cleanup parent rm -rf node_modules # cleanup child packages diff --git a/packages/tsurlfilter/package.json b/packages/tsurlfilter/package.json index ab9c36dce..8119fe041 100644 --- a/packages/tsurlfilter/package.json +++ b/packages/tsurlfilter/package.json @@ -71,7 +71,8 @@ "start": "rollup -c rollup.config.ts -w", "test": "jest --coverage", "test:watch": "jest --coverage --watch", - "test:prod": "yarn lint && yarn test --no-cache --runInBand", + "test:smoke": "cd test/builders/rollup-ts && yarn test", + "test:prod": "yarn lint && yarn test:smoke && yarn test --no-cache --runInBand", "test:debug": "node --inspect node_modules/.bin/jest --watch --runInBand", "report-coverage": "cat ./coverage/lcov.info | coveralls", "precommit": "lint-staged", diff --git a/packages/tsurlfilter/test/builders/rollup-ts/.eslintrc.js b/packages/tsurlfilter/test/builders/rollup-ts/.eslintrc.js new file mode 100644 index 000000000..30e3e210b --- /dev/null +++ b/packages/tsurlfilter/test/builders/rollup-ts/.eslintrc.js @@ -0,0 +1,12 @@ +module.exports = { + parser: '@typescript-eslint/parser', + parserOptions: { + sourceType: 'module', + tsconfigRootDir: __dirname, + project: ['./tsconfig.json'], + }, + rules: { + 'no-console': 'off', + 'import/no-extraneous-dependencies': 'off', + }, +}; diff --git a/packages/tsurlfilter/test/builders/rollup-ts/package.json b/packages/tsurlfilter/test/builders/rollup-ts/package.json new file mode 100644 index 000000000..5043e55ef --- /dev/null +++ b/packages/tsurlfilter/test/builders/rollup-ts/package.json @@ -0,0 +1,15 @@ +{ + "name": "rollup-ts", + "version": "0.0.1", + "description": "This package tests that TSUrlFilter can be successfully built into other libraries with rollup", + "license": "GPL-3.0-only", + "scripts": { + "build": "rollup -c", + "test": "./test.sh" + }, + "devDependencies": { + "@rollup/plugin-commonjs": "^25.0.4", + "@rollup/plugin-node-resolve": "^15.0.1", + "rollup": "^3.10.0" + } +} diff --git a/packages/tsurlfilter/test/builders/rollup-ts/rollup.config.mjs b/packages/tsurlfilter/test/builders/rollup-ts/rollup.config.mjs new file mode 100644 index 000000000..27bb900a0 --- /dev/null +++ b/packages/tsurlfilter/test/builders/rollup-ts/rollup.config.mjs @@ -0,0 +1,20 @@ +import typescript from '@rollup/plugin-typescript'; +import resolve from '@rollup/plugin-node-resolve'; +import commonjs from '@rollup/plugin-commonjs'; + +const backgroundConfig = { + input: 'src/background.ts', + output: { + dir: 'dist', + format: 'cjs' + }, + plugins: [ + typescript(), + resolve(), + commonjs(), + ], +}; + +export default [ + backgroundConfig, +]; diff --git a/packages/tswebextension/test/builders/rollup-ts/src/background.ts b/packages/tsurlfilter/test/builders/rollup-ts/src/background.ts similarity index 100% rename from packages/tswebextension/test/builders/rollup-ts/src/background.ts rename to packages/tsurlfilter/test/builders/rollup-ts/src/background.ts diff --git a/packages/tsurlfilter/test/builders/rollup-ts/test.sh b/packages/tsurlfilter/test/builders/rollup-ts/test.sh new file mode 100755 index 000000000..a4159d911 --- /dev/null +++ b/packages/tsurlfilter/test/builders/rollup-ts/test.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +echo "Staring to test a bundling with rollup-ts " + +# install other deps +yarn install + +# pack @adguard/tsurlfilter +curr_path="test/builders/rollup-ts" +tsurlfilter="tsurlfilter.tgz" + +(cd ../../.. && yarn pack --filename $curr_path/$tsurlfilter) + +# unzip to @adguard/tsurlfilter to node_modules +tsurlfilter_nm="node_modules/@adguard/tsurlfilter" +mkdir -p $tsurlfilter_nm +tar -xzf $tsurlfilter --strip-components=1 -C $tsurlfilter_nm + +# needed for verbose logging for debugging +(cd node_modules/@adguard/tsurlfilter && pwd && ls -l) + +{ + # try + # bundle with rollup + yarn build && + echo "Test successfully built." +} || { + # catch + echo "Test build ended with error" + # clean up on error + rm $tsurlfilter + exit 1 +} + +rm $tsurlfilter + +echo "Testing bundling with rollup-ts ended successfully" diff --git a/packages/tsurlfilter/test/builders/rollup-ts/tsconfig.json b/packages/tsurlfilter/test/builders/rollup-ts/tsconfig.json new file mode 100644 index 000000000..29dfb0598 --- /dev/null +++ b/packages/tsurlfilter/test/builders/rollup-ts/tsconfig.json @@ -0,0 +1,15 @@ +{ + "include": [ + "src", + ".eslintrc.js" + ], + "compilerOptions": { + "target": "es2016", + "module": "esnext", + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "skipLibCheck": true, + "moduleResolution": "node" + } +} diff --git a/packages/tsurlfilter/test/builders/rollup-ts/yarn.lock b/packages/tsurlfilter/test/builders/rollup-ts/yarn.lock new file mode 100644 index 000000000..4e085510e --- /dev/null +++ b/packages/tsurlfilter/test/builders/rollup-ts/yarn.lock @@ -0,0 +1,217 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@jridgewell/sourcemap-codec@^1.4.13": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@rollup/plugin-commonjs@^25.0.4": + version "25.0.4" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.4.tgz#a7547a0c4ec3fa79818eb313e1de0023e548f4e6" + integrity sha512-L92Vz9WUZXDnlQQl3EwbypJR4+DM2EbsO+/KOcEkP4Mc6Ct453EeDB2uH9lgRwj4w5yflgNpq9pHOiY8aoUXBQ== + dependencies: + "@rollup/pluginutils" "^5.0.1" + commondir "^1.0.1" + estree-walker "^2.0.2" + glob "^8.0.3" + is-reference "1.2.1" + magic-string "^0.27.0" + +"@rollup/plugin-node-resolve@^15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.1.tgz#72be449b8e06f6367168d5b3cd5e2802e0248971" + integrity sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg== + dependencies: + "@rollup/pluginutils" "^5.0.1" + "@types/resolve" "1.20.2" + deepmerge "^4.2.2" + is-builtin-module "^3.2.0" + is-module "^1.0.0" + resolve "^1.22.1" + +"@rollup/pluginutils@^5.0.1": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33" + integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" + +"@types/estree@*": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" + integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== + +"@types/estree@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" + integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== + +"@types/resolve@1.20.2": + version "1.20.2" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" + integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +builtin-modules@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +glob@^8.0.3: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-builtin-module@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.0.tgz#bb0310dfe881f144ca83f30100ceb10cf58835e0" + integrity sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw== + dependencies: + builtin-modules "^3.3.0" + +is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== + +is-reference@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" + integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== + dependencies: + "@types/estree" "*" + +magic-string@^0.27.0: + version "0.27.0" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" + integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.13" + +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +rollup@^3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.10.0.tgz#6eb19196d8b3b375ca651cb78261faac48e24cd6" + integrity sha512-JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA== + optionalDependencies: + fsevents "~2.3.2" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== diff --git a/packages/tswebextension/test/builders/rollup-ts/package.json b/packages/tswebextension/test/builders/rollup-ts/package.json index 21464134d..5043e55ef 100644 --- a/packages/tswebextension/test/builders/rollup-ts/package.json +++ b/packages/tswebextension/test/builders/rollup-ts/package.json @@ -8,6 +8,7 @@ "test": "./test.sh" }, "devDependencies": { + "@rollup/plugin-commonjs": "^25.0.4", "@rollup/plugin-node-resolve": "^15.0.1", "rollup": "^3.10.0" } diff --git a/packages/tswebextension/test/builders/rollup-ts/rollup.config.mjs b/packages/tswebextension/test/builders/rollup-ts/rollup.config.mjs index a06aeef13..45be66e17 100644 --- a/packages/tswebextension/test/builders/rollup-ts/rollup.config.mjs +++ b/packages/tswebextension/test/builders/rollup-ts/rollup.config.mjs @@ -7,19 +7,12 @@ const cssHitsCounterConfig = { dir: 'dist', format: 'cjs', }, - plugins: [typescript(), resolve()] -}; - -const backgroundConfig = { - input: 'src/background.ts', - output: { - dir: 'dist', - format: 'cjs' - }, - plugins: [typescript(), resolve()] + plugins: [ + typescript(), + resolve(), + ], }; export default [ - backgroundConfig, cssHitsCounterConfig, ]; diff --git a/packages/tswebextension/test/builders/rollup-ts/test.sh b/packages/tswebextension/test/builders/rollup-ts/test.sh index bf9d758d9..78c8e1bc1 100755 --- a/packages/tswebextension/test/builders/rollup-ts/test.sh +++ b/packages/tswebextension/test/builders/rollup-ts/test.sh @@ -15,17 +15,29 @@ tswebextension_nm="node_modules/@adguard/tswebextension" mkdir -p $tswebextension_nm tar -xzf $tswebextension --strip-components=1 -C $tswebextension_nm -# bundle with rollup -yarn build +{ + # try + # bundle with rollup + yarn build && + echo "Test successfully built." +} || { + # catch + echo "Test build ended with error" + # clean up on error + rm $tswebextension + exit 1 +} # check css hits counter size max_size=20000 filename="dist/css-hits-counter.js" filesize=$(stat -f "%z" "$filename") if [ "$filesize" -gt $max_size ]; then - echo "\"$filename\" is more than $max_size bytes" - echo "Testing bundling with rollup-ts ended with error" - exit 1 + echo "\"$filename\" is more than $max_size bytes" + echo "Testing bundling with rollup-ts ended with error" + # clean up + rm $tswebextension + exit 1 else echo "$filename is less than or equal to $max_size bytes" fi diff --git a/packages/tswebextension/test/builders/rollup-ts/yarn.lock b/packages/tswebextension/test/builders/rollup-ts/yarn.lock index 58c86f604..4e085510e 100644 --- a/packages/tswebextension/test/builders/rollup-ts/yarn.lock +++ b/packages/tswebextension/test/builders/rollup-ts/yarn.lock @@ -2,6 +2,23 @@ # yarn lockfile v1 +"@jridgewell/sourcemap-codec@^1.4.13": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@rollup/plugin-commonjs@^25.0.4": + version "25.0.4" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.4.tgz#a7547a0c4ec3fa79818eb313e1de0023e548f4e6" + integrity sha512-L92Vz9WUZXDnlQQl3EwbypJR4+DM2EbsO+/KOcEkP4Mc6Ct453EeDB2uH9lgRwj4w5yflgNpq9pHOiY8aoUXBQ== + dependencies: + "@rollup/pluginutils" "^5.0.1" + commondir "^1.0.1" + estree-walker "^2.0.2" + glob "^8.0.3" + is-reference "1.2.1" + magic-string "^0.27.0" + "@rollup/plugin-node-resolve@^15.0.1": version "15.0.1" resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.1.tgz#72be449b8e06f6367168d5b3cd5e2802e0248971" @@ -23,6 +40,11 @@ estree-walker "^2.0.2" picomatch "^2.3.1" +"@types/estree@*": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" + integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== + "@types/estree@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" @@ -33,11 +55,28 @@ resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + builtin-modules@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + deepmerge@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" @@ -48,6 +87,11 @@ estree-walker@^2.0.2: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" @@ -58,6 +102,17 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +glob@^8.0.3: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -65,6 +120,19 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + is-builtin-module@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.0.tgz#bb0310dfe881f144ca83f30100ceb10cf58835e0" @@ -84,6 +152,34 @@ is-module@^1.0.0: resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== +is-reference@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" + integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== + dependencies: + "@types/estree" "*" + +magic-string@^0.27.0: + version "0.27.0" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" + integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.13" + +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" @@ -114,3 +210,8 @@ supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==