chore(i18n): Add prebuild run script
This commit is contained in:
parent
3915c0d0fb
commit
2944bb69a2
4 changed files with 32 additions and 8 deletions
|
@ -46,6 +46,7 @@ i18n:
|
||||||
modulebuild: '!'
|
modulebuild: '!'
|
||||||
test: 'BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register'
|
test: 'BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register'
|
||||||
testci: 'BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register'
|
testci: 'BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register'
|
||||||
|
prebuild: 'node src/prebuild.mjs'
|
||||||
pattern-info:
|
pattern-info:
|
||||||
cibuild_step1: '!'
|
cibuild_step1: '!'
|
||||||
cibuild_step2: 'node src/prebuild.js && rollup -c'
|
cibuild_step2: 'node src/prebuild.js && rollup -c'
|
||||||
|
|
|
@ -31,7 +31,8 @@
|
||||||
"pubforce": "npm publish",
|
"pubforce": "npm publish",
|
||||||
"symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -",
|
"symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -",
|
||||||
"start": "rollup -c -w",
|
"start": "rollup -c -w",
|
||||||
"testci": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register"
|
"testci": "BABEL_ENV=production ../../node_modules/.bin/_mocha tests/*.test.js --require @babel/register",
|
||||||
|
"prebuild": "node src/prebuild.mjs"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@freesewing/pattern-info": "^2.20.4"
|
"@freesewing/pattern-info": "^2.20.4"
|
||||||
|
|
|
@ -13,3 +13,11 @@ export const en = enNamespaces
|
||||||
export const es = esNamespaces
|
export const es = esNamespaces
|
||||||
export const fr = frNamespaces
|
export const fr = frNamespaces
|
||||||
export const nl = nlNamespaces
|
export const nl = nlNamespaces
|
||||||
|
|
||||||
|
export const languages = {
|
||||||
|
de: "Deutsch",
|
||||||
|
en: "English",
|
||||||
|
es: "Español",
|
||||||
|
fr: "Français",
|
||||||
|
nl: "Nederlands"
|
||||||
|
}
|
||||||
|
|
|
@ -2,6 +2,12 @@ import yaml from 'js-yaml'
|
||||||
import path from 'path'
|
import path from 'path'
|
||||||
import rdir from 'recursive-readdir'
|
import rdir from 'recursive-readdir'
|
||||||
import { readdir, readFile, writeFile } from 'fs/promises'
|
import { readdir, readFile, writeFile } from 'fs/promises'
|
||||||
|
import { fileURLToPath } from 'url'
|
||||||
|
import { dirname } from 'path'
|
||||||
|
|
||||||
|
// No __dirname in Node 14
|
||||||
|
const __filename = fileURLToPath(import.meta.url)
|
||||||
|
const __dirname = dirname(__filename)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Helper method to get a list of yaml/yml files.
|
* Helper method to get a list of yaml/yml files.
|
||||||
|
@ -10,7 +16,7 @@ import { readdir, readFile, writeFile } from 'fs/promises'
|
||||||
const getTranslationFileList = async () => {
|
const getTranslationFileList = async () => {
|
||||||
let allFiles
|
let allFiles
|
||||||
try {
|
try {
|
||||||
allFiles = await rdir(path.resolve('.', 'locales'))
|
allFiles = await rdir(path.resolve(__dirname, 'locales'))
|
||||||
}
|
}
|
||||||
catch (err) {
|
catch (err) {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
|
@ -137,7 +143,7 @@ const allNamespaces = {
|
||||||
|
|
||||||
export default allNamespaces
|
export default allNamespaces
|
||||||
`
|
`
|
||||||
const indexFile = (locales) => `${header}
|
const indexFile = (locales, data) => `${header}
|
||||||
${locales
|
${locales
|
||||||
.map(l => 'import '+l+'Namespaces from "./next/'+l+'/index.mjs"')
|
.map(l => 'import '+l+'Namespaces from "./next/'+l+'/index.mjs"')
|
||||||
.join("\n")
|
.join("\n")
|
||||||
|
@ -145,7 +151,15 @@ ${locales
|
||||||
|
|
||||||
${locales
|
${locales
|
||||||
.map(l => 'export const '+l+' = '+l+'Namespaces')
|
.map(l => 'export const '+l+' = '+l+'Namespaces')
|
||||||
.join("\n")}
|
.join("\n")
|
||||||
|
}
|
||||||
|
|
||||||
|
export const languages = {
|
||||||
|
${locales
|
||||||
|
.map(l => ' '+l+': "'+ data[l].i18n[l]+'"')
|
||||||
|
.join(",\n")
|
||||||
|
}
|
||||||
|
}
|
||||||
`
|
`
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -157,7 +171,7 @@ const writeFiles = async allNamespaces => {
|
||||||
for (const [namespace, data] of Object.entries(namespaces)) {
|
for (const [namespace, data] of Object.entries(namespaces)) {
|
||||||
promises.push(
|
promises.push(
|
||||||
writeFile(
|
writeFile(
|
||||||
path.resolve('.', 'next', locale, namespace+'.mjs', ),
|
path.resolve(__dirname, 'next', locale, namespace+'.mjs', ),
|
||||||
namespaceFile(namespace, data)
|
namespaceFile(namespace, data)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -165,7 +179,7 @@ const writeFiles = async allNamespaces => {
|
||||||
// Locale index files
|
// Locale index files
|
||||||
promises.push(
|
promises.push(
|
||||||
writeFile(
|
writeFile(
|
||||||
path.resolve('.', 'next', locale, 'index.mjs', ),
|
path.resolve(__dirname, 'next', locale, 'index.mjs', ),
|
||||||
localeFile(locale, Object.keys(namespaces))
|
localeFile(locale, Object.keys(namespaces))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -173,8 +187,8 @@ const writeFiles = async allNamespaces => {
|
||||||
// Locale index files
|
// Locale index files
|
||||||
promises.push(
|
promises.push(
|
||||||
writeFile(
|
writeFile(
|
||||||
path.resolve('.', 'next.mjs', ),
|
path.resolve(__dirname, 'next.mjs', ),
|
||||||
indexFile(Object.keys(allNamespaces))
|
indexFile(Object.keys(allNamespaces), allNamespaces)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
await Promise.all(promises)
|
await Promise.all(promises)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue