Add the ability to make different kinds of builds

This commit is contained in:
JC Brand 2018-06-04 12:07:49 +02:00
parent bc872ee2cb
commit 659f70b28b
7 changed files with 123983 additions and 22821 deletions

2
.gitignore vendored
View File

@ -12,6 +12,8 @@
.idea
.su?
builds/*
*.map
dist/converse-no-dependencies-es2015.js
analytics.js
inverse-analytics.js

View File

@ -74,7 +74,7 @@ serve_bg: dev
GETTEXT = xgettext --language="JavaScript" --keyword=__ --keyword=___ --from-code=UTF-8 --output=locale/converse.pot dist/converse-no-dependencies.js --package-name=Converse.js --copyright-holder="Jan-Carel Brand" --package-version=3.3.4 -c
.PHONY: pot
pot: dist/converse-no-dependencies.js
pot: dist/converse-no-dependencies-es2015.js
$(GETTEXT) 2>&1 > /dev/null; exit $$?;
.PHONY: po
@ -184,12 +184,28 @@ logo/conversejs-filled%.png:: logo/conversejs-filled.svg
$(OXIPNG) $@
BUILDS = dist/converse.js \
dist/converse.min.js
dist/converse.min.js \
dist/converse-headless.js \
dist/converse-headless.min.js \
dist/converse-no-dependencies.min.js \
dist/converse-no-dependencies.js \
dist/converse-no-dependencies-es5.js
dist/converse.js: transpile src stamp-npm
./node_modules/.bin/npx webpack --mode=production
dist/converse.min.js: transpile src stamp-npm
dist/converse.js: src webpack.config.js stamp-npm
./node_modules/.bin/npx webpack --mode=development
dist/converse.min.js: src webpack.config.js stamp-npm
./node_modules/.bin/npx webpack --mode=production
dist/converse-headless.js: src webpack.config.js stamp-npm
./node_modules/.bin/npx webpack --mode=development --type=headless
dist/converse-headless.min.js: src webpack.config.js stamp-npm
./node_modules/.bin/npx webpack --mode=production --type=headless
dist/converse-no-dependencies.js: src webpack.config.js stamp-npm
./node_modules/.bin/npx webpack --mode=development --type=nodeps
dist/converse-no-dependencies.min.js: src webpack.config.js stamp-npm
./node_modules/.bin/npx webpack --mode=production --type=nodeps
dist/converse-no-dependencies-es2015.js: src webpack.config.js stamp-npm
./node_modules/.bin/npx webpack --mode=development --type=nodeps --lang=es2015
.PHONY: dist
dist:: build

File diff suppressed because one or more lines are too long

80597
dist/converse.js vendored

File diff suppressed because one or more lines are too long

537
package-lock.json generated
View File

@ -551,6 +551,23 @@
"@babel/helper-plugin-utils": "7.0.0-beta.48"
}
},
"@babel/plugin-transform-instanceof": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-instanceof/-/plugin-transform-instanceof-7.0.0-beta.49.tgz",
"integrity": "sha1-4yX5x3Gx+fsm35U9d4AhC7WHq/g=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "7.0.0-beta.49"
},
"dependencies": {
"@babel/helper-plugin-utils": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.49.tgz",
"integrity": "sha1-Dp/LuDT4eLs2XSqOqQ7uIbo8zSM=",
"dev": true
}
}
},
"@babel/plugin-transform-literals": {
"version": "7.0.0-beta.48",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.48.tgz",
@ -745,6 +762,504 @@
"semver": "5.5.0"
}
},
"@babel/preset-es2015": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/preset-es2015/-/preset-es2015-7.0.0-beta.49.tgz",
"integrity": "sha1-F6HYENQuhOcGnIapEs18fFhTd3E=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "7.0.0-beta.49",
"@babel/plugin-transform-arrow-functions": "7.0.0-beta.49",
"@babel/plugin-transform-block-scoped-functions": "7.0.0-beta.49",
"@babel/plugin-transform-block-scoping": "7.0.0-beta.49",
"@babel/plugin-transform-classes": "7.0.0-beta.49",
"@babel/plugin-transform-computed-properties": "7.0.0-beta.49",
"@babel/plugin-transform-destructuring": "7.0.0-beta.49",
"@babel/plugin-transform-duplicate-keys": "7.0.0-beta.49",
"@babel/plugin-transform-for-of": "7.0.0-beta.49",
"@babel/plugin-transform-function-name": "7.0.0-beta.49",
"@babel/plugin-transform-instanceof": "7.0.0-beta.49",
"@babel/plugin-transform-literals": "7.0.0-beta.49",
"@babel/plugin-transform-modules-amd": "7.0.0-beta.49",
"@babel/plugin-transform-modules-commonjs": "7.0.0-beta.49",
"@babel/plugin-transform-modules-systemjs": "7.0.0-beta.49",
"@babel/plugin-transform-modules-umd": "7.0.0-beta.49",
"@babel/plugin-transform-object-super": "7.0.0-beta.49",
"@babel/plugin-transform-parameters": "7.0.0-beta.49",
"@babel/plugin-transform-regenerator": "7.0.0-beta.49",
"@babel/plugin-transform-shorthand-properties": "7.0.0-beta.49",
"@babel/plugin-transform-spread": "7.0.0-beta.49",
"@babel/plugin-transform-sticky-regex": "7.0.0-beta.49",
"@babel/plugin-transform-template-literals": "7.0.0-beta.49",
"@babel/plugin-transform-typeof-symbol": "7.0.0-beta.49",
"@babel/plugin-transform-unicode-regex": "7.0.0-beta.49"
},
"dependencies": {
"@babel/code-frame": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.49.tgz",
"integrity": "sha1-vs2AVIJzREDJ0TfkbXc0DmTX9Rs=",
"dev": true,
"requires": {
"@babel/highlight": "7.0.0-beta.49"
}
},
"@babel/generator": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.49.tgz",
"integrity": "sha1-6c/9qROZaszseTu8JauRvBnQv3o=",
"dev": true,
"requires": {
"@babel/types": "7.0.0-beta.49",
"jsesc": "2.5.1",
"lodash": "4.17.10",
"source-map": "0.5.7",
"trim-right": "1.0.1"
}
},
"@babel/helper-annotate-as-pure": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.49.tgz",
"integrity": "sha1-fZAF1U/nrWy4dnkCUedVdUGRhuk=",
"dev": true,
"requires": {
"@babel/types": "7.0.0-beta.49"
}
},
"@babel/helper-call-delegate": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.49.tgz",
"integrity": "sha1-S11BeCpoPV3GSXg0oyMQqNAqOvk=",
"dev": true,
"requires": {
"@babel/helper-hoist-variables": "7.0.0-beta.49",
"@babel/traverse": "7.0.0-beta.49",
"@babel/types": "7.0.0-beta.49"
}
},
"@babel/helper-define-map": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.49.tgz",
"integrity": "sha1-TqBnqnIJNyQN85XNBzwk/K2cKzs=",
"dev": true,
"requires": {
"@babel/helper-function-name": "7.0.0-beta.49",
"@babel/types": "7.0.0-beta.49",
"lodash": "4.17.10"
}
},
"@babel/helper-function-name": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.49.tgz",
"integrity": "sha1-olwRGbnwNSeGcBJuAiXAMEHI3jI=",
"dev": true,
"requires": {
"@babel/helper-get-function-arity": "7.0.0-beta.49",
"@babel/template": "7.0.0-beta.49",
"@babel/types": "7.0.0-beta.49"
}
},
"@babel/helper-get-function-arity": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.49.tgz",
"integrity": "sha1-z1Aj8y0q2S0Ic3STnOwJUby1FEE=",
"dev": true,
"requires": {
"@babel/types": "7.0.0-beta.49"
}
},
"@babel/helper-hoist-variables": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.49.tgz",
"integrity": "sha1-2XQGUck7tPp5wba6xjQFH8TQP/U=",
"dev": true,
"requires": {
"@babel/types": "7.0.0-beta.49"
}
},
"@babel/helper-member-expression-to-functions": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.49.tgz",
"integrity": "sha1-L2QrAD1FFV4KnnpK0OaI2Ru8FYM=",
"dev": true,
"requires": {
"@babel/types": "7.0.0-beta.49"
}
},
"@babel/helper-module-imports": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.49.tgz",
"integrity": "sha1-QdfVmJEBbEk0MqRvdGREZVKJDHU=",
"dev": true,
"requires": {
"@babel/types": "7.0.0-beta.49",
"lodash": "4.17.10"
}
},
"@babel/helper-module-transforms": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.49.tgz",
"integrity": "sha1-/GYL2p1kl0EuGHdqca7ZqeLl960=",
"dev": true,
"requires": {
"@babel/helper-module-imports": "7.0.0-beta.49",
"@babel/helper-simple-access": "7.0.0-beta.49",
"@babel/helper-split-export-declaration": "7.0.0-beta.49",
"@babel/template": "7.0.0-beta.49",
"@babel/types": "7.0.0-beta.49",
"lodash": "4.17.10"
}
},
"@babel/helper-optimise-call-expression": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.49.tgz",
"integrity": "sha1-qYtDw6bFS+9I+HsQ3EVo3sC0G/c=",
"dev": true,
"requires": {
"@babel/types": "7.0.0-beta.49"
}
},
"@babel/helper-plugin-utils": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.49.tgz",
"integrity": "sha1-Dp/LuDT4eLs2XSqOqQ7uIbo8zSM=",
"dev": true
},
"@babel/helper-regex": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.49.tgz",
"integrity": "sha1-/yRPGcKi8Wf/SzFlpjawj9ZBgWs=",
"dev": true,
"requires": {
"lodash": "4.17.10"
}
},
"@babel/helper-replace-supers": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.49.tgz",
"integrity": "sha1-50RMcYBX9qCjZFyvjnj7VG/7DZ8=",
"dev": true,
"requires": {
"@babel/helper-member-expression-to-functions": "7.0.0-beta.49",
"@babel/helper-optimise-call-expression": "7.0.0-beta.49",
"@babel/traverse": "7.0.0-beta.49",
"@babel/types": "7.0.0-beta.49"
}
},
"@babel/helper-simple-access": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.49.tgz",
"integrity": "sha1-l6QeJ4mpv4psMFNqJYt550RMXYI=",
"dev": true,
"requires": {
"@babel/template": "7.0.0-beta.49",
"@babel/types": "7.0.0-beta.49",
"lodash": "4.17.10"
}
},
"@babel/helper-split-export-declaration": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.49.tgz",
"integrity": "sha1-QNeO2glo0BGxxShm5XRs+yPldUg=",
"dev": true,
"requires": {
"@babel/types": "7.0.0-beta.49"
}
},
"@babel/highlight": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.49.tgz",
"integrity": "sha1-lr3GtD4TSCASumaRsQGEktOWIsw=",
"dev": true,
"requires": {
"chalk": "2.3.2",
"esutils": "2.0.2",
"js-tokens": "3.0.2"
}
},
"@babel/parser": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-beta.49.tgz",
"integrity": "sha1-lE0MW6KBK7FZ7b0iZ0Ov0mUXm9w=",
"dev": true
},
"@babel/plugin-transform-arrow-functions": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.49.tgz",
"integrity": "sha1-3ThFtjxoPRh9UYbuDogsQEbE8OM=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-block-scoped-functions": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.49.tgz",
"integrity": "sha1-eqn0b9+HO3IRqqLrDTfEw3Ghq9I=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-block-scoping": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.49.tgz",
"integrity": "sha1-3Vqd3ZhndciyDPW2EGWvs92eqsk=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "7.0.0-beta.49",
"lodash": "4.17.10"
}
},
"@babel/plugin-transform-classes": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.49.tgz",
"integrity": "sha1-U0JHHS5qMzczLqJGtGwL3fX8VE0=",
"dev": true,
"requires": {
"@babel/helper-annotate-as-pure": "7.0.0-beta.49",
"@babel/helper-define-map": "7.0.0-beta.49",
"@babel/helper-function-name": "7.0.0-beta.49",
"@babel/helper-optimise-call-expression": "7.0.0-beta.49",
"@babel/helper-plugin-utils": "7.0.0-beta.49",
"@babel/helper-replace-supers": "7.0.0-beta.49",
"@babel/helper-split-export-declaration": "7.0.0-beta.49",
"globals": "11.3.0"
}
},
"@babel/plugin-transform-computed-properties": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.49.tgz",
"integrity": "sha1-uCWdF0vwerS1ZWZWK0buZSDD39I=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-destructuring": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.49.tgz",
"integrity": "sha1-Q2Y5LJyC0SMQVsHQApQ4pg02K4I=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-duplicate-keys": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-beta.49.tgz",
"integrity": "sha1-+sJEgJ3ey/CV43VVjMtxbaEEIxY=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-for-of": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.49.tgz",
"integrity": "sha1-PscnJr8diaDU1RG+epVJBm9Xqt4=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-function-name": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.49.tgz",
"integrity": "sha1-rzn2Dnrvzpsl60rc7dBNUIZs4hg=",
"dev": true,
"requires": {
"@babel/helper-function-name": "7.0.0-beta.49",
"@babel/helper-plugin-utils": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-literals": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.49.tgz",
"integrity": "sha1-B8g4JU1l5oZ+hlE+sPItXyawpWo=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-modules-amd": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-beta.49.tgz",
"integrity": "sha1-FtB0gJVLBBXqcPHsPtvQWXvT3f4=",
"dev": true,
"requires": {
"@babel/helper-module-transforms": "7.0.0-beta.49",
"@babel/helper-plugin-utils": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-modules-commonjs": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.49.tgz",
"integrity": "sha1-Cfs0XVknwro72J582xOlUGftOaA=",
"dev": true,
"requires": {
"@babel/helper-module-transforms": "7.0.0-beta.49",
"@babel/helper-plugin-utils": "7.0.0-beta.49",
"@babel/helper-simple-access": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-modules-systemjs": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0-beta.49.tgz",
"integrity": "sha1-aCJaOuExJ3G8Wjb3H/ENAsEkPZ8=",
"dev": true,
"requires": {
"@babel/helper-hoist-variables": "7.0.0-beta.49",
"@babel/helper-plugin-utils": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-modules-umd": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0-beta.49.tgz",
"integrity": "sha1-cEjKWncYlwb0s+luS5luswWQ3WM=",
"dev": true,
"requires": {
"@babel/helper-module-transforms": "7.0.0-beta.49",
"@babel/helper-plugin-utils": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-object-super": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.49.tgz",
"integrity": "sha1-swL1VwKEc0PBD/T7hDXMNXR1X+M=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "7.0.0-beta.49",
"@babel/helper-replace-supers": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-parameters": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.49.tgz",
"integrity": "sha1-HK1xoqMygeXvuxpGI6lkwHPOmi0=",
"dev": true,
"requires": {
"@babel/helper-call-delegate": "7.0.0-beta.49",
"@babel/helper-get-function-arity": "7.0.0-beta.49",
"@babel/helper-plugin-utils": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-regenerator": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.49.tgz",
"integrity": "sha1-1O15ZwM/T1tJNjwgNQOJm4NXyuI=",
"dev": true,
"requires": {
"regenerator-transform": "0.12.3"
}
},
"@babel/plugin-transform-shorthand-properties": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.49.tgz",
"integrity": "sha1-SfE0295PZVg0whUk6eYaWNTheQA=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-spread": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.49.tgz",
"integrity": "sha1-arqwX8DMqCmq+eKoUES3l2Pmgco=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-sticky-regex": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.49.tgz",
"integrity": "sha1-CMxbZM9qWUKoe92bSkgY1MuhLfM=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "7.0.0-beta.49",
"@babel/helper-regex": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-template-literals": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.49.tgz",
"integrity": "sha1-5gmu1rj8x+HrzKzyITimRyApQKI=",
"dev": true,
"requires": {
"@babel/helper-annotate-as-pure": "7.0.0-beta.49",
"@babel/helper-plugin-utils": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-typeof-symbol": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.49.tgz",
"integrity": "sha1-NlFBujVb9znu/Wwrud8cO3FG5FA=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "7.0.0-beta.49"
}
},
"@babel/plugin-transform-unicode-regex": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.49.tgz",
"integrity": "sha1-w3XbVwl1diFSPUGstiqavw1DdLg=",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "7.0.0-beta.49",
"@babel/helper-regex": "7.0.0-beta.49",
"regexpu-core": "4.1.5"
}
},
"@babel/template": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.49.tgz",
"integrity": "sha1-44q+ghfLl5P0YaUwbXrXRdg+HSc=",
"dev": true,
"requires": {
"@babel/code-frame": "7.0.0-beta.49",
"@babel/parser": "7.0.0-beta.49",
"@babel/types": "7.0.0-beta.49",
"lodash": "4.17.10"
}
},
"@babel/traverse": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.49.tgz",
"integrity": "sha1-TypzaCoYM07WYl0QCo0nMZ98LWg=",
"dev": true,
"requires": {
"@babel/code-frame": "7.0.0-beta.49",
"@babel/generator": "7.0.0-beta.49",
"@babel/helper-function-name": "7.0.0-beta.49",
"@babel/helper-split-export-declaration": "7.0.0-beta.49",
"@babel/parser": "7.0.0-beta.49",
"@babel/types": "7.0.0-beta.49",
"debug": "3.1.0",
"globals": "11.3.0",
"invariant": "2.2.3",
"lodash": "4.17.10"
}
},
"@babel/types": {
"version": "7.0.0-beta.49",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.49.tgz",
"integrity": "sha1-t+Oxw/TUz+Eb34yJ8e/V4WF7h6Y=",
"dev": true,
"requires": {
"esutils": "2.0.2",
"lodash": "4.17.10",
"to-fast-properties": "2.0.0"
}
},
"lodash": {
"version": "4.17.10",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
"integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
"dev": true
}
}
},
"@babel/template": {
"version": "7.0.0-beta.48",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.48.tgz",
@ -7246,9 +7761,9 @@
}
},
"minimist": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
},
"mississippi": {
@ -7297,6 +7812,14 @@
"dev": true,
"requires": {
"minimist": "0.0.8"
},
"dependencies": {
"minimist": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true
}
}
},
"moment": {
@ -12134,10 +12657,16 @@
"integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
"dev": true,
"requires": {
"minimist": "0.0.8",
"minimist": "0.0.10",
"wordwrap": "0.0.3"
},
"dependencies": {
"minimist": {
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
"integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
"dev": true
},
"wordwrap": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",

View File

@ -32,6 +32,7 @@
"@babel/cli": "^7.0.0-beta.48",
"@babel/core": "^7.0.0-beta.48",
"@babel/preset-env": "^7.0.0-beta.48",
"@babel/preset-es2015": "^7.0.0-beta.49",
"awesomplete-avoid-xss": "^1.1.2",
"babel-loader": "^8.0.0-beta.3",
"backbone": "1.3.3",
@ -61,6 +62,7 @@
"lodash": "4.17.4",
"lodash-template-loader": "^2.0.0",
"lodash-template-webpack-loader": "jcbrand/lodash-template-webpack-loader",
"minimist": "^1.2.0",
"moment": "~> 2.19.3 ",
"npm": "^5.7.1",
"otr": "0.2.16",

View File

@ -1,5 +1,6 @@
/*global path, __dirname, module */
'use strict'
const minimist = require('minimist');
const path = require('path');
const config = {
@ -152,4 +153,77 @@ const config = {
}
}
function getCLIArgument (name) {
return value;
}
function extend (o1, o2) {
for (let i in o2) {
if (o2.hasOwnProperty(i)) {
o1[i] = o2[i];
}
}
};
function parameterize () {
const type = minimist(process.argv.slice(2)).type;
const mode = minimist(process.argv.slice(2)).mode;
const lang = minimist(process.argv.slice(2)).lang;
if (type === 'headless') {
console.log("Making a headless build");
extend(config, {
entry: path.resolve(__dirname, 'src/headless.js'),
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'converse-headless.js'
},
});
}
if (type === 'nodeps') {
console.log("Making a build without 3rd party dependencies");
extend(config, {
entry: path.resolve(__dirname, 'src/converse.js'),
externals: [{
"awesomplete": "awesomplete",
"backbone.browserStorage": "backbone.browserStorage",
"backbone.overview": "backbone.overview",
"es6-promise": "es6-promise",
"lodash": "lodash",
"lodash.converter": "lodash.converter",
"lodash.noconflict": "lodash.noconflict",
"moment": "moment",
"strophe": "strophe",
"strophe.ping": "strophe.ping",
"strophe.rsm": "strophe.rsm",
"window": "window"
}],
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'converse-no-dependencies.js'
},
});
}
if (mode === 'production') {
console.log("Making a production build");
let fn = config.output.filename;
config.output.filename = `${fn.replace(/\.js$/, '')}.min.js`;
}
if (lang === 'es2015') {
console.log("Making an es2015 build");
config.module.rules.forEach((rule) => {
if (rule.use.loader === 'babel-loader') {
rule.use.options.presets = [
["@babel/preset-es2015"]
]
}
});
}
}
parameterize();
module.exports = config;