Include vendors/ when installing from GitHub (#12250)

This commit is contained in:
Jed Fox authored and GitHub committed 2022-02-06 23:22:44 -05:00
1 parent ac348c1dbb
commit 98f560839c
14 files changed
+37 -86

No files matched your search

+10 -22
View File
@@ -4,8 +4,6 @@ import fs from "node:fs/promises";
import path from "node:path";
import createEsmUtils from "esm-utils";
import esbuild from "esbuild";
import { readPackage } from "read-pkg";
import { writePackage } from "write-pkg";
import { readPackageUp } from "read-pkg-up";
import vendors from "./vendors.mjs";
import { writeVendorVersions } from "./vendor-versions.mjs";
@@ -63,37 +61,27 @@ async function bundle(vendor) {
outfile,
};
await esbuild.build(esbuildOption);
}
async function updatePackage(imports) {
const pkg = await readPackage({ normalize: false });
pkg.imports = imports;
await writePackage(pkg, { normalize: false });
}
async function generateDts(vendors) {
let dtsContent = "// This file is generate automatically.\n";
for (const vendor of vendors) {
dtsContent += `declare module "#${vendor}";\n`;
}
await fs.writeFile(path.join(vendorsDir, "types.d.ts"), dtsContent, "utf-8");
await fs.writeFile(
path.join(vendorsDir, `${vendor}.d.ts`),
[
"// This file is generated automatically.",
`export {default} from "${vendor}";`,
`export * from "${vendor}";`,
"",
].join("\n"),
"utf-8"
);
}
async function main() {
await cleanExistsBundledJS();
const imports = {};
for (const vendor of vendors) {
await bundle(vendor);
imports[`#${vendor}`] =
"./" + path.relative(rootDir, getVendorFilePath(vendor));
console.log(`Bundled: ${vendor}`);
}
await updatePackage(imports);
console.log("Updated: package.json");
await lockVersions(vendors);
console.log("Locked: vendor-versions.json");
await generateDts(vendors);
console.log("Generated: vendors/types.d.ts");
}
main();
+1 -1
View File
@@ -1,6 +1,6 @@
import fs from "node:fs";
const tsNoCheck = "// @ts-nocheck\n";
const tsNoCheck = "// @ts-nocheck\n// This file is generated automatically\n";
export default function esbuildPluginTsNocheck() {
return {