Skip to content

Commit

Permalink
Update build scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
sosukesuzuki committed Feb 5, 2023
1 parent 1ff2405 commit c15e452
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 6 deletions.
19 changes: 17 additions & 2 deletions scripts/build/build-javascript-module.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import createEsmUtils from "esm-utils";
import esbuild from "esbuild";
import { NodeModulesPolyfillPlugin as esbuildPluginNodeModulePolyfills } from "@esbuild-plugins/node-modules-polyfill";
import browserslistToEsbuild from "browserslist-to-esbuild";
import { PROJECT_ROOT, DIST_DIR } from "../utils/index.mjs";
import { PROJECT_ROOT, DIST_DIR, copyFile } from "../utils/index.mjs";
import esbuildPluginEvaluate from "./esbuild-plugins/evaluate.mjs";
import esbuildPluginReplaceModule from "./esbuild-plugins/replace-module.mjs";
import esbuildPluginLicense from "./esbuild-plugins/license.mjs";
Expand Down Expand Up @@ -274,4 +274,19 @@ async function runEsbuild(options) {
await esbuild.build(esbuildOptions);
}

export default runEsbuild;
async function copyDtsFile(options) {
const replaceExt = (file) => file.replace(/\.[^.]+$/, ".d.ts");
const dtsInput = replaceExt(options.file.input);
const dtsOutput = replaceExt(options.file.output.file);
await copyFile(
path.join(PROJECT_ROOT, dtsInput),
path.join(DIST_DIR, dtsOutput)
);
}

export default async function buildJavascriptModule(options) {
if (options.file.withDts) {
await copyDtsFile(options);
}
await runEsbuild(options);
}
20 changes: 17 additions & 3 deletions scripts/build/config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,7 @@ const pluginFiles = [
umdVariableName,
buildOptions,
isPlugin: true,
withDts: true,
};
});

Expand All @@ -331,11 +332,13 @@ const nonPluginUniversalFiles = [
umdVariableName: "doc",
interopDefault: false,
minify: false,
withDts: true,
},
{
input: "src/standalone.js",
umdVariableName: "prettier",
interopDefault: false,
withDts: true,
replaceModule: [
{
module: require.resolve("@babel/highlight"),
Expand All @@ -353,21 +356,29 @@ const nonPluginUniversalFiles = [
input,
outputBaseName = path.basename(input, ".js"),
umdVariableName,
withDts,
...buildOptions
} = file;

return {
input,
outputBaseName,
umdVariableName,
withDts,
buildOptions,
};
});

const universalFiles = [...nonPluginUniversalFiles, ...pluginFiles].flatMap(
(file) => {
let { input, outputBaseName, umdVariableName, buildOptions, isPlugin } =
file;
let {
input,
outputBaseName,
umdVariableName,
buildOptions,
isPlugin,
withDts,
} = file;

outputBaseName ??= path.basename(input);

Expand All @@ -387,6 +398,7 @@ const universalFiles = [...nonPluginUniversalFiles, ...pluginFiles].flatMap(
platform: "universal",
buildOptions,
isPlugin,
withDts,
}));
}
);
Expand Down Expand Up @@ -420,6 +432,7 @@ const nodejsFiles = [
replaceDiffPackageEntry("lib/diff/array.js"),
...reuseDocumentModule(),
],
withDts: true,
},
{
input: "src/index.cjs",
Expand Down Expand Up @@ -454,7 +467,7 @@ const nodejsFiles = [
],
},
].map((file) => {
let { input, output, outputBaseName, ...buildOptions } = file;
let { input, output, outputBaseName, withDts, ...buildOptions } = file;

const format = input.endsWith(".cjs") ? "cjs" : "esm";
outputBaseName ??= path.basename(input, path.extname(input));
Expand All @@ -466,6 +479,7 @@ const nodejsFiles = [
file: `${outputBaseName}${extensions[format]}`,
},
platform: "node",
withDts,
buildOptions,
};
});
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Parser } from "..";
import { Parser } from "../index.js";

declare const parser: {
parsers: {
Expand Down

0 comments on commit c15e452

Please sign in to comment.