sunpeak 0.12.7 → 0.12.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.
Files changed (77) hide show
  1. package/bin/commands/build.mjs +66 -3
  2. package/package.json +1 -1
  3. package/template/dist/albums/albums.js +47 -7
  4. package/template/dist/albums/albums.json +1 -1
  5. package/template/dist/carousel/carousel.js +47 -7
  6. package/template/dist/carousel/carousel.json +1 -1
  7. package/template/dist/map/map.js +187 -140
  8. package/template/dist/map/map.json +1 -1
  9. package/template/dist/review/review.js +47 -7
  10. package/template/dist/review/review.json +1 -1
  11. package/template/node_modules/.vite/deps/_metadata.json +19 -19
  12. package/template/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  13. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_components_Avatar.js +0 -0
  14. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_components_Avatar.js.map +0 -0
  15. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_components_Button.js +0 -0
  16. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_components_Button.js.map +0 -0
  17. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_components_Checkbox.js +0 -0
  18. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_components_Checkbox.js.map +0 -0
  19. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_components_Icon.js +0 -0
  20. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_components_Icon.js.map +0 -0
  21. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_components_Input.js +0 -0
  22. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_components_Input.js.map +0 -0
  23. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_components_SegmentedControl.js +0 -0
  24. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_components_SegmentedControl.js.map +0 -0
  25. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_components_Select.js +0 -0
  26. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_components_Select.js.map +0 -0
  27. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_components_Textarea.js +0 -0
  28. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_components_Textarea.js.map +0 -0
  29. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_theme.js +0 -0
  30. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/@openai_apps-sdk-ui_theme.js.map +0 -0
  31. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-6CR5OFLH.js +0 -0
  32. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-6CR5OFLH.js.map +0 -0
  33. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-EGRHWZRV.js +0 -0
  34. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-EGRHWZRV.js.map +0 -0
  35. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-EXGLAROW.js +0 -0
  36. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-EXGLAROW.js.map +0 -0
  37. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-IFPDCKUT.js +0 -0
  38. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-IFPDCKUT.js.map +0 -0
  39. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-ILHRZGIS.js +0 -0
  40. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-ILHRZGIS.js.map +0 -0
  41. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-JSPMUVNT.js +0 -0
  42. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-JSPMUVNT.js.map +0 -0
  43. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-L2PWLFDO.js +0 -0
  44. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-L2PWLFDO.js.map +0 -0
  45. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-OMOWBQDU.js +0 -0
  46. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-OMOWBQDU.js.map +0 -0
  47. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-R3BTL4CL.js +0 -0
  48. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-R3BTL4CL.js.map +0 -0
  49. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-SPDZ46BB.js +0 -0
  50. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-SPDZ46BB.js.map +0 -0
  51. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-WSHFT23M.js +0 -0
  52. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-WSHFT23M.js.map +0 -0
  53. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-Y7UNCRGH.js +0 -0
  54. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-Y7UNCRGH.js.map +0 -0
  55. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-ZNFXUT4Q.js +0 -0
  56. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/chunk-ZNFXUT4Q.js.map +0 -0
  57. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/clsx.js +0 -0
  58. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/clsx.js.map +0 -0
  59. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/embla-carousel-react.js +0 -0
  60. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/embla-carousel-react.js.map +0 -0
  61. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/embla-carousel-wheel-gestures.js +0 -0
  62. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/embla-carousel-wheel-gestures.js.map +0 -0
  63. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/mapbox-gl.js +0 -0
  64. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/mapbox-gl.js.map +0 -0
  65. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/package.json +0 -0
  66. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/react-dom.js +0 -0
  67. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/react-dom.js.map +0 -0
  68. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/react-dom_client.js +0 -0
  69. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/react-dom_client.js.map +0 -0
  70. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/react.js +0 -0
  71. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/react.js.map +0 -0
  72. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/react_jsx-dev-runtime.js +0 -0
  73. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/react_jsx-dev-runtime.js.map +0 -0
  74. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/react_jsx-runtime.js +0 -0
  75. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/react_jsx-runtime.js.map +0 -0
  76. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/tailwind-merge.js +0 -0
  77. /package/template/node_modules/.vite-mcp/{deps_temp_01980537 → deps_temp_c22d194e}/tailwind-merge.js.map +0 -0
