@multiplatform.one/cli 7.11.0 → 7.16.0

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.
Files changed (163) hide show
  1. package/README.md +121 -111
  2. package/bin/createMultiplatformApp.mjs +39 -37
  3. package/lib/bin/multiplatformOne.mjs +65 -75
  4. package/lib/commands/addApp.mjs +78 -0
  5. package/lib/commands/adoptApp.mjs +11 -7
  6. package/lib/commands/doctypeTypes.mjs +148 -0
  7. package/lib/commands/e2e.mjs +2 -2
  8. package/lib/commands/init.mjs +142 -459
  9. package/lib/commands/merge.mjs +359 -0
  10. package/lib/commands/pieces.mjs +236 -0
  11. package/lib/commands/provenance.mjs +108 -0
  12. package/lib/commands/scaffold.mjs +105 -0
  13. package/lib/commands/updateApp.mjs +211 -528
  14. package/lib/source.json +5 -0
  15. package/lib/source.mjs +63 -0
  16. package/package.json +6 -6
  17. package/scripts/frappe-bootstrap.sh +29 -3
  18. package/scripts/frappe-dev.sh +1 -2
  19. package/scripts/frappe-helpers.sh +50 -2
  20. package/scripts/frappe.sh +5 -0
  21. package/scripts/scaffold.sh +937 -0
  22. package/scripts/stamp-source.mjs +51 -0
  23. package/scripts/stamp-source.spec.ts +86 -0
  24. package/src/bin/multiplatformOne.ts +116 -226
  25. package/src/commands/addApp.ts +102 -0
  26. package/src/commands/adoptApp.spec.ts +5 -1
  27. package/src/commands/adoptApp.ts +15 -10
  28. package/src/commands/doctypeTypes.spec.ts +155 -0
  29. package/src/commands/doctypeTypes.ts +214 -0
  30. package/src/commands/init.spec.ts +66 -0
  31. package/src/commands/init.ts +201 -643
  32. package/src/commands/merge.spec.ts +81 -0
  33. package/src/commands/merge.ts +411 -0
  34. package/src/commands/pieces.spec.ts +62 -0
  35. package/src/commands/pieces.ts +340 -0
  36. package/src/commands/provenance.spec.ts +92 -0
  37. package/src/commands/provenance.ts +169 -0
  38. package/src/commands/scaffold.ts +131 -0
  39. package/src/commands/updateApp.spec.ts +540 -331
  40. package/src/commands/updateApp.ts +255 -668
  41. package/src/source.spec.ts +45 -0
  42. package/src/source.ts +88 -0
  43. package/templates/AGENTS.md +161 -0
  44. package/templates/README.md +62 -0
  45. package/templates/pieces/frappe/universal/README.md.partial +7 -32
  46. package/templates/pieces/frappe/universal/env.example.partial +3 -3
  47. package/templates/pieces/frappe-bench/universal/README.md.partial +28 -0
  48. package/templates/pieces/{frappe → frappe-bench}/universal/docker/compose.frappe.yaml +2 -2
  49. package/templates/pieces/tauri/universal/README.md.partial +7 -5
  50. package/templates/pieces/tauri/universal/apps/__NAME__/src-tauri/src/dev.rs +463 -0
  51. package/templates/pieces/tauri/universal/apps/__NAME__/src-tauri/src/lib.rs +6 -0
  52. package/templates/pieces/tauri/universal/apps/__NAME__/src-tauri/tauri.conf.json +2 -1
  53. package/templates/pieces/webext/universal/apps/__NAME__/package.json.partial +1 -0
  54. package/templates/pieces/webext/universal/apps/__NAME__/vite.config.webext.ts +6 -2
  55. package/types/bin/multiplatformOne.d.ts.map +1 -1
  56. package/types/commands/addApp.d.ts +20 -0
  57. package/types/commands/addApp.d.ts.map +1 -0
  58. package/types/commands/adoptApp.d.ts +4 -3
  59. package/types/commands/adoptApp.d.ts.map +1 -1
  60. package/types/commands/doctypeTypes.d.ts +40 -0
  61. package/types/commands/doctypeTypes.d.ts.map +1 -0
  62. package/types/commands/init.d.ts +30 -13
  63. package/types/commands/init.d.ts.map +1 -1
  64. package/types/commands/merge.d.ts +54 -0
  65. package/types/commands/merge.d.ts.map +1 -0
  66. package/types/commands/pieces.d.ts +54 -0
  67. package/types/commands/pieces.d.ts.map +1 -0
  68. package/types/commands/provenance.d.ts +52 -0
  69. package/types/commands/provenance.d.ts.map +1 -0
  70. package/types/commands/scaffold.d.ts +43 -0
  71. package/types/commands/scaffold.d.ts.map +1 -0
  72. package/types/commands/updateApp.d.ts +19 -27
  73. package/types/commands/updateApp.d.ts.map +1 -1
  74. package/types/source.d.ts +35 -0
  75. package/types/source.d.ts.map +1 -0
  76. package/lib/commands/initApp.mjs +0 -431
  77. package/lib/generateVscode.mjs +0 -184
  78. package/scripts/clone.sh +0 -17
  79. package/scripts/update.sh +0 -46
  80. package/src/commands/initApp.spec.ts +0 -720
  81. package/src/commands/initApp.ts +0 -706
  82. package/src/generateVscode.ts +0 -238
  83. package/templates/app/AGENTS.md +0 -142
  84. package/templates/app/README.md +0 -62
  85. package/templates/app/apps/__NAME__/index.html +0 -36
  86. package/templates/app/apps/__NAME__/package.json +0 -31
  87. package/templates/app/apps/__NAME__/public/fonts/inter-400.woff2 +0 -0
  88. package/templates/app/apps/__NAME__/public/fonts/inter-700.woff2 +0 -0
  89. package/templates/app/apps/__NAME__/src/App.tsx +0 -9
  90. package/templates/app/apps/__NAME__/src/main.tsx +0 -14
  91. package/templates/app/apps/__NAME__/tsconfig.json +0 -8
  92. package/templates/app/apps/__NAME__/vite.config.ts +0 -17
  93. package/templates/app/features/__NAME__/package.json +0 -34
  94. package/templates/app/features/__NAME__/src/HomeScreen.tsx +0 -70
  95. package/templates/app/features/__NAME__/src/index.ts +0 -1
  96. package/templates/app/features/__NAME__/tsconfig.json +0 -5
  97. package/templates/app/gitignore +0 -9
  98. package/templates/app/npmrc +0 -2
  99. package/templates/app/oxlintrc.json +0 -39
  100. package/templates/app/package.json +0 -38
  101. package/templates/app/packages/config/config.json +0 -4
  102. package/templates/app/packages/config/index.ts +0 -5
  103. package/templates/app/packages/config/package.json +0 -17
  104. package/templates/app/packages/config/tsconfig.json +0 -5
  105. package/templates/app/pnpm-workspace.yaml +0 -4
  106. package/templates/app/tsconfig.base.json +0 -16
  107. package/templates/universal/AGENTS.md +0 -142
  108. package/templates/universal/README.md +0 -97
  109. package/templates/universal/apps/__NAME__/app.config.js +0 -31
  110. package/templates/universal/apps/__NAME__/config/tamagui.config.ts +0 -4
  111. package/templates/universal/apps/__NAME__/package.json +0 -62
  112. package/templates/universal/apps/__NAME__/polyfills.native.ts +0 -23
  113. package/templates/universal/apps/__NAME__/polyfills.ts +0 -3
  114. package/templates/universal/apps/__NAME__/public/fonts/inter-400.woff2 +0 -0
  115. package/templates/universal/apps/__NAME__/public/fonts/inter-700.woff2 +0 -0
  116. package/templates/universal/apps/__NAME__/routes/_layout.tsx +0 -22
  117. package/templates/universal/apps/__NAME__/routes/_layout.web.tsx +0 -21
  118. package/templates/universal/apps/__NAME__/routes/about.tsx +0 -3
  119. package/templates/universal/apps/__NAME__/routes/index.tsx +0 -3
  120. package/templates/universal/apps/__NAME__/src/app.ts +0 -10
  121. package/templates/universal/apps/__NAME__/tamagui.css +0 -3
  122. package/templates/universal/apps/__NAME__/tsconfig.json +0 -8
  123. package/templates/universal/apps/__NAME__/types.d.ts +0 -9
  124. package/templates/universal/apps/__NAME__/vite.config.ts +0 -20
  125. package/templates/universal/features/__NAME__/package.json +0 -35
  126. package/templates/universal/features/__NAME__/src/AboutScreen.tsx +0 -27
  127. package/templates/universal/features/__NAME__/src/AppLayout.tsx +0 -50
  128. package/templates/universal/features/__NAME__/src/ContactForm.spec.tsx +0 -22
  129. package/templates/universal/features/__NAME__/src/ContactForm.tsx +0 -55
  130. package/templates/universal/features/__NAME__/src/HomeScreen.tsx +0 -40
  131. package/templates/universal/features/__NAME__/src/index.ts +0 -4
  132. package/templates/universal/features/__NAME__/src/screens.spec.ts +0 -12
  133. package/templates/universal/features/__NAME__/tsconfig.json +0 -5
  134. package/templates/universal/features/__NAME__/vitest.config.mjs +0 -7
  135. package/templates/universal/gitignore +0 -14
  136. package/templates/universal/npmrc +0 -3
  137. package/templates/universal/oxlintrc.json +0 -39
  138. package/templates/universal/package.json +0 -51
  139. package/templates/universal/packages/config/config.json +0 -4
  140. package/templates/universal/packages/config/index.ts +0 -5
  141. package/templates/universal/packages/config/package.json +0 -17
  142. package/templates/universal/packages/config/tsconfig.json +0 -5
  143. package/templates/universal/packages/i18n/en/common.json +0 -30
  144. package/templates/universal/packages/i18n/es/common.json +0 -30
  145. package/templates/universal/packages/i18n/i18n.d.ts +0 -16
  146. package/templates/universal/packages/i18n/index.ts +0 -26
  147. package/templates/universal/packages/i18n/package.json +0 -20
  148. package/templates/universal/packages/i18n/resources.ts +0 -13
  149. package/templates/universal/packages/i18n/tsconfig.json +0 -5
  150. package/templates/universal/packages/themes/accent.ts +0 -32
  151. package/templates/universal/packages/themes/base.ts +0 -50
  152. package/templates/universal/packages/themes/fonts.ts +0 -8
  153. package/templates/universal/packages/themes/index.ts +0 -33
  154. package/templates/universal/packages/themes/package.json +0 -23
  155. package/templates/universal/packages/themes/tamagui.config.ts +0 -14
  156. package/templates/universal/packages/themes/tsconfig.json +0 -5
  157. package/templates/universal/pnpm-workspace.yaml +0 -4
  158. package/templates/universal/tsconfig.base.json +0 -21
  159. package/templates/universal/types/env.d.ts +0 -9
  160. package/types/commands/initApp.d.ts +0 -114
  161. package/types/commands/initApp.d.ts.map +0 -1
  162. package/types/generateVscode.d.ts +0 -7
  163. package/types/generateVscode.d.ts.map +0 -1
