diff --git a/packages/uni-cli-nvue/dist/utils/path.js b/packages/uni-cli-nvue/dist/utils/path.js index 70d9b648be15a41dc0f93b5c3f1adbc531e82b49..9a364c86db2c2b98d1a42aee8a826d634b153889 100644 --- a/packages/uni-cli-nvue/dist/utils/path.js +++ b/packages/uni-cli-nvue/dist/utils/path.js @@ -6,6 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveLib = void 0; const path_1 = __importDefault(require("path")); function resolveLib(filepath) { - return path_1.default.resolve(__dirname, '../lib', filepath); + return path_1.default.resolve(__dirname, '../../lib', filepath); } exports.resolveLib = resolveLib; diff --git a/packages/uni-cli-nvue/dist/webpack/config/module/rules/cssLoader/index.js b/packages/uni-cli-nvue/dist/webpack/config/module/rules/cssLoader/index.js index 69d0fec987edd80741e88bff9d4ca6aea00829bb..f46e6bb071c5a403ac989724360f6f81209644f6 100644 --- a/packages/uni-cli-nvue/dist/webpack/config/module/rules/cssLoader/index.js +++ b/packages/uni-cli-nvue/dist/webpack/config/module/rules/cssLoader/index.js @@ -6,58 +6,58 @@ function createCssLoaders() { return [ { test: /\.css$/, - oneOf: oneOf_1.createOneOf(), + oneOf: oneOf_1.createOneOf() }, { test: /\.scss$/, - oneOf: oneOf_1.createOneOf(scssLoader), + oneOf: oneOf_1.createOneOf(scssLoader) }, { test: /\.sass$/, - oneOf: oneOf_1.createOneOf(sassLoader), + oneOf: oneOf_1.createOneOf(sassLoader) }, { test: /\.less$/, - oneOf: oneOf_1.createOneOf(lessLoader), + oneOf: oneOf_1.createOneOf(lessLoader) }, { test: /\.styl(us)?$/, - oneOf: oneOf_1.createOneOf(stylusLoader), - }, + oneOf: oneOf_1.createOneOf(stylusLoader) + } ]; } exports.createCssLoaders = createCssLoaders; const scssLoader = { - loader: 'sass-loader', + loader: require.resolve('sass-loader'), options: { sourceMap: false, additionalData: '@import "@/uni.scss";', sassOptions: { - outputStyle: 'expanded', - }, - }, + outputStyle: 'expanded' + } + } }; const sassLoader = { - loader: 'sass-loader', + loader: require.resolve('sass-loader'), options: { sourceMap: false, additionalData: '@import "@/uni.sass"', sassOptions: { outputStyle: 'expanded', - indentedSyntax: true, - }, - }, + indentedSyntax: true + } + } }; const lessLoader = { - loader: 'less-loader', + loader: require.resolve('less-loader'), options: { - sourceMap: false, - }, + sourceMap: false + } }; const stylusLoader = { - loader: 'stylus-loader', + loader: require.resolve('stylus-loader'), options: { sourceMap: false, - preferPathResolver: 'webpack', - }, + preferPathResolver: 'webpack' + } }; diff --git a/packages/uni-cli-nvue/dist/webpack/config/module/rules/cssLoader/oneOf.js b/packages/uni-cli-nvue/dist/webpack/config/module/rules/cssLoader/oneOf.js index 7909b92910fee4430102caa3125e564b1e882ea7..06f71eaad361243bf77246f7dac49183da93ff3f 100644 --- a/packages/uni-cli-nvue/dist/webpack/config/module/rules/cssLoader/oneOf.js +++ b/packages/uni-cli-nvue/dist/webpack/config/module/rules/cssLoader/oneOf.js @@ -9,27 +9,29 @@ const loader_1 = require("../../../../loader"); const styleLoader = { loader: loader_1.resolveLoader('style') }; const preprocessLoader = { loader: loader_1.resolveLoader('preprocess') }; const postcssLoader = { - loader: 'postcss-loader', + loader: require.resolve('postcss-loader'), options: { sourceMap: false, - parser: require('postcss-comment'), - plugins: [ - require('postcss-import')({ - resolve(id) { - if (id.startsWith('~@/')) { - return path_1.default.resolve(process.env.UNI_INPUT_DIR, id.substr(3)); + postcssOptions: { + parser: require('postcss-comment'), + plugins: [ + require('postcss-import')({ + resolve(id) { + if (id.startsWith('~@/')) { + return path_1.default.resolve(process.env.UNI_INPUT_DIR, id.substr(3)); + } + else if (id.startsWith('@/')) { + return path_1.default.resolve(process.env.UNI_INPUT_DIR, id.substr(2)); + } + else if (id.startsWith('/') && !id.startsWith('//')) { + return path_1.default.resolve(process.env.UNI_INPUT_DIR, id.substr(1)); + } + return id; } - else if (id.startsWith('@/')) { - return path_1.default.resolve(process.env.UNI_INPUT_DIR, id.substr(2)); - } - else if (id.startsWith('/') && !id.startsWith('//')) { - return path_1.default.resolve(process.env.UNI_INPUT_DIR, id.substr(1)); - } - return id; - }, - }), - ], - }, + }) + ] + } + } }; function createOneOf(preLoader) { const use = [styleLoader, preprocessLoader]; @@ -40,11 +42,11 @@ function createOneOf(preLoader) { return [ { resourceQuery: /\?vue/, - use, + use }, { - use, - }, + use + } ]; } exports.createOneOf = createOneOf; diff --git a/packages/uni-cli-nvue/package.json b/packages/uni-cli-nvue/package.json index 63e796e18f03e0e336416e8950f8011a00758ece..82c0e8e55226b45091bd35a823ab11eb0359dc04 100644 --- a/packages/uni-cli-nvue/package.json +++ b/packages/uni-cli-nvue/package.json @@ -30,13 +30,19 @@ "escodegen": "^1.8.1", "hash-sum": "^1.0.2", "he": "^1.1.0", + "less-loader": "^10.0.1", "loader-utils": "^1.1.0", "lru-cache": "^4.1.2", "merge-source-map": "^1.1.0", - "postcss": "^7.0.14", + "postcss": "^8.3.6", + "postcss-comment": "^2.0.0", + "postcss-import": "^14.0.2", + "postcss-loader": "^6.1.1", "postcss-selector-parser": "^5.0.0", "prettier": "^1.18.2", + "sass-loader": "^12.1.0", "source-map": "~0.6.1", + "stylus-loader": "^6.1.0", "terser-webpack-plugin": "^5.1.4", "vue-hot-reload-api": "^2.3.0", "vue-style-loader": "^4.1.0", diff --git a/packages/uni-cli-nvue/src/utils/path.ts b/packages/uni-cli-nvue/src/utils/path.ts index 9d9062ff30c21bbaae528cec236a957e31922261..2259327b27005905d8d909e2ea50a924a04ea2e6 100644 --- a/packages/uni-cli-nvue/src/utils/path.ts +++ b/packages/uni-cli-nvue/src/utils/path.ts @@ -1,4 +1,4 @@ import path from 'path' export function resolveLib(filepath: string) { - return path.resolve(__dirname, '../lib', filepath) + return path.resolve(__dirname, '../../lib', filepath) } diff --git a/packages/uni-cli-nvue/src/webpack/config/module/rules/cssLoader/index.ts b/packages/uni-cli-nvue/src/webpack/config/module/rules/cssLoader/index.ts index 294856c7d9246a15881ad73ae6ef0b0021004df2..0f837f5941e8af02b59dc095f1c859157ff00276 100644 --- a/packages/uni-cli-nvue/src/webpack/config/module/rules/cssLoader/index.ts +++ b/packages/uni-cli-nvue/src/webpack/config/module/rules/cssLoader/index.ts @@ -5,61 +5,61 @@ export function createCssLoaders(): RuleSetRule[] { return [ { test: /\.css$/, - oneOf: createOneOf(), + oneOf: createOneOf() }, { test: /\.scss$/, - oneOf: createOneOf(scssLoader), + oneOf: createOneOf(scssLoader) }, { test: /\.sass$/, - oneOf: createOneOf(sassLoader), + oneOf: createOneOf(sassLoader) }, { test: /\.less$/, - oneOf: createOneOf(lessLoader), + oneOf: createOneOf(lessLoader) }, { test: /\.styl(us)?$/, - oneOf: createOneOf(stylusLoader), - }, + oneOf: createOneOf(stylusLoader) + } ] } const scssLoader = { - loader: 'sass-loader', + loader: require.resolve('sass-loader'), options: { sourceMap: false, additionalData: '@import "@/uni.scss";', sassOptions: { - outputStyle: 'expanded', - }, - }, + outputStyle: 'expanded' + } + } } const sassLoader = { - loader: 'sass-loader', + loader: require.resolve('sass-loader'), options: { sourceMap: false, additionalData: '@import "@/uni.sass"', sassOptions: { outputStyle: 'expanded', - indentedSyntax: true, - }, - }, + indentedSyntax: true + } + } } const lessLoader = { - loader: 'less-loader', + loader: require.resolve('less-loader'), options: { - sourceMap: false, - }, + sourceMap: false + } } const stylusLoader = { - loader: 'stylus-loader', + loader: require.resolve('stylus-loader'), options: { sourceMap: false, - preferPathResolver: 'webpack', - }, + preferPathResolver: 'webpack' + } } diff --git a/packages/uni-cli-nvue/src/webpack/config/module/rules/cssLoader/oneOf.ts b/packages/uni-cli-nvue/src/webpack/config/module/rules/cssLoader/oneOf.ts index 2afb4f955325f35a47ca32bf40292916bb628872..39511707be4323c2476c1b03501ed3731db06bd9 100644 --- a/packages/uni-cli-nvue/src/webpack/config/module/rules/cssLoader/oneOf.ts +++ b/packages/uni-cli-nvue/src/webpack/config/module/rules/cssLoader/oneOf.ts @@ -1,29 +1,30 @@ import path from 'path' - import { resolveLoader } from '../../../../loader' const styleLoader = { loader: resolveLoader('style') } const preprocessLoader = { loader: resolveLoader('preprocess') } const postcssLoader = { - loader: 'postcss-loader', + loader: require.resolve('postcss-loader'), options: { sourceMap: false, - parser: require('postcss-comment'), - plugins: [ - require('postcss-import')({ - resolve(id: string) { - if (id.startsWith('~@/')) { - return path.resolve(process.env.UNI_INPUT_DIR, id.substr(3)) - } else if (id.startsWith('@/')) { - return path.resolve(process.env.UNI_INPUT_DIR, id.substr(2)) - } else if (id.startsWith('/') && !id.startsWith('//')) { - return path.resolve(process.env.UNI_INPUT_DIR, id.substr(1)) + postcssOptions: { + parser: require('postcss-comment'), + plugins: [ + require('postcss-import')({ + resolve(id: string) { + if (id.startsWith('~@/')) { + return path.resolve(process.env.UNI_INPUT_DIR, id.substr(3)) + } else if (id.startsWith('@/')) { + return path.resolve(process.env.UNI_INPUT_DIR, id.substr(2)) + } else if (id.startsWith('/') && !id.startsWith('//')) { + return path.resolve(process.env.UNI_INPUT_DIR, id.substr(1)) + } + return id } - return id - }, - }), - ], - }, + }) + ] + } + } } export function createOneOf(preLoader?: { loader: string @@ -37,10 +38,10 @@ export function createOneOf(preLoader?: { return [ { resourceQuery: /\?vue/, - use, + use }, { - use, - }, + use + } ] } diff --git a/yarn.lock b/yarn.lock index 8be85ee6867a39382dded31354ac9737a476a8bf..91a7f4797b7b2de8b51f71c20dda7f09d36d81c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3551,7 +3551,7 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -chalk@^2.0.0, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -3561,9 +3561,9 @@ chalk@^2.0.0, chalk@^2.4.2: supports-color "^5.3.0" chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" - integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" @@ -4787,7 +4787,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.0.3, fast-glob@^3.1.1: +fast-glob@^3.0.3, fast-glob@^3.1.1, fast-glob@^3.2.5: version "3.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== @@ -6506,6 +6506,11 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== +klona@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" + integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== + lerna@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/lerna/-/lerna-4.0.0.tgz#b139d685d50ea0ca1be87713a7c2f44a5b678e9e" @@ -6530,6 +6535,13 @@ lerna@^4.0.0: import-local "^3.0.2" npmlog "^4.1.2" +less-loader@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-10.0.1.tgz#c05aaba68d00400820275f21c2ad87cb9fa9923f" + integrity sha512-Crln//HpW9M5CbtdfWm3IO66Cvx1WhZQvNybXgfB2dD/6Sav9ppw+IWqs/FQKPBFO4B6X0X28Z0WNznshgwUzA== + dependencies: + klona "^2.0.4" + level-blobs@^0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/level-blobs/-/level-blobs-0.1.7.tgz#9ab9b97bb99f1edbf9f78a3433e21ed56386bdaf" @@ -7957,6 +7969,13 @@ please-upgrade-node@^3.2.0: dependencies: semver-compare "^1.0.0" +postcss-comment@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-comment/-/postcss-comment-2.0.0.tgz#6c8808e64cee25c33146518a8a82944b05f11e6f" + integrity sha512-5zT5iKU7c0tK9KJFNrVf+g1MGTkzf/4V3e0Zzm2g1uoFQC5jeTHmB9O1iAqh97+jnKpc6al204e0pwFUiCwseg== + dependencies: + postcss "^6.0.0" + postcss-import@^14.0.2: version "14.0.2" resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.0.2.tgz#60eff77e6be92e7b67fe469ec797d9424cae1aa1" @@ -7975,6 +7994,15 @@ postcss-load-config@^3.1.0: lilconfig "^2.0.3" yaml "^1.10.2" +postcss-loader@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.1.1.tgz#58dd0a3accd9bc87cc52eff75244db578d11301a" + integrity sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug== + dependencies: + cosmiconfig "^7.0.0" + klona "^2.0.4" + semver "^7.3.5" + postcss-modules-extract-imports@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" @@ -8039,7 +8067,16 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -postcss@^7.0.14, postcss@^7.0.27: +postcss@^6.0.0: + version "6.0.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + +postcss@^7.0.27: version "7.0.36" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw== @@ -8731,6 +8768,14 @@ safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +sass-loader@^12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.1.0.tgz#b73324622231009da6fba61ab76013256380d201" + integrity sha512-FVJZ9kxVRYNZTIe2xhw93n3xJNYZADr+q69/s98l9nTCrWASo+DR2Ot0s5xTKQDDEosUkatsGeHxcH4QBp5bSg== + dependencies: + klona "^2.0.4" + neo-async "^2.6.2" + saxes@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" @@ -9266,7 +9311,16 @@ strong-log-transformer@^2.1.0: minimist "^1.2.0" through "^2.3.4" -supports-color@^5.3.0: +stylus-loader@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-6.1.0.tgz#7a3a719a27cb2b9617896d6da28fda94c3ed9762" + integrity sha512-qKO34QCsOtSJrXxQQmXsPeaVHh6hMumBAFIoJTcsSr2VzrA6o/CW9HCGR8spCjzJhN8oKQHdj/Ytx0wwXyElkw== + dependencies: + fast-glob "^3.2.5" + klona "^2.0.4" + normalize-path "^3.0.0" + +supports-color@^5.3.0, supports-color@^5.4.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -9925,9 +9979,9 @@ webidl-conversions@^6.1.0: integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== webpack-sources@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.1.1.tgz#586d15bc9a9723765f6a735f672357d6402f9c57" - integrity sha512-ztUmIWq0LWaw+1YyR3bXtUPjt8vQedtI9WxGn/q1V1ASHsombnaso7MN9S25lzKS/OuC9Q8lEg3GsZexjDbdlQ== + version "3.1.2" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.1.2.tgz#614c962ac45dfac7f0f482052db8324a6e0dc274" + integrity sha512-//DeuK5SzM6yFRXNOGK+4tX7QB8PghkL8kFBPyqSlN62oJOUkmby8ptV7+IBGH6BkIuIw5Rjd7OvvwZaoiF4ag== webpack@^5.1.0, webpack@^5.45.1: version "5.47.1"