create-lesa-app 0.0.7 → 0.0.8

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/CHANGELOG.md CHANGED
@@ -8,6 +8,18 @@
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [0.0.8] — 2026-09-16
12
+
13
+ ### Changed
14
+
15
+ - 받아오는 템플릿을 `v0.0.8` 으로 올린다(`TEMPLATE_REF`) — `MIGRATION.md` 가 들어간다
16
+
17
+ ### Fixed
18
+
19
+ - `scripts/release-check.mjs` 와 `release:check` 스크립트를 생성된 앱에서 제외한다 —
20
+ 템플릿·CLI·npm 체인을 검사하는 것이라 앱과 무관하다. `MIGRATION.md` 는 남긴다(앱이
21
+ 템플릿을 올릴 때 읽는다)
22
+
11
23
  ## [0.0.7] — 2026-09-16
12
24
 
13
25
  ### Changed
@@ -99,7 +111,8 @@
99
111
 
100
112
  ---
101
113
 
102
- [unreleased]: https://github.com/LESANF/create-lesa-app/compare/v0.0.7...HEAD
114
+ [unreleased]: https://github.com/LESANF/create-lesa-app/compare/v0.0.8...HEAD
115
+ [0.0.8]: https://github.com/LESANF/create-lesa-app/compare/v0.0.7...v0.0.8
103
116
  [0.0.7]: https://github.com/LESANF/create-lesa-app/compare/v0.0.6...v0.0.7
104
117
  [0.0.6]: https://github.com/LESANF/create-lesa-app/compare/v0.0.5...v0.0.6
105
118
  [0.0.5]: https://github.com/LESANF/create-lesa-app/compare/v0.0.4...v0.0.5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-lesa-app",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "description": "Create a new project from the lesa Expo SDK 57 template",
5
5
  "scripts": {
6
6
  "start": "tsx src/index.tsx",
@@ -17,7 +17,7 @@ const run = promisify(execFile);
17
17
 
18
18
  export const TEMPLATE_REPO = 'LESANF/react-native-template-lesa';
19
19
  /** 템플릿을 릴리즈하면 이 값을 올린다. */
20
- export const TEMPLATE_REF = 'v0.0.7';
20
+ export const TEMPLATE_REF = 'v0.0.8';
21
21
 
22
22
  export class FetchError extends Error {}
23
23
 
package/src/repo-only.ts CHANGED
@@ -3,15 +3,19 @@
3
3
  * `AGENTS.md`·`docs/` 는 앱과 같이 가는 게 목적이라 여기 없다.
4
4
  */
5
5
 
6
- import { readdir, rm, writeFile } from 'node:fs/promises';
6
+ import { readdir, readFile, rm, writeFile } from 'node:fs/promises';
7
7
  import path from 'node:path';
8
8
 
9
9
  const REPO_ONLY = [
10
10
  'CHANGELOG.md', // 템플릿의 릴리즈 이력
11
11
  'LICENSE', // 템플릿 저작권 — 앱은 자기 것을 고른다
12
12
  'README.md', // "MVP 라 사용을 권하지 않습니다" — 아래에서 새로 쓴다
13
+ 'scripts/release-check.mjs', // 템플릿·CLI·npm 체인 검사 — 앱과 무관하다
13
14
  ];
14
15
 
16
+ /** 앱에서 의미 없는 npm 스크립트. 파일을 지웠으니 호출부도 지운다. */
17
+ const REPO_ONLY_SCRIPTS = ['release:check'];
18
+
15
19
  /** 번역된 README — `README.ko.md` 처럼 언어 코드가 붙은 것들. */
16
20
  const LOCALIZED_README = /^README\.[a-z]{2}(-[A-Z]{2})?\.md$/;
17
21
 
@@ -24,6 +28,8 @@ export async function pruneRepoOnly(
24
28
  const remove = [...REPO_ONLY, ...entries.filter(name => LOCALIZED_README.test(name))];
25
29
  await Promise.all(remove.map(name => rm(path.join(targetDir, name), { force: true })));
26
30
 
31
+ await removeRepoOnlyScripts(targetDir);
32
+
27
33
  const title = app.displayName || app.slug;
28
34
  await writeFile(
29
35
  path.join(targetDir, 'README.md'),
@@ -37,3 +43,20 @@ export async function pruneRepoOnly(
37
43
  'utf8'
38
44
  );
39
45
  }
46
+
47
+ async function removeRepoOnlyScripts(targetDir: string): Promise<void> {
48
+ const pkgPath = path.join(targetDir, 'package.json');
49
+ const pkg = JSON.parse(await readFile(pkgPath, 'utf8')) as {
50
+ scripts?: Record<string, string>;
51
+ };
52
+ if (!pkg.scripts) return;
53
+
54
+ let changed = false;
55
+ for (const name of REPO_ONLY_SCRIPTS) {
56
+ if (name in pkg.scripts) {
57
+ delete pkg.scripts[name];
58
+ changed = true;
59
+ }
60
+ }
61
+ if (changed) await writeFile(pkgPath, `${JSON.stringify(pkg, null, 2)}\n`, 'utf8');
62
+ }