refactor build

This commit is contained in:
yushijinhun 2018-01-06 19:31:34 +08:00
parent 9f30b25d3e
commit c3c5863263
No known key found for this signature in database
GPG Key ID: 5BC167F73EA558E4
10 changed files with 72 additions and 55 deletions

View File

@ -2,10 +2,10 @@
"name": "skinview3d",
"version": "1.0.2",
"description": "Three.js powered Minecraft skin viewer",
"module": "build/skinview3d.babel.module.js",
"main": "build/skinview3d.babel.min.js",
"module": "build/skinview3d.module.js",
"main": "build/skinview3d.js",
"scripts": {
"build": "rollup -c tools/rollup.default.js && rollup -c tools/rollup.min.js && rollup -c tools/rollup.babel.js && rollup -c tools/rollup.babel.min.js",
"build": "rollup -c tools/rollup.module.js && rollup -c tools/rollup.browser.js && rollup -c tools/rollup.browser.min.js",
"prepare": "npm test && rm -rf build && npm run build",
"test": "eslint src/** tools/**"
},

View File

@ -1,4 +1,11 @@
/**
import THREE from "three";
class OrbitControls extends THREE.EventDispatcher {
/**
* @preserve
* The code was originally from https://github.com/mrdoob/three.js/blob/d45a042cf962e9b1aa9441810ba118647b48aacb/examples/js/controls/OrbitControls.js
*/
/**
* @license
* Copyright (C) 2010-2017 three.js authors
*
@ -19,16 +26,8 @@
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
/**
* @preserve
* The code was originally from https://github.com/mrdoob/three.js/blob/d45a042cf962e9b1aa9441810ba118647b48aacb/examples/js/controls/OrbitControls.js
*/
import THREE from "three";
class OrbitControls extends THREE.EventDispatcher {
/**
* @preserve
*
*
* @author qiao / https://github.com/qiao
* @author mrdoob / http://mrdoob.com
* @author alteredq / http://alteredqualia.com/

View File

@ -10,38 +10,43 @@ let buildType = config => {
globals: {
three: "THREE"
},
output: [
{
output: [],
plugins: []
};
switch (config.format) {
case "umd":
options.output.push({
format: "umd",
name: "skinview3d",
file: `build/skinview3d${config.postfix}.js`
},
{
});
break;
case "es":
options.output.push({
format: "es",
file: `build/skinview3d${config.postfix}.module.js`
file: `build/skinview3d${config.postfix}.js`
});
break;
default:
throw `Unknown format: ${config.format}`;
}
],
plugins: []
};
if (config.babel) {
options.plugins.push(
babel({
exclude: "node_modules/**",
exclude: "node_modules/**"
})
);
}
if (config.uglify) {
options.plugins.push(
uglify({
output: {
comments: (node, comment) => {
let text = comment.value;
let type = comment.type;
if (type == "comment2") {
// multiline comment
return /@preserve|@license|@cc_on/i.test(text);
}
}
comments: "some"
}
}, minify)
);

View File

@ -1,2 +0,0 @@
import { buildType } from "./rollup.common";
export default buildType({ postfix: ".babel", babel: true, uglify: false });

View File

@ -1,2 +0,0 @@
import { buildType } from "./rollup.common";
export default buildType({ postfix: ".babel.min", babel: true, uglify: true });

7
tools/rollup.browser.js Normal file
View File

@ -0,0 +1,7 @@
import { buildType } from "./rollup-util";
export default buildType({
postfix: "",
babel: true,
uglify: false,
format: "umd"
});

7
tools/rollup.browser.min.js vendored Normal file
View File

@ -0,0 +1,7 @@
import { buildType } from "./rollup-util";
export default buildType({
postfix: ".min",
babel: true,
uglify: true,
format: "umd"
});

View File

@ -1,2 +0,0 @@
import { buildType } from "./rollup.common";
export default buildType({ postfix: "", babel: false, uglify: false });

2
tools/rollup.min.js vendored
View File

@ -1,2 +0,0 @@
import { buildType } from "./rollup.common";
export default buildType({ postfix: ".min", babel: false, uglify: true });

7
tools/rollup.module.js Normal file
View File

@ -0,0 +1,7 @@
import { buildType } from "./rollup-util";
export default buildType({
postfix: ".module",
babel: false,
uglify: false,
format: "es"
});