diff --git a/config/scripts.yaml b/config/scripts.yaml index 7880cd7d126..d4759e0654a 100644 --- a/config/scripts.yaml +++ b/config/scripts.yaml @@ -31,7 +31,7 @@ core: testonly: 'npx mocha tests/*.test.js' i18n: # react-scripts doesn't handle .mjs files correctly - prebuild: 'node src/prebuild.mjs' + prebuild: 'node scripts/prebuilder.mjs' test: *test testci: *testci new-design: diff --git a/packages/i18n/package.json b/packages/i18n/package.json index 8252b95f8ac..47220367b23 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -31,9 +31,9 @@ "vbuild": "VERBOSE=1 node build.js", "lab": "cd ../../sites/lab && yarn start", "tips": "node ../../scripts/help.mjs", - "prebuild": "node src/prebuild.mjs", + "prebuild": "node scripts/prebuilder.mjs", "testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "precibuild_step7": "node src/prebuild.mjs", + "precibuild_step7": "node scripts/prebuilder.mjs", "cibuild_step7": "node build.js" }, "peerDependencies": { diff --git a/packages/i18n/scripts/prebuilder.mjs b/packages/i18n/scripts/prebuilder.mjs new file mode 100644 index 00000000000..65dd971a48a --- /dev/null +++ b/packages/i18n/scripts/prebuilder.mjs @@ -0,0 +1,4 @@ +import {build} from '../src/prebuild.mjs' + +// call this here instead of in the src/prebuild.mjs so that build isn't called by other files importing that build function +build() diff --git a/packages/i18n/src/prebuild.mjs b/packages/i18n/src/prebuild.mjs index 76a27d8bcf7..db65b36def9 100644 --- a/packages/i18n/src/prebuild.mjs +++ b/packages/i18n/src/prebuild.mjs @@ -108,10 +108,10 @@ const getNamespacesFromFileList = async (files, locales, only=false) => { let file = files[i] let loc = localeFromFileName(file); - if (locales.indexOf(loc) === -1) return + if (locales.indexOf(loc) === -1) continue let namespace = namespaceFromFile(file); - if (only === true && only.indexOf(namespace) === -1) return + if (only === true && only.indexOf(namespace) === -1) continue if (typeof namespaces[loc] === 'undefined') { namespaces[loc] = {} @@ -216,12 +216,11 @@ const writeFiles = async allNamespaces => { export const build = async (localeFilter = () => true, only=false) => { const files = await getTranslationFileList() const locales = getLocalesFromFileList(files).filter(localeFilter) + console.log('building i18n for', locales) const namespaces = await getNamespacesFromFileList(files, locales, only) await writeFiles(namespaces) } -build() - //export default strings