Browse Source

chore: 打包

es6
guy 3 years ago
parent
commit
5a41a24eca
  1. 0
      src/case/linearsegment/button.linear.segment.js
  2. 0
      src/case/linearsegment/linear.segment.js
  3. 0
      src/core/controller/popper.js
  4. 10
      webpack/attachments.js
  5. 41
      webpack/components.js
  6. 64
      webpack/webpack.prod.js

0
src/case/linersegment/button.linear.segment.js → src/case/linearsegment/button.linear.segment.js

0
src/case/linersegment/linear.segment.js → src/case/linearsegment/linear.segment.js

0
src/core/popper.js → src/core/controller/popper.js

10
webpack/attachments.js

@ -41,7 +41,14 @@ const basicAttachmentMap = {
router: sync([ router: sync([
"src/router/**/*.js", "src/router/**/*.js",
]), ]),
'core_without_normalize': sync( core_without_platform: sync([
lodashJs,
"src/core/**/*.js",
"src/data/**/*.js",
"!src/core/platform/**/*.js",
"!src/core/controller/**/*.js",
]),
core_without_normalize: sync(
["src/less/core/**/*.less", "src/less/theme/**/*.less", "!src/less/core/normalize.less", "!src/less/core/normalize2.less"], ["src/less/core/**/*.less", "src/less/theme/**/*.less", "!src/less/core/normalize.less", "!src/less/core/normalize2.less"],
), ),
resource: sync(["src/less/resource/**/*.less"]), resource: sync(["src/less/resource/**/*.less"]),
@ -211,6 +218,7 @@ module.exports = {
fineuiWithoutJqueryAndPolyfillJs: uniq(fineuiWithoutJqueryAndPolyfillJs), fineuiWithoutJqueryAndPolyfillJs: uniq(fineuiWithoutJqueryAndPolyfillJs),
utils: uniq(basicAttachmentMap.utils), utils: uniq(basicAttachmentMap.utils),
demo: uniq(demo), demo: uniq(demo),
coreWithoutPlatform: uniq(basicAttachmentMap.core_without_platform),
coreJs: uniq(coreJs), coreJs: uniq(coreJs),
resource: uniq((resource)), resource: uniq((resource)),
config: uniq(config), config: uniq(config),

41
webpack/components.js

@ -0,0 +1,41 @@
const grunt = require("grunt");
function uniq (names) {
return [...new Set(names)];
}
function sync (patterns) {
return uniq(grunt.file.expand({filter: path => !new RegExp(/__test__/g).test(path)}, patterns)).map(name => `./${name}`);
}
const basicAttachmentMap = {
single: sync(["src/base/single/**/*.js"]),
button_group: sync(["src/base/combination/group.button.js"]),
buttons: sync(["src/case/button/**/*.js"]),
combos: sync(["src/case/combo/**/*.js"]),
editors: sync(["src/case/editor/**/*.js"]),
triggers: sync(["src/case/trigger/**/*.js"]),
calendar: sync(["src/case/calendar/**/*.js"]),
color_chooser: sync(["src/case/colorchooser/**/*.js"]),
segment: sync(["src/case/segment/**/*.js"]),
linear_segment: sync(["src/case/linearsegment/**/*.js"]),
date: sync(["src/widget/date/**/*.js"]),
down_list: sync(["src/widget/downlist/**/*.js"]),
text_value_down_list_combo: sync(["src/widget/textvaluedownlistcombo/**/*.js"])
};
module.exports = {
single: basicAttachmentMap.single,
button_group: basicAttachmentMap.button_group,
buttons: basicAttachmentMap.buttons,
combos: basicAttachmentMap.combos,
editors: basicAttachmentMap.editors,
triggers: basicAttachmentMap.triggers,
calendar: basicAttachmentMap.calendar,
color_chooser: basicAttachmentMap.color_chooser,
segment: basicAttachmentMap.segment,
line_segment: basicAttachmentMap.line_segment,
date: basicAttachmentMap.date,
down_list: basicAttachmentMap.down_list,
text_value_down_list_combo: basicAttachmentMap.text_value_down_list_combo
};

64
webpack/webpack.prod.js

@ -10,25 +10,43 @@ const dirs = require("./dirs");
const common = require("./webpack.common.js"); const common = require("./webpack.common.js");
const attachments = require("./attachments"); const attachments = require("./attachments");
const components = require("./components");
module.exports = merge.smart(common, { module.exports = merge.smart(common, {
mode: "production", mode: "production",
entry: { entry: {
font: attachments.font, font: attachments.font,
"fineui.min": attachments.fineui, "fineui.min": attachments.fineui,
'fineui_without_normalize.min': attachments.fineuiWithoutNormalize, "fineui_without_normalize.min": attachments.fineuiWithoutNormalize,
"fineui.modern.min": attachments.fineuiModern, "fineui.modern.min": attachments.fineuiModern,
"fineui.proxy.min": attachments.fineuiProxy, "fineui.proxy.min": attachments.fineuiProxy,
"core_without_platform": attachments.coreWithoutPlatform,
utils: attachments.utils, utils: attachments.utils,
"utils.min": attachments.utils, "utils.min": attachments.utils,
"fineui_without_jquery_polyfill": attachments.fineuiWithoutJqueryAndPolyfillJs, "fineui_without_jquery_polyfill": attachments.fineuiWithoutJqueryAndPolyfillJs,
"2.0/fineui": attachments.bundle, "2.0/fineui": attachments.bundle,
"2.0/fineui.min": attachments.bundle, "2.0/fineui.min": attachments.bundle,
"2.0/fineui.modern.min": attachments.bundleModern, "2.0/fineui.modern.min": attachments.bundleModern,
'2.0/fineui_without_normalize': attachments.bundleWithoutNormalize, "2.0/fineui_without_normalize": attachments.bundleWithoutNormalize,
'2.0/fineui_without_normalize.min': attachments.bundleWithoutNormalize, "2.0/fineui_without_normalize.min": attachments.bundleWithoutNormalize,
"2.0/core_without_platform": attachments.coreWithoutPlatform,
"2.0/core_without_platform.min": attachments.coreWithoutPlatform,
core: attachments.coreJs, core: attachments.coreJs,
resource: attachments.resource, resource: attachments.resource,
// 组件库独立组件
"components/single": components.single,
"components/button_group": components.button_group,
"components/buttons": components.buttons,
"components/combos": components.combos,
"components/editors": components.editors,
"components/triggers": components.triggers,
"components/calendar": components.calendar,
"components/color_chooser": components.color_chooser,
"components/segment": components.segment,
"components/line_segment": components.line_segment,
"components/date": components.date,
"components/down_list": components.down_list,
"components/text_value_down_list_combo": components.text_value_down_list_combo
}, },
optimization: { optimization: {
minimizer: [ minimizer: [
@ -38,27 +56,27 @@ module.exports = merge.smart(common, {
sourceMap: true, sourceMap: true,
terserOptions: { terserOptions: {
output: { output: {
comments: false, comments: false
}, }
}, }
}), }),
new webpack.BannerPlugin({ new webpack.BannerPlugin({
banner: `time: ${new Date().toLocaleString()}`, banner: `time: ${new Date().toLocaleString()}`
}), })
], ]
}, },
devtool: "hidden-source-map", devtool: "hidden-source-map",
output: { output: {
path: dirs.DEST, path: dirs.DEST,
filename: "[name].js", filename: "[name].js"
}, },
plugins: [ plugins: [
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
path: dirs.DEST, path: dirs.DEST,
filename: "[name].css", filename: "[name].css"
}), }),
new ForkTsCheckerWebpackPlugin({}), new ForkTsCheckerWebpackPlugin({}),
new OptimizeCssAssetsPlugin({ new OptimizeCssAssetsPlugin({
@ -67,13 +85,13 @@ module.exports = merge.smart(common, {
cssProcessorPluginOptions: { cssProcessorPluginOptions: {
preset: ["default", { preset: ["default", {
discardComments: { discardComments: {
removeAll: true, removeAll: true
}, },
normalizeUnicode: false, normalizeUnicode: false
}], }]
}, },
canPrint: true, canPrint: true
}), })
], ],
module: { module: {
@ -84,11 +102,11 @@ module.exports = merge.smart(common, {
{ {
loader: "postcss-loader", loader: "postcss-loader",
options: { options: {
plugins: [], plugins: []
}, }
}, }
], ]
}, }
], ]
}, }
}); });

Loading…
Cancel
Save