1
0
Fork 0

chore: Let reconfigure generate transaltion imports for designs

This commit is contained in:
joostdecock 2023-09-27 16:16:16 +02:00
parent 773ba3a72f
commit 131e57a24c
3 changed files with 119 additions and 103 deletions

View file

@ -126,6 +126,27 @@ if (!SITEBUILD) {
) )
} }
} }
// Step 6: Create file with all design translations
const designsI18n = `/*
* This file is auto-generated by the reconfigure script
* Any changes will be overwritten next time the repo is reconfigured
*/
` + Object.keys(designs)
.map(design => `import { i18n as ${design} } from '@freesewing/${design}'`)
.join("\n")+`
export const designs = {
` + Object.keys(designs)
.map(design => ` ${design},`)
.join("\n")+`
}
`
fs.writeFileSync(
path.join(repo.path, 'sites', 'shared', 'i18n', 'designs.mjs'),
repo.templates.pluginTests
)
// All done // All done
log.write(chalk.green(' All done\n')) log.write(chalk.green(' All done\n'))
process.exit() process.exit()

View file

@ -1,97 +1,97 @@
import { i18n as Aaron } from '@freesewing/aaron' import { i18n as aaron } from '@freesewing/aaron'
import { i18n as Albert } from '@freesewing/albert' import { i18n as albert } from '@freesewing/albert'
import { i18n as Bee } from '@freesewing/bee' import { i18n as bee } from '@freesewing/bee'
import { i18n as Bella } from '@freesewing/bella' import { i18n as bella } from '@freesewing/bella'
import { i18n as Benjamin } from '@freesewing/benjamin' import { i18n as benjamin } from '@freesewing/benjamin'
import { i18n as Bent } from '@freesewing/bent' import { i18n as bent } from '@freesewing/bent'
import { i18n as Bob } from '@freesewing/bob' import { i18n as bob } from '@freesewing/bob'
import { i18n as Breanna } from '@freesewing/breanna' import { i18n as breanna } from '@freesewing/breanna'
import { i18n as Brian } from '@freesewing/brian' import { i18n as brian } from '@freesewing/brian'
import { i18n as Bruce } from '@freesewing/bruce' import { i18n as bruce } from '@freesewing/bruce'
import { i18n as Carlita } from '@freesewing/carlita' import { i18n as carlita } from '@freesewing/carlita'
import { i18n as Carlton } from '@freesewing/carlton' import { i18n as carlton } from '@freesewing/carlton'
import { i18n as Cathrin } from '@freesewing/cathrin' import { i18n as cathrin } from '@freesewing/cathrin'
import { i18n as Charlie } from '@freesewing/charlie' import { i18n as charlie } from '@freesewing/charlie'
import { i18n as Cornelius } from '@freesewing/cornelius' import { i18n as cornelius } from '@freesewing/cornelius'
import { i18n as Diana } from '@freesewing/diana' import { i18n as diana } from '@freesewing/diana'
import { i18n as Florence } from '@freesewing/florence' import { i18n as florence } from '@freesewing/florence'
import { i18n as Florent } from '@freesewing/florent' import { i18n as florent } from '@freesewing/florent'
import { i18n as Hi } from '@freesewing/hi' import { i18n as hi } from '@freesewing/hi'
import { i18n as Holmes } from '@freesewing/holmes' import { i18n as holmes } from '@freesewing/holmes'
import { i18n as Hortensia } from '@freesewing/hortensia' import { i18n as hortensia } from '@freesewing/hortensia'
import { i18n as Huey } from '@freesewing/huey' import { i18n as huey } from '@freesewing/huey'
import { i18n as Hugo } from '@freesewing/hugo' import { i18n as hugo } from '@freesewing/hugo'
import { i18n as Jaeger } from '@freesewing/jaeger' import { i18n as jaeger } from '@freesewing/jaeger'
import { i18n as Lucy } from '@freesewing/lucy' import { i18n as lucy } from '@freesewing/lucy'
import { i18n as Lunetius } from '@freesewing/lunetius' import { i18n as lunetius } from '@freesewing/lunetius'
import { i18n as Magde } from '@freesewing/magde' import { i18n as magde } from '@freesewing/magde'
import { i18n as NaomiWu } from '@freesewing/naomiwu' import { i18n as naomiWu } from '@freesewing/naomiwu'
import { i18n as Noble } from '@freesewing/noble' import { i18n as noble } from '@freesewing/noble'
import { i18n as Octoplushy } from '@freesewing/octoplushy' import { i18n as octoplushy } from '@freesewing/octoplushy'
import { i18n as Paco } from '@freesewing/paco' import { i18n as paco } from '@freesewing/paco'
import { i18n as Penelope } from '@freesewing/penelope' import { i18n as penelope } from '@freesewing/penelope'
import { i18n as Sandy } from '@freesewing/sandy' import { i18n as sandy } from '@freesewing/sandy'
import { i18n as Shin } from '@freesewing/shin' import { i18n as shin } from '@freesewing/shin'
import { i18n as Simon } from '@freesewing/simon' import { i18n as simon } from '@freesewing/simon'
import { i18n as Simone } from '@freesewing/simone' import { i18n as simone } from '@freesewing/simone'
import { i18n as Sven } from '@freesewing/sven' import { i18n as sven } from '@freesewing/sven'
import { i18n as Tamiko } from '@freesewing/tamiko' import { i18n as tamiko } from '@freesewing/tamiko'
import { i18n as Teagan } from '@freesewing/teagan' import { i18n as teagan } from '@freesewing/teagan'
import { i18n as Tiberius } from '@freesewing/tiberius' import { i18n as tiberius } from '@freesewing/tiberius'
import { i18n as Titan } from '@freesewing/titan' import { i18n as titan } from '@freesewing/titan'
import { i18n as Trayvon } from '@freesewing/trayvon' import { i18n as trayvon } from '@freesewing/trayvon'
import { i18n as Uma } from '@freesewing/uma' import { i18n as uma } from '@freesewing/uma'
import { i18n as Wahid } from '@freesewing/wahid' import { i18n as wahid } from '@freesewing/wahid'
import { i18n as Walburga } from '@freesewing/walburga' import { i18n as walburga } from '@freesewing/walburga'
import { i18n as Waralee } from '@freesewing/waralee' import { i18n as waralee } from '@freesewing/waralee'
import { i18n as Yuri } from '@freesewing/yuri' import { i18n as yuri } from '@freesewing/yuri'
export const designs = { export const designs = {
aaron: Aaron, aaron,
albert: Albert, albert,
bee: Bee, bee,
bella: Bella, bella,
benjamin: Benjamin, benjamin,
bent: Bent, bent,
bob: Bob, bob,
breanna: Breanna, breanna,
brian: Brian, brian,
bruce: Bruce, bruce,
carlita: Carlita, carlita,
carlton: Carlton, carlton,
cathrin: Cathrin, cathrin,
charlie: Charlie, charlie,
cornelius: Cornelius, cornelius,
diana: Diana, diana,
florence: Florence, florence,
florent: Florent, florent,
hi: Hi, hi,
holmes: Holmes, holmes,
hortensia: Hortensia, hortensia,
huey: Huey, huey,
hugo: Hugo, hugo,
jaeger: Jaeger, jaeger,
lucy: Lucy, lucy,
lunetius: Lunetius, lunetius,
magde: Magde, magde,
naomiwu: NaomiWu, naomiwu,
noble: Noble, noble,
octoplushy: Octoplushy, octoplushy,
paco: Paco, paco,
penelope: Penelope, penelope,
sandy: Sandy, sandy,
shin: Shin, shin,
simon: Simon, simon,
simone: Simone, simone,
sven: Sven, sven,
tamiko: Tamiko, tamiko,
teagan: Teagan, teagan,
tiberius: Tiberius, tiberius,
titan: Titan, titan,
trayvon: Trayvon, trayvon,
uma: Uma, uma,
wahid: Wahid, wahid,
walburga: Walburga, walburga,
waralee: Waralee, waralee,
yuri: Yuri, yuri,
} }

View file

@ -19,16 +19,11 @@ async function loadDesign(design) {
export const prebuildDesigns = async (store) => { export const prebuildDesigns = async (store) => {
const promises = [] const promises = []
const designs = []
// Compile list of designs
for (const design in allDesigns) {
if (allDesigns[design]?.tags) designs.push(design)
}
const measurements = {} const measurements = {}
const options = {} const options = {}
for (const design of designs) { for (const design in allDesigns) {
console.log(design)
const bundle = await loadDesign(design) const bundle = await loadDesign(design)
const Instance = new bundle[capitalize(design)]() const Instance = new bundle[capitalize(design)]()
const config = Instance.getConfig() const config = Instance.getConfig()
@ -38,7 +33,7 @@ export const prebuildDesigns = async (store) => {
// Update the store // Update the store
store.designs = { store.designs = {
designs, designs: Object.keys(allDesigns),
options, options,
measurements, measurements,
} }
@ -52,7 +47,7 @@ export const prebuildDesigns = async (store) => {
promises.push( promises.push(
fs.writeFile( fs.writeFile(
path.resolve(...dir, 'designs.mjs'), path.resolve(...dir, 'designs.mjs'),
`${header}export const designs = ${JSON.stringify(designs)}${nl}` `${header}export const designs = ${JSON.stringify(Object.keys(allDesigns))}${nl}`
), ),
fs.writeFile( fs.writeFile(
path.resolve(...dir, 'design-measurements.mjs'), path.resolve(...dir, 'design-measurements.mjs'),