@@ -1,11 +1,49 @@
1
1
  #!/usr/bin/env node
2
- import { build as viteBuild } from 'vite';
3
- import react from '@vitejs/plugin-react';
4
- import tailwindcss from '@tailwindcss/vite';
5
2
  import { existsSync, rmSync, readdirSync, readFileSync, writeFileSync, mkdirSync, copyFileSync, unlinkSync } from 'fs';
6
3
  import path from 'path';
4
+ import { createRequire } from 'module';
5
+ import { pathToFileURL } from 'url';
7
6
  import { toPascalCase } from '../lib/patterns.mjs';
8
7
 
8
+ /**
9
+ * Resolve the ESM entry point for a package from a specific project directory.
10
+ * This avoids the CJS deprecation warning from packages like Vite.
11
+ */
12
+ function resolveEsmEntry(require, packageName) {
13
+ // First resolve to find where the package is located
14
+ const resolvedPath = require.resolve(packageName);
15
+
16
+ // Walk up to find the package's package.json
17
+ let dir = path.dirname(resolvedPath);
18
+ while (dir !== path.dirname(dir)) {
19
+ const pkgJsonPath = path.join(dir, 'package.json');
20
+ if (existsSync(pkgJsonPath)) {
21
+ const pkg = JSON.parse(readFileSync(pkgJsonPath, 'utf-8'));
22
+ if (pkg.name === packageName) {
23
+ // Found the package.json, look for ESM entry in exports
24
+ const exports = pkg.exports;
25
+ if (exports?.['.']?.import) {
26
+ const importEntry = exports['.'].import;
27
+ // Handle nested conditions like { types, default }
28
+ const esmPath = typeof importEntry === 'string' ? importEntry : importEntry.default;
29
+ if (esmPath) {
30
+ return pathToFileURL(path.join(dir, esmPath)).href;
31
+ }
32
+ }
33
+ // Fallback to module field
34
+ if (pkg.module) {
35
+ return pathToFileURL(path.join(dir, pkg.module)).href;
36
+ }
37
+ break;
38
+ }
39
+ }
40
+ dir = path.dirname(dir);
41
+ }
42
+
43
+ // Fallback to resolved path (may be CJS)
44
+ return pathToFileURL(resolvedPath).href;
45
+ }
46
+
9
47
  /**
10
48
  * Build all resources for a Sunpeak project
11
49
  * Runs in the context of a user's project directory
@@ -48,6 +86,31 @@ export async function build(projectRoot = process.cwd()) {
48
86
  process.exit(1);
49
87
  }
50
88
 
89
+ // Import vite and plugins from the user's project (not from sunpeak's node_modules)
90
+ // This allows sunpeak to work when installed globally
91
+ // We resolve to ESM entry points to avoid the CJS deprecation warning from Vite
92
+ const require = createRequire(path.join(projectRoot, 'package.json'));
93
+ let viteBuild, react, tailwindcss;
94
+ try {
95
+ const [viteModule, reactModule, tailwindModule] = await Promise.all([
96
+ import(resolveEsmEntry(require, 'vite')),
97
+ import(resolveEsmEntry(require, '@vitejs/plugin-react')),
98
+ import(resolveEsmEntry(require, '@tailwindcss/vite')),
99
+ ]);
100
+ viteBuild = viteModule.build;
101
+ react = reactModule.default;
102
+ tailwindcss = tailwindModule.default;
103
+ } catch (error) {
104
+ console.error('Error: Could not load build dependencies from your project.');
105
+ console.error('\nMake sure you have these packages installed in your project:');
106
+ console.error(' - vite');
107
+ console.error(' - @vitejs/plugin-react');
108
+ console.error(' - @tailwindcss/vite');
109
+ console.error('\nRun: npm install -D vite @vitejs/plugin-react @tailwindcss/vite');
110
+ console.error('\nOriginal error:', error.message);
111
+ process.exit(1);
112
+ }
113
+
51
114
  // Plugin factory to inline CSS into the JS bundle for all output files
52
115
  const inlineCssPlugin = (buildOutDir) => ({
53
116
  name: 'inline-css',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sunpeak",
3
- "version": "0.12.7",
3
+ "version": "0.12.8",
4
4
  "description": "The ChatGPT App framework. Quickstart, build, & test your ChatGPT App locally!",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",