diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index e66f0c037..000000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,33 +0,0 @@ -version: 2 -jobs: - build: - docker: - # specify the version you desire here - - image: vuejs/ci - - working_directory: ~/repo - - steps: - - checkout - - # Download and cache dependencies - - restore_cache: - keys: - - v1-dependencies-{{ checksum "yarn.lock" }} - # fallback to using the latest cache if no exact match is found - - v1-dependencies- - - - run: yarn install - - - save_cache: - paths: - - node_modules - - ~/.cache/yarn - key: v1-dependencies-{{ checksum "yarn.lock" }} - - # run tests! - - run: yarn test - - - run: npx json -f package.json -I -e "this.resolutions = {}, this.resolutions.webpack = '^5.0.0-0', this.devDependencies.webpack = '^5.0.0-0' " - - run: yarn install - - run: yarn test diff --git a/.eslintrc.js b/.eslintrc.js index c61a0f438..b31f02096 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,4 +1,8 @@ module.exports = { root: true, - extends: ['plugin:vue-libs/recommended'] + extends: ['plugin:vue-libs/recommended'], + rules: { + indent: 'off', + 'space-before-function-paren': 'off' + } } diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..6313b56c5 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..0a3ad19f4 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,46 @@ +name: 'ci' +on: + push: + branches: + - master + pull_request: + branches: + - master +jobs: + unit-test: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: + - ubuntu-latest + - macos-latest + - windows-latest + fail-fast: false + name: "Unit Test: ${{ matrix.os }}" + steps: + - uses: actions/checkout@v2 + + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: 8 + + - name: Set node version to 16 + uses: actions/setup-node@v2 + with: + node-version: 16 + cache: 'pnpm' + + - run: pnpm install + + - name: Run unit tests + run: pnpm run test + + - name: Set up webpack 5 tests + run: npx json -f package.json -I -e "this.resolutions = {}, this.resolutions.webpack = '^5.0.0', this.devDependencies.webpack = '^5.0.0' " + + - name: Install webpack 5 + run: pnpm install --no-frozen-lockfile + + - name: Run unit tests for webpack 5 + run: pnpm run test && pnpm run test:match-resource diff --git a/.gitignore b/.gitignore index 907ea8e9a..914a2dab2 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ node_modules example/dist docs/.vuepress/dist test/.cache +.vscode +TODOS diff --git a/.npmignore b/.npmignore index 2f81ca452..6e52da593 100644 --- a/.npmignore +++ b/.npmignore @@ -5,3 +5,6 @@ test yarn.lock tsconfig.json docs +.github +.vscode +TODOS diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a2b27de5..4b1b4d60d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,179 @@ + +# [15.11.1](https://github.com/vuejs/vue-loader/compare/v15.11.0...v15.11.1) (2023-10-18) + +### Bug Fixes + +* fix: fix read property error for accessing lang of script ([#2060](https://github.com/vuejs/vue-loader/pull/2060)) + + + +# [15.11.0](https://github.com/vuejs/vue-loader/compare/v15.10.2...v15.11.0) (2023-10-18) + +### Features + +* A new `experimentalInlineMatchResource` option (webpack 5 only), which leverages webpack 5's [inline matchResource](https://webpack.js.org/api/loaders/#inline-matchresource) feature in the underlying implementation, and works well with the [`experiments.css`](https://webpack.js.org/configuration/experiments/#experimentscss) feature. This also makes `vue-loader` compatible with [Rspack](https://www.rspack.dev/guide/vue). ([#2058](https://github.com/vuejs/vue-loader/pull/2058)) + + + +# [15.10.2](https://github.com/vuejs/vue-loader/compare/v15.10.1...v15.10.2) (2023-08-23) + +### Bug Fixes + +* don't enable prettify by default if prettier 3 is detected ([aa2558d](https://github.com/vuejs/vue-loader/commit/aa2558d)) + + + +# [15.10.1](https://github.com/vuejs/vue-loader/compare/v15.10.0...v15.10.1) (2022-11-14) + +### Bug Fixes + +* skip thread-loader when cloning js rules to template compilation pipeline, fixes ([fb6ff6e](https://github.com/vuejs/vue-loader/commit/fb6ff6e)) + + + +# [15.10.0](https://github.com/vuejs/vue-loader/compare/v15.10.0-beta.6...v15.10.0) (2022-07-01) + + + + +# [15.10.0-beta.6](https://github.com/vuejs/vue-loader/compare/v15.10.0-beta.5...v15.10.0-beta.6) (2022-06-20) + + +### Bug Fixes + +* always pass id to stylePostLoader when possible ([364ad09](https://github.com/vuejs/vue-loader/commit/364ad09)) + + + + +# [15.10.0-beta.5](https://github.com/vuejs/vue-loader/compare/v15.10.0-beta.4...v15.10.0-beta.5) (2022-06-20) + + +### Bug Fixes + +* css v-bind in production mode ([655e5f8](https://github.com/vuejs/vue-loader/commit/655e5f8)) + + + + +# [15.10.0-beta.4](https://github.com/vuejs/vue-loader/compare/v15.10.0-beta.3...v15.10.0-beta.4) (2022-06-20) + + +### Features + +* support css v-bind (requires 2.7.0-beta.3) ([d653f3b](https://github.com/vuejs/vue-loader/commit/d653f3b)) + + + + +# [15.10.0-beta.3](https://github.com/vuejs/vue-loader/compare/v15.10.0-beta.2...v15.10.0-beta.3) (2022-06-16) + + +### Bug Fixes + +* cache descriptor with correct resource path ([f6c83b5](https://github.com/vuejs/vue-loader/commit/f6c83b5)) + + + + +# [15.10.0-beta.2](https://github.com/vuejs/vue-loader/compare/v15.10.0-beta.1...v15.10.0-beta.2) (2022-06-16) + + +### Features + +* use script-analyzed bindings when compiling template ([55de28c](https://github.com/vuejs/vue-loader/commit/55de28c)) + + + + +# [15.10.0-beta.1](https://github.com/vuejs/vue-loader/compare/v15.9.8...v15.10.0-beta.1) (2022-06-14) + + +### Features + +* apply js loaders to compiled template code when used with 2.7 ([30464a8](https://github.com/vuejs/vue-loader/commit/30464a8)) +* compat for vue 2.7, support `