Output consistency across platforms (#181)

* fix: normalize newline

* fix: sort readdir

* fix: correct sorting

* fix: missing npm run in build:registry npm script

* Update apps/www/package.json

Co-authored-by: Sadegh Barati <sadeghbaratiwork@gmail.com>

---------

Co-authored-by: Sadegh Barati <sadeghbaratiwork@gmail.com>
This commit is contained in:
Ole Marius Løset 2023-12-31 18:40:47 +01:00 committed by GitHub
parent c2e05239f6
commit ef3ec54a4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View File

@ -66,6 +66,8 @@ fs.writeFileSync(path.join(process.cwd(), '__registry__/index.ts'), index)
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// Build registry/styles/[style]/[name].json. // Build registry/styles/[style]/[name].json.
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
const newLine = '\n'
for (const style of styles) { for (const style of styles) {
const targetPath = path.join(REGISTRY_PATH, 'styles', style.name) const targetPath = path.join(REGISTRY_PATH, 'styles', style.name)
@ -78,11 +80,14 @@ for (const style of styles) {
continue continue
const files = item.files?.map((file) => { const files = item.files?.map((file) => {
const content = fs.readFileSync( let content = fs.readFileSync(
path.join(process.cwd(), 'src/lib/registry', style.name, file), path.join(process.cwd(), 'src/lib/registry', style.name, file),
'utf8', 'utf8',
) )
// Replace Windows-style newlines with Unix-style newlines
content = content.replace(/\r\n/g, newLine)
return { return {
name: basename(file), name: basename(file),
content, content,
@ -94,9 +99,11 @@ for (const style of styles) {
files, files,
} }
const payloadStr = JSON.stringify(payload, null, 2).replace(/\r\n/g, newLine)
fs.writeFileSync( fs.writeFileSync(
path.join(targetPath, `${item.name}.json`), path.join(targetPath, `${item.name}.json`),
JSON.stringify(payload, null, 2), payloadStr,
'utf8', 'utf8',
) )
} }

View File

@ -110,6 +110,7 @@ async function buildUIRegistry(componentPath: string, componentName: string) {
const file_path = join('ui', componentName, dirent.name) const file_path = join('ui', componentName, dirent.name)
files.push(file_path) files.push(file_path)
files.sort()
// only grab deps from the vue files // only grab deps from the vue files
if (dirent.name === 'index.ts') if (dirent.name === 'index.ts')