UNPKG

@tarojs/webpack-runner

Version:

webpack runner for taro

54 lines 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const helper_1 = require("@tarojs/helper"); const runner_utils_1 = require("@tarojs/runner-utils"); const path_1 = require("path"); const resolve_1 = require("resolve"); const Chain = require("webpack-chain"); exports.default = (appPath, config) => { const chain = new Chain(); const mainFields = [...helper_1.defaultMainFields]; if (config.isWatch) { mainFields.unshift('main:h5'); } const resolveOptions = { basedir: appPath, packageFilter: (pkg, pkgFile) => { for (let i = 0; i < mainFields.length; i++) { try { const mainFile = pkg[mainFields[i]]; if (mainFile && (0, resolve_1.sync)(path_1.default.resolve(pkgFile, mainFile))) { pkg.main = mainFile; break; } } catch (e) { } // eslint-disable-line no-empty } return pkg; }, }; chain.merge({ resolve: { extensions: ['.mjs', '.js', '.jsx', '.ts', '.tsx', '.vue'], mainFields, symlinks: true, alias: { // Note: link 本地依赖调试,runtime 包需要指向本地 node_modules 顶层的 runtime,保证闭包值 Current 一致,shared 也一样 '@tarojs/runtime': (0, resolve_1.sync)('@tarojs/runtime', resolveOptions), '@tarojs/shared': (0, resolve_1.sync)('@tarojs/shared', resolveOptions), }, }, resolveLoader: { modules: ['node_modules'], }, }); chain.resolve.plugin('MultiPlatformPlugin').use(runner_utils_1.MultiPlatformPlugin, [ 'described-resolve', 'resolve', { chain, }, ]); return chain; }; //# sourceMappingURL=base.conf.js.map