termcast 1.4.1 → 1.6.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 (180) hide show
  1. package/dist/build.d.ts.map +1 -1
  2. package/dist/build.js +30 -12
  3. package/dist/build.js.map +1 -1
  4. package/dist/cli.js +0 -40
  5. package/dist/cli.js.map +1 -1
  6. package/dist/compile.d.ts.map +1 -1
  7. package/dist/compile.js +7 -1
  8. package/dist/compile.js.map +1 -1
  9. package/dist/components/bar-graph.d.ts +23 -8
  10. package/dist/components/bar-graph.d.ts.map +1 -1
  11. package/dist/components/bar-graph.js +84 -40
  12. package/dist/components/bar-graph.js.map +1 -1
  13. package/dist/components/dotted-line-graph.d.ts +86 -0
  14. package/dist/components/dotted-line-graph.d.ts.map +1 -0
  15. package/dist/components/dotted-line-graph.js +260 -0
  16. package/dist/components/dotted-line-graph.js.map +1 -0
  17. package/dist/components/extension-preferences.d.ts.map +1 -1
  18. package/dist/components/extension-preferences.js +1 -10
  19. package/dist/components/extension-preferences.js.map +1 -1
  20. package/dist/components/graph.d.ts.map +1 -1
  21. package/dist/components/graph.js +7 -1
  22. package/dist/components/graph.js.map +1 -1
  23. package/dist/components/histogram.d.ts +42 -0
  24. package/dist/components/histogram.d.ts.map +1 -0
  25. package/dist/components/histogram.js +115 -0
  26. package/dist/components/histogram.js.map +1 -0
  27. package/dist/components/horizontal-bar-graph.d.ts +47 -0
  28. package/dist/components/horizontal-bar-graph.d.ts.map +1 -0
  29. package/dist/components/horizontal-bar-graph.js +137 -0
  30. package/dist/components/horizontal-bar-graph.js.map +1 -0
  31. package/dist/components/list.d.ts +9 -0
  32. package/dist/components/list.d.ts.map +1 -1
  33. package/dist/components/list.js +84 -21
  34. package/dist/components/list.js.map +1 -1
  35. package/dist/examples/bar-graph-weekly.js +2 -2
  36. package/dist/examples/bar-graph-weekly.js.map +1 -1
  37. package/dist/examples/charts-showcase-barchart.d.ts +2 -0
  38. package/dist/examples/charts-showcase-barchart.d.ts.map +1 -0
  39. package/dist/examples/charts-showcase-barchart.js +10 -0
  40. package/dist/examples/charts-showcase-barchart.js.map +1 -0
  41. package/dist/examples/charts-showcase-bargraph.d.ts +2 -0
  42. package/dist/examples/charts-showcase-bargraph.d.ts.map +1 -0
  43. package/dist/examples/charts-showcase-bargraph.js +60 -0
  44. package/dist/examples/charts-showcase-bargraph.js.map +1 -0
  45. package/dist/examples/charts-showcase-candle.d.ts +2 -0
  46. package/dist/examples/charts-showcase-candle.d.ts.map +1 -0
  47. package/dist/examples/charts-showcase-candle.js +30 -0
  48. package/dist/examples/charts-showcase-candle.js.map +1 -0
  49. package/dist/examples/charts-showcase-graph.d.ts +2 -0
  50. package/dist/examples/charts-showcase-graph.d.ts.map +1 -0
  51. package/dist/examples/charts-showcase-graph.js +33 -0
  52. package/dist/examples/charts-showcase-graph.js.map +1 -0
  53. package/dist/examples/charts-showcase-heatmap.d.ts +2 -0
  54. package/dist/examples/charts-showcase-heatmap.d.ts.map +1 -0
  55. package/dist/examples/charts-showcase-heatmap.js +36 -0
  56. package/dist/examples/charts-showcase-heatmap.js.map +1 -0
  57. package/dist/examples/charts-showcase-mixed.d.ts +2 -0
  58. package/dist/examples/charts-showcase-mixed.d.ts.map +1 -0
  59. package/dist/examples/charts-showcase-mixed.js +30 -0
  60. package/dist/examples/charts-showcase-mixed.js.map +1 -0
  61. package/dist/examples/charts-showcase-progress.d.ts +2 -0
  62. package/dist/examples/charts-showcase-progress.d.ts.map +1 -0
  63. package/dist/examples/charts-showcase-progress.js +10 -0
  64. package/dist/examples/charts-showcase-progress.js.map +1 -0
  65. package/dist/examples/graph-multi-series.js +1 -1
  66. package/dist/examples/graph-multi-series.js.map +1 -1
  67. package/dist/examples/horizontal-bar-graph-weekly.d.ts +2 -0
  68. package/dist/examples/horizontal-bar-graph-weekly.d.ts.map +1 -0
  69. package/dist/examples/horizontal-bar-graph-weekly.js +67 -0
  70. package/dist/examples/horizontal-bar-graph-weekly.js.map +1 -0
  71. package/dist/examples/list-detail-height-ratchet.d.ts +2 -0
  72. package/dist/examples/list-detail-height-ratchet.d.ts.map +1 -0
  73. package/dist/examples/list-detail-height-ratchet.js +26 -0
  74. package/dist/examples/list-detail-height-ratchet.js.map +1 -0
  75. package/dist/examples/simple-dotted-line-graph.d.ts +2 -0
  76. package/dist/examples/simple-dotted-line-graph.d.ts.map +1 -0
  77. package/dist/examples/simple-dotted-line-graph.js +39 -0
  78. package/dist/examples/simple-dotted-line-graph.js.map +1 -0
  79. package/dist/examples/simple-histogram.d.ts +2 -0
  80. package/dist/examples/simple-histogram.d.ts.map +1 -0
  81. package/dist/examples/simple-histogram.js +47 -0
  82. package/dist/examples/simple-histogram.js.map +1 -0
  83. package/dist/extensions/dev.d.ts.map +1 -1
  84. package/dist/extensions/dev.js +1 -0
  85. package/dist/extensions/dev.js.map +1 -1
  86. package/dist/globals.js +8 -0
  87. package/dist/globals.js.map +1 -1
  88. package/dist/index.d.ts +6 -0
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +6 -0
  91. package/dist/index.js.map +1 -1
  92. package/dist/package-json.d.ts +2 -0
  93. package/dist/package-json.d.ts.map +1 -1
  94. package/dist/package-json.js +20 -17
  95. package/dist/package-json.js.map +1 -1
  96. package/dist/platform/node/sqlite.d.ts +6 -5
  97. package/dist/platform/node/sqlite.d.ts.map +1 -1
  98. package/dist/platform/node/sqlite.js +30 -14
  99. package/dist/platform/node/sqlite.js.map +1 -1
  100. package/dist/profiler.d.ts +2 -0
  101. package/dist/profiler.d.ts.map +1 -0
  102. package/dist/profiler.js +390 -0
  103. package/dist/profiler.js.map +1 -0
  104. package/dist/theme.d.ts.map +1 -1
  105. package/dist/theme.js +11 -9
  106. package/dist/theme.js.map +1 -1
  107. package/dist/utils/run-command.d.ts.map +1 -1
  108. package/dist/utils/run-command.js +8 -19
  109. package/dist/utils/run-command.js.map +1 -1
  110. package/dist/utils.d.ts +1 -19
  111. package/dist/utils.d.ts.map +1 -1
  112. package/dist/utils.js +1 -100
  113. package/dist/utils.js.map +1 -1
  114. package/package.json +18 -21
  115. package/src/build.tsx +38 -15
  116. package/src/cli.tsx +3 -40
  117. package/src/compile.tsx +9 -1
  118. package/src/compile.vitest.tsx +8 -8
  119. package/src/components/bar-graph.tsx +217 -111
  120. package/src/components/dotted-line-graph.tsx +407 -0
  121. package/src/components/extension-preferences.tsx +2 -12
  122. package/src/components/graph.tsx +5 -1
  123. package/src/components/histogram.tsx +228 -0
  124. package/src/components/horizontal-bar-graph.tsx +279 -0
  125. package/src/components/list.tsx +112 -26
  126. package/src/examples/action-shortcut.vitest.tsx +20 -20
  127. package/src/examples/actions-context.vitest.tsx +2 -2
  128. package/src/examples/bar-graph-weekly.tsx +2 -2
  129. package/src/examples/bar-graph-weekly.vitest.tsx +103 -102
  130. package/src/examples/charts-showcase-bargraph.tsx +103 -0
  131. package/src/examples/detail-metadata-showcase.vitest.tsx +12 -12
  132. package/src/examples/form-basic.vitest.tsx +11 -11
  133. package/src/examples/form-dropdown.vitest.tsx +11 -11
  134. package/src/examples/form-scroll.vitest.tsx +1 -1
  135. package/src/examples/form-tagpicker.vitest.tsx +11 -11
  136. package/src/examples/github.vitest.tsx +22 -31
  137. package/src/examples/graph-bar-chart.vitest.tsx +36 -36
  138. package/src/examples/graph-multi-series.tsx +1 -1
  139. package/src/examples/graph-polymarket.vitest.tsx +24 -24
  140. package/src/examples/graph-row.vitest.tsx +14 -14
  141. package/src/examples/graph-styles.vitest.tsx +77 -77
  142. package/src/examples/horizontal-bar-graph-weekly.tsx +138 -0
  143. package/src/examples/horizontal-bar-graph-weekly.vitest.tsx +164 -0
  144. package/src/examples/list-detail-height-ratchet.tsx +48 -0
  145. package/src/examples/list-detail-height-ratchet.vitest.tsx +161 -0
  146. package/src/examples/list-detail-metadata.vitest.tsx +51 -51
  147. package/src/examples/list-dropdown-default.vitest.tsx +27 -27
  148. package/src/examples/list-fetch-data.vitest.tsx +3 -3
  149. package/src/examples/list-loading-empty-view.vitest.tsx +1 -1
  150. package/src/examples/list-no-actions.vitest.tsx +3 -3
  151. package/src/examples/list-scrollbox.vitest.tsx +6 -6
  152. package/src/examples/list-spacing-mode.vitest.tsx +1 -1
  153. package/src/examples/list-with-detail.vitest.tsx +55 -55
  154. package/src/examples/list-with-dropdown.vitest.tsx +6 -6
  155. package/src/examples/list-with-sections.vitest.tsx +20 -20
  156. package/src/examples/list-with-toast.vitest.tsx +4 -4
  157. package/src/examples/simple-candle-chart.vitest.tsx +61 -59
  158. package/src/examples/simple-dotted-line-graph.tsx +53 -0
  159. package/src/examples/simple-dotted-line-graph.vitest.tsx +62 -0
  160. package/src/examples/simple-grid.vitest.tsx +4 -4
  161. package/src/examples/simple-heatmap.vitest.tsx +9 -9
  162. package/src/examples/simple-histogram.tsx +90 -0
  163. package/src/examples/simple-navigation.vitest.tsx +25 -25
  164. package/src/examples/simple-progress-bar.vitest.tsx +7 -7
  165. package/src/examples/swift-extension.vitest.tsx +5 -5
  166. package/src/examples/toast-action.vitest.tsx +4 -4
  167. package/src/extensions/dev.tsx +2 -1
  168. package/src/extensions/dev.vitest.tsx +17 -17
  169. package/src/globals.ts +9 -0
  170. package/src/index.tsx +21 -0
  171. package/src/package-json.tsx +24 -23
  172. package/src/platform/node/sqlite.ts +29 -13
  173. package/src/profiler.tsx +487 -0
  174. package/src/theme.tsx +11 -10
  175. package/src/utils/run-command.tsx +10 -19
  176. package/src/utils.tsx +0 -163
  177. package/src/examples/store.tsx +0 -4
  178. package/src/examples/store.vitest.tsx +0 -78
  179. package/src/extensions/home.tsx +0 -227
  180. package/src/extensions/store.tsx +0 -375
