forked from matrix/element-web
Merge pull request #11801 from vector-im/travis/babel7-wp-scripts
Update build scripts for new process
This commit is contained in:
commit
a91bab29ff
|
@ -1,11 +1,38 @@
|
||||||
steps:
|
steps:
|
||||||
- label: ":eslint: Lint"
|
- label: ":eslint: JS Lint"
|
||||||
command:
|
command:
|
||||||
- "yarn install"
|
- "yarn install"
|
||||||
- "yarn lint"
|
- "yarn lint:js"
|
||||||
plugins:
|
plugins:
|
||||||
- docker#v3.0.1:
|
- docker#v3.0.1:
|
||||||
image: "node:10"
|
image: "node:12"
|
||||||
|
|
||||||
|
# This layer doesn't have a TypeScript linter. This comment is to remind TravisR to fix that.
|
||||||
|
# - label: ":eslint: TS Lint"
|
||||||
|
# command:
|
||||||
|
# - "echo '--- Install js-sdk'"
|
||||||
|
# - "./scripts/ci/install-deps.sh"
|
||||||
|
# - "yarn lint:ts"
|
||||||
|
# plugins:
|
||||||
|
# - docker#v3.0.1:
|
||||||
|
# image: "node:12"
|
||||||
|
|
||||||
|
- label: ":eslint: Types Lint"
|
||||||
|
command:
|
||||||
|
- "yarn install"
|
||||||
|
- "yarn lint:types"
|
||||||
|
plugins:
|
||||||
|
- docker#v3.0.1:
|
||||||
|
image: "node:12"
|
||||||
|
|
||||||
|
- label: "🛠 Build"
|
||||||
|
command:
|
||||||
|
# TODO: This probably needs to be more sophisticated than "just install stuff"
|
||||||
|
- "yarn install"
|
||||||
|
- "yarn build"
|
||||||
|
plugins:
|
||||||
|
- docker#v3.0.1:
|
||||||
|
image: "node:12"
|
||||||
|
|
||||||
- label: ":karma: Tests"
|
- label: ":karma: Tests"
|
||||||
agents:
|
agents:
|
||||||
|
@ -54,4 +81,4 @@ steps:
|
||||||
- "yarn diff-i18n"
|
- "yarn diff-i18n"
|
||||||
plugins:
|
plugins:
|
||||||
- docker#v3.0.1:
|
- docker#v3.0.1:
|
||||||
image: "node:10"
|
image: "node:10"
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
// Copied from react-sdk
|
||||||
|
// TODO: Only keep one copy of this for synchronization purposes
|
||||||
|
module.exports = {
|
||||||
|
"extends": "stylelint-config-standard",
|
||||||
|
"plugins": [
|
||||||
|
"stylelint-scss",
|
||||||
|
],
|
||||||
|
"rules": {
|
||||||
|
"indentation": 4,
|
||||||
|
"comment-empty-line-before": null,
|
||||||
|
"declaration-empty-line-before": null,
|
||||||
|
"length-zero-no-unit": null,
|
||||||
|
"rule-empty-line-before": null,
|
||||||
|
"color-hex-length": null,
|
||||||
|
"max-empty-lines": null,
|
||||||
|
"number-no-trailing-zeros": null,
|
||||||
|
"number-leading-zero": null,
|
||||||
|
"selector-list-comma-newline-after": null,
|
||||||
|
"at-rule-no-unknown": null,
|
||||||
|
"no-descending-specificity": null,
|
||||||
|
"scss/at-rule-no-unknown": [true, {
|
||||||
|
// https://github.com/vector-im/riot-web/issues/10544
|
||||||
|
"ignoreAtRules": ["define-mixin"],
|
||||||
|
}],
|
||||||
|
}
|
||||||
|
};
|
66
package.json
66
package.json
|
@ -11,56 +11,53 @@
|
||||||
},
|
},
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"files": [
|
"files": [
|
||||||
"AUTHORS.rst",
|
|
||||||
"CONTRIBUTING.rst",
|
|
||||||
"deploy",
|
|
||||||
"docs",
|
|
||||||
"karma.conf.js",
|
|
||||||
"lib",
|
"lib",
|
||||||
"release.sh",
|
"res",
|
||||||
"scripts",
|
|
||||||
"src",
|
"src",
|
||||||
"test",
|
"webpack.config.js",
|
||||||
"webpack.config.js"
|
"scripts",
|
||||||
|
"docs",
|
||||||
|
"release.sh",
|
||||||
|
"karma.conf.js",
|
||||||
|
"deploy",
|
||||||
|
"CHANGELOG.md",
|
||||||
|
"CONTRIBUTING.rst",
|
||||||
|
"LICENSE",
|
||||||
|
"README.md",
|
||||||
|
"AUTHORS.rst",
|
||||||
|
"package.json"
|
||||||
],
|
],
|
||||||
"style": "bundle.css",
|
"style": "bundle.css",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"reskindex": "reskindex -h src/header",
|
|
||||||
"reskindex:watch": "reskindex -h src/header -w",
|
|
||||||
"i18n": "matrix-gen-i18n",
|
"i18n": "matrix-gen-i18n",
|
||||||
"prunei18n": "matrix-prune-i18n",
|
"prunei18n": "matrix-prune-i18n",
|
||||||
"diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && yarn i18n && node scripts/compare-file.js src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
|
"diff-i18n": "cp src/i18n/strings/en_EN.json src/i18n/strings/en_EN_orig.json && yarn i18n && node scripts/compare-file.js src/i18n/strings/en_EN_orig.json src/i18n/strings/en_EN.json",
|
||||||
|
"reskindex": "reskindex -h src/header",
|
||||||
|
"reskindex:watch": "reskindex -h src/header -w",
|
||||||
|
"clean": "rimraf lib webapp electron_app/dist",
|
||||||
|
"build": "yarn clean && yarn build:res && yarn build:compile && yarn build:types && yarn build:bundle",
|
||||||
"build:res": "node scripts/copy-res.js",
|
"build:res": "node scripts/copy-res.js",
|
||||||
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
|
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
|
||||||
"build:compile": "yarn reskindex && babel --source-maps -d lib src",
|
"build:compile": "yarn reskindex && babel -d lib --verbose --extensions \".ts,.js\" src",
|
||||||
"build:bundle": "cross-env NODE_ENV=production webpack -p --progress --bail --mode production",
|
"build:bundle": "cross-env NODE_ENV=production webpack -p --progress --bail --mode production",
|
||||||
"build:bundle:dev": "webpack --progress --bail --mode development",
|
"build:electron": "yarn build && yarn install:electron && electron-builder -wml --ia32 --x64",
|
||||||
"build:electron": "yarn clean && yarn build && yarn install:electron && electron-builder -wml --ia32 --x64",
|
|
||||||
"build:electron:linux": "yarn build && electron-builder -l --x64",
|
"build:electron:linux": "yarn build && electron-builder -l --x64",
|
||||||
"build:electron:macos": "yarn build && electron-builder -m --x64",
|
"build:electron:macos": "yarn build && electron-builder -m --x64",
|
||||||
"build:electron:windows": "yarn build && electron-builder -w --ia32 --x64",
|
"build:electron:windows": "yarn build && electron-builder -w --ia32 --x64",
|
||||||
"build:react-sdk": "node scripts/yarn-sub.js matrix-react-sdk build",
|
"build:types": "tsc --emitDeclarationOnly",
|
||||||
"build:js-sdk": "node scripts/yarn-sub.js matrix-js-sdk start:init",
|
|
||||||
"build": "yarn build:js-sdk && yarn build:react-sdk && yarn reskindex && yarn build:res && yarn build:bundle",
|
|
||||||
"build:dev": "yarn build:js-sdk && yarn build:react-sdk && yarn reskindex && yarn build:res && yarn build:bundle:dev",
|
|
||||||
"dist": "scripts/package.sh",
|
|
||||||
"install:electron": "electron-builder install-app-deps",
|
"install:electron": "electron-builder install-app-deps",
|
||||||
"electron": "yarn install:electron && electron .",
|
"dist": "scripts/package.sh",
|
||||||
|
"start": "concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n reskindex,res,riot-js \"yarn reskindex:watch\" \"yarn start:res\" \"yarn start:js\"",
|
||||||
"start:res": "node scripts/copy-res.js -w",
|
"start:res": "node scripts/copy-res.js -w",
|
||||||
"start:js": "webpack-dev-server --host=0.0.0.0 --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --progress --mode development",
|
"start:js": "webpack-dev-server --host=0.0.0.0 --output-filename=bundles/_dev_/[name].js --output-chunk-filename=bundles/_dev_/[name].js -w --progress --mode development",
|
||||||
"start:js:prod": "cross-env NODE_ENV=production webpack-dev-server -w --progress --mode production",
|
"electron": "yarn build && yarn install:electron && electron .",
|
||||||
"start:js-sdk": "node scripts/yarn-sub.js matrix-js-sdk start:watch",
|
"lint": "yarn lint:types && yarn lint:ts && yarn lint:js && yarn lint:style",
|
||||||
"start:js-sdk:prod": "cross-env NODE_ENV=production node scripts/yarn-sub.js matrix-js-sdk start:watch",
|
"lint:js": "eslint src test",
|
||||||
"start:react-sdk": "node scripts/yarn-sub.js matrix-react-sdk start:all",
|
"lint:ts": "echo 'We don't actually have a typescript linter at this layer because tslint is being removed from our stack. Presumably your TS is fine.'",
|
||||||
"start:react-sdk:prod": "cross-env NODE_ENV=production node scripts/yarn-sub.js matrix-react-sdk start:all",
|
"lint:types": "tsc --noEmit",
|
||||||
"start": "yarn build:js-sdk && yarn build:react-sdk && concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n js-sdk,react-sdk,reskindex,res,riot-js \"yarn start:js-sdk\" \"yarn start:react-sdk\" \"yarn reskindex:watch\" \"yarn start:res\" \"yarn start:js\"",
|
"lint:style": "stylelint 'res/css/**/*.scss'",
|
||||||
"start:prod": "yarn build:js-sdk && yarn build:react-sdk && concurrently --kill-others-on-fail --prefix \"{time} [{name}]\" -n js-sdk,react-sdk,reskindex,res,riot-js \"yarn start:js-sdk:prod\" \"yarn start:react-sdk:prod\" \"yarn reskindex:watch\" \"yarn start:res\" \"yarn start:js:prod\"",
|
|
||||||
"lint": "eslint src/",
|
|
||||||
"lintall": "eslint src/ test/",
|
|
||||||
"clean": "rimraf lib webapp electron_app/dist",
|
|
||||||
"prepare": "yarn clean && yarn build:compile",
|
|
||||||
"test": "karma start --single-run=true --autoWatch=false --browsers VectorChromeHeadless",
|
"test": "karma start --single-run=true --autoWatch=false --browsers VectorChromeHeadless",
|
||||||
"test-multi": "karma start"
|
"test:multi": "karma start"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browser-request": "^0.3.3",
|
"browser-request": "^0.3.3",
|
||||||
|
@ -97,7 +94,7 @@
|
||||||
"@babel/preset-typescript": "^7.7.4",
|
"@babel/preset-typescript": "^7.7.4",
|
||||||
"@babel/register": "^7.7.4",
|
"@babel/register": "^7.7.4",
|
||||||
"@babel/runtime": "^7.7.6",
|
"@babel/runtime": "^7.7.6",
|
||||||
"@types/react": "^16.9.16",
|
"@types/react": "^16.9.17",
|
||||||
"@types/react-dom": "^16.9.4",
|
"@types/react-dom": "^16.9.4",
|
||||||
"autoprefixer": "^9.7.3",
|
"autoprefixer": "^9.7.3",
|
||||||
"babel-eslint": "^10.0.3",
|
"babel-eslint": "^10.0.3",
|
||||||
|
@ -105,7 +102,7 @@
|
||||||
"chokidar": "^2.0.4",
|
"chokidar": "^2.0.4",
|
||||||
"concurrently": "^4.0.1",
|
"concurrently": "^4.0.1",
|
||||||
"cpx": "^1.3.2",
|
"cpx": "^1.3.2",
|
||||||
"cross-env": "^4.0.0",
|
"cross-env": "^6.0.3",
|
||||||
"css-loader": "^3.3.2",
|
"css-loader": "^3.3.2",
|
||||||
"electron-builder": "^21.2.0",
|
"electron-builder": "^21.2.0",
|
||||||
"electron-builder-squirrel-windows": "^21.2.0",
|
"electron-builder-squirrel-windows": "^21.2.0",
|
||||||
|
@ -152,6 +149,7 @@
|
||||||
"postcss-strip-inline-comments": "^0.1.5",
|
"postcss-strip-inline-comments": "^0.1.5",
|
||||||
"rimraf": "^2.4.3",
|
"rimraf": "^2.4.3",
|
||||||
"shell-escape": "^0.2.0",
|
"shell-escape": "^0.2.0",
|
||||||
|
"stylelint": "^12.0.1",
|
||||||
"terser-webpack-plugin": "^2.3.0",
|
"terser-webpack-plugin": "^2.3.0",
|
||||||
"typescript": "^3.7.3",
|
"typescript": "^3.7.3",
|
||||||
"webpack": "^4.41.2",
|
"webpack": "^4.41.2",
|
||||||
|
|
|
@ -2,11 +2,6 @@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
dev=""
|
|
||||||
if [ "$1" = '-d' ]; then
|
|
||||||
dev=":dev"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "$DIST_VERSION" ]; then
|
if [ -n "$DIST_VERSION" ]; then
|
||||||
version=$DIST_VERSION
|
version=$DIST_VERSION
|
||||||
else
|
else
|
||||||
|
@ -14,7 +9,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
yarn clean
|
yarn clean
|
||||||
yarn build$dev
|
yarn build
|
||||||
|
|
||||||
# include the sample config in the tarball. Arguably this should be done by
|
# include the sample config in the tarball. Arguably this should be done by
|
||||||
# `yarn build`, but it's just too painful.
|
# `yarn build`, but it's just too painful.
|
||||||
|
|
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import qs from 'querystring';
|
import * as qs from 'querystring';
|
||||||
|
|
||||||
// We want to support some name / value pairs in the fragment
|
// We want to support some name / value pairs in the fragment
|
||||||
// so we're re-using query string like format
|
// so we're re-using query string like format
|
Loading…
Reference in New Issue