65 lines
2.1 KiB
Makefile
65 lines
2.1 KiB
Makefile
intl_imports = ./node_modules/.bin/intl-imports.js
|
|
transifex_utils = ./node_modules/.bin/transifex-utils.js
|
|
i18n = ./src/i18n
|
|
transifex_input = $(i18n)/transifex_input.json
|
|
|
|
# This directory must match .babelrc .
|
|
transifex_temp = ./temp/babel-plugin-formatjs
|
|
|
|
precommit:
|
|
npm run lint
|
|
npm audit
|
|
|
|
requirements:
|
|
npm ci
|
|
|
|
i18n.extract:
|
|
# Pulling display strings from .jsx files into .json files...
|
|
rm -rf $(transifex_temp)
|
|
npm run-script i18n_extract
|
|
|
|
i18n.concat:
|
|
# Gathering JSON messages into one file...
|
|
$(transifex_utils) $(transifex_temp) $(transifex_input)
|
|
|
|
extract_translations: | requirements i18n.extract i18n.concat
|
|
|
|
# Despite the name, we actually need this target to detect changes in the incoming translated message files as well.
|
|
detect_changed_source_translations:
|
|
# Checking for changed translations...
|
|
git diff --exit-code $(i18n)
|
|
|
|
pull_translations:
|
|
rm -rf src/i18n/messages
|
|
mkdir src/i18n/messages
|
|
cd src/i18n/messages \
|
|
&& atlas pull $(ATLAS_OPTIONS) \
|
|
translations/frontend-component-ai-translations/src/i18n/messages:frontend-component-ai-translations \
|
|
translations/frontend-platform/src/i18n/messages:frontend-platform \
|
|
translations/paragon/src/i18n/messages:paragon \
|
|
translations/frontend-component-footer/src/i18n/messages:frontend-component-footer \
|
|
translations/frontend-app-course-authoring/src/i18n/messages:frontend-app-course-authoring
|
|
|
|
$(intl_imports) frontend-component-ai-translations frontend-platform paragon frontend-component-footer frontend-app-course-authoring
|
|
|
|
# This target is used by Travis.
|
|
validate-no-uncommitted-package-lock-changes:
|
|
# Checking for package-lock.json changes...
|
|
git diff --exit-code package-lock.json
|
|
|
|
.PHONY: validate
|
|
validate:
|
|
make validate-no-uncommitted-package-lock-changes
|
|
npm run i18n_extract
|
|
# We are trying out oxlint. Now that it's been working well for a while with both oxlint and eslint, we have disabled
|
|
# eslint, and after a few weeks we'll evaluate whether any problems are slipping through if only oxlint is used.
|
|
npm run oxlint
|
|
npm run types
|
|
npm run test:ci
|
|
npm run build
|
|
|
|
.PHONY: validate.ci
|
|
validate.ci:
|
|
npm ci
|
|
make validate
|