@farm.js/create-app 0.1.0-beta.100 → 0.1.0-beta.101
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/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/package.json +3 -3
- package/templates/basic/package.json +2 -2
- package/templates/better-auth/package.json +3 -3
- package/templates/react-compiler/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -3164,6 +3164,7 @@ async function createApp(projectName, options = {}) {
|
|
|
3164
3164
|
await fs_promises.default.mkdir(projectPath, { recursive: true });
|
|
3165
3165
|
const integrationResult = await copyTemplate(template, projectPath, renderer);
|
|
3166
3166
|
await updatePackageJson(projectPath, projectName, packageManager);
|
|
3167
|
+
await updatePackageManagerInstructions(projectPath, packageManager.name);
|
|
3167
3168
|
require_utils.logger.success(`🚜 Created ${projectName}`);
|
|
3168
3169
|
if (!options.skipInstall) {
|
|
3169
3170
|
require_utils.logger.info(`Installing dependencies with ${packageManager.name}...`);
|
|
@@ -3176,7 +3177,7 @@ async function createApp(projectName, options = {}) {
|
|
|
3176
3177
|
if (options.skipInstall) require_utils.logger.info(` ${packageManager.name} install`);
|
|
3177
3178
|
require_utils.logger.info(` ${getDevCommand(packageManager.name)}`);
|
|
3178
3179
|
require_utils.logger.info("");
|
|
3179
|
-
for (const instruction of templateDetails[template]?.instructions ?? []) require_utils.logger.info(instruction);
|
|
3180
|
+
for (const instruction of templateDetails[template]?.instructions ?? []) require_utils.logger.info(rewritePackageManagerCommands(instruction, packageManager.name));
|
|
3180
3181
|
if (integrationResult) {
|
|
3181
3182
|
const details = templateDetails[template].integration;
|
|
3182
3183
|
require_utils.logger.info(`Open ${details.route} for the ${details.label} starter.`);
|
|
@@ -3217,6 +3218,14 @@ async function copyTemplate(template, projectPath, renderer) {
|
|
|
3217
3218
|
}
|
|
3218
3219
|
async function applyRendererTemplate(projectPath, renderer, basePackageJson) {
|
|
3219
3220
|
const rendererTemplatePath = path.default.join(__dirname, "..", "templates", "_renderers", renderer);
|
|
3221
|
+
await Promise.all([
|
|
3222
|
+
fs_promises.default.rm(path.default.join(projectPath, "docs.config.ts"), { force: true }),
|
|
3223
|
+
fs_promises.default.rm(path.default.join(projectPath, "docs.json"), { force: true }),
|
|
3224
|
+
fs_promises.default.rm(path.default.join(projectPath, "src", "app", "docs"), {
|
|
3225
|
+
recursive: true,
|
|
3226
|
+
force: true
|
|
3227
|
+
})
|
|
3228
|
+
]);
|
|
3220
3229
|
if (renderer === "vue" || renderer === "svelte") await Promise.all([
|
|
3221
3230
|
fs_promises.default.rm(path.default.join(projectPath, "src", "app", "page.tsx"), { force: true }),
|
|
3222
3231
|
fs_promises.default.rm(path.default.join(projectPath, "src", "app", "layout.tsx"), { force: true }),
|
|
@@ -3234,7 +3243,13 @@ function mergeRendererPackageJson(base, renderer) {
|
|
|
3234
3243
|
...base.devDependencies,
|
|
3235
3244
|
...renderer.devDependencies
|
|
3236
3245
|
};
|
|
3237
|
-
for (const name of [
|
|
3246
|
+
for (const name of [
|
|
3247
|
+
"@farming-labs/docs",
|
|
3248
|
+
"@farming-labs/farmjs",
|
|
3249
|
+
"@farming-labs/theme",
|
|
3250
|
+
"react",
|
|
3251
|
+
"react-dom"
|
|
3252
|
+
]) delete dependencies[name];
|
|
3238
3253
|
for (const name of ["@types/react", "@types/react-dom"]) delete devDependencies[name];
|
|
3239
3254
|
return {
|
|
3240
3255
|
...base,
|
|
@@ -3460,6 +3475,35 @@ function getDevCommand(packageManager) {
|
|
|
3460
3475
|
if (packageManager === "npm" || packageManager === "bun") return `${packageManager} run dev`;
|
|
3461
3476
|
return `${packageManager} dev`;
|
|
3462
3477
|
}
|
|
3478
|
+
function getRunCommand(packageManager, script) {
|
|
3479
|
+
if (packageManager === "npm" || packageManager === "bun") return `${packageManager} run ${script}`;
|
|
3480
|
+
return `${packageManager} ${script}`;
|
|
3481
|
+
}
|
|
3482
|
+
function rewritePackageManagerCommands(content, packageManager) {
|
|
3483
|
+
let output = content.replace(/\bpnpm install\b/g, `${packageManager} install`);
|
|
3484
|
+
output = output.replace(/\bpnpm run (dev|auth:migrate|type-check|build|check|deploy|experiment)\b/g, (match, script) => packageManager === "pnpm" ? match : getRunCommand(packageManager, script));
|
|
3485
|
+
return output.replace(/\bpnpm (dev|auth:migrate|type-check|build|check|deploy|experiment)\b/g, (_match, script) => getRunCommand(packageManager, script));
|
|
3486
|
+
}
|
|
3487
|
+
async function updatePackageManagerInstructions(projectPath, packageManager) {
|
|
3488
|
+
await Promise.all([
|
|
3489
|
+
"package.json",
|
|
3490
|
+
"README.md",
|
|
3491
|
+
"farm.config.ts",
|
|
3492
|
+
"src/app/page.tsx",
|
|
3493
|
+
"src/app/page.jsx",
|
|
3494
|
+
"src/app/page.vue",
|
|
3495
|
+
"src/app/page.svelte"
|
|
3496
|
+
].map(async (file) => {
|
|
3497
|
+
const entryPath = path.default.join(projectPath, file);
|
|
3498
|
+
try {
|
|
3499
|
+
const content = await fs_promises.default.readFile(entryPath, "utf8");
|
|
3500
|
+
const nextContent = rewritePackageManagerCommands(content, packageManager);
|
|
3501
|
+
if (nextContent !== content) await fs_promises.default.writeFile(entryPath, nextContent, "utf8");
|
|
3502
|
+
} catch (error) {
|
|
3503
|
+
if (error.code !== "ENOENT") throw error;
|
|
3504
|
+
}
|
|
3505
|
+
}));
|
|
3506
|
+
}
|
|
3463
3507
|
//#endregion
|
|
3464
3508
|
exports.createApp = createApp;
|
|
3465
3509
|
exports.detectPackageManager = detectPackageManager;
|