@@ -1,33 +0,0 @@
1
- import { createDefaultThemeConfig } from "@multiplatform.one/theme";
2
- import { accentTheme } from "./accent";
3
- import { baseTheme } from "./base";
4
-
5
- // House defaults: neutral base ramps + brand accent ramps with a normalized
6
- // interaction ramp. Fonts fall back to the framework's Inter defaults —
7
- // pass `fonts` here to customize.
8
- export const themeConfig = createDefaultThemeConfig({
9
- base: baseTheme,
10
- accent: accentTheme,
11
- builderOptions: {
12
- getTheme: ({ theme }) => ({
13
- // Interaction ramp: background 5 → 6 → 4, border 5 → 6 → 7.
14
- backgroundPress: theme.color5,
15
- backgroundFocus: theme.color6,
16
- backgroundActive: theme.color4,
17
- placeholderColor: theme.color10,
18
- borderColor: theme.color5,
19
- borderColorHover: theme.color6,
20
- borderColorFocus: theme.color7,
21
- borderColorPress: theme.color7,
22
- // Semantic aliases for palette slots not covered by Tamagui defaults.
23
- textMuted: theme.color10,
24
- textSubtle: theme.color6,
25
- borderStrong: theme.color7,
26
- borderStrongHover: theme.color8,
27
- borderStrongPress: theme.color6,
28
- surfaceStrong: theme.color7,
29
- surfaceMuted: theme.color10,
30
- surfacePressStrong: theme.color6,
31
- }),
32
- },
33
- });
@@ -1,23 +0,0 @@
1
- {
2
- "name": "@package/themes",
3
- "version": "0.0.0",
4
- "private": true,
5
- "type": "module",
6
- "main": "./index.ts",
7
- "exports": {
8
- ".": "./index.ts",
9
- "./fonts": "./fonts.ts",
10
- "./tamagui.config": "./tamagui.config.ts"
11
- },
12
- "scripts": {
13
- "typecheck": "tsgo --noEmit"
14
- },
15
- "dependencies": {
16
- "@multiplatform.one/theme": "__MPO_VERSION__",
17
- "@tamagui/font-inter": "2.7.6",
18
- "tamagui": "2.7.6"
19
- },
20
- "devDependencies": {
21
- "typescript": "~5.9.3"
22
- }
23
- }
@@ -1,14 +0,0 @@
1
- import { themeConfig } from "./index";
2
-
3
- export const config = themeConfig.tamagui;
4
- export type AppConfig = typeof config;
5
-
6
- // Module augmentation must target @tamagui/web where TamaguiCustomConfig is
7
- // defined; keep the @tamagui/core augmentation for consumers importing types
8
- // from there.
9
- declare module "@tamagui/web" {
10
- interface TamaguiCustomConfig extends AppConfig {}
11
- }
12
- declare module "@tamagui/core" {
13
- interface TamaguiCustomConfig extends AppConfig {}
14
- }
@@ -1,5 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.base.json",
3
- "include": ["./*.ts", "../../types/env.d.ts"],
4
- "exclude": ["**/node_modules/**"]
5
- }
@@ -1,4 +0,0 @@
1
- packages:
2
- - apps/*
3
- - features/*
4
- - packages/*
@@ -1,21 +0,0 @@
1
- {
2
- "$schema": "https://json.schemastore.org/tsconfig",
3
- "compilerOptions": {
4
- "target": "ES2022",
5
- "lib": ["ES2022", "DOM", "DOM.Iterable"],
6
- "module": "ESNext",
7
- "moduleResolution": "Bundler",
8
- "jsx": "react-jsx",
9
- "strict": true,
10
- // Published @multiplatform.one/* packages currently resolve types to
11
- // their TypeScript sources (not compiled .d.ts), so typecheck re-checks
12
- // framework code. Implicit-any strictness is relaxed until the packages
13
- // publish compiled declarations; the rest of strict mode stays on.
14
- "noImplicitAny": false,
15
- "skipLibCheck": true,
16
- "esModuleInterop": true,
17
- "resolveJsonModule": true,
18
- "isolatedModules": true,
19
- "noEmit": true
20
- }
21
- }
@@ -1,9 +0,0 @@
1
- // Published @multiplatform.one/* packages ship TypeScript source, so package
2
- // typechecks follow them into code that reads import.meta.env (vite-injected).
3
- // Packages that don't load vite/client types include this minimal shape
4
- // instead (apps/* use vite/client directly). Values are `any` to match
5
- // vite/client's ImportMetaEnv index signature.
6
- interface ImportMeta {
7
- // biome-ignore lint/suspicious/noExplicitAny: mirrors vite/client typing
8
- readonly env?: Record<string, any>;
9
- }
@@ -1,114 +0,0 @@
1
- /**
2
- * Consumer project templates:
3
- * - "universal": one-based app serving web + iOS + Android from one codebase
4
- * (apps/<name> + features/<name> + packages/{config,i18n,themes})
5
- * - "app": web-only Vite + React shell
6
- * (apps/<name> + features/<name> + packages/config)
7
- */
8
- export type InitAppTemplate = "universal" | "app";
9
- /**
10
- * The provenance template domain: the scaffold templates plus "none" for
11
- * ADOPTED projects (`mpo adopt`) — existing repos that were never scaffolded.
12
- * A "none" scaffold is the selected piece fragments overlaid on an EMPTY
13
- * tree (no universal/app base), which is exactly the tool-owned surface of
14
- * an adopted project.
15
- */
16
- export type ProvenanceTemplate = InitAppTemplate | "none";
17
- /**
18
- * Optional composable pieces overlaid onto the base template (additive
19
- * fragments under templates/pieces/<piece>/ — the inverse of the old
20
- * cookiecutter KEEP_SERVICES/KEEP_PLATFORMS removal hook). Keep sorted:
21
- * pieces are recorded sorted in provenance and overlaid in this order.
22
- */
23
- export declare const INIT_APP_PIECES: readonly ["frappe", "gnome", "keycloak", "tauri", "vscode", "webext"];
24
- export type InitAppPiece = (typeof INIT_APP_PIECES)[number];
25
- export interface InitAppOptions {
26
- /** Skip pnpm install (useful for CI / dry scaffolding). */
27
- skipInstall?: boolean;
28
- /** Skip git init + scaffold commit (mpo update baselines, nested dirs). */
29
- skipGit?: boolean;
30
- /** Pin @multiplatform.one/* to this semver range. Default: ^<cli version>. */
31
- version?: string;
32
- /**
33
- * Project template. When omitted: prompt (interactive) or "universal".
34
- * "none" scaffolds ONLY the selected pieces onto an empty tree (the
35
- * `--pieces-only` flag) — `mpo update` uses it to rebuild the merge
36
- * baselines of adopted projects.
37
- */
38
- template?: ProvenanceTemplate;
39
- /** Accept defaults instead of prompting (non-interactive / CI). */
40
- yes?: boolean;
41
- /**
42
- * Composable pieces overlaid onto the base template. When omitted:
43
- * checkbox prompt (interactive) or none (--yes / non-TTY).
44
- */
45
- pieces?: InitAppPiece[];
46
- }
47
- export declare function validateName(name: string): string;
48
- /** Root package.json name with any @scope/ prefix stripped (adopt +
49
- * update-bootstrap provenance name derivation). */
50
- export declare function packageJsonName(projectDir: string): string | undefined;
51
- export declare function cliVersion(): string | undefined;
52
- /**
53
- * Scaffold provenance (the copier-answers equivalent): which template, which
54
- * CLI version and which vars produced this project. `mpo update` regenerates
55
- * the ORIGINAL scaffold from this record to use as the merge base for a
56
- * three-way template update.
57
- */
58
- export interface MpoProvenance {
59
- /** "none" = adopted project (`mpo adopt`): pieces only, no base template. */
60
- template: ProvenanceTemplate;
61
- cliVersion: string;
62
- name: string;
63
- mpoVersion: string;
64
- /** Composable pieces overlaid at init time (sorted). */
65
- pieces: InitAppPiece[];
66
- /**
67
- * false = adopted but never reconciled: `mpo adopt` wrote provenance
68
- * without touching any project file, so no tool-owned content exists yet.
69
- * The first `mpo update` merges the piece baseline from an EMPTY base
70
- * (surfacing real diffs against hand-copied files) and then clears the
71
- * flag. Absent/true = the tree carries the recorded scaffold.
72
- */
73
- reconciled?: boolean;
74
- }
75
- export declare const PROVENANCE_FILE = ".mpo.json";
76
- export declare function writeProvenance(targetDir: string, provenance: MpoProvenance): void;
77
- export declare function readProvenance(projectDir: string): MpoProvenance | undefined;
78
- type JsonValue = string | number | boolean | null | JsonValue[] | {
79
- [key: string]: JsonValue;
80
- };
81
- /**
82
- * Deep-merge for JSON partials: objects merge recursively (fragment keys
83
- * append after base keys, so e.g. package.json script order stays stable),
84
- * arrays union (base order first — config.json public keys accumulate
85
- * across pieces), scalars/type-mismatches take the fragment value.
86
- */
87
- export declare function mergeJsonValues(base: JsonValue, fragment: JsonValue): JsonValue;
88
- /**
89
- * Validate + canonicalize a piece selection for a template: unknown names
90
- * throw, duplicates collapse, order is always sorted (provenance and overlay
91
- * order must be deterministic), and every piece must ship a fragment for the
92
- * chosen template.
93
- */
94
- export declare function normalizePieces(pieces: string[], template: ProvenanceTemplate): InitAppPiece[];
95
- /** Pieces that can be offered for a template (fragment exists for it). */
96
- export declare function availablePieces(template: ProvenanceTemplate): InitAppPiece[];
97
- /** Human-readable piece summaries (adopt + init prompts). */
98
- export declare function pieceDescription(piece: InitAppPiece): string;
99
- /**
100
- * Generate apps/<name>/src/app.ts for the selected backend pieces instead of
101
- * storing 2^n template variants: each selected provider adds one createApp
102
- * key (frappe/keycloak read their runtime settings from the packages/config
103
- * public env keys their fragments register). Only called when at least one
104
- * provider piece is selected — the base template file stays otherwise.
105
- */
106
- export declare function composeAppTs(pieces: InitAppPiece[]): string;
107
- /**
108
- * Scaffold a consumer project (universal by default, web-only with
109
- * template: "app") that depends on @multiplatform.one/* at semver ranges
110
- * (never workspace:*). This is NOT a monorepo fork.
111
- */
112
- export declare function initApp(nameArg: string | undefined, options?: InitAppOptions): Promise<void>;
113
- export {};
114
- //# sourceMappingURL=initApp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initApp.d.ts","sourceRoot":"","sources":["../../src/commands/initApp.ts"],"names":[],"mappings":"AAaA;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,KAAK,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,MAAM,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,eAAe,uEAOlB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAW5D,MAAM,WAAW,cAAc;IAC7B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,mEAAmE;IACnE,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;CACzB;AAmBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWjD;AAED;oDACoD;AACpD,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAStE;AAYD,wBAAgB,UAAU,IAAI,MAAM,GAAG,SAAS,CAQ/C;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,6EAA6E;IAC7E,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,cAAc,CAAC;AAE3C,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,GAAG,IAAI,CAKlF;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAmB5E;AAoFD,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAM/F;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,GAAG,SAAS,CAoB/E;AAoFD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAe9F;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAE5E;AAED,6DAA6D;AAC7D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE5D;AA2BD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAyC3D;AAoBD;;;;GAIG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAiLf"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Generate .vscode/launch.json and .vscode/tasks.json from discovered apps.
3
- * Invoked by `mpo update` after merging upstream.
4
- * Safe for subset projects: only includes configs for workspaces that exist.
5
- */
6
- export declare function generateVscodeConfig(root: string): Promise<void>;
7
- //# sourceMappingURL=generateVscode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateVscode.d.ts","sourceRoot":"","sources":["../src/generateVscode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwNH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBtE"}