diff --git a/babel.config.ie8.js b/babel.config.ie8.js deleted file mode 100644 index 6cf5fffe7..000000000 --- a/babel.config.ie8.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('@fui/babel-preset-fineui').configs.ie8; diff --git a/package.json b/package.json index bcfdc68ae..de708a00d 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "expose-loader": "0.7.5", "express": "4.15.2", "fork-ts-checker-webpack-plugin": "1.4.3", - "grunt": "1.0.1", + "glob": "^7.2.0", + "grunt": "^1.0.1", "html-webpack-plugin": "3.2.0", "husky": "^3.1.0", "karma": "3.1.4", @@ -81,4 +82,4 @@ }, "author": "fanruan", "license": "MIT" -} \ No newline at end of file +} diff --git a/src/data/pool/pool.buffer.js b/src/data/pool/pool.buffer.js deleted file mode 100644 index 9e85ba6f6..000000000 --- a/src/data/pool/pool.buffer.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * 缓冲池 - * @type {{Buffer: {}}} - */ - -(function () { - var Buffer = {}; - var MODE = false;// 设置缓存模式为关闭 - - BI.BufferPool = { - put: function (name, cache) { - if (BI.isNotNull(Buffer[name])) { - throw new Error("key值:[" + name + "] 已存在!", Buffer); - } - Buffer[name] = cache; - }, - - get: function (name) { - return Buffer[name]; - } - }; -})(); diff --git a/src/data/pool/pool.sharing.js b/src/data/pool/pool.sharing.js deleted file mode 100644 index f13d487ed..000000000 --- a/src/data/pool/pool.sharing.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * 共享池 - * @type {{Shared: {}}} - */ - -(function () { - var _Shared = {}; - BI.SharingPool = { - _Shared: _Shared, - put: function (name, shared) { - _Shared[name] = shared; - }, - - cat: function () { - var args = Array.prototype.slice.call(arguments, 0), - copy = _Shared; - for (var i = 0; i < args.length; i++) { - copy = copy && copy[args[i]]; - } - return copy; - }, - - get: function () { - return BI.deepClone(this.cat.apply(this, arguments)); - }, - - remove: function (key) { - delete _Shared[key]; - } - }; -})(); \ No newline at end of file diff --git a/src/data/req/req.js b/src/data/req/req.js deleted file mode 100644 index 0d809eeb3..000000000 --- a/src/data/req/req.js +++ /dev/null @@ -1,3 +0,0 @@ -BI.Req = { - -}; diff --git a/src/polyfill/array.js b/src/polyfill/array.js deleted file mode 100644 index e3b248fc9..000000000 --- a/src/polyfill/array.js +++ /dev/null @@ -1,96 +0,0 @@ -// Production steps of ECMA-262, Edition 5, 15.4.4.14 -// Reference: http://es5.github.io/#x15.4.4.14 -if (!Array.prototype.indexOf) { - Array.prototype.indexOf = function (searchElement, fromIndex) { - - var k; - - // 1. Let o be the result of calling ToObject passing - // the this value as the argument. - if (this == null) { - throw new TypeError("\"this\" is null or not defined"); - } - - var o = Object(this); - - // 2. Let lenValue be the result of calling the Get - // internal method of o with the argument "length". - // 3. Let len be ToUint32(lenValue). - var len = o.length >>> 0; - - // 4. If len is 0, return -1. - if (len === 0) { - return -1; - } - - // 5. If argument fromIndex was passed let n be - // ToInteger(fromIndex); else let n be 0. - var n = fromIndex | 0; - - // 6. If n >= len, return -1. - if (n >= len) { - return -1; - } - - // 7. If n >= 0, then Let k be n. - // 8. Else, n<0, Let k be len - abs(n). - // If k is less than 0, then let k be 0. - k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); - - // 9. Repeat, while k < len - while (k < len) { - // a. Let Pk be ToString(k). - // This is implicit for LHS operands of the in operator - // b. Let kPresent be the result of calling the - // HasProperty internal method of o with argument Pk. - // This step can be combined with c - // c. If kPresent is true, then - // i. Let elementK be the result of calling the Get - // internal method of o with the argument ToString(k). - // ii. Let same be the result of applying the - // Strict Equality Comparison Algorithm to - // searchElement and elementK. - // iii. If same is true, return k. - if (k in o && o[k] === searchElement) { - return k; - } - k++; - } - return -1; - }; -} -if (!Array.prototype.lastIndexOf) { - Array.prototype.lastIndexOf = function (searchElement /* , fromIndex*/) { - "use strict"; - - if (this === void 0 || this === null) { - throw new TypeError(); - } - - var n, k, - t = Object(this), - len = t.length >>> 0; - if (len === 0) { - return -1; - } - - n = len - 1; - if (arguments.length > 1) { - n = Number(arguments[1]); - if (n != n) { - n = 0; - } else if (n != 0 && n != (1 / 0) && n != -(1 / 0)) { - n = (n > 0 || -1) * Math.floor(Math.abs(n)); - } - } - - for (k = n >= 0 - ? Math.min(n, len - 1) - : len - Math.abs(n); k >= 0; k--) { - if (k in t && t[k] === searchElement) { - return k; - } - } - return -1; - }; -} diff --git a/src/polyfill/localStorage.js b/src/polyfill/localStorage.js deleted file mode 100644 index c0521faf8..000000000 --- a/src/polyfill/localStorage.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - * 前端缓存 - */ -_global.localStorage || (_global.localStorage = { - items: {}, - setItem: function (k, v) { - BI.Cache.addCookie(k, v); - }, - getItem: function (k) { - return BI.Cache.getCookie(k); - }, - removeItem: function (k) { - BI.Cache.deleteCookie(k); - }, - key: function () { - - }, - clear: function () { - this.items = {}; - } -}); \ No newline at end of file diff --git a/src/polyfill/lodash.js b/src/polyfill/lodash.js deleted file mode 100644 index 88be39f0f..000000000 --- a/src/polyfill/lodash.js +++ /dev/null @@ -1,51 +0,0 @@ - -if (!Object.keys) { - Object.keys = function(o) { - if (o !== Object(o)) { - throw new TypeError('Object.keys called on a non-object'); - } - // fix的问题 - var falsy; - var skipArray = { - __ob__: falsy, - $accessors: falsy, - $vbthis: falsy, - $vbsetter: falsy - }; - var k = [], p; - for (p in o) { - if (!(p in skipArray)) { - if (Object.prototype.hasOwnProperty.call(o, p)) { - k.push(p); - } - } - } - return k; - }; -} - -if (!Array.isArray) { - Array.isArray = function(arg) { - return Object.prototype.toString.call(arg) === '[object Array]'; - }; -} - -/* 统一采用core-js的polyfill,此块暂去 -// https://stackoverflow.com/questions/10919915/ie8-getprototypeof-method -if (typeof Object.getPrototypeOf !== "function") { - Object.getPrototypeOf = "".__proto__ === String.prototype - ? function (object) { - return object.__proto__; - } - : function (object) { - // May break if the constructor has been tampered with - return object.constructor.prototype; - }; -} - */ - -if(!Date.now) { - Date.now = function () { - return new Date().valueOf(); - }; -} \ No newline at end of file diff --git a/src/polyfill/number.js b/src/polyfill/number.js index 436ec268d..fee048503 100644 --- a/src/polyfill/number.js +++ b/src/polyfill/number.js @@ -139,4 +139,4 @@ if (!Number.prototype.toFixed || (0.00008).toFixed(3) !== "0.000" || }; })(); -} \ No newline at end of file +} diff --git a/src/polyfill/set.js b/src/polyfill/set.js deleted file mode 100644 index f8f895d17..000000000 --- a/src/polyfill/set.js +++ /dev/null @@ -1,16 +0,0 @@ -if (typeof Set !== "undefined" && Set.toString().match(/native code/)) { - -} else { - Set = function () { - this.set = {}; - }; - Set.prototype.has = function (key) { - return this.set[key] !== undefined; - }; - Set.prototype.add = function (key) { - this.set[key] = 1; - }; - Set.prototype.clear = function () { - this.set = {}; - }; -} \ No newline at end of file diff --git a/webpack/attachments.js b/webpack/attachments.js index 3b92c2714..eefbe4b42 100644 --- a/webpack/attachments.js +++ b/webpack/attachments.js @@ -1,12 +1,4 @@ -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 { sync, uniq } = require("./utils"); const fixJs = "./dist/fix/fix.js"; const fixProxyJs = './dist/fix/fix.proxy.js'; @@ -47,11 +39,12 @@ const basicAttachmentMap = { lodashJs, "src/core/**/*.js", "src/data/**/*.js", - "!src/core/platform/**/*.js", - "!src/core/controller/**/*.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"]), font: sync(["public/less/font.less"]), @@ -133,8 +126,9 @@ const bundleWithoutNormalize = [].concat( "src/less/widget/**/*.less", "src/less/component/**/*.less", "public/less/**/*.less", - "!public/less/app.less", // ts的less + ], [ + "public/less/app.less", ]), ); @@ -189,15 +183,16 @@ const fineuiWithoutJqueryAndPolyfillJs = [].concat( lodashJs, "src/core/**/*.js", "src/data/**/*.js", - "!src/core/platform/web/**/*.js", + ], [ + "src/core/platform/web/**/*.js", ]), basicAttachmentMap.fix, sync([ "src/base/**/*.js", "src/case/**/*.js", - - "!src/base/single/input/file.js", - "!src/case/ztree/**/*.js", + ], [ + "src/base/single/input/file.js", + "src/case/ztree/**/*.js", ]), basicAttachmentMap.widget, sync([fixCompact, workerCompact, "ui/js/**/*.js"]), diff --git a/webpack/components.js b/webpack/components.js index cb69f6333..0162cfd2a 100644 --- a/webpack/components.js +++ b/webpack/components.js @@ -1,12 +1,4 @@ -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 { sync, uniq } = require("./utils"); const basicAttachmentMap = { single: sync(["src/base/single/**/*.js"]), @@ -24,7 +16,7 @@ const basicAttachmentMap = { 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"]) + text_value_down_list_combo: sync(["src/widget/textvaluedownlistcombo/**/*.js"]), }; module.exports = { @@ -43,5 +35,5 @@ module.exports = { linear_segment: basicAttachmentMap.linear_segment, date: basicAttachmentMap.date, down_list: basicAttachmentMap.down_list, - text_value_down_list_combo: basicAttachmentMap.text_value_down_list_combo + text_value_down_list_combo: basicAttachmentMap.text_value_down_list_combo, }; diff --git a/webpack/utils.js b/webpack/utils.js new file mode 100644 index 000000000..7ed3de515 --- /dev/null +++ b/webpack/utils.js @@ -0,0 +1,24 @@ +const path = require('path'); +const glob = require('glob'); + +// const glob = require('fast-glob'); + +function uniq(names) { + return [...new Set(names)]; +} + +const globalExcludes = [ + "**/*/__test__/*.js", +]; + +function sync(patterns, excludes = []) { + const ignore = globalExcludes.concat(excludes).map(pattern => path.join(__dirname, "../", pattern).replace(/\\/g, '/')); + + return patterns.map(pattern => glob.sync(path.join(__dirname, "../", pattern).replace(/\\/g, '/'), { ignore })).flat(); +} + + +module.exports = { + sync, + uniq, +}; diff --git a/webpack/webpack.common.js b/webpack/webpack.common.js index a75912f83..e19801a99 100644 --- a/webpack/webpack.common.js +++ b/webpack/webpack.common.js @@ -37,40 +37,25 @@ module.exports = { module: { rules: [ { - test: /\.(js|ts)$/, - include: [dirs.NODE_MODULES, dirs.PRIVATE, dirs.TYPESCRIPT, dirs.ROUTER], - exclude: /node_modules(\/|\\)core-js/, - use: [ - { - loader: 'babel-loader', - options: { - configFile: dirs.BABEL_CONFIG, - }, - }, - { - loader: 'source-map-loader', - options: { - enforce: 'pre', - }, - }, - ], - }, - { - test: /\.js$/, + test: /\.(jsx?|tsx?)$/i, include: [ - dirs.DEMO, - dirs.SRC, + dirs.NODE_MODULES, + dirs.PRIVATE, dirs.PUBLIC, dirs.MOBILE, + dirs.DEMO, dirs.I18N, dirs.UI, dirs.FIX, + dirs.TYPESCRIPT, + dirs.SRC, ], + exclude: /node_modules(\/|\\)core-js/, use: [ { - loader: 'source-map-loader', + loader: 'babel-loader', options: { - enforce: 'pre', + configFile: dirs.BABEL_CONFIG, }, }, ],