Include vendors/ when installing from GitHub (#12250)
This commit is contained in:
1 parent
ac348c1dbb
commit
98f560839c
14 files changed
+37
-86
No files matched your search
Vendored
+10
-22
@@ -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
@@ -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 {
|
||||
|
||||
Reference in new issue
Block a user