UNPKG

jarvis-react

Version:

React脚手架及命令行工具合集

67 lines (66 loc) 2.54 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.rollupTransform = exports.getRollupConfig = void 0; const rollup_1 = require("rollup"); const plugin_commonjs_1 = __importDefault(require("@rollup/plugin-commonjs")); const plugin_babel_1 = __importDefault(require("@rollup/plugin-babel")); const plugin_typescript_1 = __importDefault(require("@rollup/plugin-typescript")); const plugin_node_resolve_1 = __importDefault(require("@rollup/plugin-node-resolve")); const rollup_plugin_postcss_1 = __importDefault(require("rollup-plugin-postcss")); const babel_1 = require("./babel"); const function_1 = require("../util/function"); const defaultGlobals = { react: 'React', 'react-dom': 'ReactDOM', 'react/jsx-runtime': 'jsxRuntime', }; const defaultExternal = ['react', 'react-dom', 'react/jsx-runtime']; function getRollupConfig(options) { const pkg = function_1.readProjectPackage(); const { globals = defaultGlobals, name = pkg.name, external = defaultExternal, outDir = 'dist', } = options; const babelConfig = babel_1.getBabelConfig(options); return { input: function_1.resolveProjectFile('src'), output: { file: `${outDir}/index.js`, format: 'umd', name, globals, }, context: 'window', external: [...external], plugins: [ rollup_plugin_postcss_1.default({ // @ts-ignore use: { less: { javascriptEnabled: true, }, }, }), plugin_node_resolve_1.default({ mainFields: ['module', 'jsxnext:main', 'main'], extensions: ['.tsx', '.ts', '.jsx', '.js'], }), plugin_babel_1.default({ ...babelConfig, babelHelpers: 'runtime', }), plugin_commonjs_1.default({ include: /node_modules/, }), plugin_typescript_1.default({ sourceMap: false }), ], }; } exports.getRollupConfig = getRollupConfig; async function rollupTransform(options) { const { output, ...rest } = getRollupConfig(options); const bundle = await rollup_1.rollup(rest); await bundle.write(output); await bundle.close(); } exports.rollupTransform = rollupTransform;