From a6796b4657fc540991afb5a25c5cde8041eb536c Mon Sep 17 00:00:00 2001 From: evilebottnawi Date: Mon, 6 Sep 2021 20:22:03 +0300 Subject: [PATCH 1/3] ci: refactor --- .github/workflows/nodejs.yml | 6 ++++-- test/TestCases.test.js | 13 ++++++++++--- test/cases/auxiliary-assets/test.filter.js | 4 +++- test/helpers/yn.js | 13 +++++++++++++ 4 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 test/helpers/yn.js diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 6d020246..5cb98eed 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -90,14 +90,16 @@ jobs: - name: Run tests for webpack version ${{ matrix.webpack-version }} run: npm run test:coverage -- --ci + env: + EXPERIMENTAL_USE_IMPORT_MODULE: "false" - name: Submit coverage data to codecov uses: codecov/codecov-action@v1 with: token: ${{ secrets.CODECOV_TOKEN }} - test2: - name: Test - ${{ matrix.os }} - Node v${{ matrix.node-version }}, Webpack latest, experimentalUseImportModule + test-new-api: + name: Test - ${{ matrix.os }} - Node v${{ matrix.node-version }}, Webpack latest, `loaderContext.importModule(...)` API strategy: matrix: diff --git a/test/TestCases.test.js b/test/TestCases.test.js index 256bbcbc..9a3cb78b 100644 --- a/test/TestCases.test.js +++ b/test/TestCases.test.js @@ -9,6 +9,8 @@ import webpack from "webpack"; import Self from "../src/index"; +import yn from "./helpers/yn"; + function clearDirectory(dirPath) { let files; @@ -128,9 +130,12 @@ describe("TestCases", () => { config.plugins.map((p) => { if (p.constructor === Self) { const { options } = p; - options.experimentalUseImportModule = - !!process.env.EXPERIMENTAL_USE_IMPORT_MODULE; + + options.experimentalUseImportModule = yn( + process.env.EXPERIMENTAL_USE_IMPORT_MODULE + ); } + return p; }), }, @@ -192,7 +197,9 @@ describe("TestCases", () => { const expectedDirectoryByVersion = path.join( expectedDirectory, `webpack-${webpack.version[0]}${ - process.env.EXPERIMENTAL_USE_IMPORT_MODULE ? "-importModule" : "" + yn(process.env.EXPERIMENTAL_USE_IMPORT_MODULE) + ? "-importModule" + : "" }` ); diff --git a/test/cases/auxiliary-assets/test.filter.js b/test/cases/auxiliary-assets/test.filter.js index d04b7de0..5e53a4ad 100644 --- a/test/cases/auxiliary-assets/test.filter.js +++ b/test/cases/auxiliary-assets/test.filter.js @@ -1 +1,3 @@ -module.exports = () => !process.env.EXPERIMENTAL_USE_IMPORT_MODULE; +import yn from "../../helpers/yn"; + +module.exports = () => yn(process.env.EXPERIMENTAL_USE_IMPORT_MODULE); diff --git a/test/helpers/yn.js b/test/helpers/yn.js new file mode 100644 index 00000000..9834ac74 --- /dev/null +++ b/test/helpers/yn.js @@ -0,0 +1,13 @@ +function yn(value, defaultValue = false) { + if (/^(?:y|yes|true|1|on)$/i.test(value)) { + return true; + } + + if (/^(?:n|no|false|0|off)$/i.test(value)) { + return false; + } + + return defaultValue; +} + +module.exports = yn; From 48160bea442cc8d37e27dc4e39315991306e7314 Mon Sep 17 00:00:00 2001 From: evilebottnawi Date: Mon, 6 Sep 2021 20:26:37 +0300 Subject: [PATCH 2/3] test: fix --- test/cases/auxiliary-assets/test.filter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/cases/auxiliary-assets/test.filter.js b/test/cases/auxiliary-assets/test.filter.js index 5e53a4ad..c51829af 100644 --- a/test/cases/auxiliary-assets/test.filter.js +++ b/test/cases/auxiliary-assets/test.filter.js @@ -1,3 +1,3 @@ import yn from "../../helpers/yn"; -module.exports = () => yn(process.env.EXPERIMENTAL_USE_IMPORT_MODULE); +module.exports = () => !yn(process.env.EXPERIMENTAL_USE_IMPORT_MODULE); From 57902c080d056ca30523abd38a17942720d85c09 Mon Sep 17 00:00:00 2001 From: evilebottnawi Date: Mon, 6 Sep 2021 20:28:40 +0300 Subject: [PATCH 3/3] ci: fix name --- .github/workflows/nodejs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 5cb98eed..2dd13106 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -99,7 +99,7 @@ jobs: token: ${{ secrets.CODECOV_TOKEN }} test-new-api: - name: Test - ${{ matrix.os }} - Node v${{ matrix.node-version }}, Webpack latest, `loaderContext.importModule(...)` API + name: Test - ${{ matrix.os }} - Node v${{ matrix.node-version }}, Webpack latest, experimentalUseImportModule strategy: matrix: