fix(sites): Build dependencies prior to building sites
This commit is contained in:
parent
ce556a4664
commit
054f34b8c0
5 changed files with 13 additions and 34 deletions
|
@ -68,7 +68,8 @@ dev:
|
||||||
develop: *nextDev
|
develop: *nextDev
|
||||||
i18n: "SITE=dev node ../shared/prebuild/i18n-only.mjs"
|
i18n: "SITE=dev node ../shared/prebuild/i18n-only.mjs"
|
||||||
lint: &nextLint 'next lint'
|
lint: &nextLint 'next lint'
|
||||||
prebuild: 'SITE=dev node --experimental-json-modules ../shared/prebuild/index.mjs'
|
buildsitedeps: &buildsitedeps 'cd ../../ && yarn buildall && cd -'
|
||||||
|
prebuild: 'yarn buildsitedeps && SITE=dev node --experimental-json-modules ../shared/prebuild/index.mjs'
|
||||||
serve: "pm2 start npm --name 'dev' -- run start"
|
serve: "pm2 start npm --name 'dev' -- run start"
|
||||||
start: &nextStart 'yarn prebuild && yarn dev'
|
start: &nextStart 'yarn prebuild && yarn dev'
|
||||||
|
|
||||||
|
@ -84,7 +85,8 @@ lab:
|
||||||
develop: *nextDev
|
develop: *nextDev
|
||||||
e2e: &e2e 'yarn playwright test'
|
e2e: &e2e 'yarn playwright test'
|
||||||
lint: *nextLint
|
lint: *nextLint
|
||||||
prebuild: 'SITE=lab node --experimental-json-modules ../shared/prebuild/index.mjs'
|
buildsitedeps: *buildsitedeps
|
||||||
|
prebuild: 'yarn buildsitedeps && SITE=lab node --experimental-json-modules ../shared/prebuild/index.mjs'
|
||||||
start: *nextStart
|
start: *nextStart
|
||||||
|
|
||||||
org:
|
org:
|
||||||
|
@ -95,7 +97,8 @@ org:
|
||||||
develop: *nextDev
|
develop: *nextDev
|
||||||
i18n: 'SITE=org node ../shared/prebuild/i18n-only.mjs'
|
i18n: 'SITE=org node ../shared/prebuild/i18n-only.mjs'
|
||||||
lint: *nextLint
|
lint: *nextLint
|
||||||
prebuild: 'SITE=org node --experimental-json-modules ../shared/prebuild/index.mjs'
|
buildsitedeps: *buildsitedeps
|
||||||
|
prebuild: 'yarn buildsitedeps && SITE=org node --experimental-json-modules ../shared/prebuild/index.mjs'
|
||||||
start: *nextStart
|
start: *nextStart
|
||||||
|
|
||||||
sanity:
|
sanity:
|
||||||
|
|
|
@ -21,7 +21,8 @@
|
||||||
"develop": "next dev -p 8000",
|
"develop": "next dev -p 8000",
|
||||||
"i18n": "SITE=dev node ../shared/prebuild/i18n-only.mjs",
|
"i18n": "SITE=dev node ../shared/prebuild/i18n-only.mjs",
|
||||||
"lint": "next lint",
|
"lint": "next lint",
|
||||||
"prebuild": "SITE=dev node --experimental-json-modules ../shared/prebuild/index.mjs",
|
"buildsitedeps": "cd ../../ && yarn buildall && cd -",
|
||||||
|
"prebuild": "yarn buildsitedeps && SITE=dev node --experimental-json-modules ../shared/prebuild/index.mjs",
|
||||||
"serve": "pm2 start npm --name 'dev' -- run start",
|
"serve": "pm2 start npm --name 'dev' -- run start",
|
||||||
"start": "yarn prebuild && yarn dev"
|
"start": "yarn prebuild && yarn dev"
|
||||||
},
|
},
|
||||||
|
|
|
@ -21,7 +21,8 @@
|
||||||
"develop": "next dev -p 8000",
|
"develop": "next dev -p 8000",
|
||||||
"e2e": "yarn playwright test",
|
"e2e": "yarn playwright test",
|
||||||
"lint": "next lint",
|
"lint": "next lint",
|
||||||
"prebuild": "SITE=lab node --experimental-json-modules ../shared/prebuild/index.mjs",
|
"buildsitedeps": "cd ../../ && yarn buildall && cd -",
|
||||||
|
"prebuild": "yarn buildsitedeps && SITE=lab node --experimental-json-modules ../shared/prebuild/index.mjs",
|
||||||
"start": "yarn prebuild && yarn dev"
|
"start": "yarn prebuild && yarn dev"
|
||||||
},
|
},
|
||||||
"peerDependencies": {},
|
"peerDependencies": {},
|
||||||
|
|
|
@ -21,7 +21,8 @@
|
||||||
"develop": "next dev -p 8000",
|
"develop": "next dev -p 8000",
|
||||||
"i18n": "SITE=org node ../shared/prebuild/i18n-only.mjs",
|
"i18n": "SITE=org node ../shared/prebuild/i18n-only.mjs",
|
||||||
"lint": "next lint",
|
"lint": "next lint",
|
||||||
"prebuild": "SITE=org node --experimental-json-modules ../shared/prebuild/index.mjs",
|
"buildsitedeps": "cd ../../ && yarn buildall && cd -",
|
||||||
|
"prebuild": "yarn buildsitedeps && SITE=org node --experimental-json-modules ../shared/prebuild/index.mjs",
|
||||||
"start": "yarn prebuild && yarn dev"
|
"start": "yarn prebuild && yarn dev"
|
||||||
},
|
},
|
||||||
"peerDependencies": {},
|
"peerDependencies": {},
|
||||||
|
|
|
@ -89,25 +89,17 @@ export const fileToSlug = (file, site, lang) =>
|
||||||
export const prebuildDocs = async (site) => {
|
export const prebuildDocs = async (site) => {
|
||||||
// Say hi
|
// Say hi
|
||||||
console.log()
|
console.log()
|
||||||
console.log(`Prebuilding docs pages for freesewing.${site}`)
|
console.log(`Compiling list of docs pages for freesewing.${site}`)
|
||||||
|
|
||||||
// Setup MDX root path
|
// Setup MDX root path
|
||||||
|
|
||||||
const root = ['..', '..', 'markdown', site]
|
const root = ['..', '..', 'markdown', site]
|
||||||
if (site === 'org') root.push('docs')
|
if (site === 'org') root.push('docs')
|
||||||
const mdxRoot = path.resolve(...root)
|
const mdxRoot = path.resolve(...root)
|
||||||
|
|
||||||
// Load page template
|
|
||||||
const template = fs.readFileSync(
|
|
||||||
path.resolve('..', 'shared', 'page-templates', `docs.${site}.mjs.mustache`),
|
|
||||||
'utf-8'
|
|
||||||
)
|
|
||||||
|
|
||||||
// Languages
|
// Languages
|
||||||
const locales = site === 'dev' ? ['en'] : ['en', 'fr', 'es', 'nl', 'de']
|
const locales = site === 'dev' ? ['en'] : ['en', 'fr', 'es', 'nl', 'de']
|
||||||
|
|
||||||
const pages = {}
|
const pages = {}
|
||||||
|
|
||||||
// Loop over languages
|
// Loop over languages
|
||||||
for (const lang of locales) {
|
for (const lang of locales) {
|
||||||
pages[lang] = {}
|
pages[lang] = {}
|
||||||
|
@ -136,25 +128,6 @@ export const prebuildDocs = async (site) => {
|
||||||
// Create og image
|
// Create og image
|
||||||
await generateOgImage({ lang, site, slug, title: meta.data.title, intro: intros[lang] })
|
await generateOgImage({ lang, site, slug, title: meta.data.title, intro: intros[lang] })
|
||||||
}
|
}
|
||||||
|
|
||||||
// Things to only do for English
|
|
||||||
if (lang === 'en') {
|
|
||||||
// Write page to disk
|
|
||||||
const dir = path.resolve('..', site, 'pages', ...slug.split('/'))
|
|
||||||
fs.mkdirSync(dir, { recursive: true })
|
|
||||||
fs.writeFileSync(
|
|
||||||
path.resolve(dir, `index.mjs`),
|
|
||||||
mustache.render(template, {
|
|
||||||
slug,
|
|
||||||
slugArray: JSON.stringify(slug.split('/')),
|
|
||||||
introEN: intros.en || 'fixme',
|
|
||||||
introES: intros.es || 'fixme',
|
|
||||||
introDE: intros.de || 'fixme',
|
|
||||||
introFR: intros.fr || 'fixme',
|
|
||||||
introNL: intros.nl || 'fixme',
|
|
||||||
})
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue