fix: 输出compiled template的版本,现在可用runtime-only版本的vue运行;webpack升级到4;

This commit is contained in:
daniel-dx
2018-08-07 17:09:20 +08:00
parent 904d1f3a55
commit 98f46f564e
65 changed files with 11193 additions and 3492 deletions
+1 -1
View File
@@ -1,3 +1,3 @@
{
"presets": [ "es2015", "babel-preset-power-assert" ]
"presets": [ "es2015", "babel-preset-power-assert", "stage-3" ]
}
+2748 -101
View File
File diff suppressed because it is too large Load Diff
+7 -1
View File
@@ -29,11 +29,12 @@
"devDependencies": {
"babel-core": "6.14.0",
"babel-eslint": "^8.2.5",
"babel-loader": "6.2.5",
"babel-loader": "^7.1.5",
"babel-plugin-transform-runtime": "^6.3.13",
"babel-polyfill": "6.13.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-power-assert": "^1.0.0",
"babel-preset-stage-3": "^6.24.1",
"babel-register": "6.14.0",
"babel-runtime": "^6.3.19",
"commitizen": "^2.10.1",
@@ -48,6 +49,11 @@
"lerna": "^2.11.0",
"lint-staged": "^7.2.0",
"prettier": "^1.13.7",
"vue-loader": "^15.2.6",
"vue-template-compiler": "^2.5.17",
"webpack": "^4.16.4",
"webpack-cli": "^3.1.0",
"webpack-merge": "^4.1.4",
"yorkie": "^1.0.3"
},
"dependencies": {
+2 -2
View File
@@ -44,7 +44,7 @@ function build() {
// would externalize the `jquery` module.
externals: {},
module: {
loaders: [
rules: [
// {test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader'}
{ test: /\.js$/, loader: "babel-loader" }
]
@@ -136,7 +136,7 @@ function testBrowser() {
},
// Externals isn't necessary here since these are for tests.
module: {
loaders: [
rules: [
// This is what allows us to author in future JavaScript
// {test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader'},
{ test: /\.js$/, loader: "babel-loader" },
+4542 -1006
View File
File diff suppressed because it is too large Load Diff
+1 -3
View File
@@ -27,7 +27,6 @@
"license": "MIT",
"devDependencies": {
"babel-core": "6.14.0",
"babel-loader": "6.2.5",
"babel-polyfill": "6.13.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-power-assert": "^1.0.0",
@@ -51,8 +50,7 @@
"mocha": "3.0.2",
"sinon": "1.17.5",
"sinon-chai": "2.8.0",
"webpack": "1.13.2",
"webpack-stream": "3.2.0"
"webpack-stream": "^5.1.0"
},
"files": [
"src",
+28 -19
View File
@@ -1,9 +1,12 @@
const path = require("path");
const VueLoaderPlugin = require('vue-loader/lib/plugin');
const config = require("./config");
// webpack.config.js
module.exports = {
mode: 'development',
entry: {
playground: path.join(config.src, "components", "playground", "index.vue"),
schemaGen: path.join(config.src, "components", "schema-gen", "index.vue")
@@ -31,39 +34,45 @@ module.exports = {
},
module: {
loaders: [
rules: [
{
test: /\.vue$/,
loader: "vue",
include: [config.src].concat(config.vueModules)
loader: "vue-loader",
include: [config.src]
},
{
test: /\.scss$/,
use: [
'vue-style-loader',
'css-loader',
'sass-loader'
]
},
{
test: /\.css$/,
use: [
'vue-style-loader',
'css-loader',
]
},
{
test: /\.js$/,
loader: "babel",
loader: 'babel-loader',
include: [config.src].concat(config.babelModules)
},
{
// edit this for additional asset file types
test: /\.(png|jpg|gif)$/,
loader: "url",
loader: "url-loader",
query: {
// inline files smaller then 10kb as base64 dataURL
limit: 10000,
// fallback to file-loader with this naming scheme
name: "img/[name].[ext]"
},
include: [config.src].concat(config.vueModules)
include: [config.src]
}
]
},
vue: {
loaders: {
js: "babel"
}
},
babel: {
presets: ["stage-3", "es2015"],
plugins: ["transform-runtime"]
}
plugins: [
new VueLoaderPlugin()
]
};
+2 -5
View File
@@ -1,13 +1,10 @@
/**
* Created by daniel on 16/9/6.
*/
const merge = require('webpack-merge');
const devConfig = require("./webpack.config.dev");
const prdConfig = require("./webpack.config.prd");
const env = process.env.NODE_ENV;
if (env === "production") {
module.exports = Object.assign(devConfig, prdConfig);
module.exports = merge(devConfig, prdConfig);
} else {
module.exports = devConfig;
}
@@ -3,24 +3,15 @@ const webpack = require("webpack");
const config = require("./config");
// webpack.config.js
module.exports = {
entry: {
"vue-component": path.join(config.src, "components", "index.js"),
"vue-directive": path.join(config.src, "directives", "index.js")
},
mode: 'production',
output: {
path: config.dist,
filename: "[name].min.js"
filename: "[name].min.js",
},
plugins: [
// compress js
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
})
]
optimization: {
minimize: true
}
};
@@ -49,7 +49,7 @@
new Vue({
el: '#demo',
components: {
playground: playground
playground: playground.default
}
});
</script>
@@ -33,12 +33,12 @@
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script type="text/javascript" src="../../../dist/schemaGen.js"></script>
<script type="text/javascript">
Vue.use(vueNcform, { extComponents: ncformStdComps.default });
Vue.use(vueNcform, { extComponents: ncformStdComps });
// Bootstrap the app
new Vue({
el: '#demo',
components: {
schemaGen: schemaGen
schemaGen: schemaGen.default
}
});
</script>
+20 -12
View File
@@ -16,24 +16,32 @@ const { reload } = browserSync;
/* ====================== functions ====================== */
function handleErrors(err) {
notify
.onError({
title: "compile error",
message: "<%= error.message %>"
})
.apply(this, err);
this.emit("end");
function handleErrors(err, stats) {
if (err) {
console.error(err.details);
}
if (stats) {
console.log(stats.toString({
chunks: false, // Makes the build much quieter
colors: true // Shows colors in the console
}));
}
}
/* ====================== gulp tasks ====================== */
gulp.task("webpack", done => {
webpack(webpackConfig, err => {
if (err) {
handleErrors(err);
webpack(webpackConfig, (err, stats) => {
if (err || stats.hasErrors()) {
handleErrors(err, stats);
} else {
console.log(stats.toString({
chunks: false, // Makes the build much quieter
colors: true // Shows colors in the console
}));
done();
}
done();
});
});
+57 -440
View File
@@ -1,9 +1,42 @@
{
"name": "ncform-show",
"version": "0.0.1",
"version": "0.1.8",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@ncform/ncform": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/@ncform/ncform/-/ncform-0.1.8.tgz",
"integrity": "sha512-PsnZDPRDkAAv85bCT4EiBo/kc7nmcNeqRTcIoRe2/hhHtjAUN+GTUKjwrr+6XZwWI6PUDQAABTdEtyCuQsmpdQ==",
"requires": {
"@ncform/ncform-common": "0.1.8",
"extend": "3.0.1",
"lodash-es": "4.17.4",
"vue": "2.5.9"
}
},
"@ncform/ncform-common": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/@ncform/ncform-common/-/ncform-common-0.1.8.tgz",
"integrity": "sha512-2db3hahwxrd3CNBaxeAIkPF3E4z0fnAJ+WfNYBxXWjchnTZXAPX48E9O62OFxIUWtse8O7pAxhQN1tayd8VXBA==",
"requires": {
"assert": "1.4.1",
"extend": "3.0.1",
"lodash-es": "4.17.4",
"power-assert": "1.4.4"
}
},
"@ncform/ncform-theme-elementui": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/@ncform/ncform-theme-elementui/-/ncform-theme-elementui-0.1.8.tgz",
"integrity": "sha512-SRsGsl70YE+VHJuPHGBVwRhTuhT2ndu2rqIjRUmaWhVrVT0QnjcKTP05o8GfpACnIh0iv8pM1wVy6lavY6+Xrg==",
"requires": {
"@ncform/ncform-common": "0.1.8",
"element-ui": "2.4.3",
"lodash-es": "4.17.4",
"vue": "2.5.9"
}
},
"abbrev": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz",
@@ -28,14 +61,12 @@
"acorn": {
"version": "4.0.13",
"resolved": "http://registry.npm.taobao.org/acorn/download/acorn-4.0.13.tgz",
"integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
"dev": true
"integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c="
},
"acorn-es7-plugin": {
"version": "1.1.7",
"resolved": "http://registry.npm.taobao.org/acorn-es7-plugin/download/acorn-es7-plugin-1.1.7.tgz",
"integrity": "sha1-8u4fMiipDurRJF+asZIusucdM2s=",
"dev": true
"integrity": "sha1-8u4fMiipDurRJF+asZIusucdM2s="
},
"acorn-jsx": {
"version": "3.0.1",
@@ -194,8 +225,7 @@
"array-filter": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/array-filter/download/array-filter-1.0.0.tgz",
"integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=",
"dev": true
"integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM="
},
"array-find-index": {
"version": "1.0.2",
@@ -263,7 +293,6 @@
"version": "1.4.1",
"resolved": "http://registry.npm.taobao.org/assert/download/assert-1.4.1.tgz",
"integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
"dev": true,
"requires": {
"util": "0.10.3"
}
@@ -308,7 +337,6 @@
"version": "1.8.2",
"resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.2.tgz",
"integrity": "sha1-t3WXIm6WJC+NUxwNRq4pX2JCK6Q=",
"dev": true,
"requires": {
"babel-runtime": "6.26.0"
}
@@ -563,8 +591,7 @@
"babel-helper-vue-jsx-merge-props": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
"integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==",
"dev": true
"integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg=="
},
"babel-helpers": {
"version": "6.24.1",
@@ -576,18 +603,6 @@
"babel-template": "6.26.0"
}
},
"babel-loader": {
"version": "6.4.1",
"resolved": "http://registry.npm.taobao.org/babel-loader/download/babel-loader-6.4.1.tgz",
"integrity": "sha1-CzQRLVsHSKjc2/Uaz2+b1C1QuMo=",
"dev": true,
"requires": {
"find-cache-dir": "0.1.1",
"loader-utils": "0.2.17",
"mkdirp": "0.5.1",
"object-assign": "4.1.1"
}
},
"babel-messages": {
"version": "6.23.0",
"resolved": "http://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz",
@@ -1036,7 +1051,6 @@
"version": "6.26.0",
"resolved": "http://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
"dev": true,
"requires": {
"core-js": "2.5.1",
"regenerator-runtime": "0.11.0"
@@ -1437,8 +1451,7 @@
"call-signature": {
"version": "0.0.2",
"resolved": "http://registry.npm.taobao.org/call-signature/download/call-signature-0.0.2.tgz",
"integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY=",
"dev": true
"integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY="
},
"caller-path": {
"version": "0.1.0",
@@ -1938,15 +1951,6 @@
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"dev": true
},
"consolidate": {
"version": "0.14.5",
"resolved": "http://registry.npm.taobao.org/consolidate/download/consolidate-0.14.5.tgz",
"integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=",
"dev": true,
"requires": {
"bluebird": "3.5.1"
}
},
"constant-case": {
"version": "2.0.0",
"resolved": "http://registry.npm.taobao.org/constant-case/download/constant-case-2.0.0.tgz",
@@ -2013,8 +2017,7 @@
"core-js": {
"version": "2.5.1",
"resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.5.1.tgz",
"integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=",
"dev": true
"integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs="
},
"core-util-is": {
"version": "1.0.2",
@@ -2405,12 +2408,6 @@
"integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
"dev": true
},
"de-indent": {
"version": "1.0.2",
"resolved": "http://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz",
"integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=",
"dev": true
},
"debug": {
"version": "3.1.0",
"resolved": "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz",
@@ -2441,8 +2438,7 @@
"deepmerge": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz",
"integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==",
"dev": true
"integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ=="
},
"defaults": {
"version": "1.0.3",
@@ -2457,7 +2453,6 @@
"version": "1.1.2",
"resolved": "http://registry.npm.taobao.org/define-properties/download/define-properties-1.1.2.tgz",
"integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
"dev": true,
"requires": {
"foreach": "2.0.5",
"object-keys": "1.0.11"
@@ -2557,8 +2552,7 @@
"diff-match-patch": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/diff-match-patch/download/diff-match-patch-1.0.0.tgz",
"integrity": "sha1-HMPIOkkNZ/ldkeOfatHy4Ia2MEg=",
"dev": true
"integrity": "sha1-HMPIOkkNZ/ldkeOfatHy4Ia2MEg="
},
"diffie-hellman": {
"version": "5.0.2",
@@ -2677,8 +2671,7 @@
"eastasianwidth": {
"version": "0.1.1",
"resolved": "http://registry.npm.taobao.org/eastasianwidth/download/eastasianwidth-0.1.1.tgz",
"integrity": "sha1-RNZW3p2kFWlEZzNTZfsxR7hXK3w=",
"dev": true
"integrity": "sha1-RNZW3p2kFWlEZzNTZfsxR7hXK3w="
},
"easy-extender": {
"version": "2.3.2",
@@ -2732,7 +2725,6 @@
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.4.3.tgz",
"integrity": "sha512-fHcpUGbJsfP1mvfErdnn4A7MglNbfL4uiukGHRZaFy1K7HhVKEpLficNqUtaYS3SKjKnzpkSdZkrJJCR1aNICw==",
"dev": true,
"requires": {
"async-validator": "1.8.2",
"babel-helper-vue-jsx-merge-props": "2.0.3",
@@ -2773,7 +2765,6 @@
"version": "1.2.3",
"resolved": "http://registry.npm.taobao.org/empower/download/empower-1.2.3.tgz",
"integrity": "sha1-bw2nNEf07dg4/sXGAxOoi6XLhSs=",
"dev": true,
"requires": {
"core-js": "2.5.1",
"empower-core": "0.6.2"
@@ -2783,7 +2774,6 @@
"version": "0.6.2",
"resolved": "http://registry.npm.taobao.org/empower-core/download/empower-core-0.6.2.tgz",
"integrity": "sha1-Wt71ZgiOMfuoC6CjbfR9cJQWkUQ=",
"dev": true,
"requires": {
"call-signature": "0.0.2",
"core-js": "2.5.1"
@@ -2930,40 +2920,12 @@
}
}
},
"enhanced-resolve": {
"version": "0.9.1",
"resolved": "http://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-0.9.1.tgz",
"integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=",
"dev": true,
"requires": {
"graceful-fs": "4.1.11",
"memory-fs": "0.2.0",
"tapable": "0.1.10"
},
"dependencies": {
"memory-fs": {
"version": "0.2.0",
"resolved": "http://registry.npm.taobao.org/memory-fs/download/memory-fs-0.2.0.tgz",
"integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=",
"dev": true
}
}
},
"entities": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/entities/download/entities-1.1.1.tgz",
"integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
"dev": true
},
"errno": {
"version": "0.1.4",
"resolved": "http://registry.npm.taobao.org/errno/download/errno-0.1.4.tgz",
"integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=",
"dev": true,
"requires": {
"prr": "0.0.0"
}
},
"error-ex": {
"version": "1.3.1",
"resolved": "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.1.tgz",
@@ -3280,7 +3242,6 @@
"version": "1.7.0",
"resolved": "http://registry.npm.taobao.org/espurify/download/espurify-1.7.0.tgz",
"integrity": "sha1-HFz2y8zDLm9jk4C9T5kfq5up0iY=",
"dev": true,
"requires": {
"core-js": "2.5.1"
}
@@ -3298,8 +3259,7 @@
"estraverse": {
"version": "4.2.0",
"resolved": "http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz",
"integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
"dev": true
"integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM="
},
"estraverse-fb": {
"version": "1.3.2",
@@ -3462,8 +3422,7 @@
"extend": {
"version": "3.0.1",
"resolved": "http://registry.npm.taobao.org/extend/download/extend-3.0.1.tgz",
"integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
"dev": true
"integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
},
"extglob": {
"version": "0.3.2",
@@ -3773,8 +3732,7 @@
"foreach": {
"version": "2.0.5",
"resolved": "http://registry.npm.taobao.org/foreach/download/foreach-2.0.5.tgz",
"integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
"dev": true
"integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k="
},
"forever-agent": {
"version": "0.6.1",
@@ -5371,12 +5329,6 @@
"inherits": "2.0.1"
}
},
"hash-sum": {
"version": "1.0.2",
"resolved": "http://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz",
"integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=",
"dev": true
},
"hash.js": {
"version": "1.1.3",
"resolved": "http://registry.npm.taobao.org/hash.js/download/hash.js-1.1.3.tgz",
@@ -5631,8 +5583,7 @@
"indexof": {
"version": "0.0.1",
"resolved": "http://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz",
"integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
"dev": true
"integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10="
},
"inflight": {
"version": "1.0.6",
@@ -5647,8 +5598,7 @@
"inherits": {
"version": "2.0.1",
"resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz",
"integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
"dev": true
"integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
},
"ini": {
"version": "1.3.5",
@@ -6820,16 +6770,6 @@
"mimic-fn": "1.1.0"
}
},
"memory-fs": {
"version": "0.3.0",
"resolved": "http://registry.npm.taobao.org/memory-fs/download/memory-fs-0.3.0.tgz",
"integrity": "sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=",
"dev": true,
"requires": {
"errno": "0.1.4",
"readable-stream": "2.3.3"
}
},
"meow": {
"version": "3.7.0",
"resolved": "http://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz",
@@ -7393,8 +7333,7 @@
"normalize-wheel": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz",
"integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU=",
"dev": true
"integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
},
"npm-run-path": {
"version": "2.0.2",
@@ -7468,8 +7407,7 @@
"object-keys": {
"version": "1.0.11",
"resolved": "http://registry.npm.taobao.org/object-keys/download/object-keys-1.0.11.tgz",
"integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
"dev": true
"integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0="
},
"object-path": {
"version": "0.9.2",
@@ -7585,24 +7523,6 @@
"pinkie-promise": "2.0.1"
}
},
"optimist": {
"version": "0.6.1",
"resolved": "http://registry.npm.taobao.org/optimist/download/optimist-0.6.1.tgz",
"integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
"dev": true,
"requires": {
"minimist": "0.0.8",
"wordwrap": "0.0.3"
},
"dependencies": {
"wordwrap": {
"version": "0.0.3",
"resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.3.tgz",
"integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
"dev": true
}
}
},
"optionator": {
"version": "0.8.2",
"resolved": "http://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz",
@@ -7773,12 +7693,6 @@
"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
"dev": true
},
"parse5": {
"version": "2.2.3",
"resolved": "http://registry.npm.taobao.org/parse5/download/parse5-2.2.3.tgz",
"integrity": "sha1-DE/EHBAAxea5PUiwP4CDg3g06fY=",
"dev": true
},
"parsejson": {
"version": "0.0.3",
"resolved": "http://registry.npm.taobao.org/parsejson/download/parsejson-0.0.3.tgz",
@@ -7909,12 +7823,6 @@
"sha.js": "2.4.9"
}
},
"pbkdf2-compat": {
"version": "2.0.1",
"resolved": "http://registry.npm.taobao.org/pbkdf2-compat/download/pbkdf2-compat-2.0.1.tgz",
"integrity": "sha1-tuDI+plJTZTgURV1gCpZpcFC8og=",
"dev": true
},
"pend": {
"version": "1.2.0",
"resolved": "http://registry.npm.taobao.org/pend/download/pend-1.2.0.tgz",
@@ -8737,7 +8645,6 @@
"version": "1.4.4",
"resolved": "http://registry.npm.taobao.org/power-assert/download/power-assert-1.4.4.tgz",
"integrity": "sha1-kpXqdDcZb1pgH95CDwQmMRhtdRc=",
"dev": true,
"requires": {
"define-properties": "1.1.2",
"empower": "1.2.3",
@@ -8750,7 +8657,6 @@
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/power-assert-context-formatter/download/power-assert-context-formatter-1.1.1.tgz",
"integrity": "sha1-7bo1LT7YpgMRTWZyZazOYNaJzN8=",
"dev": true,
"requires": {
"core-js": "2.5.1",
"power-assert-context-traversal": "1.1.1"
@@ -8760,7 +8666,6 @@
"version": "1.1.2",
"resolved": "http://registry.npm.taobao.org/power-assert-context-reducer-ast/download/power-assert-context-reducer-ast-1.1.2.tgz",
"integrity": "sha1-SEqZ4m9Jc/+IMuXFzHVnAuYJQXQ=",
"dev": true,
"requires": {
"acorn": "4.0.13",
"acorn-es7-plugin": "1.1.7",
@@ -8773,7 +8678,6 @@
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/power-assert-context-traversal/download/power-assert-context-traversal-1.1.1.tgz",
"integrity": "sha1-iMq8oNE7Y1nwfT0+ivppkmRXftk=",
"dev": true,
"requires": {
"core-js": "2.5.1",
"estraverse": "4.2.0"
@@ -8783,7 +8687,6 @@
"version": "1.4.1",
"resolved": "http://registry.npm.taobao.org/power-assert-formatter/download/power-assert-formatter-1.4.1.tgz",
"integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=",
"dev": true,
"requires": {
"core-js": "2.5.1",
"power-assert-context-formatter": "1.1.1",
@@ -8798,7 +8701,6 @@
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/power-assert-renderer-assertion/download/power-assert-renderer-assertion-1.1.1.tgz",
"integrity": "sha1-y/wOd+AIao+Wrz8djme57n4ozpg=",
"dev": true,
"requires": {
"power-assert-renderer-base": "1.1.1",
"power-assert-util-string-width": "1.1.1"
@@ -8807,14 +8709,12 @@
"power-assert-renderer-base": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/power-assert-renderer-base/download/power-assert-renderer-base-1.1.1.tgz",
"integrity": "sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s=",
"dev": true
"integrity": "sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s="
},
"power-assert-renderer-comparison": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/power-assert-renderer-comparison/download/power-assert-renderer-comparison-1.1.1.tgz",
"integrity": "sha1-10Odl9hRVr5OMKAPL7WnJRTOPAg=",
"dev": true,
"requires": {
"core-js": "2.5.1",
"diff-match-patch": "1.0.0",
@@ -8827,7 +8727,6 @@
"version": "1.1.2",
"resolved": "http://registry.npm.taobao.org/power-assert-renderer-diagram/download/power-assert-renderer-diagram-1.1.2.tgz",
"integrity": "sha1-ZV+PcRk1qbbVQbhjJ2VHF8Y3qYY=",
"dev": true,
"requires": {
"core-js": "2.5.1",
"power-assert-renderer-base": "1.1.1",
@@ -8839,7 +8738,6 @@
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/power-assert-renderer-file/download/power-assert-renderer-file-1.1.1.tgz",
"integrity": "sha1-o34rvReMys0E5427eckv40kzxec=",
"dev": true,
"requires": {
"power-assert-renderer-base": "1.1.1"
}
@@ -8848,7 +8746,6 @@
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/power-assert-util-string-width/download/power-assert-util-string-width-1.1.1.tgz",
"integrity": "sha1-vmWet5N/3S5smncmjar2S9W3xZI=",
"dev": true,
"requires": {
"eastasianwidth": "0.1.1"
}
@@ -8907,12 +8804,6 @@
"integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
"dev": true
},
"prr": {
"version": "0.0.0",
"resolved": "http://registry.npm.taobao.org/prr/download/prr-0.0.0.tgz",
"integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=",
"dev": true
},
"pseudomap": {
"version": "1.0.2",
"resolved": "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
@@ -9288,8 +9179,7 @@
"regenerator-runtime": {
"version": "0.11.0",
"resolved": "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.0.tgz",
"integrity": "sha1-flT+W1zNXWYk6mJVw0c74JC4AuE=",
"dev": true
"integrity": "sha1-flT+W1zNXWYk6mJVw0c74JC4AuE="
},
"regenerator-transform": {
"version": "0.10.1",
@@ -9462,8 +9352,7 @@
"resize-observer-polyfill": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.0.tgz",
"integrity": "sha512-M2AelyJDVR/oLnToJLtuDJRBBWUGUvvGigj1411hXhAdyFWqMaqHp7TixW3FpiLuVaikIcR1QL+zqoJoZlOgpg==",
"dev": true
"integrity": "sha512-M2AelyJDVR/oLnToJLtuDJRBBWUGUvvGigj1411hXhAdyFWqMaqHp7TixW3FpiLuVaikIcR1QL+zqoJoZlOgpg=="
},
"resolve": {
"version": "1.5.0",
@@ -9883,12 +9772,6 @@
"integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
"dev": true
},
"setimmediate": {
"version": "1.0.5",
"resolved": "http://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz",
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
"dev": true
},
"setprototypeof": {
"version": "1.0.2",
"resolved": "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.0.2.tgz",
@@ -10512,7 +10395,6 @@
"version": "1.3.0",
"resolved": "http://registry.npm.taobao.org/stringifier/download/stringifier-1.3.0.tgz",
"integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=",
"dev": true,
"requires": {
"core-js": "2.5.1",
"traverse": "0.6.6",
@@ -10904,12 +10786,6 @@
}
}
},
"tapable": {
"version": "0.1.10",
"resolved": "http://registry.npm.taobao.org/tapable/download/tapable-0.1.10.tgz",
"integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=",
"dev": true
},
"tar": {
"version": "2.2.1",
"resolved": "http://registry.npm.taobao.org/tar/download/tar-2.2.1.tgz",
@@ -10940,8 +10816,7 @@
"throttle-debounce": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz",
"integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==",
"dev": true
"integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg=="
},
"throttleit": {
"version": "1.0.0",
@@ -11035,8 +10910,7 @@
"traverse": {
"version": "0.6.6",
"resolved": "http://registry.npm.taobao.org/traverse/download/traverse-0.6.6.tgz",
"integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=",
"dev": true
"integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc="
},
"trim-newlines": {
"version": "1.0.0",
@@ -11114,8 +10988,7 @@
"type-name": {
"version": "2.0.2",
"resolved": "http://registry.npm.taobao.org/type-name/download/type-name-2.0.2.tgz",
"integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q=",
"dev": true
"integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q="
},
"typedarray": {
"version": "0.0.6",
@@ -11202,7 +11075,6 @@
"version": "1.2.2",
"resolved": "http://registry.npm.taobao.org/universal-deep-strict-equal/download/universal-deep-strict-equal-1.2.2.tgz",
"integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=",
"dev": true,
"requires": {
"array-filter": "1.0.0",
"indexof": "0.0.1",
@@ -11296,7 +11168,6 @@
"version": "0.10.3",
"resolved": "http://registry.npm.taobao.org/util/download/util-0.10.3.tgz",
"integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
"dev": true,
"requires": {
"inherits": "2.0.1"
}
@@ -11655,39 +11526,6 @@
}
}
},
"vue-loader": {
"version": "8.7.0",
"resolved": "http://registry.npm.taobao.org/vue-loader/download/vue-loader-8.7.0.tgz",
"integrity": "sha1-qYgerXUedeAITM0CLn+9tzeAayo=",
"dev": true,
"requires": {
"autoprefixer": "6.7.7",
"consolidate": "0.14.5",
"de-indent": "1.0.2",
"hash-sum": "1.0.2",
"loader-utils": "0.2.17",
"lru-cache": "2.7.3",
"object-assign": "4.1.1",
"parse5": "2.2.3",
"postcss": "5.2.18",
"postcss-selector-parser": "1.3.3",
"source-map": "0.5.7",
"vue-template-validator": "1.1.5"
},
"dependencies": {
"postcss-selector-parser": {
"version": "1.3.3",
"resolved": "http://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-1.3.3.tgz",
"integrity": "sha1-0u4Z33pk+O8hwacchvfUg1yIwoE=",
"dev": true,
"requires": {
"flatten": "1.0.2",
"indexes-of": "1.0.1",
"uniq": "1.0.1"
}
}
}
},
"vue-style-loader": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-1.0.0.tgz",
@@ -11697,226 +11535,6 @@
"loader-utils": "0.2.17"
}
},
"vue-template-validator": {
"version": "1.1.5",
"resolved": "http://registry.npm.taobao.org/vue-template-validator/download/vue-template-validator-1.1.5.tgz",
"integrity": "sha1-ItHud9BkfBqxT/frAYZZQtmzxFg=",
"dev": true,
"requires": {
"chalk": "1.1.3"
}
},
"watchpack": {
"version": "0.2.9",
"resolved": "http://registry.npm.taobao.org/watchpack/download/watchpack-0.2.9.tgz",
"integrity": "sha1-Yuqkq15bo1/fwBgnVibjwPXj+ws=",
"dev": true,
"requires": {
"async": "0.9.2",
"chokidar": "1.7.0",
"graceful-fs": "4.1.11"
},
"dependencies": {
"async": {
"version": "0.9.2",
"resolved": "http://registry.npm.taobao.org/async/download/async-0.9.2.tgz",
"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
"dev": true
}
}
},
"webpack": {
"version": "1.15.0",
"resolved": "http://registry.npm.taobao.org/webpack/download/webpack-1.15.0.tgz",
"integrity": "sha1-T/MfU9sDM55VFkqdRo7gMklo/pg=",
"dev": true,
"requires": {
"acorn": "3.3.0",
"async": "1.5.2",
"clone": "1.0.3",
"enhanced-resolve": "0.9.1",
"interpret": "0.6.6",
"loader-utils": "0.2.17",
"memory-fs": "0.3.0",
"mkdirp": "0.5.1",
"node-libs-browser": "0.7.0",
"optimist": "0.6.1",
"supports-color": "3.2.3",
"tapable": "0.1.10",
"uglify-js": "2.7.5",
"watchpack": "0.2.9",
"webpack-core": "0.6.9"
},
"dependencies": {
"acorn": {
"version": "3.3.0",
"resolved": "http://registry.npm.taobao.org/acorn/download/acorn-3.3.0.tgz",
"integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
"dev": true
},
"browserify-aes": {
"version": "0.4.0",
"resolved": "http://registry.npm.taobao.org/browserify-aes/download/browserify-aes-0.4.0.tgz",
"integrity": "sha1-BnFJtmjfMcS1hTPgLQHoBthgjiw=",
"dev": true,
"requires": {
"inherits": "2.0.1"
}
},
"cliui": {
"version": "2.1.0",
"resolved": "http://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz",
"integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
"dev": true,
"requires": {
"center-align": "0.1.3",
"right-align": "0.1.3",
"wordwrap": "0.0.2"
}
},
"crypto-browserify": {
"version": "3.3.0",
"resolved": "http://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.3.0.tgz",
"integrity": "sha1-ufx1u0oO1h3PHNXa6W6zDJw+UGw=",
"dev": true,
"requires": {
"browserify-aes": "0.4.0",
"pbkdf2-compat": "2.0.1",
"ripemd160": "0.2.0",
"sha.js": "2.2.6"
}
},
"interpret": {
"version": "0.6.6",
"resolved": "http://registry.npm.taobao.org/interpret/download/interpret-0.6.6.tgz",
"integrity": "sha1-/s16GOfOXKar+5U+H4YhOknxYls=",
"dev": true
},
"node-libs-browser": {
"version": "0.7.0",
"resolved": "http://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-0.7.0.tgz",
"integrity": "sha1-PicsCBnjCJNeJmdECNevDhSRuDs=",
"dev": true,
"requires": {
"assert": "1.4.1",
"browserify-zlib": "0.1.4",
"buffer": "4.9.1",
"console-browserify": "1.1.0",
"constants-browserify": "1.0.0",
"crypto-browserify": "3.3.0",
"domain-browser": "1.1.7",
"events": "1.1.1",
"https-browserify": "0.0.1",
"os-browserify": "0.2.1",
"path-browserify": "0.0.0",
"process": "0.11.10",
"punycode": "1.4.1",
"querystring-es3": "0.2.1",
"readable-stream": "2.3.3",
"stream-browserify": "2.0.1",
"stream-http": "2.7.2",
"string_decoder": "0.10.31",
"timers-browserify": "2.0.4",
"tty-browserify": "0.0.0",
"url": "0.11.0",
"util": "0.10.3",
"vm-browserify": "0.0.4"
}
},
"ripemd160": {
"version": "0.2.0",
"resolved": "http://registry.npm.taobao.org/ripemd160/download/ripemd160-0.2.0.tgz",
"integrity": "sha1-K/GYveFnys+lHAqSjoS2i74XH84=",
"dev": true
},
"sha.js": {
"version": "2.2.6",
"resolved": "http://registry.npm.taobao.org/sha.js/download/sha.js-2.2.6.tgz",
"integrity": "sha1-F93t3F9yL7ZlAWWIlUYZd4ZzFbo=",
"dev": true
},
"string_decoder": {
"version": "0.10.31",
"resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
},
"timers-browserify": {
"version": "2.0.4",
"resolved": "http://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.4.tgz",
"integrity": "sha1-lspT9LeUpefA4b18yIo3Ipj6AeY=",
"dev": true,
"requires": {
"setimmediate": "1.0.5"
}
},
"uglify-js": {
"version": "2.7.5",
"resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.7.5.tgz",
"integrity": "sha1-RhLAx7qu4rp8SH3kkErhIgefLKg=",
"dev": true,
"requires": {
"async": "0.2.10",
"source-map": "0.5.7",
"uglify-to-browserify": "1.0.2",
"yargs": "3.10.0"
},
"dependencies": {
"async": {
"version": "0.2.10",
"resolved": "http://registry.npm.taobao.org/async/download/async-0.2.10.tgz",
"integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
"dev": true
}
}
},
"window-size": {
"version": "0.1.0",
"resolved": "http://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz",
"integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
"dev": true
},
"wordwrap": {
"version": "0.0.2",
"resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz",
"integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
"dev": true
},
"yargs": {
"version": "3.10.0",
"resolved": "http://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz",
"integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
"dev": true,
"requires": {
"camelcase": "1.2.1",
"cliui": "2.1.0",
"decamelize": "1.2.0",
"window-size": "0.1.0"
}
}
}
},
"webpack-core": {
"version": "0.6.9",
"resolved": "http://registry.npm.taobao.org/webpack-core/download/webpack-core-0.6.9.tgz",
"integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=",
"dev": true,
"requires": {
"source-list-map": "0.1.8",
"source-map": "0.4.4"
},
"dependencies": {
"source-map": {
"version": "0.4.4",
"resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz",
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
"dev": true,
"requires": {
"amdefine": "1.0.1"
}
}
}
},
"weinre": {
"version": "2.0.0-pre-I0Z7U9OV",
"resolved": "http://registry.npm.taobao.org/weinre/download/weinre-2.0.0-pre-I0Z7U9OV.tgz",
@@ -12066,8 +11684,7 @@
"xtend": {
"version": "4.0.1",
"resolved": "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz",
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
"dev": true
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
},
"y18n": {
"version": "3.2.1",
+1 -4
View File
@@ -14,7 +14,6 @@
"axios": "^0.17.1",
"babel-core": "^6.2.21",
"babel-eslint": "^6.0.4",
"babel-loader": "^6.2.1",
"babel-plugin-transform-runtime": "^6.3.13",
"babel-preset-es2015": "^6.24.1",
"babel-preset-power-assert": "^1.0.0",
@@ -48,9 +47,7 @@
"url-loader": "^0.5.7",
"vue-hot-reload-api": "^2.0.6",
"vue-html-loader": "^1.1.0",
"vue-loader": "^8.0.1",
"vue-style-loader": "^1.0.0",
"webpack": "^1.12.1"
"vue-style-loader": "^1.0.0"
},
"scripts": {
"dev": "gulp dev",
@@ -1,7 +1,7 @@
<template src="./schema-gen.html">
</template>
<style lang="sass" src="./schema-gen.scss">
<style lang="scss" src="./schema-gen.scss">
</style>
<script src="./schema-gen.js">
@@ -1,9 +1,15 @@
const path = require("path");
const VueLoaderPlugin = require('vue-loader/lib/plugin');
const config = require("./config");
// webpack.config.js
module.exports = {
const webpackConfig = {
mode: 'development',
devtool: 'cheap-module-eval-source-map',
entry: {
input: path.join(config.src, "components", "control-comps", "input.vue"),
radio: path.join(config.src, "components", "control-comps", "radio.vue"),
@@ -92,25 +98,30 @@ module.exports = {
},
module: {
loaders: [
rules: [
{
test: /\.vue$/,
loader: "vue",
loader: "vue-loader",
include: [config.src]
},
{
test: /\.scss$/,
use: [
'vue-style-loader',
'css-loader',
'sass-loader'
]
},
{
test: /\.js$/,
loader: "babel",
loader: 'babel-loader',
include: [config.src].concat(config.babelModules)
},
{
// edit this for additional asset file types
test: /\.(png|jpg|gif)$/,
loader: "url",
loader: "url-loader",
query: {
// inline files smaller then 10kb as base64 dataURL
limit: 10000,
// fallback to file-loader with this naming scheme
name: "img/[name].[ext]"
},
include: [config.src]
@@ -118,13 +129,17 @@ module.exports = {
]
},
vue: {
loaders: {
js: "babel"
}
},
babel: {
presets: ["es2015"],
plugins: ["transform-runtime"]
}
plugins: [
new VueLoaderPlugin()
]
};
module.exports = [
webpackConfig,
Object.assign({}, webpackConfig, {
entry: {
ncformStdComps: path.join(config.src, 'components', 'index.js'),
}
})
]
@@ -1,13 +1,10 @@
/**
* Created by daniel on 16/9/6.
*/
const merge = require('webpack-merge');
const devConfig = require("./webpack.config.dev");
const prdConfig = require("./webpack.config.prd");
const env = process.env.NODE_ENV;
if (env === "production") {
module.exports = Object.assign(devConfig, prdConfig);
module.exports = merge(devConfig[1], prdConfig);
} else {
module.exports = devConfig;
}
@@ -3,27 +3,21 @@ const webpack = require("webpack");
const config = require("./config");
// webpack.config.js
module.exports = {
mode: 'production',
devtool: false,
entry: {
ncformStdComps: path.join(config.src, "components", "index.js")
ncformStdComps: path.join(config.src, 'components', 'index.js'),
},
output: {
path: config.dist,
filename: "[name].min.js",
sourceMapFilename: "[file].map",
library: "[name]",
libraryTarget: "umd",
umdNamedDefine: true
},
plugins: [
// compress js
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
})
]
optimization: {
minimize: true
}
};
@@ -47,7 +47,7 @@
return { result: [{ id: 1, label: 'iphone' }, { id: 2, label: 'xiaomi' }, { id: 3, label: 'oppo' }] };
})
Vue.use(vueNcform, { extComponents: { object, checkbox } });
Vue.use(vueNcform, { extComponents: { object: object.default, checkbox: checkbox.default } });
let formSchemas = [
{
@@ -43,7 +43,7 @@
<script type="text/javascript" src="../../dist/object.js"></script>
<script type="text/javascript">
Vue.use(vueNcform, { extComponents: { object, colorPicker } });
Vue.use(vueNcform, { extComponents: { object: object.default, colorPicker: colorPicker.default } });
let formSchemas = [
{
@@ -43,7 +43,7 @@
<script type="text/javascript" src="../../dist/object.js"></script>
<script type="text/javascript">
Vue.use(vueNcform, { extComponents: { object, datePicker } });
Vue.use(vueNcform, { extComponents: { object: object.default, datePicker: datePicker.default } });
let formSchemas = [
{
@@ -43,7 +43,7 @@
<script type="text/javascript" src="../../dist/object.js"></script>
<script type="text/javascript">
Vue.use(vueNcform, { extComponents: { object, inputNumber } });
Vue.use(vueNcform, { extComponents: { object: object.default, inputNumber: inputNumber.default } });
let formSchemas = [
{
@@ -61,7 +61,7 @@
return { data: result.filter(item => item.value.indexOf(params.keyword) >= 0) };
})
Vue.use(vueNcform, { extComponents: { object, input } });
Vue.use(vueNcform, { extComponents: { object: object.default, input: input.default } });
let formSchemas = [
{
@@ -93,7 +93,7 @@
}
},
{
title: '[属性] trim: 前后去空格',
title: '[属性] trim: 前后去空格。默认值是true',
schema: {
type: 'object',
properties: {
@@ -101,7 +101,7 @@
type: 'string',
ui: {
widgetConfig: {
trim: true
trim: false
}
}
}
@@ -151,7 +151,7 @@
}
},
{
title: '[属性] type: 显示类型. 可选值:[text | number | password]',
title: '[属性] type: 显示类型. 可选值:[text | number | password]',
schema: {
type: 'object',
properties: {
@@ -43,7 +43,7 @@
<script type="text/javascript" src="../../dist/object.js"></script>
<script type="text/javascript">
Vue.use(vueNcform, { extComponents: { object, label } });
Vue.use(vueNcform, { extComponents: { object: object.default, label: label.default } });
let formSchemas = [
{
@@ -49,7 +49,7 @@
return { result: [{ id: 1, label: 'iphone' }, { id: 2, label: 'xiaomi' }, { id: 3, label: 'oppo' }] };
})
Vue.use(vueNcform, { extComponents: { object, radio } });
Vue.use(vueNcform, { extComponents: { object: object.default, radio: radio.default } });
let formSchemas = [
{
@@ -43,7 +43,7 @@
<script type="text/javascript" src="../../dist/object.js"></script>
<script type="text/javascript">
Vue.use(vueNcform, { extComponents: { object, rate } });
Vue.use(vueNcform, { extComponents: { object: object.default, rate: rate.default } });
let formSchemas = [
{
@@ -51,7 +51,7 @@
return result.filter(item => !params.keyword || item.name.indexOf(params.keyword) >= 0);
})
Vue.use(vueNcform, { extComponents: { object, select } });
Vue.use(vueNcform, { extComponents: { object: object.default, select: select.default } });
let formSchemas = [
{
@@ -43,7 +43,7 @@
<script type="text/javascript" src="../../dist/object.js"></script>
<script type="text/javascript">
Vue.use(vueNcform, { extComponents: { object, slider } });
Vue.use(vueNcform, { extComponents: { object: object.default, slider: slider.default } });
let formSchemas = [
{
@@ -43,7 +43,7 @@
<script type="text/javascript" src="../../dist/object.js"></script>
<script type="text/javascript">
Vue.use(vueNcform, { extComponents: { object, textarea } });
Vue.use(vueNcform, { extComponents: { object: object.default, textarea: textarea.default } });
let formSchemas = [
{
@@ -50,7 +50,7 @@
return { data: { name: 'shoe.jpg', url: '//a.vpimg2.com/upload/upimg2/ued/cxy/xinke/02-sport.jpg' } };
})
Vue.use(vueNcform, { extComponents: { object, upload } });
Vue.use(vueNcform, { extComponents: { object: object.default, upload: upload.default } });
let formSchemas = [
{
@@ -42,7 +42,7 @@
<script type="text/javascript" src="../../dist/arrayTable.js"></script>
<script type="text/javascript">
Vue.use(vueNcform, { extComponents: { input, object, arrayTable } });
Vue.use(vueNcform, { extComponents: { input: input.default, object: object.default, arrayTable: arrayTable.default } });
let formSchemas = [
{
@@ -42,7 +42,7 @@
<script type="text/javascript" src="../../dist/arrayTabs.js"></script>
<script type="text/javascript">
Vue.use(vueNcform, { extComponents: { input, object, arrayTabs } });
Vue.use(vueNcform, { extComponents: { input: input.default, object: object.default, arrayTabs: arrayTabs.default } });
let formSchemas = [
{
@@ -42,7 +42,7 @@
<script type="text/javascript" src="../../dist/array.js"></script>
<script type="text/javascript">
Vue.use(vueNcform, { extComponents: { input, object, array } });
Vue.use(vueNcform, { extComponents: { input: input.default, object: object.default, array: array.default } });
let formSchemas = [
{
@@ -41,7 +41,7 @@
<script type="text/javascript" src="../../dist/object.js"></script>
<script type="text/javascript">
Vue.use(vueNcform, { extComponents: { input, object } });
Vue.use(vueNcform, { extComponents: { input: input.default, object: object.default } });
let formSchemas = [
{
+20 -12
View File
@@ -15,14 +15,17 @@ const { reload } = browserSync;
/* ====================== functions ====================== */
function handleErrors(err) {
notify
.onError({
title: "compile error",
message: "<%= error.message %>"
})
.apply(this, err);
this.emit("end");
function handleErrors(err, stats) {
if (err) {
console.error(err.details);
}
if (stats) {
console.log(stats.toString({
chunks: false, // Makes the build much quieter
colors: true // Shows colors in the console
}));
}
}
function watchBuild() {
@@ -32,11 +35,16 @@ function watchBuild() {
/* ====================== gulp tasks ====================== */
gulp.task("webpack", done => {
webpack(webpackConfig, err => {
if (err) {
handleErrors(err);
webpack(webpackConfig, (err, stats) => {
if (err || stats.hasErrors()) {
handleErrors(err, stats);
} else {
console.log(stats.toString({
chunks: false, // Makes the build much quieter
colors: true // Shows colors in the console
}));
done();
}
done();
});
});
File diff suppressed because it is too large Load Diff
+3 -5
View File
@@ -15,13 +15,13 @@
"axios": "^0.17.1",
"babel-core": "^6.2.21",
"babel-eslint": "^6.0.4",
"babel-loader": "^6.2.1",
"babel-plugin-transform-runtime": "^6.3.13",
"babel-preset-es2015": "^6.24.1",
"babel-preset-power-assert": "^1.0.0",
"babel-runtime": "^6.3.19",
"browser-sync": "^2.9.1",
"concat": "^1.0.0",
"cross-env": "^5.2.0",
"css-loader": "^0.23.1",
"csswring": "^4.0.0",
"eslint": "~2.2.0",
@@ -47,15 +47,13 @@
"url-loader": "^0.5.7",
"vue-hot-reload-api": "^2.0.6",
"vue-html-loader": "^1.1.0",
"vue-loader": "^8.7.1",
"vue-style-loader": "^1.0.0",
"webpack": "^1.12.1"
"vue-style-loader": "^1.0.0"
},
"scripts": {
"dev": "gulp dev",
"build": "gulp build",
"watch-build": "gulp watch-build",
"release": "NODE_ENV=production gulp build"
"release": "cross-env NODE_ENV=production gulp build"
},
"files": [
"dist",
@@ -36,7 +36,7 @@
</div>
</template>
<style lang="sass">
<style lang="scss">
.h-layout {
.ncform-checkbox {
@@ -6,7 +6,7 @@
></el-color-picker>
</template>
<style lang="sass" scoped>
<style lang="scss" scoped>
</style>
<script>
@@ -12,7 +12,7 @@
</el-date-picker>
</template>
<style lang="sass">
<style lang="scss">
.h-layout {
.ncform-date-picker {
&.__ncform-control {
@@ -11,7 +11,7 @@
</div>
</template>
<style lang="sass">
<style lang="scss">
.h-layout {
.ncform-input-number {
&.__ncform-control {
@@ -54,7 +54,7 @@
</div>
</template>
<style lang="sass">
<style lang="scss">
.ncform-input {
.el-select .el-input {
width: 130px;
@@ -193,6 +193,7 @@ export default {
defaultConfig: {
type: "text",
trim: true,
prefixIcon: "",
suffixIcon: "",
modelField: "",
@@ -438,6 +439,10 @@ export default {
val = this.$data.inputVal;
}
if(this.$data.mergeConfig.trim){
val = val ? val.toString().trim() : val;
}
switch (this.$data.mergeConfig.type) {
case "number":
val = parseFloat(val);
@@ -447,10 +452,7 @@ export default {
val = parseInt(val);
val = isNaN(val) ? "" : val;
break;
case "string":
if(this.mergeConfig.trim){
val = val.toString().trim();
}
default:
break;
}
@@ -13,7 +13,7 @@
</el-tooltip>
</template>
<style lang="sass">
<style lang="scss">
.ncform-label {
font-size: 14px;
@@ -18,7 +18,7 @@
</div>
</template>
<style lang="sass">
<style lang="scss">
.h-layout {
.ncform-radio {
@@ -21,7 +21,7 @@
></el-rate>
</template>
<style lang="sass">
<style lang="scss">
.h-layout {
.ncform-rate {
&.__ncform-control {
@@ -21,7 +21,7 @@
</template>
<style lang="sass" scoped>
<style lang="scss" scoped>
</style>
<script>
@@ -12,7 +12,7 @@
</div>
</template>
<style lang="sass" scoped>
<style lang="scss" scoped>
</style>
<script>
@@ -11,7 +11,7 @@
></el-input>
</template>
<style lang="sass" scoped>
<style lang="scss" scoped>
</style>
<script>
@@ -64,7 +64,7 @@
</el-upload>
</template>
<style lang="sass">
<style lang="scss">
.h-layout {
.ncform-upload {
@@ -62,7 +62,7 @@
</template>
<style lang="sass">
<style lang="scss">
.__array-table-form-item {
@@ -41,7 +41,7 @@
</template>
<style lang="sass">
<style lang="scss">
.__array-tabs-form-item {
// margin-top: 8px;
@@ -48,7 +48,7 @@
</template>
<style lang="sass">
<style lang="scss">
.__array-form-item {
// margin-top: 8px;
@@ -73,7 +73,7 @@
</div>
</template>
<style lang="sass">
<style lang="scss">
.__object-form-item {
+19 -13
View File
@@ -1,7 +1,11 @@
const path = require("path");
const config = require("./config");
const VueLoaderPlugin = require('vue-loader/lib/plugin');
module.exports = {
mode: 'development',
entry: {
vueNcform: path.join(config.src, "components", "vue-ncform", "index.js")
},
@@ -31,20 +35,28 @@ module.exports = {
},
module: {
loaders: [
rules: [
{
test: /\.vue$/,
loader: "vue",
loader: "vue-loader",
include: [config.src]
},
{
test: /\.scss$/,
use: [
'vue-style-loader',
'css-loader',
'sass-loader'
]
},
{
test: /\.js$/,
loader: "babel",
loader: 'babel-loader',
include: [config.src].concat(config.babelModules)
},
{
test: /\.(png|jpg|gif)$/,
loader: "url",
loader: "url-loader",
query: {
limit: 10000,
name: "img/[name].[ext]"
@@ -54,13 +66,7 @@ module.exports = {
]
},
vue: {
loaders: {
js: "babel"
}
},
babel: {
presets: ["es2015"],
plugins: ["transform-runtime"]
}
plugins: [
new VueLoaderPlugin()
]
};
+2 -1
View File
@@ -1,9 +1,10 @@
const merge = require('webpack-merge');
const devConfig = require("./webpack.config.dev");
const prdConfig = require("./webpack.config.prd");
const env = process.env.NODE_ENV;
if (env === "production") {
module.exports = Object.assign(devConfig, prdConfig);
module.exports = merge(devConfig, prdConfig);
} else {
module.exports = devConfig;
}
+5 -16
View File
@@ -4,25 +4,14 @@ const webpack = require("webpack");
const config = require("./config");
module.exports = {
entry: {
vueNcform: path.join(config.src, "components", "vue-ncform", "index.js")
},
mode: 'production',
output: {
path: config.dist,
filename: "[name].min.js",
sourceMapFilename: "[file].map",
library: "[name]",
libraryTarget: "umd",
umdNamedDefine: true
},
plugins: [
// compress js
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
})
]
optimization: {
minimize: true
}
};
+19 -11
View File
@@ -15,14 +15,17 @@ const { reload } = browserSync;
/* ====================== functions ====================== */
function handleErrors(err) {
notify
.onError({
title: "compile error",
message: "<%= error.message %>"
})
.apply(this, err);
this.emit("end");
function handleErrors(err, stats) {
if (err) {
console.error(err.details);
}
if (stats) {
console.log(stats.toString({
chunks: false, // Makes the build much quieter
colors: true // Shows colors in the console
}));
}
}
function watchBuild() {
@@ -32,9 +35,14 @@ function watchBuild() {
/* ====================== gulp tasks ====================== */
gulp.task("webpack", done => {
webpack(webpackConfig, err => {
if (err) {
handleErrors(err);
webpack(webpackConfig, (err, stats) => {
if (err || stats.hasErrors()) {
handleErrors(err, stats);
} else {
console.log(stats.toString({
chunks: false, // Makes the build much quieter
colors: true // Shows colors in the console
}));
}
done();
});
+1749 -847
View File
File diff suppressed because it is too large Load Diff
+3 -4
View File
@@ -14,7 +14,7 @@
"scripts": {
"dev": "gulp dev",
"build": "gulp build",
"release": "NODE_ENV=production gulp build",
"release": "cross-env NODE_ENV=production gulp build",
"test": "mocha --recursive --require ./test/testHelper.js -t 5000",
"watch-build": "gulp watch-build"
},
@@ -27,6 +27,7 @@
"bootstrap": "^4.1.1",
"browser-sync": "^2.9.1",
"concat": "^1.0.0",
"cross-env": "^5.2.0",
"css-loader": "^0.23.1",
"csswring": "^4.0.0",
"eslint": "~2.2.0",
@@ -52,9 +53,7 @@
"url-loader": "^0.5.7",
"vue-hot-reload-api": "^2.0.6",
"vue-html-loader": "^1.1.0",
"vue-loader": "^8.0.1",
"vue-style-loader": "^1.0.0",
"webpack": "^1.12.1"
"vue-style-loader": "^1.0.0"
},
"license": "MIT",
"files": [
@@ -6,7 +6,7 @@
:type="mergeConfig.type" class="form-control" v-model="modelVal">
</template>
<style lang="sass" scoped>
<style lang="scss" scoped>
</style>
<script>
@@ -49,7 +49,7 @@
</template>
<style lang="sass">
<style lang="scss">
.__ncform-control {
width: 100%;
display: inline-block;
@@ -57,7 +57,7 @@
</template>
<style lang="sass" >
<style lang="scss" >
.__array-table-form-item {
.table thead th{ vertical-align: top; }
@@ -44,7 +44,7 @@
</template>
<style lang="sass">
<style lang="scss">
.__array-form-item {
& > legend {
@@ -64,7 +64,7 @@
</div>
</template>
<style lang="sass">
<style lang="scss">
.__object-form-item {
& > legend {
@@ -7,7 +7,7 @@
</div>
</template>
<style lang="sass" scoped>
<style lang="scss" scoped>
.ncform {
}
</style>