diff --git a/resources/build-deno.js b/resources/build-deno.js index b416e35c3b..f0479a858a 100644 --- a/resources/build-deno.js +++ b/resources/build-deno.js @@ -4,13 +4,12 @@ const fs = require('fs'); const path = require('path'); const babel = require('@babel/core'); -const prettier = require('prettier'); -const { readdirRecursive, showDirStats } = require('./utils.js'); - -const prettierConfig = JSON.parse( - fs.readFileSync(require.resolve('../.prettierrc'), 'utf-8'), -); +const { + writeGeneratedFile, + readdirRecursive, + showDirStats, +} = require('./utils.js'); if (require.main === module) { fs.rmSync('./denoDist', { recursive: true, force: true }); @@ -34,8 +33,3 @@ 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 fe5e372f5e..7ff0cf079c 100644 --- a/resources/build-npm.js +++ b/resources/build-npm.js @@ -6,13 +6,12 @@ const assert = require('assert'); const ts = require('typescript'); const babel = require('@babel/core'); -const prettier = require('prettier'); -const { readdirRecursive, showDirStats } = require('./utils.js'); - -const prettierConfig = JSON.parse( - fs.readFileSync(require.resolve('../.prettierrc'), 'utf-8'), -); +const { + writeGeneratedFile, + readdirRecursive, + showDirStats, +} = require('./utils.js'); if (require.main === module) { fs.rmSync('./npmDist', { recursive: true, force: true }); @@ -90,11 +89,6 @@ if (require.main === module) { 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, diff --git a/resources/gen-version.js b/resources/gen-version.js index 944b51401d..b73621bce7 100644 --- a/resources/gen-version.js +++ b/resources/gen-version.js @@ -1,9 +1,9 @@ 'use strict'; -const fs = require('fs'); - const { version } = require('../package.json'); +const { writeGeneratedFile } = require('./utils.js'); + const versionMatch = /^(\d+)\.(\d+)\.(\d+)-?(.*)?$/.exec(version); if (!versionMatch) { throw new Error('Version does not match semver spec: ' + version); @@ -34,5 +34,5 @@ export const versionInfo = Object.freeze({ `; if (require.main === module) { - fs.writeFileSync('./src/version.ts', body.trim() + '\n'); + writeGeneratedFile('./src/version.ts', body); } diff --git a/resources/utils.js b/resources/utils.js index 253212c2d6..37cd83e801 100644 --- a/resources/utils.js +++ b/resources/utils.js @@ -4,6 +4,8 @@ const fs = require('fs'); const path = require('path'); const childProcess = require('child_process'); +const prettier = require('prettier'); + function exec(command, options) { const output = childProcess.execSync(command, { maxBuffer: 10 * 1024 * 1024, // 10MB @@ -80,8 +82,18 @@ function showDirStats(dirPath) { ); } +const prettierConfig = JSON.parse( + fs.readFileSync(require.resolve('../.prettierrc'), 'utf-8'), +); + +function writeGeneratedFile(filepath, body) { + const formatted = prettier.format(body, { filepath, ...prettierConfig }); + fs.writeFileSync(filepath, formatted); +} + module.exports = { exec, readdirRecursive, showDirStats, + writeGeneratedFile, };