diff --git a/e2e/3.x/sass-importer/entry/babel-transformer.js b/e2e/3.x/sass-importer/entry/babel-transformer.js
new file mode 100644
index 00000000..193503e5
--- /dev/null
+++ b/e2e/3.x/sass-importer/entry/babel-transformer.js
@@ -0,0 +1,4 @@
+const { createTransformer } = require('babel-jest').default
+module.exports = createTransformer({
+ presets: ['@babel/preset-env']
+})
diff --git a/e2e/3.x/sass-importer/entry/components/Entry.vue b/e2e/3.x/sass-importer/entry/components/Entry.vue
new file mode 100644
index 00000000..367e3f6b
--- /dev/null
+++ b/e2e/3.x/sass-importer/entry/components/Entry.vue
@@ -0,0 +1,24 @@
+
+
+
Entry
+
+
+
+
+
+
+
diff --git a/e2e/3.x/sass-importer/entry/package.json b/e2e/3.x/sass-importer/entry/package.json
new file mode 100644
index 00000000..ec701a08
--- /dev/null
+++ b/e2e/3.x/sass-importer/entry/package.json
@@ -0,0 +1,48 @@
+{
+ "name": "vue3-sass-importer-entry",
+ "version": "1.0.0",
+ "license": "MIT",
+ "private": true,
+ "scripts": {
+ "test": "jest --no-cache --coverage test.js"
+ },
+ "dependencies": {
+ "vue": "^3.2.22",
+ "vue3-sass-importer-lib": "file:../lib",
+ "vue3-sass-importer-sass-lib": "file:../sass-lib-v2"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.9.0",
+ "@babel/preset-env": "^7.9.0",
+ "@vue/test-utils": "^1.1.0",
+ "babel-jest": "^28.0.2",
+ "jest": "28.x",
+ "jest-environment-jsdom": "28.0.2",
+ "postcss": "^7.0.13",
+ "postcss-color-function": "^4.0.1",
+ "sass": "^1.23.7",
+ "@vue/vue3-jest": "^28.0.0"
+ },
+ "jest": {
+ "testEnvironment": "jsdom",
+ "moduleFileExtensions": [
+ "js",
+ "json",
+ "vue"
+ ],
+ "transformIgnorePatterns": [
+ "/node_modules/.*(? {
+ const wrapper = mount(Entry)
+ expect(wrapper).toBeDefined()
+})
diff --git a/e2e/3.x/sass-importer/lib/index.vue b/e2e/3.x/sass-importer/lib/index.vue
new file mode 100644
index 00000000..fc3c0231
--- /dev/null
+++ b/e2e/3.x/sass-importer/lib/index.vue
@@ -0,0 +1,11 @@
+
+ Lib Component
+
+
+
diff --git a/e2e/3.x/sass-importer/lib/package.json b/e2e/3.x/sass-importer/lib/package.json
new file mode 100644
index 00000000..6f19b178
--- /dev/null
+++ b/e2e/3.x/sass-importer/lib/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "vue3-sass-importer-lib",
+ "version": "1.0.0",
+ "license": "MIT",
+ "private": true,
+ "main": "index.vue",
+ "files": [
+ "index.vue"
+ ],
+ "scripts": {
+ "test": "echo 'No tests found.'"
+ },
+ "dependencies": {
+ "vue3-sass-importer-sass-lib": "file:../sass-lib-v1"
+ },
+ "peerDependencies": {
+ "vue": "^3.2.22"
+ }
+}
diff --git a/e2e/3.x/sass-importer/sass-lib-v1/index.scss b/e2e/3.x/sass-importer/sass-lib-v1/index.scss
new file mode 100644
index 00000000..05795e0f
--- /dev/null
+++ b/e2e/3.x/sass-importer/sass-lib-v1/index.scss
@@ -0,0 +1,3 @@
+@mixin my-v1-mixin {
+ color: blue;
+}
diff --git a/e2e/3.x/sass-importer/sass-lib-v1/package.json b/e2e/3.x/sass-importer/sass-lib-v1/package.json
new file mode 100644
index 00000000..5717428c
--- /dev/null
+++ b/e2e/3.x/sass-importer/sass-lib-v1/package.json
@@ -0,0 +1,12 @@
+{
+ "name": "vue3-sass-importer-sass-lib",
+ "version": "1.0.0",
+ "license": "MIT",
+ "private": true,
+ "files": [
+ "index.scss"
+ ],
+ "scripts": {
+ "test": "echo 'No tests found.'"
+ }
+}
diff --git a/e2e/3.x/sass-importer/sass-lib-v2/index.scss b/e2e/3.x/sass-importer/sass-lib-v2/index.scss
new file mode 100644
index 00000000..8f5e144d
--- /dev/null
+++ b/e2e/3.x/sass-importer/sass-lib-v2/index.scss
@@ -0,0 +1,3 @@
+@mixin my-v2-mixin {
+ color: red;
+}
diff --git a/e2e/3.x/sass-importer/sass-lib-v2/package.json b/e2e/3.x/sass-importer/sass-lib-v2/package.json
new file mode 100644
index 00000000..d06a853a
--- /dev/null
+++ b/e2e/3.x/sass-importer/sass-lib-v2/package.json
@@ -0,0 +1,12 @@
+{
+ "name": "vue3-sass-importer-sass-lib",
+ "version": "2.0.0",
+ "license": "MIT",
+ "private": true,
+ "files": [
+ "index.scss"
+ ],
+ "scripts": {
+ "test": "echo 'No tests found.'"
+ }
+}
diff --git a/yarn.lock b/yarn.lock
index 5daacf36..755a6220 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10868,7 +10868,7 @@ vue-template-es2015-compiler@^1.9.0:
"vue2-sass-importer-lib@file:e2e/2.x/sass-importer/lib":
version "1.0.0"
dependencies:
- vue2-sass-importer-sass-lib "file:../../.cache/yarn/v6/npm-vue2-sass-importer-lib-1.0.0-c953c300-a005-492f-9652-a1024a3a28b9-1656106782763/node_modules/sass-lib-v1"
+ vue2-sass-importer-sass-lib "file:../../.cache/yarn/v6/npm-vue2-sass-importer-lib-1.0.0-1087f856-8699-4ac6-a0fa-2288988256c2-1656107462461/node_modules/sass-lib-v1"
"vue2-sass-importer-sass-lib@file:e2e/2.x/sass-importer/sass-lib-v1":
version "1.0.0"
@@ -10876,6 +10876,17 @@ vue-template-es2015-compiler@^1.9.0:
"vue2-sass-importer-sass-lib@file:e2e/2.x/sass-importer/sass-lib-v2":
version "2.0.0"
+"vue3-sass-importer-lib@file:e2e/3.x/sass-importer/lib":
+ version "1.0.0"
+ dependencies:
+ vue3-sass-importer-sass-lib "file:../../.cache/yarn/v6/npm-vue3-sass-importer-lib-1.0.0-c866bb73-f527-47b9-932d-498dea4cf3d0-1656107462461/node_modules/sass-lib-v1"
+
+"vue3-sass-importer-sass-lib@file:e2e/3.x/sass-importer/sass-lib-v1":
+ version "1.0.0"
+
+"vue3-sass-importer-sass-lib@file:e2e/3.x/sass-importer/sass-lib-v2":
+ version "2.0.0"
+
vue@^2.4.2, vue@^2.5.21:
version "2.6.14"
resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.14.tgz#e51aa5250250d569a3fbad3a8a5a687d6036e235"