package/dist/utils.js CHANGED
@@ -2,8 +2,7 @@ import { jsx as _jsx } from "@opentui/react/jsx-runtime";
2
2
  import { createRoot } from '@opentui/react';
3
3
  import { createCliRenderer } from '@opentui/core';
4
4
  import { TermcastProvider } from 'termcast/src/internal/providers';
5
- import { joinPath, homedir, platform, exit, fileExists, ensureDir, readdirSync, rmSync, mkdirSync, cpSync, } from '#platform/runtime';
6
- import { parsePackageJson, getCommandsWithFiles, } from './package-json';
5
+ import { joinPath, homedir, platform, exit, fileExists, } from '#platform/runtime';
7
6
  import { logger } from './logger';
8
7
  import { useStore } from './state';
9
8
  import { initializeTheme } from './theme';
@@ -217,46 +216,6 @@ export function captureException(exception) {
217
216
  // TODO: Implement error reporting to Developer Hub
218
217
  console.error('[captureException] Exception captured:', exception);
219
218
  }
220
- export function getExtensionPath(extensionName) {
221
- const storeDir = getStoreDirectory();
222
- return joinPath(storeDir, extensionName);
223
- }
224
- export function getExtensionPackageJsonPath(extensionName) {
225
- return joinPath(getExtensionPath(extensionName), 'package.json');
226
- }
227
- export function getExtensionPackageJson(extensionName) {
228
- const packageJsonPath = getExtensionPackageJsonPath(extensionName);
229
- if (!fileExists(packageJsonPath)) {
230
- return null;
231
- }
232
- try {
233
- return parsePackageJson({ packageJsonPath });
234
- }
235
- catch (error) {
236
- console.error(`Failed to parse package.json for ${extensionName}:`, error);
237
- return null;
238
- }
239
- }
240
- export function checkExtensionPreferences(extensionName) {
241
- const packageJson = getExtensionPackageJson(extensionName);
242
- if (!packageJson) {
243
- return { hasPreferences: false, hasRequiredPreferences: false };
244
- }
245
- // Check for extension-wide preferences
246
- const hasExtensionPreferences = packageJson.preferences && packageJson.preferences.length > 0;
247
- // Check if any command has preferences
248
- const commandsWithPreferences = (packageJson.commands || []).filter((cmd) => cmd.preferences && cmd.preferences.length > 0);
249
- const hasPreferences = hasExtensionPreferences || commandsWithPreferences.length > 0;
250
- // Check for required extension-wide preferences
251
- const requiredExtensionPrefs = (packageJson.preferences || []).filter((pref) => pref.required);
252
- // Check if any command has required preferences
253
- const commandsWithRequiredPrefs = (packageJson.commands || []).filter((cmd) => {
254
- const requiredPrefs = (cmd.preferences || []).filter((pref) => pref.required);
255
- return requiredPrefs.length > 0;
256
- });
257
- const hasRequiredPreferences = requiredExtensionPrefs.length > 0 || commandsWithRequiredPrefs.length > 0;
258
- return { hasPreferences, hasRequiredPreferences };
259
- }
260
219
  export function resolveCommandPath({ commandName, dir, }) {
261
220
  // First check for .termcast-bundle directory
262
221
  const bundleDir = joinPath(dir, '.termcast-bundle');
@@ -272,64 +231,6 @@ export function resolveCommandPath({ commandName, dir, }) {
272
231
  // Return empty string if not found
273
232
  return '';
274
233
  }
275
- export function getStoreDirectory() {
276
- const homeDir = homedir();
277
- const storeDir = joinPath(homeDir, '.termcast', 'store');
278
- // Ensure store directory exists
279
- ensureDir(storeDir);
280
- return storeDir;
281
- }
282
- export function installExtension({ extensionName, extensionSourcePath, }) {
283
- const storeDir = getStoreDirectory();
284
- const extensionDir = joinPath(storeDir, extensionName);
285
- if (fileExists(extensionDir)) {
286
- rmSync(extensionDir);
287
- }
288
- mkdirSync(extensionDir);
289
- cpSync(extensionSourcePath, extensionDir);
290
- logger.log(`Extension '${extensionName}' installed to ${extensionDir}`);
291
- }
292
- export function getStoredExtensions() {
293
- const storeDir = getStoreDirectory();
294
- const extensions = [];
295
- if (!fileExists(storeDir)) {
296
- return extensions;
297
- }
298
- const entries = readdirSync(storeDir);
299
- for (const entry of entries) {
300
- if (!entry.isDirectory())
301
- continue;
302
- const extensionDir = joinPath(storeDir, entry.name);
303
- const packageJsonPath = joinPath(extensionDir, 'package.json');
304
- if (!fileExists(packageJsonPath)) {
305
- logger.log(`Skipping ${entry.name}: no package.json found`);
306
- continue;
307
- }
308
- try {
309
- const commandsData = getCommandsWithFiles({ packageJsonPath });
310
- // Map commands to bundled commands using the resolver
311
- const bundledCommands = commandsData.commands.map((command) => {
312
- const bundledPath = resolveCommandPath({
313
- commandName: command.name,
314
- dir: extensionDir,
315
- });
316
- return {
317
- ...command,
318
- bundledPath,
319
- };
320
- });
321
- extensions.push({
322
- name: entry.name,
323
- packageJsonPath,
324
- commands: bundledCommands,
325
- });
326
- }
327
- catch (error) {
328
- logger.error(`Failed to load extension ${entry.name}:`, error.message);
329
- }
330
- }
331
- return extensions;
332
- }
333
234
  /**
334
235
  * Executes an AppleScript or JavaScript for Automation script on macOS.
335
236
  *
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,18 +1,9 @@
1
1
  {
2
2
  "name": "termcast",
3
- "version": "1.4.1",
3
+ "version": "1.6.0",
4
4
  "description": "Raycast for the terminal",
5
5
  "repository": "https://github.com/remorses/termcast",
6
6
  "types": "./dist/index.d.ts",
7
- "scripts": {
8
- "build": "tsc",
9
- "prepublishOnly": "bun x tsc && chmod +x dist/cli.js",
10
- "release": "cd .. && bun changeset version && /Users/morse/Documents/GitHub/changesets/packages/cli/bin.js publish # my own fork to support github releases",
11
- "see-raycast-types": "zed node_modules/@raycast/api/types/index.d.ts",
12
- "play": "bun src/cli.tsx",
13
- "test": "bun test && bun e2e",
14
- "e2e": "vitest -u"
15
- },
16
7
  "bin": {
17
8
  "termcast": "./dist/cli.js"
18
9
  },
@@ -94,7 +85,6 @@
94
85
  "@parcel/watcher": "^2.5.6",
95
86
  "@tanstack/react-query": "^5.85.5",
96
87
  "@tanstack/react-query-persist-client": "^5.85.5",
97
- "@termcast/utils": "^2.2.8",
98
88
  "change-case": "^5.4.4",
99
89
  "colord": "^2.9.3",
100
90
  "goke": "^6.6.0",
@@ -107,20 +97,19 @@
107
97
  "react-refresh": "^0.18.0",
108
98
  "simple-plist": "^1.3.1",
109
99
  "string-dedent": "^3.0.2",
110
- "better-sqlite3": "^12.8.0",
111
- "zustand": "^5.0.8"
100
+ "zustand": "^5.0.8",
101
+ "@termcast/utils": "^2.2.8"
112
102
  },
113
103
  "peerDependencies": {
114
- "@opentui/core": "^0.1.102",
115
- "@opentui/react": "^0.1.102",
104
+ "@opentui/core": "^0.2.12",
105
+ "@opentui/react": "^0.2.12",
116
106
  "react": "*"
117
107
  },
118
108
  "devDependencies": {
119
- "@opentui/core": "^0.1.102",
120
- "@opentui/react": "^0.1.102",
109
+ "@opentui/core": "^0.2.12",
110
+ "@opentui/react": "^0.2.12",
121
111
  "@raycast/api": "^1.102.5",
122
112
  "@raycast/utils": "^2.2.1",
123
- "@types/better-sqlite3": "^7.6.13",
124
113
  "@types/bun": "^1.3.9",
125
114
  "@types/node": "^25.2.3",
126
115
  "@xterm/addon-serialize": "^0.13.0",
@@ -128,10 +117,18 @@
128
117
  "bun-pty": "0.4.8",
129
118
  "zigpty": "^0.0.4",
130
119
  "react": "^19.2.4",
131
- "tuistory": "^0.3.0",
132
- "vitest": "^4.0.16"
120
+ "vitest": "^4.0.16",
121
+ "tuistory": "^0.8.1"
133
122
  },
134
123
  "optionalDependencies": {
135
124
  "sharp": "^0.34.5"
125
+ },
126
+ "scripts": {
127
+ "build": "tsc",
128
+ "release": "cd .. && pnpm changeset version && /Users/morse/Documents/GitHub/changesets/packages/cli/bin.js publish # my own fork to support github releases",
129
+ "see-raycast-types": "zed node_modules/@raycast/api/types/index.d.ts",
130
+ "play": "bun src/cli.tsx",
131
+ "test": "bun test && pnpm e2e",
132
+ "e2e": "vitest -u"
136
133
  }
137
- }
134
+ }
package/src/build.tsx CHANGED
@@ -131,20 +131,21 @@ export const aliasPlugin: BunPlugin = {
131
131
  // Handle regular packages
132
132
  const pkg = packages.find((p) => p.path === args.path)
133
133
  if (pkg) {
134
+ if (pkg.path === 'react') {
135
+ return {
136
+ contents: `module.exports = globalThis.${pkg.globalName};`,
137
+ loader: 'js',
138
+ pure: true,
139
+ }
140
+ }
141
+
134
142
  const exports: string[] = []
135
143
 
136
144
  for (const key in pkg.module) {
137
145
  if (key === 'default') {
138
- // Special handling for react default export
139
- if (pkg.path === 'react') {
140
- exports.push(
141
- `export default /* @__PURE__ */ globalThis.${pkg.globalName};`,
142
- )
143
- } else {
144
- exports.push(
145
- `export default /* @__PURE__ */ globalThis.${pkg.globalName}.default;`,
146
- )
147
- }
146
+ exports.push(
147
+ `export default /* @__PURE__ */ globalThis.${pkg.globalName}.default;`,
148
+ )
148
149
  } else {
149
150
  exports.push(
150
151
  `export const ${key} = /* @__PURE__ */ globalThis.${pkg.globalName}.${key};`,
@@ -243,13 +244,35 @@ export async function buildExtensionCommands({
243
244
  packageJsonPath: path.join(resolvedPath, 'package.json'),
244
245
  })
245
246
 
246
- // Filter existing command files as entrypoints
247
- const entrypoints = commandsData.commands
248
- .filter((cmd) => cmd.exists)
249
- .map((cmd) => cmd.filePath)
247
+ // Build entrypoints. For directory-style entries (e.g. src/tui/index.tsx),
248
+ // generate a wrapper file named {command}.tsx in the bundle dir so Bun
249
+ // outputs {command}.js instead of index.js. This avoids collisions when
250
+ // multiple commands use directory entries (Bun fails with "Multiple files
251
+ // share the same output path ./index.js" otherwise).
252
+ const existingCommands = commandsData.commands.filter((cmd) => cmd.exists)
253
+ const entrypoints = existingCommands.map((cmd) => {
254
+ const isDirectoryEntry = path.basename(cmd.filePath).startsWith('index.')
255
+ if (isDirectoryEntry) {
256
+ const wrapperPath = path.join(bundleDir, `${cmd.name}.tsx`)
257
+ fs.writeFileSync(
258
+ wrapperPath,
259
+ `export * from ${JSON.stringify(cmd.filePath)};\nexport { default } from ${JSON.stringify(cmd.filePath)};\n`,
260
+ )
261
+ return wrapperPath
262
+ }
263
+ return cmd.filePath
264
+ })
250
265
 
251
266
  if (entrypoints.length === 0) {
252
- throw new Error('No command files found to build')
267
+ const tried = commandsData.commands
268
+ .map((cmd) => {
269
+ const paths = cmd.checkedPaths.map((p) => ` ${p}`).join('\n')
270
+ return ` command "${cmd.name}" checked:\n${paths}`
271
+ })
272
+ .join('\n')
273
+ throw new Error(
274
+ `No command files found to build.\n${tried}\n\nEach command in package.json "commands" needs a matching file: {name}.tsx or {name}/index.tsx in the project root or src/`,
275
+ )
253
276
  }
254
277
 
255
278
  logger.log(`Building ${entrypoints.length} commands...`)
package/src/cli.tsx CHANGED
@@ -11,7 +11,7 @@ import { goke } from 'goke'
11
11
  import { getWatcher } from './watcher'
12
12
  import { buildExtensionCommands } from './build'
13
13
  import { logger } from './logger'
14
- import { installExtension } from './utils'
14
+
15
15
  import { searchStoreListings } from './store-api/search'
16
16
  import './globals'
17
17
  import { startDevMode, triggerRebuild } from './extensions/dev'
@@ -19,7 +19,7 @@ import { compileExtension } from './compile'
19
19
  import { releaseExtension } from './release'
20
20
  import { buildApp } from './app'
21
21
  import { themeNames } from './themes'
22
- import { runHomeCommand } from './extensions/home'
22
+
23
23
  import { showToast, Toast } from './apis/toast'
24
24
  import packageJson from '../package.json'
25
25
 
@@ -174,40 +174,7 @@ cli
174
174
  await runDevAction(rawExtensionPath)
175
175
  })
176
176
 
177
- cli
178
- .command('build [path]', 'Build and install the extension to user store')
179
- .action(async (extensionPath, options) => {
180
- extensionPath = path.resolve(extensionPath || process.cwd())
181
177
 
182
- console.log('Building extension...')
183
- try {
184
- const buildResult = await buildExtensionCommands({
185
- extensionPath,
186
- format: 'esm',
187
- target: 'bun',
188
- })
189
- console.log(`Successfully built ${buildResult.commands.length} commands`)
190
-
191
- for (const cmd of buildResult.commands) {
192
- if (cmd.bundledPath) {
193
- console.log(` ✓ ${cmd.name}`)
194
- }
195
- }
196
-
197
- const packageJsonPath = path.join(extensionPath, 'package.json')
198
- const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'))
199
- const extensionName = packageJson.name || path.basename(extensionPath)
200
- installExtension({
201
- extensionName,
202
- extensionSourcePath: extensionPath,
203
- })
204
- console.log(`\nExtension installed to store as '${extensionName}'`)
205
- process.exit(0)
206
- } catch (error: any) {
207
- console.error('Build failed:', error.message)
208
- process.exit(1)
209
- }
210
- })
211
178
 
212
179
  cli
213
180
  .command('compile [path]', 'Compile the extension to a standalone executable')
@@ -846,11 +813,7 @@ cli
846
813
  }
847
814
  })
848
815
 
849
- cli
850
- .command('legacy-raycast-store', 'List and run installed extensions')
851
- .action(async () => {
852
- await runHomeCommand()
853
- })
816
+
854
817
 
855
818
 
856
819
 
package/src/compile.tsx CHANGED
@@ -190,7 +190,15 @@ export async function compileExtension({
190
190
  if (!entry) {
191
191
  const existingCommands = commands.filter((cmd) => cmd.exists)
192
192
  if (existingCommands.length === 0) {
193
- throw new Error('No command files found to build')
193
+ const tried = commands
194
+ .map((cmd) => {
195
+ const paths = cmd.checkedPaths.map((p) => ` ${p}`).join('\n')
196
+ return ` command "${cmd.name}" checked:\n${paths}`
197
+ })
198
+ .join('\n')
199
+ throw new Error(
200
+ `No command files found to build.\n${tried}\n\nEach command in package.json "commands" needs a matching file: {name}.tsx or {name}/index.tsx in the project root or src/`,
201
+ )
194
202
  }
195
203
  logger.log(`Compiling ${existingCommands.length} commands...`)
196
204
  } else {
@@ -90,13 +90,13 @@ test('compile extension and run executable', async () => {
90
90
 
91
91
  Commands
92
92
  ›List Items Displays a simple list with some items view
93
- Search Items Search and filter through a list of view
93
+ Search ItemsSearch and filter...h a list of items view
94
94
  Google Oauth view
95
- usePromise Demo Shows how to use the usePromise h view
96
- Show State Shows the current application state in view
97
-
98
-
99
- run command ↑↓ navigate ^k actions :vim
95
+ usePr...e Dem Shows how to use...m @raycast/utils view
96
+ Show Stat Shows the current ...ate in JSON format view
97
+ With ...mentsDemonstrates com...ssword, dropdown) view
98
+ Quic...tionCopies current t...t showing a view no-view
99
+ Throw ErrorCommand that thro...rror at root scope view
100
100
  "
101
101
  `)
102
102
  }, 60000)
@@ -142,7 +142,7 @@ test('compiled executable can run command', async () => {
142
142
  ○ Fifth Item This is the fifth item
143
143
 
144
144
 
145
- ✓ Copied to Clipboard First Item
145
+
146
146
  "
147
147
  `)
148
148
  }, 60000)
@@ -198,7 +198,7 @@ test('compiled executable can navigate back', async () => {
198
198
  ○ Fifth Item This is the fifth item
199
199
 
200
200
 
201
- ↵ copy item title ↑↓ navigate ^k actions :vim
201
+
202
202
  "
203
203
  `)
204
204
  }, 60000)