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 `