@farm.js/create-app 0.1.0-beta.100 → 0.1.0-beta.102
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -6
- package/dist/index.js +46 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +46 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/templates/_renderers/preact/package.json +2 -2
- package/templates/_renderers/preact/src/lib/api.ts +1 -1
- package/templates/_renderers/solid/package.json +2 -2
- package/templates/_renderers/solid/src/lib/api.ts +1 -1
- package/templates/_renderers/svelte/package.json +2 -2
- package/templates/_renderers/svelte/src/lib/api.ts +1 -1
- package/templates/_renderers/vue/package.json +2 -2
- package/templates/_renderers/vue/src/lib/api.ts +1 -1
- package/templates/auth/README.md +1 -1
- package/templates/auth/package.json +3 -3
- package/templates/auth/pnpm-workspace.yaml +1 -3
- package/templates/basic/package.json +2 -2
- package/templates/basic/pnpm-workspace.yaml +3 -0
- package/templates/better-auth/README.md +1 -1
- package/templates/better-auth/package.json +3 -3
- package/templates/better-auth/pnpm-workspace.yaml +1 -4
- package/templates/react-compiler/README.md +1 -1
- package/templates/react-compiler/package.json +2 -2
- package/templates/react-compiler/pnpm-workspace.yaml +3 -0
package/dist/index.mjs
CHANGED
|
@@ -3157,6 +3157,7 @@ async function createApp(projectName, options = {}) {
|
|
|
3157
3157
|
await fs.mkdir(projectPath, { recursive: true });
|
|
3158
3158
|
const integrationResult = await copyTemplate(template, projectPath, renderer);
|
|
3159
3159
|
await updatePackageJson(projectPath, projectName, packageManager);
|
|
3160
|
+
await updatePackageManagerInstructions(projectPath, packageManager.name);
|
|
3160
3161
|
logger.success(`🚜 Created ${projectName}`);
|
|
3161
3162
|
if (!options.skipInstall) {
|
|
3162
3163
|
logger.info(`Installing dependencies with ${packageManager.name}...`);
|
|
@@ -3169,7 +3170,7 @@ async function createApp(projectName, options = {}) {
|
|
|
3169
3170
|
if (options.skipInstall) logger.info(` ${packageManager.name} install`);
|
|
3170
3171
|
logger.info(` ${getDevCommand(packageManager.name)}`);
|
|
3171
3172
|
logger.info("");
|
|
3172
|
-
for (const instruction of templateDetails[template]?.instructions ?? []) logger.info(instruction);
|
|
3173
|
+
for (const instruction of templateDetails[template]?.instructions ?? []) logger.info(rewritePackageManagerCommands(instruction, packageManager.name));
|
|
3173
3174
|
if (integrationResult) {
|
|
3174
3175
|
const details = templateDetails[template].integration;
|
|
3175
3176
|
logger.info(`Open ${details.route} for the ${details.label} starter.`);
|
|
@@ -3210,6 +3211,14 @@ async function copyTemplate(template, projectPath, renderer) {
|
|
|
3210
3211
|
}
|
|
3211
3212
|
async function applyRendererTemplate(projectPath, renderer, basePackageJson) {
|
|
3212
3213
|
const rendererTemplatePath = path.join(__dirname, "..", "templates", "_renderers", renderer);
|
|
3214
|
+
await Promise.all([
|
|
3215
|
+
fs.rm(path.join(projectPath, "docs.config.ts"), { force: true }),
|
|
3216
|
+
fs.rm(path.join(projectPath, "docs.json"), { force: true }),
|
|
3217
|
+
fs.rm(path.join(projectPath, "src", "app", "docs"), {
|
|
3218
|
+
recursive: true,
|
|
3219
|
+
force: true
|
|
3220
|
+
})
|
|
3221
|
+
]);
|
|
3213
3222
|
if (renderer === "vue" || renderer === "svelte") await Promise.all([
|
|
3214
3223
|
fs.rm(path.join(projectPath, "src", "app", "page.tsx"), { force: true }),
|
|
3215
3224
|
fs.rm(path.join(projectPath, "src", "app", "layout.tsx"), { force: true }),
|
|
@@ -3227,7 +3236,13 @@ function mergeRendererPackageJson(base, renderer) {
|
|
|
3227
3236
|
...base.devDependencies,
|
|
3228
3237
|
...renderer.devDependencies
|
|
3229
3238
|
};
|
|
3230
|
-
for (const name of [
|
|
3239
|
+
for (const name of [
|
|
3240
|
+
"@farming-labs/docs",
|
|
3241
|
+
"@farming-labs/farmjs",
|
|
3242
|
+
"@farming-labs/theme",
|
|
3243
|
+
"react",
|
|
3244
|
+
"react-dom"
|
|
3245
|
+
]) delete dependencies[name];
|
|
3231
3246
|
for (const name of ["@types/react", "@types/react-dom"]) delete devDependencies[name];
|
|
3232
3247
|
return {
|
|
3233
3248
|
...base,
|
|
@@ -3453,6 +3468,35 @@ function getDevCommand(packageManager) {
|
|
|
3453
3468
|
if (packageManager === "npm" || packageManager === "bun") return `${packageManager} run dev`;
|
|
3454
3469
|
return `${packageManager} dev`;
|
|
3455
3470
|
}
|
|
3471
|
+
function getRunCommand(packageManager, script) {
|
|
3472
|
+
if (packageManager === "npm" || packageManager === "bun") return `${packageManager} run ${script}`;
|
|
3473
|
+
return `${packageManager} ${script}`;
|
|
3474
|
+
}
|
|
3475
|
+
function rewritePackageManagerCommands(content, packageManager) {
|
|
3476
|
+
let output = content.replace(/\bpnpm install\b/g, `${packageManager} install`);
|
|
3477
|
+
output = output.replace(/\bpnpm run (dev|auth:migrate|type-check|build|check|deploy|experiment)\b/g, (match, script) => packageManager === "pnpm" ? match : getRunCommand(packageManager, script));
|
|
3478
|
+
return output.replace(/\bpnpm (dev|auth:migrate|type-check|build|check|deploy|experiment)\b/g, (_match, script) => getRunCommand(packageManager, script));
|
|
3479
|
+
}
|
|
3480
|
+
async function updatePackageManagerInstructions(projectPath, packageManager) {
|
|
3481
|
+
await Promise.all([
|
|
3482
|
+
"package.json",
|
|
3483
|
+
"README.md",
|
|
3484
|
+
"farm.config.ts",
|
|
3485
|
+
"src/app/page.tsx",
|
|
3486
|
+
"src/app/page.jsx",
|
|
3487
|
+
"src/app/page.vue",
|
|
3488
|
+
"src/app/page.svelte"
|
|
3489
|
+
].map(async (file) => {
|
|
3490
|
+
const entryPath = path.join(projectPath, file);
|
|
3491
|
+
try {
|
|
3492
|
+
const content = await fs.readFile(entryPath, "utf8");
|
|
3493
|
+
const nextContent = rewritePackageManagerCommands(content, packageManager);
|
|
3494
|
+
if (nextContent !== content) await fs.writeFile(entryPath, nextContent, "utf8");
|
|
3495
|
+
} catch (error) {
|
|
3496
|
+
if (error.code !== "ENOENT") throw error;
|
|
3497
|
+
}
|
|
3498
|
+
}));
|
|
3499
|
+
}
|
|
3456
3500
|
//#endregion
|
|
3457
3501
|
export { createApp, detectPackageManager, installDependencies };
|
|
3458
3502
|
|