@apps-in-toss/web-framework 0.0.0-dev.1739266779729 → 0.0.0-dev.1739330896562

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/cli.cjs CHANGED
@@ -437,11 +437,13 @@ var DevCommand = class extends import_clipanion3.Command {
437
437
  };
438
438
 
439
439
  // src/InitCommand/InitCommand.ts
440
- var import_fs3 = __toESM(require("fs"), 1);
441
- var import_path4 = __toESM(require("path"), 1);
440
+ var import_fs4 = __toESM(require("fs"), 1);
441
+ var import_path5 = __toESM(require("path"), 1);
442
442
  var p2 = __toESM(require("@clack/prompts"), 1);
443
443
  var import_clipanion4 = require("clipanion");
444
444
  var import_es_toolkit = require("es-toolkit");
445
+ var import_execa3 = require("execa");
446
+ var import_yaml = __toESM(require("yaml"), 1);
445
447
 
446
448
  // src/InitCommand/templates/index.tsx
447
449
  var CONFIG_TEMPLATE = `import { defineConfig } from '@apps-in-toss/web-framework';
@@ -458,6 +460,21 @@ export default defineConfig({
458
460
  });
459
461
  `;
460
462
 
463
+ // src/utils/getPackageRoot.ts
464
+ var import_fs3 = __toESM(require("fs"), 1);
465
+ var import_path4 = __toESM(require("path"), 1);
466
+ function getPackageRoot() {
467
+ let cwd = process.cwd();
468
+ const root = import_path4.default.parse(cwd).root;
469
+ while (cwd !== root) {
470
+ if (import_fs3.default.existsSync(import_path4.default.join(cwd, "package.json"))) {
471
+ return cwd;
472
+ }
473
+ cwd = import_path4.default.dirname(cwd);
474
+ }
475
+ return cwd;
476
+ }
477
+
461
478
  // src/utils/transformTemplate.ts
