Add minified js & Use jshint
This commit is contained in:
parent
8e730add6f
commit
5f621c06a3
|
|
@ -49,9 +49,7 @@ Three.js powered Minecraft skin viewer.
|
|||
```
|
||||
|
||||
# Build
|
||||
`npm run build` Concatenation only.
|
||||
|
||||
`npm run build-babel` Concatenate and compile using Babel (es2015).
|
||||
`npm run build`
|
||||
|
||||
|
||||
[npm-badge]: https://img.shields.io/npm/v/skinview3d.svg
|
||||
|
|
|
|||
|
|
@ -714,6 +714,16 @@
|
|||
"readdirp": "2.1.0"
|
||||
}
|
||||
},
|
||||
"cli": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz",
|
||||
"integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"exit": "0.1.2",
|
||||
"glob": "7.1.2"
|
||||
}
|
||||
},
|
||||
"commander": {
|
||||
"version": "2.11.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz",
|
||||
|
|
@ -726,6 +736,15 @@
|
|||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
|
||||
"dev": true
|
||||
},
|
||||
"console-browserify": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
|
||||
"integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"date-now": "0.1.4"
|
||||
}
|
||||
},
|
||||
"convert-source-map": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz",
|
||||
|
|
@ -742,8 +761,13 @@
|
|||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
"dev": true
|
||||
},
|
||||
"date-now": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
|
||||
"integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
|
||||
"dev": true
|
||||
},
|
||||
"debug": {
|
||||
"version": "2.6.9",
|
||||
|
|
@ -763,6 +787,61 @@
|
|||
"repeating": "2.0.1"
|
||||
}
|
||||
},
|
||||
"dom-serializer": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
|
||||
"integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"domelementtype": "1.1.3",
|
||||
"entities": "1.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"domelementtype": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
|
||||
"integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
|
||||
"dev": true
|
||||
},
|
||||
"entities": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
|
||||
"integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"domelementtype": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
|
||||
"integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
|
||||
"dev": true
|
||||
},
|
||||
"domhandler": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz",
|
||||
"integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"domelementtype": "1.3.0"
|
||||
}
|
||||
},
|
||||
"domutils": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
|
||||
"integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"dom-serializer": "0.1.0",
|
||||
"domelementtype": "1.3.0"
|
||||
}
|
||||
},
|
||||
"entities": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
|
||||
"integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=",
|
||||
"dev": true
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
|
|
@ -781,6 +860,12 @@
|
|||
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
|
||||
"dev": true
|
||||
},
|
||||
"exit": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
|
||||
"integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
|
||||
"dev": true
|
||||
},
|
||||
"expand-brackets": {
|
||||
"version": "0.1.5",
|
||||
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
|
||||
|
|
@ -926,6 +1011,45 @@
|
|||
"os-tmpdir": "1.0.2"
|
||||
}
|
||||
},
|
||||
"htmlparser2": {
|
||||
"version": "3.8.3",
|
||||
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
|
||||
"integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"domelementtype": "1.3.0",
|
||||
"domhandler": "2.3.0",
|
||||
"domutils": "1.5.1",
|
||||
"entities": "1.0.0",
|
||||
"readable-stream": "1.1.14"
|
||||
},
|
||||
"dependencies": {
|
||||
"isarray": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
|
||||
"dev": true
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "1.1.14",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
|
||||
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"core-util-is": "1.0.2",
|
||||
"inherits": "2.0.3",
|
||||
"isarray": "0.0.1",
|
||||
"string_decoder": "0.10.31"
|
||||
}
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"inflight": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
|
|
@ -1067,6 +1191,30 @@
|
|||
"integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
|
||||
"dev": true
|
||||
},
|
||||
"jshint": {
|
||||
"version": "2.9.5",
|
||||
"resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz",
|
||||
"integrity": "sha1-HnJSkVzmgbQIJ+4UJIxG006apiw=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"cli": "1.0.1",
|
||||
"console-browserify": "1.1.0",
|
||||
"exit": "0.1.2",
|
||||
"htmlparser2": "3.8.3",
|
||||
"lodash": "3.7.0",
|
||||
"minimatch": "3.0.4",
|
||||
"shelljs": "0.3.0",
|
||||
"strip-json-comments": "1.0.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"lodash": {
|
||||
"version": "3.7.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz",
|
||||
"integrity": "sha1-Nni9irmVBXwHreg27S7wh9qBHUU=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"json5": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
|
||||
|
|
@ -1428,6 +1576,27 @@
|
|||
"rollup-pluginutils": "1.5.2"
|
||||
}
|
||||
},
|
||||
"rollup-plugin-uglify": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/rollup-plugin-uglify/-/rollup-plugin-uglify-2.0.1.tgz",
|
||||
"integrity": "sha1-Z7N60e/a+9g69MNrQMGJ7khmyWk=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"uglify-js": "3.1.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"uglify-js": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.3.tgz",
|
||||
"integrity": "sha512-5ZUOgufCHjN2mBBLfz63UtWTP6va2sSzBpNCM+/iqI6RnPzEhANmB0EKiKBYdQbc3v7KeomXJ2DJx0Xq9gvUvA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"commander": "2.11.0",
|
||||
"source-map": "0.5.7"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rollup-pluginutils": {
|
||||
"version": "1.5.2",
|
||||
"resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz",
|
||||
|
|
@ -1451,6 +1620,12 @@
|
|||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"shelljs": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
|
||||
"integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=",
|
||||
"dev": true
|
||||
},
|
||||
"slash": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
|
||||
|
|
@ -1491,6 +1666,12 @@
|
|||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"strip-json-comments": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
|
||||
"integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=",
|
||||
"dev": true
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
|
||||
|
|
@ -1514,6 +1695,16 @@
|
|||
"integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
|
||||
"dev": true
|
||||
},
|
||||
"uglify-es": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.1.3.tgz",
|
||||
"integrity": "sha512-Nuo5gkv/Q6PmLa+Ui2LvK+87YdMAcuXfRIWF0uVfkHVSfpT3Ue0euCSu4t0b8xv4Bt05lmXUT8bLI9OmnyPj8A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"commander": "2.11.0",
|
||||
"source-map": "0.5.7"
|
||||
}
|
||||
},
|
||||
"user-home": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
|
||||
|
|
|
|||
12
package.json
12
package.json
|
|
@ -4,10 +4,9 @@
|
|||
"description": "Three.js powered Minecraft skin viewer",
|
||||
"main": "src/skinview3d.js",
|
||||
"scripts": {
|
||||
"build": "./node_modules/.bin/rollup -c rollup.config.default.js",
|
||||
"build-babel": "./node_modules/.bin/rollup -c rollup.config.babel.js",
|
||||
"prepare": "rm -rf build && npm run build && npm run build-babel",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
"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",
|
||||
"prepare": "npm test && rm -rf build && npm run build",
|
||||
"test": "jshint src"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
|
@ -26,7 +25,10 @@
|
|||
"babel-cli": "^6.26.0",
|
||||
"babel-plugin-external-helpers": "^6.22.0",
|
||||
"babel-preset-es2015": "^6.24.1",
|
||||
"jshint": "^2.9.5",
|
||||
"rollup": "^0.50.0",
|
||||
"rollup-plugin-babel": "^3.0.2"
|
||||
"rollup-plugin-babel": "^3.0.2",
|
||||
"rollup-plugin-uglify": "^2.0.1",
|
||||
"uglify-es": "^3.1.3"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,27 +0,0 @@
|
|||
import babel from 'rollup-plugin-babel';
|
||||
|
||||
export default {
|
||||
input: 'src/skinview3d.js',
|
||||
indent: '\t',
|
||||
sourcemap: true,
|
||||
external: ['three'],
|
||||
globals: {
|
||||
three: 'THREE'
|
||||
},
|
||||
output: [
|
||||
{
|
||||
format: 'umd',
|
||||
name: 'skinview3d',
|
||||
file: 'build/skinview3d.babel.js'
|
||||
},
|
||||
{
|
||||
format: 'es',
|
||||
file: 'build/skinview3d.babel.module.js'
|
||||
}
|
||||
],
|
||||
plugins: [
|
||||
babel({
|
||||
exclude: 'node_modules/**',
|
||||
}),
|
||||
]
|
||||
};
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
export default {
|
||||
input: 'src/skinview3d.js',
|
||||
indent: '\t',
|
||||
sourcemap: true,
|
||||
external: ['three'],
|
||||
globals: {
|
||||
three: 'THREE'
|
||||
},
|
||||
output: [
|
||||
{
|
||||
format: 'umd',
|
||||
name: 'skinview3d',
|
||||
file: 'build/skinview3d.js'
|
||||
},
|
||||
{
|
||||
format: 'es',
|
||||
file: 'build/skinview3d.module.js'
|
||||
}
|
||||
],
|
||||
};
|
||||
|
|
@ -287,7 +287,7 @@ class SkinObject extends THREE.Group {
|
|||
this.leftLeg.position.x = 2;
|
||||
this.add(this.leftLeg);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
class CapeObject extends THREE.Group {
|
||||
constructor(capeMaterial) {
|
||||
|
|
@ -309,7 +309,7 @@ class CapeObject extends THREE.Group {
|
|||
this.cape.position.z = -0.5;
|
||||
this.add(this.cape);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
class PlayerObject extends THREE.Group {
|
||||
constructor(slim, layer1Material, layer2Material, capeMaterial) {
|
||||
|
|
@ -328,6 +328,6 @@ class PlayerObject extends THREE.Group {
|
|||
this.cape.visible = false;
|
||||
this.add(this.cape);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export { SkinObject, CapeObject, PlayerObject };
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
/**
|
||||
* @license
|
||||
* Copyright (C) 2010-2017 three.js authors
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
|
|
@ -19,12 +20,15 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
// The code was originally from https://github.com/mrdoob/three.js/blob/d45a042cf962e9b1aa9441810ba118647b48aacb/examples/js/controls/OrbitControls.js
|
||||
|
||||
/**
|
||||
* @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/
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
/**
|
||||
* @license
|
||||
* skinview3d <https://github.com/to2mbn/skinview3d>
|
||||
*
|
||||
* Copyright (C) 2017 the original author or authors
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ class SkinViewer {
|
|||
set height(newHeight) {
|
||||
this.setSize(this.width, newHeight);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
class SkinControl {
|
||||
constructor(skinViewer) {
|
||||
|
|
@ -240,6 +240,6 @@ class SkinControl {
|
|||
this.skinViewer.domElement.removeEventListener("contextmenu", this.animationPauseListener, false);
|
||||
this.orbitControls.dispose();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export { SkinViewer, SkinControl };
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
import { buildType } from './rollup.common';
|
||||
export default buildType({ postfix: '.babel', babel: true, uglify: false });
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
import { buildType } from './rollup.common';
|
||||
export default buildType({ postfix: '.babel.min', babel: true, uglify: true });
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
import uglify from 'rollup-plugin-uglify';
|
||||
import { minify } from 'uglify-es';
|
||||
import babel from 'rollup-plugin-babel';
|
||||
let buildType = config => {
|
||||
let options = {
|
||||
input: 'src/skinview3d.js',
|
||||
indent: '\t',
|
||||
sourcemap: true,
|
||||
external: ['three'],
|
||||
globals: {
|
||||
three: 'THREE'
|
||||
},
|
||||
output: [
|
||||
{
|
||||
format: 'umd',
|
||||
name: 'skinview3d',
|
||||
file: `build/skinview3d${config.postfix}.js`
|
||||
},
|
||||
{
|
||||
format: 'es',
|
||||
file: `build/skinview3d${config.postfix}.module.js`
|
||||
}
|
||||
],
|
||||
plugins: []
|
||||
};
|
||||
if (config.babel) {
|
||||
options.plugins.push(
|
||||
babel({
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}, minify)
|
||||
);
|
||||
}
|
||||
return options;
|
||||
};
|
||||
export { buildType };
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
import { buildType } from './rollup.common';
|
||||
export default buildType({ postfix: '', babel: false, uglify: false });
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
import { buildType } from './rollup.common';
|
||||
export default buildType({ postfix: '.min', babel: false, uglify: true });
|
||||
Loading…
Reference in New Issue