diff --git a/resources/build-deno.js b/resources/build-deno.js index 1b1685a21a..357879e2f0 100644 --- a/resources/build-deno.js +++ b/resources/build-deno.js @@ -4,9 +4,14 @@ const fs = require('fs'); const path = require('path'); const babel = require('@babel/core'); +const prettier = require('prettier'); const { readdirRecursive, showDirStats } = require('./utils'); +const prettierConfig = JSON.parse( + fs.readFileSync(require.resolve('../.prettierrc'), 'utf-8'), +); + if (require.main === module) { fs.rmdirSync('./denoDist', { recursive: true, force: true }); fs.mkdirSync('./denoDist'); @@ -20,7 +25,7 @@ if (require.main === module) { if (filepath.endsWith('.js')) { const options = { babelrc: false, configFile: './.babelrc-deno.json' }; const output = babel.transformFileSync(srcPath, options).code + '\n'; - fs.writeFileSync(destPath, output); + writeGeneratedFile(destPath, output); } else if (filepath.endsWith('.d.ts')) { fs.copyFileSync(srcPath, destPath); } @@ -31,3 +36,8 @@ if (require.main === module) { showDirStats('./denoDist'); } + +function writeGeneratedFile(filepath, body) { + const formatted = prettier.format(body, { filepath, ...prettierConfig }); + fs.writeFileSync(filepath, formatted); +} diff --git a/resources/build-npm.js b/resources/build-npm.js index e0494eb487..cc168fed9d 100644 --- a/resources/build-npm.js +++ b/resources/build-npm.js @@ -5,9 +5,14 @@ const path = require('path'); const assert = require('assert'); const babel = require('@babel/core'); +const prettier = require('prettier'); const { readdirRecursive, showDirStats } = require('./utils'); +const prettierConfig = JSON.parse( + fs.readFileSync(require.resolve('../.prettierrc'), 'utf-8'), +); + if (require.main === module) { fs.rmSync('./npmDist', { recursive: true, force: true }); fs.mkdirSync('./npmDist'); @@ -19,14 +24,15 @@ if (require.main === module) { fs.mkdirSync(path.dirname(destPath), { recursive: true }); if (filepath.endsWith('.js')) { - const flowBody = '// @flow strict\n' + fs.readFileSync(srcPath, 'utf-8'); + const flowBody = + '// @flow strict\n\n' + fs.readFileSync(srcPath, 'utf-8'); fs.writeFileSync(destPath + '.flow', flowBody); const cjs = babelBuild(srcPath, { envName: 'cjs' }); - fs.writeFileSync(destPath, cjs); + writeGeneratedFile(destPath, cjs); const mjs = babelBuild(srcPath, { envName: 'mjs' }); - fs.writeFileSync(destPath.replace(/\.js$/, '.mjs'), mjs); + writeGeneratedFile(destPath.replace(/\.js$/, '.mjs'), mjs); } else if (filepath.endsWith('.d.ts')) { fs.copyFileSync(srcPath, destPath); } @@ -37,14 +43,16 @@ if (require.main === module) { // Should be done as the last step so only valid packages can be published const packageJSON = buildPackageJSON(); - fs.writeFileSync( - './npmDist/package.json', - JSON.stringify(packageJSON, null, 2), - ); + writeGeneratedFile('./npmDist/package.json', JSON.stringify(packageJSON)); showDirStats('./npmDist'); } +function writeGeneratedFile(filepath, body) { + const formatted = prettier.format(body, { filepath, ...prettierConfig }); + fs.writeFileSync(filepath, formatted); +} + function babelBuild(srcPath, options) { const { code } = babel.transformFileSync(srcPath, { babelrc: false,