Files
test-repo/scripts/build/packages/plugin-yuku.js
T

63 lines
1.7 KiB
JavaScript

import assert from "node:assert/strict";
import path from "node:path";
import yukuParserWasmPackageJson from "@yuku-core/wasm/package.json" with { type: "json" };
import yukuParserPackageJson from "yuku-parser/package.json" with { type: "json" };
import { DIST_DIR, PACKAGES_DIRECTORY } from "../../utilities/index.js";
import { createJavascriptModuleBuilder } from "../builders/javascript-module.js";
import {
createPackageMetaFilesConfig,
createTypesConfig,
} from "./config-helpers.js";
assert.equal(yukuParserPackageJson.version, yukuParserWasmPackageJson.version);
const packageConfig = {
packageName: "@prettier/plugin-yuku",
sourceDirectory: path.join(PACKAGES_DIRECTORY, "plugin-yuku"),
distDirectory: path.join(DIST_DIR, "plugin-yuku"),
modules: [],
};
const mainModule = {
name: "Entries",
files: [
{
input: "index.js",
output: "index.mjs",
build: createJavascriptModuleBuilder({
format: "esm",
platform: "node",
external: ["yuku-parser"],
addDefaultExport: true,
}),
},
{
input: "index.js",
output: "index.browser.mjs",
build: createJavascriptModuleBuilder({
format: "esm",
platform: "universal",
addDefaultExport: true,
}),
playground: true,
},
...createTypesConfig({ input: "index.js", isPlugin: true }),
],
};
packageConfig.modules.push(
mainModule,
createPackageMetaFilesConfig({
"package.json"(packageJson, { projectPackageJson }) {
return {
...packageJson,
dependencies: {
"yuku-parser": projectPackageJson.dependencies["yuku-parser"],
},
};
},
}),
);
export default packageConfig;