Fixed bugs around prepublish in generated code

main
Jackson Morgan 7 months ago
parent 56f78cef2b
commit d3bf2cec2a
  1. 17
      packages/cli/src/create.ts
  2. 20
      packages/cli/src/generateReadme.ts
  3. 6
      packages/cli/src/index.ts

@ -90,22 +90,11 @@ export async function create(directory: string) {
packageJson.scripts.prepublish =
"npm run build:ldo & npm run generate-readme";
packageJson.scripts[
"genenerate-readme"
"generate-readme"
] = `ldo generate-readme --project ./ --shapes ./.shapes --ldo ./.ldo`;
return packageJson;
});
// Create index.js
load.text = "Generating index.js";
const ldoDir = await fs.readdir(path.join(directory, "./.ldo"), {
withFileTypes: true,
});
const indexText = await renderFile(
path.join(__dirname, "./templates/readme/projectIndex.ejs"),
{ fileNames: ldoDir.map((file) => file.name) },
);
await fs.writeFile(path.join(directory, "index.js"), indexText);
// Generate ReadMe
load.text = "Generating README";
await generateReadme({
@ -114,5 +103,9 @@ export async function create(directory: string) {
ldo: path.join(directory, ".ldo"),
});
// Create .gitignore
load.text = "Create .gitignore";
await fs.writeFile(path.join(directory, ".gitignore"), "node_modules");
load.stop();
}

@ -66,6 +66,8 @@ export async function generateReadme(options: GenerateReadmeOptions) {
);
// Save readme to document
await fs.writeFile(path.join(options.project, "README.md"), finalContent);
await generateIndex({ project: options.project });
}
/**
@ -79,3 +81,21 @@ function listInterfaces(filePath: string): string[] {
const interfaces = sourceFile.getInterfaces().map((iface) => iface.getName());
return interfaces;
}
/**
* Generate Index
*/
interface GenerateIndexOptions {
project: string;
}
export async function generateIndex(options: GenerateIndexOptions) {
const ldoDir = await fs.readdir(path.join(options.project, "./.ldo"), {
withFileTypes: true,
});
const indexText = await renderFile(
path.join(__dirname, "./templates/readme/projectIndex.ejs"),
{ fileNames: ldoDir.map((file) => file.name) },
);
await fs.writeFile(path.join(options.project, "index.js"), indexText);
}

@ -33,9 +33,9 @@ program
.command("generate-readme")
.description("Create a ReadMe from the shapes and generated code.")
.requiredOption(
"-r, --readme <readmePath>",
"Provide the path to the readme",
"./.shapes",
"-p, --project <projectPath>",
"Provide the path to the root project",
"./",
)
.requiredOption(
"-s, --shapes <shapesPath>",

Loading…
Cancel
Save