activity-stream/yamscripts.yml

86 строки
3.6 KiB
YAML

# This file compiles to package.json scripts.
# When you add or modify anything, you *MUST* run:
# npm run yamscripts
# to compile your changes.
scripts:
# Run the activity-stream mochitests
mochitest: (cd $npm_package_config_mc_dir && ./mach mochitest browser/components/newtab/test/browser --headless)
# Run the activity-stream mochitests with the browser toolbox debugger.
# Often handy in combination with adding a "debugger" statement in your
# mochitest somewhere.
mochitest-debug: (cd $npm_package_config_mc_dir && ./mach mochitest --jsdebugger browser/components/newtab/test/browser)
# bundle: Build all assets for activity stream
bundle:
webpack: webpack --config webpack.system-addon.config.js
css: node-sass content-src/styles -o css
html: rimraf prerendered && node ./bin/render-activity-stream-html.js
# buildmc: Export code to mozilla central
buildmc:
pre: rimraf $npm_package_config_mc_dir/browser/components/newtab/
bundle: => bundle
copy: rsync --exclude-from .mcignore -a . $npm_package_config_mc_dir/browser/components/newtab/
fluentExport: cpx "$npm_package_config_locales_dir/*.ftl" $npm_package_config_mc_dir/browser/locales/$npm_package_config_default_locale/browser/newtab/
copyPingCentre: cpx "ping-centre/PingCentre.jsm" $npm_package_config_mc_dir/browser/modules
# builduplift: Build and export to mozilla central for uplifts without exporting strings to browser/locales
builduplift:
pre: =>prebuildmc
bundle: => bundle
copy: =>buildmc:copy
# buildlibrary: Export about:library code to mozilla-central - intentionally not included in buildmc for now
buildlibrary:
webpack: webpack --config webpack.aboutlibrary.config.js
css: node-sass --source-map true --source-map-contents content-src/aboutlibrary -o aboutlibrary/content
copy: cpx "aboutlibrary/**/{,.}*" $npm_package_config_mc_dir/browser/components/library
# startmc: Automatically rebuild/export to mozilla central when files are changed. NOTE: Includes sourcemaps, do not use for profiling/perf testing.
startmc:
_parallel: true
pre: =>buildmc
# This copies only the system addon sub-folder; changing anything outside of it will need a full rebuild.
copy: cpx "{{,.}*,!(node_modules)/**/{,.}*}" $npm_package_config_mc_dir/browser/components/newtab/ -w
copyFluent: =>buildmc:fluentExport -- -w
copyPingCentre: =>buildmc:copyPingCentre -- -w
webpack: =>bundle:webpack -- --env.development -w
css: =>bundle:css && =>bundle:css -- --source-map-embed --source-map-contents -w
# importmc: Import changes from mc to github repo
importmc:
src: rsync --exclude-from .mcignore -a $npm_package_config_mc_dir/browser/components/newtab/ .
ftl: rsync -a $npm_package_config_mc_dir/browser/locales/$npm_package_config_default_locale/browser/newtab/ $npm_package_config_locales_dir
testmc:
lint: =>lint
build: =>bundle:webpack
unit: karma start karma.mc.config.js
tddmc: karma start karma.mc.config.js --tdd
debugcoverage: open logs/coverage/index.html
# lint: Run eslint and sass-lint
lint:
eslint-check: eslint --cache --print-config AboutNewTabService.jsm | eslint-config-prettier-check
eslint: eslint --cache --ext=.js,.jsm,.jsx .
sasslint: sass-lint -v -q
# test: Run all tests once
test: =>testmc
# tdd: Run content tests continuously
tdd: =>tddmc
# Utility scripts for use when vendoring in Node packages
vendor:
react: node ./bin/vendor-react.js
fix:
# Note that since we're currently running eslint-plugin-prettier,
# running fix:eslint will also reformat changed JS files using prettier.
eslint: =>lint:eslint -- --fix