462
479
  function transformTemplate(templateString, values) {
463
480
  let result = templateString;
@@ -472,6 +489,7 @@ function transformTemplate(templateString, values) {
472
489
  var InitCommand = class extends import_clipanion4.Command {
473
490
  static paths = [[`init`]];
474
491
  async execute() {
492
+ const cwd = getPackageRoot();
475
493
  p2.intro("\u{1F680} \uC571 \uCD08\uAE30\uD654\uB97C \uC2DC\uC791\uD569\uB2C8\uB2E4");
476
494
  const appName = await p2.text({
477
495
  message: "Enter app name",
@@ -501,7 +519,7 @@ var InitCommand = class extends import_clipanion4.Command {
501
519
  return;
502
520
  }
503
521
  p2.log.step("package.json \uC2A4\uD06C\uB9BD\uD2B8\uB97C \uC124\uC815\uD558\uB294 \uC911...");
504
- const packageJson = await import_fs3.default.promises.readFile(import_path4.default.join(process.cwd(), "package.json"), {
522
+ const packageJson = await import_fs4.default.promises.readFile(import_path5.default.join(cwd, "package.json"), {
505
523
  encoding: "utf-8"
506
524
  });
507
525
  const scripts = JSON.parse(packageJson);
@@ -512,7 +530,7 @@ var InitCommand = class extends import_clipanion4.Command {
512
530
  scripts.scripts.dev = "ait dev";
513
531
  scripts.scripts.build = "ait build";
514
532
  scripts.scripts.deploy = "ait deploy";
515
- await import_fs3.default.promises.writeFile(import_path4.default.join(process.cwd(), "package.json"), JSON.stringify(scripts, null, 2), {
533
+ await import_fs4.default.promises.writeFile(import_path5.default.join(cwd, "package.json"), JSON.stringify(scripts, null, 2), {
516
534
  encoding: "utf-8"
517
535
  });
518
536
  p2.log.step("apps-in-toss.config.web.ts \uD30C\uC77C\uC744 \uC0DD\uC131\uD558\uB294 \uC911...");
@@ -522,14 +540,14 @@ var InitCommand = class extends import_clipanion4.Command {
522
540
  webDevCommand: original.dev === "ait dev" ? "" : original.dev,
523
541
  webBuildCommand: original.build === "ait build" ? "" : original.build
524
542
  });
525
- await import_fs3.default.promises.writeFile(import_path4.default.join(process.cwd(), "apps-in-toss.config.web.ts"), config, {
543
+ await import_fs4.default.promises.writeFile(import_path5.default.join(cwd, "apps-in-toss.config.web.ts"), config, {
526
544
  encoding: "utf-8"
527
545
  });
528
546
  p2.log.step(".gitignore \uD30C\uC77C\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uB294 \uC911...");
529
- await import_fs3.default.promises.appendFile(import_path4.default.join(process.cwd(), ".gitignore"), "\n.bedrock\n");
547
+ await import_fs4.default.promises.appendFile(import_path5.default.join(cwd, ".gitignore"), "\n.bedrock\n");
530
548
  p2.log.step("app.json \uD30C\uC77C\uC744 \uC0DD\uC131\uD558\uB294 \uC911...");
531
- await import_fs3.default.promises.writeFile(
532
- import_path4.default.join(process.cwd(), "app.json"),
549
+ await import_fs4.default.promises.writeFile(
550
+ import_path5.default.join(cwd, "app.json"),
533
551
  JSON.stringify({
534
552
  clientId: "",
535
553
  appName,
@@ -539,12 +557,48 @@ var InitCommand = class extends import_clipanion4.Command {
539
557
  encoding: "utf-8"
540
558
  }
541
559
  );
560
+ const isPnP = import_fs4.default.existsSync(import_path5.default.join(cwd, ".pnp.cjs"));
561
+ if (isPnP) {
562
+ const yarnrcPath = import_path5.default.join(cwd, ".yarnrc.yml");
563
+ let yarnrc = {};
564
+ try {
565
+ const yarnrcContent = await import_fs4.default.promises.readFile(yarnrcPath, { encoding: "utf-8" });
566
+ yarnrc = import_yaml.default.parse(yarnrcContent);
567
+ } catch {
568
+ p2.log.info(".yarnrc.yml \uD30C\uC77C\uC774 \uC5C6\uC5B4 \uC0C8\uB85C \uC0DD\uC131\uD569\uB2C8\uB2E4.");
569
+ }
570
+ p2.log.step(".yarnrc.yml \uD30C\uC77C\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uB294 \uC911...");
571
+ yarnrc.packageExtensions = {
572
+ ...yarnrc.packageExtensions,
573
+ "@react-native-community/cli-debugger-ui@*": {
574
+ dependencies: {
575
+ "@babel/runtime": "^7"
576
+ }
577
+ },
578
+ "react-native-video@*": {
579
+ peerDependencies: {
580
+ react: "*",
581
+ "react-native": "*"
582
+ }
583
+ },
584
+ "react-native-fast-image@*": {
585
+ dependencies: {
586
+ "@babel/runtime": "^7"
587
+ }
588
+ }
589
+ };
590
+ await import_fs4.default.promises.writeFile(yarnrcPath, import_yaml.default.stringify(yarnrc), { encoding: "utf-8" });
591
+ await (0, import_execa3.execa)("yarn", ["install"], {
592
+ cwd,
593
+ stdio: "inherit"
594
+ });
595
+ }
542
596
  p2.outro("\u2728 \uCD08\uAE30\uD654\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!");
543
597
  }
544
598
  };
545
599
 
546
600
  // package.json
547
- var version = "0.0.0-dev.1739266779729";
601
+ var version = "0.0.0-dev.1739330896562";
548
602
 
549
603
  // src/cli.ts
550
604
  var cli = new import_clipanion5.Cli({
package/dist/cli.js CHANGED
@@ -386,11 +386,13 @@ var DevCommand = class extends Command3 {
386
386
  };
387
387
 
388
388
  // src/InitCommand/InitCommand.ts
389
- import fs4 from "fs";
390
- import path4 from "path";
389
+ import fs5 from "fs";
390
+ import path5 from "path";
391
391
  import * as p2 from "@clack/prompts";
392
392
  import { Command as Command4 } from "clipanion";
393
393
  import { kebabCase } from "es-toolkit";
394
+ import { execa as execa3 } from "execa";
395
+ import yaml from "yaml";
394
396
 
395
397
  // src/InitCommand/templates/index.tsx
396
398
  var CONFIG_TEMPLATE = `import { defineConfig } from '@apps-in-toss/web-framework';
@@ -407,6 +409,21 @@ export default defineConfig({
407
409
  });
408
410
  `;
409
411
 
412
+ // src/utils/getPackageRoot.ts
413
+ import fs4 from "fs";
414
+ import path4 from "path";
415
+ function getPackageRoot() {
416
+ let cwd = process.cwd();
417
+ const root = path4.parse(cwd).root;
418
+ while (cwd !== root) {
419
+ if (fs4.existsSync(path4.join(cwd, "package.json"))) {
420
+ return cwd;
421
+ }
422
+ cwd = path4.dirname(cwd);
423
+ }
424
+ return cwd;
425
+ }
426
+
410
427
  // src/utils/transformTemplate.ts
411
428
  function transformTemplate(templateString, values) {
412
429
  let result = templateString;
@@ -421,6 +438,7 @@ function transformTemplate(templateString, values) {
421
438
  var InitCommand = class extends Command4 {
422
439
  static paths = [[`init`]];
423
440
  async execute() {
441
+ const cwd = getPackageRoot();
424
442
  p2.intro("\u{1F680} \uC571 \uCD08\uAE30\uD654\uB97C \uC2DC\uC791\uD569\uB2C8\uB2E4");
425
443
  const appName = await p2.text({
426
444
  message: "Enter app name",
@@ -450,7 +468,7 @@ var InitCommand = class extends Command4 {
450
468
  return;
451
469
  }
452
470
  p2.log.step("package.json \uC2A4\uD06C\uB9BD\uD2B8\uB97C \uC124\uC815\uD558\uB294 \uC911...");
453
- const packageJson = await fs4.promises.readFile(path4.join(process.cwd(), "package.json"), {
471
+ const packageJson = await fs5.promises.readFile(path5.join(cwd, "package.json"), {
454
472
  encoding: "utf-8"
455
473
  });
456
474
  const scripts = JSON.parse(packageJson);
@@ -461,7 +479,7 @@ var InitCommand = class extends Command4 {
461
479
  scripts.scripts.dev = "ait dev";
462
480
  scripts.scripts.build = "ait build";
463
481
  scripts.scripts.deploy = "ait deploy";
464
- await fs4.promises.writeFile(path4.join(process.cwd(), "package.json"), JSON.stringify(scripts, null, 2), {
482
+ await fs5.promises.writeFile(path5.join(cwd, "package.json"), JSON.stringify(scripts, null, 2), {
465
483
  encoding: "utf-8"
466
484
  });
467
485
  p2.log.step("apps-in-toss.config.web.ts \uD30C\uC77C\uC744 \uC0DD\uC131\uD558\uB294 \uC911...");
@@ -471,14 +489,14 @@ var InitCommand = class extends Command4 {
471
489
  webDevCommand: original.dev === "ait dev" ? "" : original.dev,
472
490
  webBuildCommand: original.build === "ait build" ? "" : original.build
473
491
  });
474
- await fs4.promises.writeFile(path4.join(process.cwd(), "apps-in-toss.config.web.ts"), config, {
492
+ await fs5.promises.writeFile(path5.join(cwd, "apps-in-toss.config.web.ts"), config, {
475
493
  encoding: "utf-8"
476
494
  });
477
495
  p2.log.step(".gitignore \uD30C\uC77C\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uB294 \uC911...");
478
- await fs4.promises.appendFile(path4.join(process.cwd(), ".gitignore"), "\n.bedrock\n");
496
+ await fs5.promises.appendFile(path5.join(cwd, ".gitignore"), "\n.bedrock\n");
479
497
  p2.log.step("app.json \uD30C\uC77C\uC744 \uC0DD\uC131\uD558\uB294 \uC911...");
480
- await fs4.promises.writeFile(
481
- path4.join(process.cwd(), "app.json"),
498
+ await fs5.promises.writeFile(
499
+ path5.join(cwd, "app.json"),
482
500
  JSON.stringify({
483
501
  clientId: "",
484
502
  appName,
@@ -488,12 +506,48 @@ var InitCommand = class extends Command4 {
488
506
  encoding: "utf-8"
489
507
  }
490
508
  );
509
+ const isPnP = fs5.existsSync(path5.join(cwd, ".pnp.cjs"));
510
+ if (isPnP) {
511
+ const yarnrcPath = path5.join(cwd, ".yarnrc.yml");
512
+ let yarnrc = {};
513
+ try {
514
+ const yarnrcContent = await fs5.promises.readFile(yarnrcPath, { encoding: "utf-8" });
515
+ yarnrc = yaml.parse(yarnrcContent);
516
+ } catch {
517
+ p2.log.info(".yarnrc.yml \uD30C\uC77C\uC774 \uC5C6\uC5B4 \uC0C8\uB85C \uC0DD\uC131\uD569\uB2C8\uB2E4.");
518
+ }
519
+ p2.log.step(".yarnrc.yml \uD30C\uC77C\uC744 \uC5C5\uB370\uC774\uD2B8\uD558\uB294 \uC911...");
520
+ yarnrc.packageExtensions = {
521
+ ...yarnrc.packageExtensions,
522
+ "@react-native-community/cli-debugger-ui@*": {
523
+ dependencies: {
524
+ "@babel/runtime": "^7"
525
+ }
526
+ },
527
+ "react-native-video@*": {
528
+ peerDependencies: {
529
+ react: "*",
530
+ "react-native": "*"
531
+ }
532
+ },
533
+ "react-native-fast-image@*": {
534
+ dependencies: {
535
+ "@babel/runtime": "^7"
536
+ }
537
+ }
538
+ };
539
+ await fs5.promises.writeFile(yarnrcPath, yaml.stringify(yarnrc), { encoding: "utf-8" });
540
+ await execa3("yarn", ["install"], {
541
+ cwd,
542
+ stdio: "inherit"
543
+ });
544
+ }
491
545
  p2.outro("\u2728 \uCD08\uAE30\uD654\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4!");
492
546
  }
493
547
  };
494
548
 
495
549
  // package.json
496
- var version = "0.0.0-dev.1739266779729";
550
+ var version = "0.0.0-dev.1739330896562";
497
551
 
498
552
  // src/cli.ts
499
553
  var cli = new Cli({
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@apps-in-toss/web-framework",
3
3
  "type": "module",
4
- "version": "0.0.0-dev.1739266779729",
4
+ "version": "0.0.0-dev.1739330896562",
5
5
  "description": "Web Framework for Apps In Toss",
6
6
  "scripts": {
7
7
  "prepack": "yarn build",
@@ -38,8 +38,8 @@
38
38
  "vitest": "^3.0.5"
39
39
  },
40
40
  "dependencies": {
41
- "@apps-in-toss/babel-plugin-json": "0.0.0-dev.1739266779729",
42
- "@apps-in-toss/framework": "0.0.0-dev.1739266779729",
41
+ "@apps-in-toss/babel-plugin-json": "0.0.0-dev.1739330896562",
42
+ "@apps-in-toss/framework": "0.0.0-dev.1739330896562",
43
43
  "@babel/core": "7.23.9",
44
44
  "@babel/plugin-proposal-class-properties": "^7.16.7",
45
45
  "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7",
@@ -53,8 +53,8 @@
53
53
  "@babel/preset-typescript": "^7.16.7",
54
54
  "@babel/runtime": "7.18.9",
55
55
  "@clack/prompts": "^0.10.0",
56
- "@react-native-bedrock/mpack-next": "0.0.0-dev.1739265498212",
57
- "@react-native-bedrock/native": "0.0.0-dev.1739265498212",
56
+ "@react-native-bedrock/mpack-next": "0.0.0-dev.1739330039126",
57
+ "@react-native-bedrock/native": "0.0.0-dev.1739330039126",
58
58
  "@types/react": "18.3.3",
59
59
  "clipanion": "^4.0.0-rc.4",
60
60
  "cosmiconfig": "^9.0.0",
@@ -65,12 +65,13 @@
65
65
  "picocolors": "^1.1.1",
66
66
  "react": "18.2.0",
67
67
  "react-native": "0.72.6",
68
- "react-native-bedrock": "0.0.0-dev.1739265498212",
68
+ "react-native-bedrock": "0.0.0-dev.1739330039126",
69
+ "yaml": "^2.7.0",
69
70
  "yauzl": "^3.2.0",
70
71
  "zod": "^3.24.1"
71
72
  },
72
73
  "publishConfig": {
73
74
  "access": "public"
74
75
  },
75
- "gitHead": "5fbddc29e6da82496003c8795a7e69873256e445"
76
+ "gitHead": "492ef7b26022c1f634cecd29594a52e69b93b5c8"
76
77
  }