Create 3rd party libraries with node instead of Python.
This commit is contained in:
parent
b164de08a5
commit
8c43840572
10
README.md
10
README.md
@ -10,24 +10,16 @@ and some dependencies locally
|
|||||||
|
|
||||||
`npm i`
|
`npm i`
|
||||||
|
|
||||||
Be sure that Python 3 is installed on your system (for building the 3rd party library).
|
|
||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
To build the two iwmlib files type
|
To build the two iwmlib files type
|
||||||
|
|
||||||
`npm run build`
|
`npm run build`
|
||||||
|
|
||||||
The files will be generated in the dist folder (iwmlib.js and iwmlib.pixi.js). If you want to watch the files for a continuously build type
|
The files will be generated in the dist folder (iwmlib.js and iwmlib.pixi.js). If you want to watch the files for a continuously build type
|
||||||
|
|
||||||
`npm run watch`
|
`npm run watch`
|
||||||
|
|
||||||
To build the 3rd party library type
|
To build the 3rd party library type
|
||||||
|
|
||||||
`npm run 3rdparty`
|
`npm run 3rdparty`
|
||||||
|
|
||||||
To create the minified version of the 3rd party library type
|
|
||||||
|
|
||||||
`npm run minify`
|
|
||||||
|
|
||||||
|
|
||||||
|
32027
dist/iwmlib.3rdparty.js
vendored
32027
dist/iwmlib.3rdparty.js
vendored
File diff suppressed because it is too large
Load Diff
2
dist/iwmlib.3rdparty.min.js
vendored
2
dist/iwmlib.3rdparty.min.js
vendored
File diff suppressed because one or more lines are too long
10945
dist/iwmlib.3rdparty.preload.js
vendored
Normal file
10945
dist/iwmlib.3rdparty.preload.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/iwmlib.3rdparty.preload.min.js
vendored
Normal file
1
dist/iwmlib.3rdparty.preload.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
39
gulpfile.js
39
gulpfile.js
@ -1,14 +1,45 @@
|
|||||||
const {src, dest, parallel} = require('gulp');
|
const {src, dest, parallel} = require('gulp');
|
||||||
const uglify = require('gulp-uglify');
|
const uglify = require('gulp-uglify');
|
||||||
const rename = require('gulp-rename');
|
const rename = require('gulp-rename');
|
||||||
|
const concat = require('gulp-concat');
|
||||||
|
|
||||||
function minify() {
|
function vendors() {
|
||||||
return src([
|
return src([
|
||||||
'dist/iwmlib.3rdparty.js'
|
'./lib/3rdparty/jquery.js',
|
||||||
|
'./lib/3rdparty/optimal-select.js',
|
||||||
|
'./lib/3rdparty/hammer.js',
|
||||||
|
'./lib/3rdparty/hammer.propagating.js',
|
||||||
|
'./lib/3rdparty/d3/d3.js',
|
||||||
|
'./lib/3rdparty/d3/d3-selection-multi.js',
|
||||||
|
'./lib/3rdparty/highlight/**/*.js',
|
||||||
|
'./lib/3rdparty/pixi/pixi.js',
|
||||||
|
'./lib/3rdparty/pixi/lib/crn_decomp.js',
|
||||||
|
'./lib/3rdparty/pixi/pixi-compressed-textures.js',
|
||||||
|
'./lib/3rdparty/pixi/pixi-filters.js',
|
||||||
|
'./lib/3rdparty/pixi/pixi-particles.js',
|
||||||
|
'./lib/3rdparty/pixi/pixi-projection.js',
|
||||||
|
'./lib/3rdparty/greensock/src/uncompressed/**/*.js',
|
||||||
|
'./lib/3rdparty/convertPointFromPageToNode.js',
|
||||||
], {sourcemaps: false})
|
], {sourcemaps: false})
|
||||||
|
.pipe(concat('iwmlib.3rdparty.js'))
|
||||||
|
.pipe(dest('dist', {sourcemaps: false}))
|
||||||
.pipe(rename({extname: '.min.js'}))
|
.pipe(rename({extname: '.min.js'}))
|
||||||
.pipe(uglify())
|
.pipe(uglify())
|
||||||
.pipe(dest('dist'))
|
.pipe(dest('dist', {sourcemaps: false}))
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.default = parallel(minify);
|
function preload() {
|
||||||
|
return src([
|
||||||
|
'./lib/3rdparty/highlight/**/*.js',
|
||||||
|
'./lib/3rdparty/greensock/src/uncompressed/plugins/*.js',
|
||||||
|
'./lib/3rdparty/greensock/src/uncompressed/TweenLite.js',
|
||||||
|
'./lib/3rdparty/convertPointFromPageToNode.js',
|
||||||
|
], {sourcemaps: false})
|
||||||
|
.pipe(concat('iwmlib.3rdparty.preload.js'))
|
||||||
|
.pipe(dest('dist', {sourcemaps: false}))
|
||||||
|
.pipe(rename({extname: '.min.js'}))
|
||||||
|
.pipe(uglify())
|
||||||
|
.pipe(dest('dist', {sourcemaps: false}))
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.default = parallel(vendors, preload);
|
||||||
|
45
lib/3rdparty/3rdparty.js
vendored
45
lib/3rdparty/3rdparty.js
vendored
@ -1,45 +0,0 @@
|
|||||||
/*
|
|
||||||
* Import often used libraries.
|
|
||||||
*/
|
|
||||||
import './jquery.js'
|
|
||||||
import './optimal-select.js'
|
|
||||||
import './hammer.js'
|
|
||||||
import './d3/d3.v4.js'
|
|
||||||
import './d3/d3.v4.selection-multi.js'
|
|
||||||
import './highlight/highlight.pack.js'
|
|
||||||
import './pixi/pixi.js'
|
|
||||||
import './pixi/pixi-filters.js'
|
|
||||||
import './pixi/pixi-particles.js'
|
|
||||||
import './pixi/pixi-compressed-textures.js'
|
|
||||||
import './greensock/src/uncompressed/jquery.gsap.js'
|
|
||||||
import './greensock/src/uncompressed/TweenLite.js'
|
|
||||||
import './greensock/src/uncompressed/TweenMax.js'
|
|
||||||
import './greensock/src/uncompressed/TimelineLite.js'
|
|
||||||
import './greensock/src/uncompressed/TimelineMax.js'
|
|
||||||
import './greensock/src/uncompressed/easing/CustomBounce.js'
|
|
||||||
import './greensock/src/uncompressed/easing/CustomEase.js'
|
|
||||||
import './greensock/src/uncompressed/easing/CustomWiggle.js'
|
|
||||||
import './greensock/src/uncompressed/easing/EasePack.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/AttrPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/BezierPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/ColorPropsPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/CSSPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/CSSRulePlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/DirectionalRotationPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/DrawSVGPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/EaselPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/EndArrayPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/ModifiersPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/MorphSVGPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/Physics2DPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/PhysicsPropsPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/PixiPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/RaphaelPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/RoundPropsPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/ScrambleTextPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/ScrollToPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/TEMPLATE_Plugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/TextPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/plugins/ThrowPropsPlugin.js'
|
|
||||||
import './greensock/src/uncompressed/utils/Draggable.js'
|
|
||||||
import './greensock/src/uncompressed/utils/SplitText.js'
|
|
82
lib/3rdparty/create_all_js.py
vendored
82
lib/3rdparty/create_all_js.py
vendored
@ -1,82 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
|
|
||||||
"""
|
|
||||||
Module docstring.
|
|
||||||
"""
|
|
||||||
|
|
||||||
import sys, os, optparse
|
|
||||||
|
|
||||||
items = (
|
|
||||||
"./lib/3rdparty/jquery.js",
|
|
||||||
"./lib/3rdparty/optimal-select.js",
|
|
||||||
"./lib/3rdparty/hammer.js",
|
|
||||||
"./lib/3rdparty/hammer.propagating.js",
|
|
||||||
"./lib/3rdparty/d3/d3.js",
|
|
||||||
"./lib/3rdparty/d3/d3-selection-multi.js",
|
|
||||||
"./lib/3rdparty/highlight",
|
|
||||||
"./lib/3rdparty/pixi/pixi.js",
|
|
||||||
"./lib/3rdparty/pixi/lib/crn_decomp.js",
|
|
||||||
"./lib/3rdparty/pixi/pixi-compressed-textures.js",
|
|
||||||
"./lib/3rdparty/pixi/pixi-filters.js",
|
|
||||||
"./lib/3rdparty/pixi/pixi-particles.js",
|
|
||||||
"./lib/3rdparty/pixi/pixi-projection.js",
|
|
||||||
"./lib/3rdparty/greensock/src/uncompressed",
|
|
||||||
"./lib/3rdparty/greensock/src/uncompressed/easing",
|
|
||||||
"./lib/3rdparty/greensock/src/uncompressed/plugins",
|
|
||||||
"./lib/3rdparty/greensock/src/uncompressed/utils",
|
|
||||||
"./lib/3rdparty/convertPointFromPageToNode.js"
|
|
||||||
)
|
|
||||||
|
|
||||||
def process_command_line(argv):
|
|
||||||
"""
|
|
||||||
Return a 2-tuple: (settings object, args list).
|
|
||||||
`argv` is a list of arguments, or `None` for ``sys.argv[1:]``.
|
|
||||||
"""
|
|
||||||
if argv is None:
|
|
||||||
argv = sys.argv[1:]
|
|
||||||
|
|
||||||
# initialize the parser object:
|
|
||||||
parser = optparse.OptionParser(
|
|
||||||
formatter=optparse.TitledHelpFormatter(width=78),
|
|
||||||
add_help_option=None)
|
|
||||||
|
|
||||||
# define options here:
|
|
||||||
parser.add_option( # customized description; put --help last
|
|
||||||
'-h', '--help', action='help',
|
|
||||||
help='Show this help message and exit.')
|
|
||||||
|
|
||||||
settings, args = parser.parse_args(argv)
|
|
||||||
|
|
||||||
# check number of arguments, verify values, etc.:
|
|
||||||
if args:
|
|
||||||
parser.error('program takes no command-line arguments; '
|
|
||||||
'"%s" ignored.' % (args,))
|
|
||||||
|
|
||||||
# further process settings & args if necessary
|
|
||||||
|
|
||||||
return settings, args
|
|
||||||
|
|
||||||
def main(argv=None):
|
|
||||||
settings, args = process_command_line(argv)
|
|
||||||
run(settings, args)
|
|
||||||
return 0 # success
|
|
||||||
|
|
||||||
def run(settings, args):
|
|
||||||
with open("./dist/iwmlib.3rdparty.js", 'w') as outfile:
|
|
||||||
for item in items:
|
|
||||||
if item.endswith(".js"):
|
|
||||||
appendFile(outfile, item)
|
|
||||||
else:
|
|
||||||
for filename in os.listdir(item):
|
|
||||||
if filename.endswith(".js"):
|
|
||||||
appendFile(outfile, os.path.join(item, filename))
|
|
||||||
|
|
||||||
def appendFile(outfile, filename):
|
|
||||||
with open(filename) as infile:
|
|
||||||
outfile.write("\n")
|
|
||||||
outfile.write(infile.read())
|
|
||||||
print("File appended: " + infile.name)
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
status = main()
|
|
||||||
sys.exit(status)
|
|
68
lib/3rdparty/create_preload_js.py
vendored
68
lib/3rdparty/create_preload_js.py
vendored
@ -1,68 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
|
|
||||||
"""
|
|
||||||
Module docstring.
|
|
||||||
"""
|
|
||||||
|
|
||||||
import sys, os, optparse
|
|
||||||
|
|
||||||
items = (
|
|
||||||
"highlight",
|
|
||||||
"greensock/src/uncompressed/plugins",
|
|
||||||
"greensock/src/uncompressed/TweenLite.js",
|
|
||||||
"convertPointFromPageToNode.js"
|
|
||||||
)
|
|
||||||
|
|
||||||
def process_command_line(argv):
|
|
||||||
"""
|
|
||||||
Return a 2-tuple: (settings object, args list).
|
|
||||||
`argv` is a list of arguments, or `None` for ``sys.argv[1:]``.
|
|
||||||
"""
|
|
||||||
if argv is None:
|
|
||||||
argv = sys.argv[1:]
|
|
||||||
|
|
||||||
# initialize the parser object:
|
|
||||||
parser = optparse.OptionParser(
|
|
||||||
formatter=optparse.TitledHelpFormatter(width=78),
|
|
||||||
add_help_option=None)
|
|
||||||
|
|
||||||
# define options here:
|
|
||||||
parser.add_option( # customized description; put --help last
|
|
||||||
'-h', '--help', action='help',
|
|
||||||
help='Show this help message and exit.')
|
|
||||||
|
|
||||||
settings, args = parser.parse_args(argv)
|
|
||||||
|
|
||||||
# check number of arguments, verify values, etc.:
|
|
||||||
if args:
|
|
||||||
parser.error('program takes no command-line arguments; '
|
|
||||||
'"%s" ignored.' % (args,))
|
|
||||||
|
|
||||||
# further process settings & args if necessary
|
|
||||||
|
|
||||||
return settings, args
|
|
||||||
|
|
||||||
def main(argv=None):
|
|
||||||
settings, args = process_command_line(argv)
|
|
||||||
run(settings, args)
|
|
||||||
return 0 # success
|
|
||||||
|
|
||||||
def run(settings, args):
|
|
||||||
with open("preload.js", 'w') as outfile:
|
|
||||||
for item in items:
|
|
||||||
if item.endswith(".js"):
|
|
||||||
appendFile(outfile, item)
|
|
||||||
else:
|
|
||||||
for filename in os.listdir(item):
|
|
||||||
if filename.endswith(".js"):
|
|
||||||
appendFile(outfile, os.path.join(item, filename))
|
|
||||||
|
|
||||||
def appendFile(outfile, filename):
|
|
||||||
with open(filename) as infile:
|
|
||||||
outfile.write("\n")
|
|
||||||
outfile.write(infile.read())
|
|
||||||
print("File appended: " + infile.name)
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
status = main()
|
|
||||||
sys.exit(status)
|
|
28
package-lock.json
generated
28
package-lock.json
generated
@ -526,6 +526,23 @@
|
|||||||
"typedarray": "^0.0.6"
|
"typedarray": "^0.0.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"concat-with-sourcemaps": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"source-map": "^0.6.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"convert-source-map": {
|
"convert-source-map": {
|
||||||
"version": "1.6.0",
|
"version": "1.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
|
||||||
@ -1735,6 +1752,17 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gulp-concat": {
|
||||||
|
"version": "2.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
|
||||||
|
"integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"concat-with-sourcemaps": "^1.0.0",
|
||||||
|
"through2": "^2.0.0",
|
||||||
|
"vinyl": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"gulp-rename": {
|
"gulp-rename": {
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.4.0.tgz",
|
||||||
|
@ -10,8 +10,7 @@
|
|||||||
"test": "echo \"Error: no test specified\" && exit 1",
|
"test": "echo \"Error: no test specified\" && exit 1",
|
||||||
"build": "rollup --config ./rollup.config.js",
|
"build": "rollup --config ./rollup.config.js",
|
||||||
"watch": "rollup --watch --config ./rollup.config.js",
|
"watch": "rollup --watch --config ./rollup.config.js",
|
||||||
"3rdparty": "python3 ./lib/3rdparty/create_all_js.py",
|
"3rdparty": "gulp"
|
||||||
"minify": "gulp"
|
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -21,6 +20,7 @@
|
|||||||
"license": "LGPL-3.0-or-later",
|
"license": "LGPL-3.0-or-later",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"gulp": "^4.0.0",
|
"gulp": "^4.0.0",
|
||||||
|
"gulp-concat": "^2.6.1",
|
||||||
"gulp-rename": "^1.4.0",
|
"gulp-rename": "^1.4.0",
|
||||||
"gulp-uglify": "^3.0.2"
|
"gulp-uglify": "^3.0.2"
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user