@osdk/create-widget 2.0.0-beta.8 → 2.0.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 (118) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/build/{browser/esm-VPCD3XBG.js → esm/esm-C6MU7DAZ.js} +104 -82
  3. package/build/esm/esm-C6MU7DAZ.js.map +1 -0
  4. package/build/esm/esm-ENH745KN.js +240 -0
  5. package/build/esm/esm-ENH745KN.js.map +1 -0
  6. package/build/esm/index.js +42 -51
  7. package/build/esm/index.js.map +1 -1
  8. package/build/{esm → types}/cli.d.ts +0 -1
  9. package/build/types/cli.d.ts.map +1 -0
  10. package/build/types/cli.test.d.ts +1 -0
  11. package/build/types/cli.test.d.ts.map +1 -0
  12. package/build/{esm → types}/consola.d.ts +0 -1
  13. package/build/types/consola.d.ts.map +1 -0
  14. package/build/types/generate/generateFoundryConfigJson.d.ts +5 -0
  15. package/build/types/generate/generateFoundryConfigJson.d.ts.map +1 -0
  16. package/build/types/generate/generateFoundryConfigJson.test.d.ts +1 -0
  17. package/build/types/generate/generateFoundryConfigJson.test.d.ts.map +1 -0
  18. package/build/types/generate/generateNpmRc.d.ts +4 -0
  19. package/build/types/generate/generateNpmRc.d.ts.map +1 -0
  20. package/build/types/generate/generateNpmRc.test.d.ts +1 -0
  21. package/build/types/generate/generateNpmRc.test.d.ts.map +1 -0
  22. package/build/{esm → types}/generatedNoCheck/templates.d.ts +0 -1
  23. package/build/types/generatedNoCheck/templates.d.ts.map +1 -0
  24. package/build/{esm → types}/getPackageFiles.d.ts +1 -2
  25. package/build/types/getPackageFiles.d.ts.map +1 -0
  26. package/build/{esm → types}/highlight.d.ts +0 -1
  27. package/build/types/highlight.d.ts.map +1 -0
  28. package/build/{esm → types}/index.d.ts +1 -2
  29. package/build/types/index.d.ts.map +1 -0
  30. package/build/types/prompts/promptFoundryUrl.d.ts +3 -0
  31. package/build/types/prompts/promptFoundryUrl.d.ts.map +1 -0
  32. package/build/types/prompts/promptFoundryUrl.test.d.ts +1 -0
  33. package/build/types/prompts/promptFoundryUrl.test.d.ts.map +1 -0
  34. package/build/types/prompts/promptOsdkPackage.d.ts +3 -0
  35. package/build/types/prompts/promptOsdkPackage.d.ts.map +1 -0
  36. package/build/types/prompts/promptOsdkPackage.test.d.ts +1 -0
  37. package/build/types/prompts/promptOsdkPackage.test.d.ts.map +1 -0
  38. package/build/types/prompts/promptOsdkRegistryUrl.d.ts +3 -0
  39. package/build/types/prompts/promptOsdkRegistryUrl.d.ts.map +1 -0
  40. package/build/types/prompts/promptOsdkRegistryUrl.test.d.ts +1 -0
  41. package/build/types/prompts/promptOsdkRegistryUrl.test.d.ts.map +1 -0
  42. package/build/types/prompts/promptOverwrite.d.ts +4 -0
  43. package/build/types/prompts/promptOverwrite.d.ts.map +1 -0
  44. package/build/types/prompts/promptOverwrite.test.d.ts +1 -0
  45. package/build/types/prompts/promptOverwrite.test.d.ts.map +1 -0
  46. package/build/types/prompts/promptProject.d.ts +3 -0
  47. package/build/types/prompts/promptProject.d.ts.map +1 -0
  48. package/build/types/prompts/promptProject.test.d.ts +1 -0
  49. package/build/types/prompts/promptProject.test.d.ts.map +1 -0
  50. package/build/types/prompts/promptSdkVersion.d.ts +5 -0
  51. package/build/types/prompts/promptSdkVersion.d.ts.map +1 -0
  52. package/build/{esm → types}/prompts/promptTemplate.d.ts +2 -3
  53. package/build/types/prompts/promptTemplate.d.ts.map +1 -0
  54. package/build/types/prompts/promptTemplate.test.d.ts +1 -0
  55. package/build/types/prompts/promptTemplate.test.d.ts.map +1 -0
  56. package/build/types/prompts/promptWidgetSetRid.d.ts +3 -0
  57. package/build/types/prompts/promptWidgetSetRid.d.ts.map +1 -0
  58. package/build/types/prompts/promptWidgetSetRid.test.d.ts +1 -0
  59. package/build/types/prompts/promptWidgetSetRid.test.d.ts.map +1 -0
  60. package/build/types/run.d.ts +13 -0
  61. package/build/types/run.d.ts.map +1 -0
  62. package/build/types/templates.d.ts +22 -0
  63. package/build/types/templates.d.ts.map +1 -0
  64. package/package.json +25 -20
  65. package/build/browser/esm-VPCD3XBG.js.map +0 -1
  66. package/build/browser/index.js +0 -432
  67. package/build/browser/index.js.map +0 -1
  68. package/build/esm/cli.d.ts.map +0 -1
  69. package/build/esm/cli.test.d.ts +0 -2
  70. package/build/esm/cli.test.d.ts.map +0 -1
  71. package/build/esm/consola.d.ts.map +0 -1
  72. package/build/esm/esm-VPCD3XBG.js +0 -365
  73. package/build/esm/esm-VPCD3XBG.js.map +0 -1
  74. package/build/esm/generate/generateFoundryConfigJson.d.ts +0 -6
  75. package/build/esm/generate/generateFoundryConfigJson.d.ts.map +0 -1
  76. package/build/esm/generate/generateFoundryConfigJson.test.d.ts +0 -2
  77. package/build/esm/generate/generateFoundryConfigJson.test.d.ts.map +0 -1
  78. package/build/esm/generate/generateNpmRc.d.ts +0 -5
  79. package/build/esm/generate/generateNpmRc.d.ts.map +0 -1
  80. package/build/esm/generate/generateNpmRc.test.d.ts +0 -2
  81. package/build/esm/generate/generateNpmRc.test.d.ts.map +0 -1
  82. package/build/esm/generatedNoCheck/templates.d.ts.map +0 -1
  83. package/build/esm/getPackageFiles.d.ts.map +0 -1
  84. package/build/esm/highlight.d.ts.map +0 -1
  85. package/build/esm/index.d.ts.map +0 -1
  86. package/build/esm/prompts/promptFoundryUrl.d.ts +0 -4
  87. package/build/esm/prompts/promptFoundryUrl.d.ts.map +0 -1
  88. package/build/esm/prompts/promptFoundryUrl.test.d.ts +0 -2
  89. package/build/esm/prompts/promptFoundryUrl.test.d.ts.map +0 -1
  90. package/build/esm/prompts/promptOsdkPackage.d.ts +0 -4
  91. package/build/esm/prompts/promptOsdkPackage.d.ts.map +0 -1
  92. package/build/esm/prompts/promptOsdkPackage.test.d.ts +0 -2
  93. package/build/esm/prompts/promptOsdkPackage.test.d.ts.map +0 -1
  94. package/build/esm/prompts/promptOsdkRegistryUrl.d.ts +0 -4
  95. package/build/esm/prompts/promptOsdkRegistryUrl.d.ts.map +0 -1
  96. package/build/esm/prompts/promptOsdkRegistryUrl.test.d.ts +0 -2
  97. package/build/esm/prompts/promptOsdkRegistryUrl.test.d.ts.map +0 -1
  98. package/build/esm/prompts/promptOverwrite.d.ts +0 -5
  99. package/build/esm/prompts/promptOverwrite.d.ts.map +0 -1
  100. package/build/esm/prompts/promptOverwrite.test.d.ts +0 -2
  101. package/build/esm/prompts/promptOverwrite.test.d.ts.map +0 -1
  102. package/build/esm/prompts/promptProject.d.ts +0 -4
  103. package/build/esm/prompts/promptProject.d.ts.map +0 -1
  104. package/build/esm/prompts/promptProject.test.d.ts +0 -2
  105. package/build/esm/prompts/promptProject.test.d.ts.map +0 -1
  106. package/build/esm/prompts/promptSdkVersion.d.ts +0 -6
  107. package/build/esm/prompts/promptSdkVersion.d.ts.map +0 -1
  108. package/build/esm/prompts/promptTemplate.d.ts.map +0 -1
  109. package/build/esm/prompts/promptTemplate.test.d.ts +0 -2
  110. package/build/esm/prompts/promptTemplate.test.d.ts.map +0 -1
  111. package/build/esm/prompts/promptWidgetSetRid.d.ts +0 -4
  112. package/build/esm/prompts/promptWidgetSetRid.d.ts.map +0 -1
  113. package/build/esm/prompts/promptWidgetSetRid.test.d.ts +0 -2
  114. package/build/esm/prompts/promptWidgetSetRid.test.d.ts.map +0 -1
  115. package/build/esm/run.d.ts +0 -14
  116. package/build/esm/run.d.ts.map +0 -1
  117. package/build/esm/templates.d.ts +0 -27
  118. package/build/esm/templates.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,46 @@
1
1
  # @osdk/create-widget
2
2
 
3
+ ## 2.0.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 776ae5d: Initial create widget CLI
8
+ - ff1ece7: Update create-widget template README and autoVersion strategy
9
+ - 314ae66: Move from "views" naming to "widgets"
10
+ - 255a8f1: Add minimal React widget template without OSDK
11
+ - 14bb6d2: Address comments on new minimal widget template
12
+ - 83e7ea3: Move from a single-widget to widget set model for custom widget libraries
13
+ - d430386: Rename unstable create-widget --widgetSetRid arg to --widgetSet
14
+
15
+ ## 2.0.0-beta.16
16
+
17
+ ### Minor Changes
18
+
19
+ - 255a8f1: Add minimal React widget template without OSDK
20
+ - 14bb6d2: Address comments on new minimal widget template
21
+
22
+ ## 2.0.0-beta.15
23
+
24
+ ## 2.0.0-beta.14
25
+
26
+ ## 2.0.0-beta.13
27
+
28
+ ### Minor Changes
29
+
30
+ - ff1ece7: Update create-widget template README and autoVersion strategy
31
+
32
+ ## 2.0.0-beta.12
33
+
34
+ ## 2.0.0-beta.11
35
+
36
+ ### Minor Changes
37
+
38
+ - d430386: Rename unstable create-widget --widgetSetRid arg to --widgetSet
39
+
40
+ ## 2.0.0-beta.10
41
+
42
+ ## 2.0.0-beta.9
43
+
3
44
  ## 2.0.0-beta.8
4
45
 
5
46
  ### Minor Changes
@@ -3,29 +3,45 @@ var files = /* @__PURE__ */ new Map([["README.md.hbs", {
3
3
  type: "raw",
4
4
  body: `# {{project}}
5
5
 
6
- This project was generated with [\`@osdk/create-widget\`](https://www.npmjs.com/package/@osdk/create-widget) and demonstrates developing a custom widget to be embedded within Foundry UIs such as Workshop. It uses the Ontology SDK package \`{{osdkPackage}}\` with React on top of Vite. Check out the [Vite](https://vitejs.dev/guide/) docs for further configuration.
6
+ This project was generated with [\`@osdk/create-widget\`](https://www.npmjs.com/package/@osdk/create-widget) and demonstrates developing custom widgets to be embedded within Foundry UIs such as Workshop. It uses the Ontology SDK package \`{{osdkPackage}}\` with React on top of Vite. Check out the [Vite](https://vitejs.dev/guide/) docs for further configuration. The Vite plugin [\`@osdk/widget.vite-plugin.unstable\`](https://www.npmjs.com/package/@osdk/widget.vite-plugin.unstable) automatically generates a \`widgets.config.json\` manifest file containing metadata about widgets inside this project during the build command.
7
7
 
8
8
  ## Developing
9
9
 
10
- Run the following command or equivalent with your preferred package manager to start a local development server on \`http://localhost:8080\`:
10
+ Run the following command or equivalent with your preferred package manager to start a local development server and follow the instructions printed to set up developer mode in Foundry:
11
11
 
12
12
  \`\`\`sh
13
13
  npm run dev
14
14
  \`\`\`
15
15
 
16
- Development configuration is stored in \`.env.development\`.
17
16
 
18
17
  ## Deploying
19
18
 
20
- Run the following command or equivalent with your preferred package manager to create a production build of your application:
19
+ A \`foundry.config.json\` file is included in the root of this project containing the deployment configuration to Foundry.
20
+
21
+ Run the following command or equivalent with your preferred package manager to create a production build of your widgets:
21
22
 
22
23
  \`\`\`sh
23
24
  npm run build
24
25
  \`\`\`
25
26
 
26
- Production configuration is stored in \`.env.production\`.
27
+ A \`.palantir/widgets.config.json\` manifest file containing metadata about your widgets is created during the build.
28
+
29
+ Run the following command or equivalent with your preferred package manager to deploy the production build of your widgets:
30
+
31
+ \`\`\`sh
32
+ npx @osdk/cli@beta unstable widgetset deploy
33
+ \`\`\`
34
+
35
+ By default the \`package-json\` strategy is used for determining the version for your widgets from the \`version\` field in this project's \`package.json\` file. Remember to update this field and rerun the build command to update the manifest file when deploying a new version.
27
36
 
28
- A \`foundry.config.json\` file is included in the root of this project to make deploying to Foundry website hosting with [\`@osdk/cli\`](https://www.npmjs.com/package/@osdk/cli) easier. If you are not using Foundry website hosting for your application you may delete this file.
37
+ If you prefer to infer the version from a git tag, you can use the \`git-describe\` strategy by setting the \`autoVersion\` field in the \`foundry.config.json\` file to:
38
+
39
+ \`\`\`json
40
+ {
41
+ "type": "git-describe",
42
+ "tagPrefix": ""
43
+ }
44
+ \`\`\`
29
45
  `
30
46
  }], [".gitignore", {
31
47
  type: "raw",
@@ -88,8 +104,8 @@ dist-ssr
88
104
  "dependencies": {
89
105
  "{{osdkPackage}}": "latest",
90
106
  "@osdk/client": "^2.0.0",
91
- "@osdk/widget-client-react.unstable": "^1.0.0",
92
- "@osdk/widget-client.unstable": "^1.0.0",
107
+ "@osdk/widget.client-react.unstable": "^1.1.0",
108
+ "@osdk/widget.client.unstable": "^1.1.0",
93
109
  "@radix-ui/react-icons": "^1.3.1",
94
110
  "@radix-ui/themes": "^3.1.4",
95
111
  "react": "^18",
@@ -97,15 +113,15 @@ dist-ssr
97
113
  "react-router-dom": "^6.23.1"
98
114
  },
99
115
  "devDependencies": {
100
- "@osdk/widget.vite-plugin.unstable": "^1.0.0",
116
+ "@osdk/widget.vite-plugin.unstable": "^1.1.0",
101
117
  "@eslint/compat": "^1.2.1",
102
118
  "@eslint/js": "^9.13.0",
103
119
  "@types/react": "^18",
104
120
  "@types/react-dom": "^18",
105
- "@typescript-eslint/eslint-plugin": "^8.11.0",
106
- "@typescript-eslint/parser": "^8.11.0",
121
+ "@typescript-eslint/eslint-plugin": "^8.21.0",
122
+ "@typescript-eslint/parser": "^8.21.0",
107
123
  "@vitejs/plugin-react": "^4.2.0",
108
- "eslint": "^9.13.0",
124
+ "eslint": "^9.19.0",
109
125
  "eslint-plugin-import": "^2.31.0",
110
126
  "eslint-plugin-jsx-a11y": "^6.10.1",
111
127
  "eslint-plugin-react": "^7.37.2",
@@ -113,74 +129,12 @@ dist-ssr
113
129
  "eslint-plugin-react-refresh": "^0.4.14",
114
130
  "globals": "^15.11.0",
115
131
  "typescript": "~5.5.4",
116
- "typescript-eslint": "^8.11.0",
132
+ "typescript-eslint": "^8.21.0",
117
133
  "vite": "^6.0.11",
118
- "vitest": "^3.0.4"
134
+ "vitest": "^3.0.5"
119
135
  }
120
136
  }`
121
- }], ["src/context.ts", {
122
- "type": "base64",
123
- "body": "aW1wb3J0IHsgdXNlRm91bmRyeVdpZGdldENvbnRleHQgfSBmcm9tICJAb3Nkay93aWRnZXQtY2xpZW50LXJlYWN0LnVuc3RhYmxlIjsKaW1wb3J0IHR5cGUgTWFpbkNvbmZpZyBmcm9tICIuL21haW4uY29uZmlnLmpzIjsKCmV4cG9ydCBjb25zdCB1c2VXaWRnZXRDb250ZXh0ID0gdXNlRm91bmRyeVdpZGdldENvbnRleHQud2l0aFR5cGVzPAogIHR5cGVvZiBNYWluQ29uZmlnCj4oKTsK"
124
- }], ["src/main.config.ts.hbs", {
125
- type: "raw",
126
- body: `import { defineConfig } from "@osdk/widget-client.unstable";
127
-
128
- export default defineConfig({
129
- id: "widgetId",
130
- name: "Custom Widget",
131
- description: "And example custom widget implementation",
132
- type: "workshop",
133
- parameters: {
134
- headerText: {
135
- displayName: "Widget title",
136
- type: "string",
137
- },
138
- todoItems: {
139
- displayName: "Todo items",
140
- type: "array",
141
- subType: "string",
142
- },
143
- },
144
- events: {
145
- updateHeader: {
146
- displayName: "Update header",
147
- parameterUpdateIds: ["headerText"],
148
- },
149
- updateTodoItems: {
150
- displayName: "Update todo items",
151
- parameterUpdateIds: ["todoItems"],
152
- },
153
- },
154
- });
155
- `
156
- }], ["src/main.css", {
157
- "type": "base64",
158
- "body": ""
159
- }], ["src/main.tsx", {
160
- type: "raw",
161
- body: `import "@radix-ui/themes/styles.css";
162
- import "./main.css";
163
-
164
- import { FoundryWidget } from "@osdk/widget-client-react.unstable";
165
- import { Theme } from "@radix-ui/themes";
166
- import { createRoot } from "react-dom/client";
167
- import MainConfig from "./main.config.js";
168
- import { App } from "./widget.js";
169
-
170
- const root = document.querySelector("body")!;
171
-
172
- createRoot(root).render(
173
- <Theme>
174
- <FoundryWidget config={MainConfig}>
175
- <App />
176
- </FoundryWidget>
177
- </Theme>,
178
- );
179
- `
180
- }], ["src/vite-env.d.ts", {
181
- "type": "base64",
182
- "body": "Ly8vIDxyZWZlcmVuY2UgdHlwZXM9InZpdGUvY2xpZW50IiAvPgo="
183
- }], ["src/widget.tsx.hbs", {
137
+ }], ["src/Widget.tsx.hbs", {
184
138
  type: "raw",
185
139
  body: `import { $Actions, $Objects, $Queries } from "{{osdkPackage}}";
186
140
  import {
@@ -198,7 +152,7 @@ import {
198
152
  import React, { useCallback, useState } from "react";
199
153
  import { useWidgetContext } from "./context.js";
200
154
 
201
- export const App: React.FC = () => {
155
+ export const Widget: React.FC = () => {
202
156
  const { parameters, emitEvent } = useWidgetContext();
203
157
  const { headerText, todoItems } = parameters.values;
204
158
  const [newTodoItem, setNewTodoItem] = useState("");
@@ -338,6 +292,68 @@ export const App: React.FC = () => {
338
292
  );
339
293
  };
340
294
  `
295
+ }], ["src/context.ts", {
296
+ "type": "base64",
297
+ "body": "aW1wb3J0IHsgdXNlRm91bmRyeVdpZGdldENvbnRleHQgfSBmcm9tICJAb3Nkay93aWRnZXQuY2xpZW50LXJlYWN0LnVuc3RhYmxlIjsKaW1wb3J0IHR5cGUgTWFpbkNvbmZpZyBmcm9tICIuL21haW4uY29uZmlnLmpzIjsKCmV4cG9ydCBjb25zdCB1c2VXaWRnZXRDb250ZXh0ID0gdXNlRm91bmRyeVdpZGdldENvbnRleHQud2l0aFR5cGVzPAogIHR5cGVvZiBNYWluQ29uZmlnCj4oKTsK"
298
+ }], ["src/main.config.ts.hbs", {
299
+ type: "raw",
300
+ body: `import { defineConfig } from "@osdk/widget.client.unstable";
301
+
302
+ export default defineConfig({
303
+ id: "widgetId",
304
+ name: "Custom Widget",
305
+ description: "An example custom widget implementation",
306
+ type: "workshop",
307
+ parameters: {
308
+ headerText: {
309
+ displayName: "Widget title",
310
+ type: "string",
311
+ },
312
+ todoItems: {
313
+ displayName: "Todo items",
314
+ type: "array",
315
+ subType: "string",
316
+ },
317
+ },
318
+ events: {
319
+ updateHeader: {
320
+ displayName: "Update header",
321
+ parameterUpdateIds: ["headerText"],
322
+ },
323
+ updateTodoItems: {
324
+ displayName: "Update todo items",
325
+ parameterUpdateIds: ["todoItems"],
326
+ },
327
+ },
328
+ });
329
+ `
330
+ }], ["src/main.css", {
331
+ "type": "base64",
332
+ "body": ""
333
+ }], ["src/main.tsx", {
334
+ type: "raw",
335
+ body: `import "@radix-ui/themes/styles.css";
336
+ import "./main.css";
337
+
338
+ import { FoundryWidget } from "@osdk/widget.client-react.unstable";
339
+ import { Theme } from "@radix-ui/themes";
340
+ import { createRoot } from "react-dom/client";
341
+ import MainConfig from "./main.config.js";
342
+ import { Widget } from "./Widget.js";
343
+
344
+ const root = document.querySelector("body")!;
345
+
346
+ createRoot(root).render(
347
+ <Theme>
348
+ <FoundryWidget config={MainConfig}>
349
+ <Widget />
350
+ </FoundryWidget>
351
+ </Theme>,
352
+ );
353
+ `
354
+ }], ["src/vite-env.d.ts", {
355
+ "type": "base64",
356
+ "body": "Ly8vIDxyZWZlcmVuY2UgdHlwZXM9InZpdGUvY2xpZW50IiAvPgo="
341
357
  }], ["tsconfig.json", {
342
358
  "type": "base64",
343
359
  "body": "ewogICJjb21waWxlck9wdGlvbnMiOiB7CiAgICAidGFyZ2V0IjogIkVTMjAyMCIsCiAgICAidXNlRGVmaW5lRm9yQ2xhc3NGaWVsZHMiOiB0cnVlLAogICAgImxpYiI6IFsiRVMyMDIwIiwgIkRPTSIsICJET00uSXRlcmFibGUiXSwKICAgICJtb2R1bGUiOiAiRVNOZXh0IiwKICAgICJza2lwTGliQ2hlY2siOiB0cnVlLAoKICAgIC8qIEJ1bmRsZXIgbW9kZSAqLwogICAgIm1vZHVsZVJlc29sdXRpb24iOiAiYnVuZGxlciIsCiAgICAiYWxsb3dJbXBvcnRpbmdUc0V4dGVuc2lvbnMiOiB0cnVlLAogICAgInJlc29sdmVKc29uTW9kdWxlIjogdHJ1ZSwKICAgICJpc29sYXRlZE1vZHVsZXMiOiB0cnVlLAogICAgIm5vRW1pdCI6IHRydWUsCiAgICAianN4IjogInJlYWN0LWpzeCIsCgogICAgLyogTGludGluZyAqLwogICAgInN0cmljdCI6IHRydWUsCiAgICAibm9VbnVzZWRMb2NhbHMiOiB0cnVlLAogICAgIm5vVW51c2VkUGFyYW1ldGVycyI6IHRydWUsCiAgICAibm9GYWxsdGhyb3VnaENhc2VzSW5Td2l0Y2giOiB0cnVlCiAgfSwKICAiaW5jbHVkZSI6IFsic3JjIl0sCiAgInJlZmVyZW5jZXMiOiBbeyAicGF0aCI6ICIuL3RzY29uZmlnLm5vZGUuanNvbiIgfV0KfQo="
@@ -346,20 +362,26 @@ export const App: React.FC = () => {
346
362
  "body": "ewogICJjb21waWxlck9wdGlvbnMiOiB7CiAgICAiY29tcG9zaXRlIjogdHJ1ZSwKICAgICJza2lwTGliQ2hlY2siOiB0cnVlLAogICAgIm1vZHVsZSI6ICJFU05leHQiLAogICAgIm1vZHVsZVJlc29sdXRpb24iOiAiYnVuZGxlciIsCiAgICAiYWxsb3dTeW50aGV0aWNEZWZhdWx0SW1wb3J0cyI6IHRydWUKICB9LAogICJpbmNsdWRlIjogWyJ2aXRlLmNvbmZpZy50cyJdCn0K"
347
363
  }], ["vite.config.ts.hbs", {
348
364
  type: "raw",
349
- body: `import widgetManifestPlugin from "@osdk/widget.vite-plugin.unstable";
365
+ body: `import foundryWidgetPlugin from "@osdk/widget.vite-plugin.unstable";
350
366
  import react from "@vitejs/plugin-react";
351
367
  import { defineConfig } from "vite";
352
368
 
353
369
  // https://vitejs.dev/config/
354
370
  export default defineConfig({
355
- plugins: [react(), widgetManifestPlugin()],
371
+ plugins: [react(), foundryWidgetPlugin()],
356
372
  server: {
357
373
  port: 8080,
374
+ cors: true,
375
+ },
376
+ build: {
377
+ rollupOptions: {
378
+ input: ["./index.html"],
379
+ },
358
380
  },
359
381
  });
360
382
  `
361
383
  }]]);
362
384
 
363
385
  export { files };
364
- //# sourceMappingURL=esm-VPCD3XBG.js.map
365
- //# sourceMappingURL=esm-VPCD3XBG.js.map
386
+ //# sourceMappingURL=esm-C6MU7DAZ.js.map
387
+ //# sourceMappingURL=esm-C6MU7DAZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../create-widget.template.react.v2/build/esm/generatedNoCheck/index.js"],"names":[],"mappings":"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","file":"esm-C6MU7DAZ.js","sourcesContent":["export const files = new Map([[\"README.md.hbs\", {\n type: \"raw\",\n body: `# {{project}}\n\nThis project was generated with [\\`@osdk/create-widget\\`](https://www.npmjs.com/package/@osdk/create-widget) and demonstrates developing custom widgets to be embedded within Foundry UIs such as Workshop. It uses the Ontology SDK package \\`{{osdkPackage}}\\` with React on top of Vite. Check out the [Vite](https://vitejs.dev/guide/) docs for further configuration. The Vite plugin [\\`@osdk/widget.vite-plugin.unstable\\`](https://www.npmjs.com/package/@osdk/widget.vite-plugin.unstable) automatically generates a \\`widgets.config.json\\` manifest file containing metadata about widgets inside this project during the build command.\n\n## Developing\n\nRun the following command or equivalent with your preferred package manager to start a local development server and follow the instructions printed to set up developer mode in Foundry:\n\n\\`\\`\\`sh\nnpm run dev\n\\`\\`\\`\n\n\n## Deploying\n\nA \\`foundry.config.json\\` file is included in the root of this project containing the deployment configuration to Foundry.\n\nRun the following command or equivalent with your preferred package manager to create a production build of your widgets:\n\n\\`\\`\\`sh\nnpm run build\n\\`\\`\\`\n\nA \\`.palantir/widgets.config.json\\` manifest file containing metadata about your widgets is created during the build.\n\nRun the following command or equivalent with your preferred package manager to deploy the production build of your widgets:\n\n\\`\\`\\`sh\nnpx @osdk/cli@beta unstable widgetset deploy\n\\`\\`\\`\n\nBy default the \\`package-json\\` strategy is used for determining the version for your widgets from the \\`version\\` field in this project's \\`package.json\\` file. Remember to update this field and rerun the build command to update the manifest file when deploying a new version.\n\nIf you prefer to infer the version from a git tag, you can use the \\`git-describe\\` strategy by setting the \\`autoVersion\\` field in the \\`foundry.config.json\\` file to:\n\n\\`\\`\\`json\n{\n \"type\": \"git-describe\",\n \"tagPrefix\": \"\"\n}\n\\`\\`\\`\n`\n}], [\".gitignore\", {\n type: \"raw\",\n body: `# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\npnpm-debug.log*\nlerna-debug.log*\n\nnode_modules\ndist\ndist-ssr\n*.local\n\n# Editor directories and files\n.vscode/*\n!.vscode/extensions.json\n.idea\n.DS_Store\n*.suo\n*.ntvs*\n*.njsproj\n*.sln\n*.sw?\n`\n}], [\"eslint.config.mjs\", {\n \"type\": \"base64\",\n \"body\": \"Ly8gQHRzLWNoZWNrCmltcG9ydCBlc2xpbnQgZnJvbSAiQGVzbGludC9qcyI7CmltcG9ydCB0c1BhcnNlciBmcm9tICJAdHlwZXNjcmlwdC1lc2xpbnQvcGFyc2VyIjsKaW1wb3J0ICogYXMgaW1wb3J0UGx1Z2luIGZyb20gImVzbGludC1wbHVnaW4taW1wb3J0IjsKaW1wb3J0IGpzeEExMXlQbHVnaW4gZnJvbSAiZXNsaW50LXBsdWdpbi1qc3gtYTExeSI7CmltcG9ydCByZWFjdFBsdWdpbiBmcm9tICJlc2xpbnQtcGx1Z2luLXJlYWN0IjsKaW1wb3J0IHJlYWN0SG9va3NQbHVnaW4gZnJvbSAiZXNsaW50LXBsdWdpbi1yZWFjdC1ob29rcyI7CmltcG9ydCByZWFjdFJlZnJlc2ggZnJvbSAiZXNsaW50LXBsdWdpbi1yZWFjdC1yZWZyZXNoIjsKaW1wb3J0IGdsb2JhbHMgZnJvbSAiZ2xvYmFscyI7CmltcG9ydCB0c2VzbGludCBmcm9tICJ0eXBlc2NyaXB0LWVzbGludCI7CgpleHBvcnQgZGVmYXVsdCB0c2VzbGludC5jb25maWcoewogIGZpbGVzOiBbImVzbGludC5jb25maWcubWpzIiwgInNyYy8qKi8qLntqcyxtanMsY2pzLHRzLGpzeCx0c3h9Il0sCiAgc2V0dGluZ3M6IHsKICAgIHJlYWN0OiB7CiAgICAgIHZlcnNpb246ICJkZXRlY3QiLAogICAgfSwKCiAgICAiaW1wb3J0L3Jlc29sdmVyIjogewogICAgICBub2RlOiB7CiAgICAgICAgZXh0ZW5zaW9uczogWyIuanMiLCAiLmpzeCIsICIudHMiLCAiLnRzeCJdLAogICAgICB9LAogICAgfSwKICB9LAogIGxhbmd1YWdlT3B0aW9uczogewogICAgZ2xvYmFsczogewogICAgICAuLi5nbG9iYWxzLmJyb3dzZXIsCiAgICB9LAoKICAgIHBhcnNlcjogdHNQYXJzZXIsCiAgfSwKICBleHRlbmRzOiBbCiAgICBlc2xpbnQuY29uZmlncy5yZWNvbW1lbmRlZCwKICAgIC4uLnRzZXNsaW50LmNvbmZpZ3MucmVjb21tZW5kZWQsCiAgXSwKICBwbHVnaW5zOiB7CiAgICAicmVhY3QiOiAvKiogQHR5cGUgaW1wb3J0KCJlc2xpbnQiKS5FU0xpbnQuUGx1Z2luICovIChyZWFjdFBsdWdpbiksCiAgICAicmVhY3QtcmVmcmVzaCI6IHJlYWN0UmVmcmVzaCwKICAgICJyZWFjdC1ob29rcyI6CiAgICAgIC8qKiBAdHlwZSBpbXBvcnQoImVzbGludCIpLkVTTGludC5QbHVnaW4gKi8gKHJlYWN0SG9va3NQbHVnaW4pLAogICAgImpzeC1hMTF5IjoganN4QTExeVBsdWdpbiwKICAgICJpbXBvcnQiOiBpbXBvcnRQbHVnaW4sCiAgfSwKICBydWxlczogewogICAgLi4uKAogICAgICAvKiogQHR5cGUgaW1wb3J0KCJlc2xpbnQiKS5MaW50ZXIuUnVsZXNSZWNvcmQgKi8KICAgICAgKHJlYWN0UGx1Z2luLmNvbmZpZ3MuZmxhdD8ucmVjb21tZW5kZWQucnVsZXMpCiAgICApLAogICAgInJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzIjogImVycm9yIiwKICAgICJyZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHMiOiAid2FybiIsCiAgICAuLi5qc3hBMTF5UGx1Z2luLmNvbmZpZ3MucmVjb21tZW5kZWQucnVsZXMsCiAgICAicmVhY3QtcmVmcmVzaC9vbmx5LWV4cG9ydC1jb21wb25lbnRzIjogWyJ3YXJuIiwgewogICAgICBhbGxvd0NvbnN0YW50RXhwb3J0OiB0cnVlLAogICAgfV0sCgogICAgImltcG9ydC9uYW1lZCI6ICJlcnJvciIsCiAgICAiaW1wb3J0L2RlZmF1bHQiOiAiZXJyb3IiLAogICAgImltcG9ydC9uYW1lc3BhY2UiOiAiZXJyb3IiLAogICAgImltcG9ydC9uby1kdXBsaWNhdGVzIjogImVycm9yIiwKICAgICJpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXMiOiAiZXJyb3IiLAoKICAgICJyZWFjdC9yZWFjdC1pbi1qc3gtc2NvcGUiOiAib2ZmIiwKICB9LAp9KTsK\"\n}], [\"index.html\", {\n type: \"raw\",\n body: `<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>Widget: Ontology SDK + React</title>\n </head>\n <body>\n <script type=\"module\" src=\"/src/main.tsx\"></script>\n </body>\n</html>\n`\n}], [\"package.json.hbs\", {\n type: \"raw\",\n body: `{\n \"name\": \"{{project}}\",\n \"private\": true,\n \"version\": \"0.0.0\",\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"vite\",\n \"build\": \"tsc && vite build\",\n \"lint\": \"eslint . --report-unused-disable-directives --max-warnings 0\",\n \"test\": \"vitest run --passWithNoTests\",\n \"preview\": \"vite preview\"\n },\n \"dependencies\": {\n \"{{osdkPackage}}\": \"latest\",\n \"@osdk/client\": \"^2.0.0\",\n \"@osdk/widget.client-react.unstable\": \"^1.1.0\",\n \"@osdk/widget.client.unstable\": \"^1.1.0\",\n \"@radix-ui/react-icons\": \"^1.3.1\",\n \"@radix-ui/themes\": \"^3.1.4\",\n \"react\": \"^18\",\n \"react-dom\": \"^18\",\n \"react-router-dom\": \"^6.23.1\"\n },\n \"devDependencies\": {\n \"@osdk/widget.vite-plugin.unstable\": \"^1.1.0\",\n \"@eslint/compat\": \"^1.2.1\",\n \"@eslint/js\": \"^9.13.0\",\n \"@types/react\": \"^18\",\n \"@types/react-dom\": \"^18\",\n \"@typescript-eslint/eslint-plugin\": \"^8.21.0\",\n \"@typescript-eslint/parser\": \"^8.21.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"eslint\": \"^9.19.0\",\n \"eslint-plugin-import\": \"^2.31.0\",\n \"eslint-plugin-jsx-a11y\": \"^6.10.1\",\n \"eslint-plugin-react\": \"^7.37.2\",\n \"eslint-plugin-react-hooks\": \"^5.0.0\",\n \"eslint-plugin-react-refresh\": \"^0.4.14\",\n \"globals\": \"^15.11.0\",\n \"typescript\": \"~5.5.4\",\n \"typescript-eslint\": \"^8.21.0\",\n \"vite\": \"^6.0.11\",\n \"vitest\": \"^3.0.5\"\n }\n}`\n}], [\"src/Widget.tsx.hbs\", {\n type: \"raw\",\n body: `import { \\$Actions, \\$Objects, \\$Queries } from \"{{osdkPackage}}\";\nimport {\n Box,\n Button,\n Checkbox,\n Container,\n Flex,\n Heading,\n Skeleton,\n Table,\n Text,\n TextField,\n} from \"@radix-ui/themes\";\nimport React, { useCallback, useState } from \"react\";\nimport { useWidgetContext } from \"./context.js\";\n\nexport const Widget: React.FC = () => {\n const { parameters, emitEvent } = useWidgetContext();\n const { headerText, todoItems } = parameters.values;\n const [newTodoItem, setNewTodoItem] = useState(\"\");\n\n const handleAddTodoItem = useCallback(() => {\n emitEvent(\"updateTodoItems\", {\n parameterUpdates: {\n todoItems: [...(todoItems ?? []), newTodoItem],\n },\n });\n setNewTodoItem(\"\");\n }, [emitEvent, newTodoItem, todoItems]);\n\n const handleNewTodoItemChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setNewTodoItem(event.target.value);\n },\n []\n );\n\n const objectApiNames = Object.keys(\\$Objects);\n const actionApiNames = Object.keys(\\$Actions);\n const queryApiNames = Object.keys(\\$Queries);\n\n return (\n <Box>\n <Container size=\"1\">\n <Flex direction=\"column\" gap=\"4\">\n <Flex p=\"5\" direction=\"column\" gap=\"2\">\n <Heading size=\"4\">\n {parameters.state === \"loading\"\n || parameters.state === \"not-started\"\n ? <Skeleton>Hello, world!</Skeleton>\n : headerText ?? \"{{project}}\"}\n </Heading>\n\n <Table.Root>\n <Table.Header>\n <Table.Row>\n <Table.ColumnHeaderCell>Finished</Table.ColumnHeaderCell>\n <Table.ColumnHeaderCell>Item</Table.ColumnHeaderCell>\n </Table.Row>\n </Table.Header>\n\n <Table.Body>\n {(parameters.state === \"loading\"\n || parameters.state === \"not-started\") && (\n <>\n <Table.Row>\n <Table.Cell>\n <Skeleton>\n <Checkbox />\n </Skeleton>\n </Table.Cell>\n <Table.Cell>\n <Skeleton>Loading cell</Skeleton>\n </Table.Cell>\n </Table.Row>\n <Table.Row>\n <Table.Cell>\n <Skeleton>\n <Checkbox />\n </Skeleton>\n </Table.Cell>\n <Table.Cell>\n <Skeleton>Loading cell</Skeleton>\n </Table.Cell>\n </Table.Row>\n </>\n )}\n {parameters.state === \"loaded\"\n && todoItems?.map((item, index) => (\n <Table.Row key={index}>\n <Table.Cell>\n <Checkbox />\n </Table.Cell>\n <Table.Cell>{item}</Table.Cell>\n </Table.Row>\n ))}\n {parameters.state === \"loaded\"\n && (todoItems ?? []).length === 0 && (\n <Table.Row>\n <Table.Cell colSpan={2}>No items yet</Table.Cell>\n </Table.Row>\n )}\n <Table.Row>\n <Table.Cell colSpan={2}>\n <Flex gap=\"2\">\n <TextField.Root\n value={newTodoItem}\n onChange={handleNewTodoItemChange}\n size=\"2\"\n placeholder=\"Add item…\"\n />\n <Button onClick={handleAddTodoItem}>Add item</Button>\n </Flex>\n </Table.Cell>\n </Table.Row>\n </Table.Body>\n </Table.Root>\n\n </Flex>\n <Box>\n <Flex direction=\"column\" gap=\"2\">\n <Text>\n Try and of the following methods from your Ontology SDK\n </Text>\n <Flex direction=\"column\" gap=\"1\">\n <Heading size=\"4\">Objects ({objectApiNames.length})</Heading>\n <pre>\n {objectApiNames.map((objectApiName) => (\n <div key={objectApiName}>client({objectApiName})</div>\n ))}\n </pre>\n </Flex>\n <Flex direction=\"column\" gap=\"1\">\n <Heading size=\"4\">Actions ({actionApiNames.length})</Heading>\n <pre>\n {actionApiNames.map((actionApiName) => (\n <div key={actionApiName}>client({actionApiName})</div>\n ))}\n </pre>\n </Flex>\n <Flex direction=\"column\" gap=\"1\">\n <Heading size=\"4\">Queries ({queryApiNames.length})</Heading>\n <pre>\n {queryApiNames.map((queryApiName) => (\n <div key={queryApiName}>client({queryApiName})</div>\n ))}\n </pre>\n </Flex>\n </Flex>\n </Box>\n </Flex>\n </Container>\n </Box>\n );\n};\n`\n}], [\"src/context.ts\", {\n \"type\": \"base64\",\n \"body\": \"aW1wb3J0IHsgdXNlRm91bmRyeVdpZGdldENvbnRleHQgfSBmcm9tICJAb3Nkay93aWRnZXQuY2xpZW50LXJlYWN0LnVuc3RhYmxlIjsKaW1wb3J0IHR5cGUgTWFpbkNvbmZpZyBmcm9tICIuL21haW4uY29uZmlnLmpzIjsKCmV4cG9ydCBjb25zdCB1c2VXaWRnZXRDb250ZXh0ID0gdXNlRm91bmRyeVdpZGdldENvbnRleHQud2l0aFR5cGVzPAogIHR5cGVvZiBNYWluQ29uZmlnCj4oKTsK\"\n}], [\"src/main.config.ts.hbs\", {\n type: \"raw\",\n body: `import { defineConfig } from \"@osdk/widget.client.unstable\";\n\nexport default defineConfig({\n id: \"widgetId\",\n name: \"Custom Widget\",\n description: \"An example custom widget implementation\",\n type: \"workshop\",\n parameters: {\n headerText: {\n displayName: \"Widget title\",\n type: \"string\",\n },\n todoItems: {\n displayName: \"Todo items\",\n type: \"array\",\n subType: \"string\",\n },\n },\n events: {\n updateHeader: {\n displayName: \"Update header\",\n parameterUpdateIds: [\"headerText\"],\n },\n updateTodoItems: {\n displayName: \"Update todo items\",\n parameterUpdateIds: [\"todoItems\"],\n },\n },\n});\n`\n}], [\"src/main.css\", {\n \"type\": \"base64\",\n \"body\": \"\"\n}], [\"src/main.tsx\", {\n type: \"raw\",\n body: `import \"@radix-ui/themes/styles.css\";\nimport \"./main.css\";\n\nimport { FoundryWidget } from \"@osdk/widget.client-react.unstable\";\nimport { Theme } from \"@radix-ui/themes\";\nimport { createRoot } from \"react-dom/client\";\nimport MainConfig from \"./main.config.js\";\nimport { Widget } from \"./Widget.js\";\n\nconst root = document.querySelector(\"body\")!;\n\ncreateRoot(root).render(\n <Theme>\n <FoundryWidget config={MainConfig}>\n <Widget />\n </FoundryWidget>\n </Theme>,\n);\n`\n}], [\"src/vite-env.d.ts\", {\n \"type\": \"base64\",\n \"body\": \"Ly8vIDxyZWZlcmVuY2UgdHlwZXM9InZpdGUvY2xpZW50IiAvPgo=\"\n}], [\"tsconfig.json\", {\n \"type\": \"base64\",\n \"body\": \"ewogICJjb21waWxlck9wdGlvbnMiOiB7CiAgICAidGFyZ2V0IjogIkVTMjAyMCIsCiAgICAidXNlRGVmaW5lRm9yQ2xhc3NGaWVsZHMiOiB0cnVlLAogICAgImxpYiI6IFsiRVMyMDIwIiwgIkRPTSIsICJET00uSXRlcmFibGUiXSwKICAgICJtb2R1bGUiOiAiRVNOZXh0IiwKICAgICJza2lwTGliQ2hlY2siOiB0cnVlLAoKICAgIC8qIEJ1bmRsZXIgbW9kZSAqLwogICAgIm1vZHVsZVJlc29sdXRpb24iOiAiYnVuZGxlciIsCiAgICAiYWxsb3dJbXBvcnRpbmdUc0V4dGVuc2lvbnMiOiB0cnVlLAogICAgInJlc29sdmVKc29uTW9kdWxlIjogdHJ1ZSwKICAgICJpc29sYXRlZE1vZHVsZXMiOiB0cnVlLAogICAgIm5vRW1pdCI6IHRydWUsCiAgICAianN4IjogInJlYWN0LWpzeCIsCgogICAgLyogTGludGluZyAqLwogICAgInN0cmljdCI6IHRydWUsCiAgICAibm9VbnVzZWRMb2NhbHMiOiB0cnVlLAogICAgIm5vVW51c2VkUGFyYW1ldGVycyI6IHRydWUsCiAgICAibm9GYWxsdGhyb3VnaENhc2VzSW5Td2l0Y2giOiB0cnVlCiAgfSwKICAiaW5jbHVkZSI6IFsic3JjIl0sCiAgInJlZmVyZW5jZXMiOiBbeyAicGF0aCI6ICIuL3RzY29uZmlnLm5vZGUuanNvbiIgfV0KfQo=\"\n}], [\"tsconfig.node.json\", {\n \"type\": \"base64\",\n \"body\": \"ewogICJjb21waWxlck9wdGlvbnMiOiB7CiAgICAiY29tcG9zaXRlIjogdHJ1ZSwKICAgICJza2lwTGliQ2hlY2siOiB0cnVlLAogICAgIm1vZHVsZSI6ICJFU05leHQiLAogICAgIm1vZHVsZVJlc29sdXRpb24iOiAiYnVuZGxlciIsCiAgICAiYWxsb3dTeW50aGV0aWNEZWZhdWx0SW1wb3J0cyI6IHRydWUKICB9LAogICJpbmNsdWRlIjogWyJ2aXRlLmNvbmZpZy50cyJdCn0K\"\n}], [\"vite.config.ts.hbs\", {\n type: \"raw\",\n body: `import foundryWidgetPlugin from \"@osdk/widget.vite-plugin.unstable\";\nimport react from \"@vitejs/plugin-react\";\nimport { defineConfig } from \"vite\";\n\n// https://vitejs.dev/config/\nexport default defineConfig({\n plugins: [react(), foundryWidgetPlugin()],\n server: {\n port: 8080,\n cors: true,\n },\n build: {\n rollupOptions: {\n input: [\"./index.html\"],\n },\n },\n});\n`\n}]]);"]}
@@ -0,0 +1,240 @@
1
+ // ../create-widget.template.minimal-react.v2/build/esm/generatedNoCheck/index.js
2
+ var files = /* @__PURE__ */ new Map([["README.md.hbs", {
3
+ type: "raw",
4
+ body: `# {{project}}
5
+
6
+ This project was generated with [\`@osdk/create-widget\`](https://www.npmjs.com/package/@osdk/create-widget) and demonstrates developing custom widgets to be embedded within Foundry UIs such as Workshop. It uses React on top of Vite. Check out the [Vite](https://vitejs.dev/guide/) docs for further configuration. The Vite plugin [\`@osdk/widget.vite-plugin.unstable\`](https://www.npmjs.com/package/@osdk/widget.vite-plugin.unstable) automatically generates a \`widgets.config.json\` manifest file containing metadata about widgets inside this project during the build command.
7
+
8
+ ## Developing
9
+
10
+ Run the following command or equivalent with your preferred package manager to start a local development server and follow the instructions printed to set up developer mode in Foundry:
11
+
12
+ \`\`\`sh
13
+ npm run dev
14
+ \`\`\`
15
+
16
+
17
+ ## Deploying
18
+
19
+ A \`foundry.config.json\` file is included in the root of this project containing the deployment configuration to Foundry.
20
+
21
+ Run the following command or equivalent with your preferred package manager to create a production build of your widgets:
22
+
23
+ \`\`\`sh
24
+ npm run build
25
+ \`\`\`
26
+
27
+ A \`.palantir/widgets.config.json\` manifest file containing metadata about your widgets is created during the build.
28
+
29
+ Run the following command or equivalent with your preferred package manager to deploy the production build of your widgets:
30
+
31
+ \`\`\`sh
32
+ npx @osdk/cli@beta unstable widgetset deploy
33
+ \`\`\`
34
+
35
+ By default the \`package-json\` strategy is used for determining the version for your widgets from the \`version\` field in this project's \`package.json\` file. Remember to update this field and rerun the build command to update the manifest file when deploying a new version.
36
+
37
+ If you prefer to infer the version from a git tag, you can use the \`git-describe\` strategy by setting the \`autoVersion\` field in the \`foundry.config.json\` file to:
38
+
39
+ \`\`\`json
40
+ {
41
+ "type": "git-describe",
42
+ "tagPrefix": ""
43
+ }
44
+ \`\`\`
45
+ `
46
+ }], [".gitignore", {
47
+ type: "raw",
48
+ body: `# Logs
49
+ logs
50
+ *.log
51
+ npm-debug.log*
52
+ yarn-debug.log*
53
+ yarn-error.log*
54
+ pnpm-debug.log*
55
+ lerna-debug.log*
56
+
57
+ node_modules
58
+ dist
59
+ dist-ssr
60
+ *.local
61
+
62
+ # Editor directories and files
63
+ .vscode/*
64
+ !.vscode/extensions.json
65
+ .idea
66
+ .DS_Store
67
+ *.suo
68
+ *.ntvs*
69
+ *.njsproj
70
+ *.sln
71
+ *.sw?
72
+ `
73
+ }], ["eslint.config.mjs", {
74
+ "type": "base64",
75
+ "body": "Ly8gQHRzLWNoZWNrCmltcG9ydCBlc2xpbnQgZnJvbSAiQGVzbGludC9qcyI7CmltcG9ydCB0c1BhcnNlciBmcm9tICJAdHlwZXNjcmlwdC1lc2xpbnQvcGFyc2VyIjsKaW1wb3J0ICogYXMgaW1wb3J0UGx1Z2luIGZyb20gImVzbGludC1wbHVnaW4taW1wb3J0IjsKaW1wb3J0IGpzeEExMXlQbHVnaW4gZnJvbSAiZXNsaW50LXBsdWdpbi1qc3gtYTExeSI7CmltcG9ydCByZWFjdFBsdWdpbiBmcm9tICJlc2xpbnQtcGx1Z2luLXJlYWN0IjsKaW1wb3J0IHJlYWN0SG9va3NQbHVnaW4gZnJvbSAiZXNsaW50LXBsdWdpbi1yZWFjdC1ob29rcyI7CmltcG9ydCByZWFjdFJlZnJlc2ggZnJvbSAiZXNsaW50LXBsdWdpbi1yZWFjdC1yZWZyZXNoIjsKaW1wb3J0IGdsb2JhbHMgZnJvbSAiZ2xvYmFscyI7CmltcG9ydCB0c2VzbGludCBmcm9tICJ0eXBlc2NyaXB0LWVzbGludCI7CgpleHBvcnQgZGVmYXVsdCB0c2VzbGludC5jb25maWcoewogIGZpbGVzOiBbImVzbGludC5jb25maWcubWpzIiwgInNyYy8qKi8qLntqcyxtanMsY2pzLHRzLGpzeCx0c3h9Il0sCiAgc2V0dGluZ3M6IHsKICAgIHJlYWN0OiB7CiAgICAgIHZlcnNpb246ICJkZXRlY3QiLAogICAgfSwKCiAgICAiaW1wb3J0L3Jlc29sdmVyIjogewogICAgICBub2RlOiB7CiAgICAgICAgZXh0ZW5zaW9uczogWyIuanMiLCAiLmpzeCIsICIudHMiLCAiLnRzeCJdLAogICAgICB9LAogICAgfSwKICB9LAogIGxhbmd1YWdlT3B0aW9uczogewogICAgZ2xvYmFsczogewogICAgICAuLi5nbG9iYWxzLmJyb3dzZXIsCiAgICB9LAoKICAgIHBhcnNlcjogdHNQYXJzZXIsCiAgfSwKICBleHRlbmRzOiBbCiAgICBlc2xpbnQuY29uZmlncy5yZWNvbW1lbmRlZCwKICAgIC4uLnRzZXNsaW50LmNvbmZpZ3MucmVjb21tZW5kZWQsCiAgXSwKICBwbHVnaW5zOiB7CiAgICAicmVhY3QiOiAvKiogQHR5cGUgaW1wb3J0KCJlc2xpbnQiKS5FU0xpbnQuUGx1Z2luICovIChyZWFjdFBsdWdpbiksCiAgICAicmVhY3QtcmVmcmVzaCI6IHJlYWN0UmVmcmVzaCwKICAgICJyZWFjdC1ob29rcyI6CiAgICAgIC8qKiBAdHlwZSBpbXBvcnQoImVzbGludCIpLkVTTGludC5QbHVnaW4gKi8gKHJlYWN0SG9va3NQbHVnaW4pLAogICAgImpzeC1hMTF5IjoganN4QTExeVBsdWdpbiwKICAgICJpbXBvcnQiOiBpbXBvcnRQbHVnaW4sCiAgfSwKICBydWxlczogewogICAgLi4uKAogICAgICAvKiogQHR5cGUgaW1wb3J0KCJlc2xpbnQiKS5MaW50ZXIuUnVsZXNSZWNvcmQgKi8KICAgICAgKHJlYWN0UGx1Z2luLmNvbmZpZ3MuZmxhdD8ucmVjb21tZW5kZWQucnVsZXMpCiAgICApLAogICAgInJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzIjogImVycm9yIiwKICAgICJyZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHMiOiAid2FybiIsCiAgICAuLi5qc3hBMTF5UGx1Z2luLmNvbmZpZ3MucmVjb21tZW5kZWQucnVsZXMsCiAgICAicmVhY3QtcmVmcmVzaC9vbmx5LWV4cG9ydC1jb21wb25lbnRzIjogWyJ3YXJuIiwgewogICAgICBhbGxvd0NvbnN0YW50RXhwb3J0OiB0cnVlLAogICAgfV0sCgogICAgImltcG9ydC9uYW1lZCI6ICJlcnJvciIsCiAgICAiaW1wb3J0L2RlZmF1bHQiOiAiZXJyb3IiLAogICAgImltcG9ydC9uYW1lc3BhY2UiOiAiZXJyb3IiLAogICAgImltcG9ydC9uby1kdXBsaWNhdGVzIjogImVycm9yIiwKICAgICJpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXMiOiAiZXJyb3IiLAoKICAgICJyZWFjdC9yZWFjdC1pbi1qc3gtc2NvcGUiOiAib2ZmIiwKICB9LAp9KTsK"
76
+ }], ["index.html", {
77
+ type: "raw",
78
+ body: `<!doctype html>
79
+ <html lang="en">
80
+ <head>
81
+ <meta charset="UTF-8" />
82
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
83
+ <title>Minimal React Custom Widget</title>
84
+ </head>
85
+ <body>
86
+ <script type="module" src="/src/main.tsx"></script>
87
+ </body>
88
+ </html>
89
+ `
90
+ }], ["package.json.hbs", {
91
+ type: "raw",
92
+ body: `{
93
+ "name": "{{project}}",
94
+ "private": true,
95
+ "version": "0.0.0",
96
+ "type": "module",
97
+ "scripts": {
98
+ "dev": "vite",
99
+ "build": "tsc && vite build",
100
+ "lint": "eslint . --report-unused-disable-directives --max-warnings 0",
101
+ "test": "vitest run --passWithNoTests",
102
+ "preview": "vite preview"
103
+ },
104
+ "dependencies": {
105
+ "@osdk/widget.client-react.unstable": "^1.1.0",
106
+ "@osdk/widget.client.unstable": "^1.1.0",
107
+ "@blueprintjs/core": "^5.16.0",
108
+ "react": "^18",
109
+ "react-dom": "^18",
110
+ "react-router-dom": "^6.23.1"
111
+ },
112
+ "devDependencies": {
113
+ "@osdk/widget.vite-plugin.unstable": "^1.1.0",
114
+ "@eslint/compat": "^1.2.1",
115
+ "@eslint/js": "^9.13.0",
116
+ "@types/react": "^18",
117
+ "@types/react-dom": "^18",
118
+ "@typescript-eslint/eslint-plugin": "^8.21.0",
119
+ "@typescript-eslint/parser": "^8.21.0",
120
+ "@vitejs/plugin-react": "^4.2.0",
121
+ "eslint": "^9.19.0",
122
+ "eslint-plugin-import": "^2.31.0",
123
+ "eslint-plugin-jsx-a11y": "^6.10.1",
124
+ "eslint-plugin-react": "^7.37.2",
125
+ "eslint-plugin-react-hooks": "^5.0.0",
126
+ "eslint-plugin-react-refresh": "^0.4.14",
127
+ "globals": "^15.11.0",
128
+ "typescript": "~5.5.4",
129
+ "typescript-eslint": "^8.21.0",
130
+ "vite": "^6.0.11",
131
+ "vitest": "^3.0.5"
132
+ }
133
+ }`
134
+ }], ["src/Widget.module.css", {
135
+ "type": "base64",
136
+ "body": "LmNvbnRhaW5lciB7CiAgICBwYWRkaW5nOiAxNXB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBoZWlnaHQ6IDEwMCU7Cn0KCi5jYXJkIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMTBweDsKICAgIHdpZHRoOiAxNTBweDsKfQ=="
137
+ }], ["src/Widget.tsx", {
138
+ type: "raw",
139
+ body: `import { Button, Card, H4 } from "@blueprintjs/core";
140
+ import {
141
+ type FoundryWidgetClientContext,
142
+ useFoundryWidgetContext,
143
+ } from "@osdk/widget.client-react.unstable";
144
+ import React, { useCallback, useEffect } from "react";
145
+ import type MainConfig from "./main.config.js";
146
+ import css from "./Widget.module.css";
147
+
148
+ const useWidgetContext: () => FoundryWidgetClientContext<typeof MainConfig> =
149
+ useFoundryWidgetContext.withTypes<typeof MainConfig>();
150
+
151
+ export const Widget: React.FC = () => {
152
+ const { parameters, emitEvent } = useWidgetContext();
153
+ const greetingName = parameters.values.greetingName ?? "World";
154
+ const counterValue = parameters.values.counterValue ?? 0;
155
+
156
+ const setCounterValue = useCallback(
157
+ (value: number) =>
158
+ emitEvent("setCounterValue", {
159
+ parameterUpdates: { counterValue: value },
160
+ }),
161
+ [emitEvent],
162
+ );
163
+
164
+ const handleResetCounter = useCallback(() => setCounterValue(0), [
165
+ setCounterValue,
166
+ ]);
167
+
168
+ useEffect(() => {
169
+ const interval = setInterval(() => setCounterValue(counterValue + 1), 1000);
170
+ return () => clearInterval(interval);
171
+ }, [setCounterValue, counterValue]);
172
+
173
+ return (
174
+ <div className={css.container}>
175
+ <H4>Hello, {greetingName}!</H4>
176
+ <Card className={css.card} compact={true}>
177
+ <div>Count: {counterValue}</div>
178
+ <Button onClick={handleResetCounter}>Reset</Button>
179
+ </Card>
180
+ </div>
181
+ );
182
+ };
183
+ `
184
+ }], ["src/main.config.ts", {
185
+ "type": "base64",
186
+ "body": "aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAiQG9zZGsvd2lkZ2V0LmNsaWVudC51bnN0YWJsZSI7CgpleHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoewogIGlkOiAid2lkZ2V0SWQiLAogIG5hbWU6ICJDdXN0b20gV2lkZ2V0IiwKICBkZXNjcmlwdGlvbjogIkFuIGV4YW1wbGUgY3VzdG9tIHdpZGdldCBpbXBsZW1lbnRhdGlvbiIsCiAgdHlwZTogIndvcmtzaG9wIiwKICBwYXJhbWV0ZXJzOiB7CiAgICBncmVldGluZ05hbWU6IHsKICAgICAgZGlzcGxheU5hbWU6ICJHcmVldGluZyBuYW1lIiwKICAgICAgdHlwZTogInN0cmluZyIsCiAgICB9LAogICAgY291bnRlclZhbHVlOiB7CiAgICAgIGRpc3BsYXlOYW1lOiAiQ291bnRlciB2YWx1ZSIsCiAgICAgIHR5cGU6ICJudW1iZXIiLAogICAgfSwKICB9LAogIGV2ZW50czogewogICAgc2V0Q291bnRlclZhbHVlOiB7CiAgICAgIGRpc3BsYXlOYW1lOiAiU2V0IGNvdW50ZXIgdmFsdWUiLAogICAgICBwYXJhbWV0ZXJVcGRhdGVJZHM6IFsiY291bnRlclZhbHVlIl0sCiAgICB9LAogIH0sCn0pOwo="
187
+ }], ["src/main.css", {
188
+ "type": "base64",
189
+ "body": "aHRtbCwgYm9keSB7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBtYXJnaW46IDA7Cn0="
190
+ }], ["src/main.tsx", {
191
+ type: "raw",
192
+ body: `import "@blueprintjs/core/lib/css/blueprint.css";
193
+
194
+ import { FoundryWidget } from "@osdk/widget.client-react.unstable";
195
+ import { createRoot } from "react-dom/client";
196
+ import MainConfig from "./main.config.js";
197
+ import { Widget } from "./Widget.js";
198
+
199
+ const root = document.querySelector("body")!;
200
+
201
+ createRoot(root).render(
202
+ <FoundryWidget config={MainConfig}>
203
+ <Widget />
204
+ </FoundryWidget>,
205
+ );
206
+ `
207
+ }], ["src/vite-env.d.ts", {
208
+ "type": "base64",
209
+ "body": "Ly8vIDxyZWZlcmVuY2UgdHlwZXM9InZpdGUvY2xpZW50IiAvPgo="
210
+ }], ["tsconfig.json", {
211
+ "type": "base64",
212
+ "body": "ewogICJjb21waWxlck9wdGlvbnMiOiB7CiAgICAidGFyZ2V0IjogIkVTMjAyMCIsCiAgICAidXNlRGVmaW5lRm9yQ2xhc3NGaWVsZHMiOiB0cnVlLAogICAgImxpYiI6IFsiRVMyMDIwIiwgIkRPTSIsICJET00uSXRlcmFibGUiXSwKICAgICJtb2R1bGUiOiAiRVNOZXh0IiwKICAgICJza2lwTGliQ2hlY2siOiB0cnVlLAoKICAgIC8qIEJ1bmRsZXIgbW9kZSAqLwogICAgIm1vZHVsZVJlc29sdXRpb24iOiAiYnVuZGxlciIsCiAgICAiYWxsb3dJbXBvcnRpbmdUc0V4dGVuc2lvbnMiOiB0cnVlLAogICAgInJlc29sdmVKc29uTW9kdWxlIjogdHJ1ZSwKICAgICJpc29sYXRlZE1vZHVsZXMiOiB0cnVlLAogICAgIm5vRW1pdCI6IHRydWUsCiAgICAianN4IjogInJlYWN0LWpzeCIsCgogICAgLyogTGludGluZyAqLwogICAgInN0cmljdCI6IHRydWUsCiAgICAibm9VbnVzZWRMb2NhbHMiOiB0cnVlLAogICAgIm5vVW51c2VkUGFyYW1ldGVycyI6IHRydWUsCiAgICAibm9GYWxsdGhyb3VnaENhc2VzSW5Td2l0Y2giOiB0cnVlCiAgfSwKICAiaW5jbHVkZSI6IFsic3JjIl0sCiAgInJlZmVyZW5jZXMiOiBbeyAicGF0aCI6ICIuL3RzY29uZmlnLm5vZGUuanNvbiIgfV0KfQo="
213
+ }], ["tsconfig.node.json", {
214
+ "type": "base64",
215
+ "body": "ewogICJjb21waWxlck9wdGlvbnMiOiB7CiAgICAiY29tcG9zaXRlIjogdHJ1ZSwKICAgICJza2lwTGliQ2hlY2siOiB0cnVlLAogICAgIm1vZHVsZSI6ICJFU05leHQiLAogICAgIm1vZHVsZVJlc29sdXRpb24iOiAiYnVuZGxlciIsCiAgICAiYWxsb3dTeW50aGV0aWNEZWZhdWx0SW1wb3J0cyI6IHRydWUKICB9LAogICJpbmNsdWRlIjogWyJ2aXRlLmNvbmZpZy50cyJdCn0K"
216
+ }], ["vite.config.ts.hbs", {
217
+ type: "raw",
218
+ body: `import foundryWidgetPlugin from "@osdk/widget.vite-plugin.unstable";
219
+ import react from "@vitejs/plugin-react";
220
+ import { defineConfig } from "vite";
221
+
222
+ // https://vitejs.dev/config/
223
+ export default defineConfig({
224
+ plugins: [react(), foundryWidgetPlugin()],
225
+ server: {
226
+ port: 8080,
227
+ cors: true,
228
+ },
229
+ build: {
230
+ rollupOptions: {
231
+ input: ["./index.html"],
232
+ },
233
+ },
234
+ });
235
+ `
236
+ }]]);
237
+
238
+ export { files };
239
+ //# sourceMappingURL=esm-ENH745KN.js.map
240
+ //# sourceMappingURL=esm-ENH745KN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../create-widget.template.minimal-react.v2/build/esm/generatedNoCheck/index.js"],"names":[],"mappings":"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","file":"esm-ENH745KN.js","sourcesContent":["export const files = new Map([[\"README.md.hbs\", {\n type: \"raw\",\n body: `# {{project}}\n\nThis project was generated with [\\`@osdk/create-widget\\`](https://www.npmjs.com/package/@osdk/create-widget) and demonstrates developing custom widgets to be embedded within Foundry UIs such as Workshop. It uses React on top of Vite. Check out the [Vite](https://vitejs.dev/guide/) docs for further configuration. The Vite plugin [\\`@osdk/widget.vite-plugin.unstable\\`](https://www.npmjs.com/package/@osdk/widget.vite-plugin.unstable) automatically generates a \\`widgets.config.json\\` manifest file containing metadata about widgets inside this project during the build command.\n\n## Developing\n\nRun the following command or equivalent with your preferred package manager to start a local development server and follow the instructions printed to set up developer mode in Foundry:\n\n\\`\\`\\`sh\nnpm run dev\n\\`\\`\\`\n\n\n## Deploying\n\nA \\`foundry.config.json\\` file is included in the root of this project containing the deployment configuration to Foundry.\n\nRun the following command or equivalent with your preferred package manager to create a production build of your widgets:\n\n\\`\\`\\`sh\nnpm run build\n\\`\\`\\`\n\nA \\`.palantir/widgets.config.json\\` manifest file containing metadata about your widgets is created during the build.\n\nRun the following command or equivalent with your preferred package manager to deploy the production build of your widgets:\n\n\\`\\`\\`sh\nnpx @osdk/cli@beta unstable widgetset deploy\n\\`\\`\\`\n\nBy default the \\`package-json\\` strategy is used for determining the version for your widgets from the \\`version\\` field in this project's \\`package.json\\` file. Remember to update this field and rerun the build command to update the manifest file when deploying a new version.\n\nIf you prefer to infer the version from a git tag, you can use the \\`git-describe\\` strategy by setting the \\`autoVersion\\` field in the \\`foundry.config.json\\` file to:\n\n\\`\\`\\`json\n{\n \"type\": \"git-describe\",\n \"tagPrefix\": \"\"\n}\n\\`\\`\\`\n`\n}], [\".gitignore\", {\n type: \"raw\",\n body: `# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\npnpm-debug.log*\nlerna-debug.log*\n\nnode_modules\ndist\ndist-ssr\n*.local\n\n# Editor directories and files\n.vscode/*\n!.vscode/extensions.json\n.idea\n.DS_Store\n*.suo\n*.ntvs*\n*.njsproj\n*.sln\n*.sw?\n`\n}], [\"eslint.config.mjs\", {\n \"type\": \"base64\",\n \"body\": \"Ly8gQHRzLWNoZWNrCmltcG9ydCBlc2xpbnQgZnJvbSAiQGVzbGludC9qcyI7CmltcG9ydCB0c1BhcnNlciBmcm9tICJAdHlwZXNjcmlwdC1lc2xpbnQvcGFyc2VyIjsKaW1wb3J0ICogYXMgaW1wb3J0UGx1Z2luIGZyb20gImVzbGludC1wbHVnaW4taW1wb3J0IjsKaW1wb3J0IGpzeEExMXlQbHVnaW4gZnJvbSAiZXNsaW50LXBsdWdpbi1qc3gtYTExeSI7CmltcG9ydCByZWFjdFBsdWdpbiBmcm9tICJlc2xpbnQtcGx1Z2luLXJlYWN0IjsKaW1wb3J0IHJlYWN0SG9va3NQbHVnaW4gZnJvbSAiZXNsaW50LXBsdWdpbi1yZWFjdC1ob29rcyI7CmltcG9ydCByZWFjdFJlZnJlc2ggZnJvbSAiZXNsaW50LXBsdWdpbi1yZWFjdC1yZWZyZXNoIjsKaW1wb3J0IGdsb2JhbHMgZnJvbSAiZ2xvYmFscyI7CmltcG9ydCB0c2VzbGludCBmcm9tICJ0eXBlc2NyaXB0LWVzbGludCI7CgpleHBvcnQgZGVmYXVsdCB0c2VzbGludC5jb25maWcoewogIGZpbGVzOiBbImVzbGludC5jb25maWcubWpzIiwgInNyYy8qKi8qLntqcyxtanMsY2pzLHRzLGpzeCx0c3h9Il0sCiAgc2V0dGluZ3M6IHsKICAgIHJlYWN0OiB7CiAgICAgIHZlcnNpb246ICJkZXRlY3QiLAogICAgfSwKCiAgICAiaW1wb3J0L3Jlc29sdmVyIjogewogICAgICBub2RlOiB7CiAgICAgICAgZXh0ZW5zaW9uczogWyIuanMiLCAiLmpzeCIsICIudHMiLCAiLnRzeCJdLAogICAgICB9LAogICAgfSwKICB9LAogIGxhbmd1YWdlT3B0aW9uczogewogICAgZ2xvYmFsczogewogICAgICAuLi5nbG9iYWxzLmJyb3dzZXIsCiAgICB9LAoKICAgIHBhcnNlcjogdHNQYXJzZXIsCiAgfSwKICBleHRlbmRzOiBbCiAgICBlc2xpbnQuY29uZmlncy5yZWNvbW1lbmRlZCwKICAgIC4uLnRzZXNsaW50LmNvbmZpZ3MucmVjb21tZW5kZWQsCiAgXSwKICBwbHVnaW5zOiB7CiAgICAicmVhY3QiOiAvKiogQHR5cGUgaW1wb3J0KCJlc2xpbnQiKS5FU0xpbnQuUGx1Z2luICovIChyZWFjdFBsdWdpbiksCiAgICAicmVhY3QtcmVmcmVzaCI6IHJlYWN0UmVmcmVzaCwKICAgICJyZWFjdC1ob29rcyI6CiAgICAgIC8qKiBAdHlwZSBpbXBvcnQoImVzbGludCIpLkVTTGludC5QbHVnaW4gKi8gKHJlYWN0SG9va3NQbHVnaW4pLAogICAgImpzeC1hMTF5IjoganN4QTExeVBsdWdpbiwKICAgICJpbXBvcnQiOiBpbXBvcnRQbHVnaW4sCiAgfSwKICBydWxlczogewogICAgLi4uKAogICAgICAvKiogQHR5cGUgaW1wb3J0KCJlc2xpbnQiKS5MaW50ZXIuUnVsZXNSZWNvcmQgKi8KICAgICAgKHJlYWN0UGx1Z2luLmNvbmZpZ3MuZmxhdD8ucmVjb21tZW5kZWQucnVsZXMpCiAgICApLAogICAgInJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzIjogImVycm9yIiwKICAgICJyZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHMiOiAid2FybiIsCiAgICAuLi5qc3hBMTF5UGx1Z2luLmNvbmZpZ3MucmVjb21tZW5kZWQucnVsZXMsCiAgICAicmVhY3QtcmVmcmVzaC9vbmx5LWV4cG9ydC1jb21wb25lbnRzIjogWyJ3YXJuIiwgewogICAgICBhbGxvd0NvbnN0YW50RXhwb3J0OiB0cnVlLAogICAgfV0sCgogICAgImltcG9ydC9uYW1lZCI6ICJlcnJvciIsCiAgICAiaW1wb3J0L2RlZmF1bHQiOiAiZXJyb3IiLAogICAgImltcG9ydC9uYW1lc3BhY2UiOiAiZXJyb3IiLAogICAgImltcG9ydC9uby1kdXBsaWNhdGVzIjogImVycm9yIiwKICAgICJpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXMiOiAiZXJyb3IiLAoKICAgICJyZWFjdC9yZWFjdC1pbi1qc3gtc2NvcGUiOiAib2ZmIiwKICB9LAp9KTsK\"\n}], [\"index.html\", {\n type: \"raw\",\n body: `<!doctype html>\n<html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <title>Minimal React Custom Widget</title>\n </head>\n <body>\n <script type=\"module\" src=\"/src/main.tsx\"></script>\n </body>\n</html>\n`\n}], [\"package.json.hbs\", {\n type: \"raw\",\n body: `{\n \"name\": \"{{project}}\",\n \"private\": true,\n \"version\": \"0.0.0\",\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"vite\",\n \"build\": \"tsc && vite build\",\n \"lint\": \"eslint . --report-unused-disable-directives --max-warnings 0\",\n \"test\": \"vitest run --passWithNoTests\",\n \"preview\": \"vite preview\"\n },\n \"dependencies\": {\n \"@osdk/widget.client-react.unstable\": \"^1.1.0\",\n \"@osdk/widget.client.unstable\": \"^1.1.0\",\n \"@blueprintjs/core\": \"^5.16.0\",\n \"react\": \"^18\",\n \"react-dom\": \"^18\",\n \"react-router-dom\": \"^6.23.1\"\n },\n \"devDependencies\": {\n \"@osdk/widget.vite-plugin.unstable\": \"^1.1.0\",\n \"@eslint/compat\": \"^1.2.1\",\n \"@eslint/js\": \"^9.13.0\",\n \"@types/react\": \"^18\",\n \"@types/react-dom\": \"^18\",\n \"@typescript-eslint/eslint-plugin\": \"^8.21.0\",\n \"@typescript-eslint/parser\": \"^8.21.0\",\n \"@vitejs/plugin-react\": \"^4.2.0\",\n \"eslint\": \"^9.19.0\",\n \"eslint-plugin-import\": \"^2.31.0\",\n \"eslint-plugin-jsx-a11y\": \"^6.10.1\",\n \"eslint-plugin-react\": \"^7.37.2\",\n \"eslint-plugin-react-hooks\": \"^5.0.0\",\n \"eslint-plugin-react-refresh\": \"^0.4.14\",\n \"globals\": \"^15.11.0\",\n \"typescript\": \"~5.5.4\",\n \"typescript-eslint\": \"^8.21.0\",\n \"vite\": \"^6.0.11\",\n \"vitest\": \"^3.0.5\"\n }\n}`\n}], [\"src/Widget.module.css\", {\n \"type\": \"base64\",\n \"body\": \"LmNvbnRhaW5lciB7CiAgICBwYWRkaW5nOiAxNXB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBoZWlnaHQ6IDEwMCU7Cn0KCi5jYXJkIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogMTBweDsKICAgIHdpZHRoOiAxNTBweDsKfQ==\"\n}], [\"src/Widget.tsx\", {\n type: \"raw\",\n body: `import { Button, Card, H4 } from \"@blueprintjs/core\";\nimport {\n type FoundryWidgetClientContext,\n useFoundryWidgetContext,\n} from \"@osdk/widget.client-react.unstable\";\nimport React, { useCallback, useEffect } from \"react\";\nimport type MainConfig from \"./main.config.js\";\nimport css from \"./Widget.module.css\";\n\nconst useWidgetContext: () => FoundryWidgetClientContext<typeof MainConfig> =\n useFoundryWidgetContext.withTypes<typeof MainConfig>();\n\nexport const Widget: React.FC = () => {\n const { parameters, emitEvent } = useWidgetContext();\n const greetingName = parameters.values.greetingName ?? \"World\";\n const counterValue = parameters.values.counterValue ?? 0;\n\n const setCounterValue = useCallback(\n (value: number) =>\n emitEvent(\"setCounterValue\", {\n parameterUpdates: { counterValue: value },\n }),\n [emitEvent],\n );\n\n const handleResetCounter = useCallback(() => setCounterValue(0), [\n setCounterValue,\n ]);\n\n useEffect(() => {\n const interval = setInterval(() => setCounterValue(counterValue + 1), 1000);\n return () => clearInterval(interval);\n }, [setCounterValue, counterValue]);\n\n return (\n <div className={css.container}>\n <H4>Hello, {greetingName}!</H4>\n <Card className={css.card} compact={true}>\n <div>Count: {counterValue}</div>\n <Button onClick={handleResetCounter}>Reset</Button>\n </Card>\n </div>\n );\n};\n`\n}], [\"src/main.config.ts\", {\n \"type\": \"base64\",\n \"body\": \"aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAiQG9zZGsvd2lkZ2V0LmNsaWVudC51bnN0YWJsZSI7CgpleHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoewogIGlkOiAid2lkZ2V0SWQiLAogIG5hbWU6ICJDdXN0b20gV2lkZ2V0IiwKICBkZXNjcmlwdGlvbjogIkFuIGV4YW1wbGUgY3VzdG9tIHdpZGdldCBpbXBsZW1lbnRhdGlvbiIsCiAgdHlwZTogIndvcmtzaG9wIiwKICBwYXJhbWV0ZXJzOiB7CiAgICBncmVldGluZ05hbWU6IHsKICAgICAgZGlzcGxheU5hbWU6ICJHcmVldGluZyBuYW1lIiwKICAgICAgdHlwZTogInN0cmluZyIsCiAgICB9LAogICAgY291bnRlclZhbHVlOiB7CiAgICAgIGRpc3BsYXlOYW1lOiAiQ291bnRlciB2YWx1ZSIsCiAgICAgIHR5cGU6ICJudW1iZXIiLAogICAgfSwKICB9LAogIGV2ZW50czogewogICAgc2V0Q291bnRlclZhbHVlOiB7CiAgICAgIGRpc3BsYXlOYW1lOiAiU2V0IGNvdW50ZXIgdmFsdWUiLAogICAgICBwYXJhbWV0ZXJVcGRhdGVJZHM6IFsiY291bnRlclZhbHVlIl0sCiAgICB9LAogIH0sCn0pOwo=\"\n}], [\"src/main.css\", {\n \"type\": \"base64\",\n \"body\": \"aHRtbCwgYm9keSB7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBtYXJnaW46IDA7Cn0=\"\n}], [\"src/main.tsx\", {\n type: \"raw\",\n body: `import \"@blueprintjs/core/lib/css/blueprint.css\";\n\nimport { FoundryWidget } from \"@osdk/widget.client-react.unstable\";\nimport { createRoot } from \"react-dom/client\";\nimport MainConfig from \"./main.config.js\";\nimport { Widget } from \"./Widget.js\";\n\nconst root = document.querySelector(\"body\")!;\n\ncreateRoot(root).render(\n <FoundryWidget config={MainConfig}>\n <Widget />\n </FoundryWidget>,\n);\n`\n}], [\"src/vite-env.d.ts\", {\n \"type\": \"base64\",\n \"body\": \"Ly8vIDxyZWZlcmVuY2UgdHlwZXM9InZpdGUvY2xpZW50IiAvPgo=\"\n}], [\"tsconfig.json\", {\n \"type\": \"base64\",\n \"body\": \"ewogICJjb21waWxlck9wdGlvbnMiOiB7CiAgICAidGFyZ2V0IjogIkVTMjAyMCIsCiAgICAidXNlRGVmaW5lRm9yQ2xhc3NGaWVsZHMiOiB0cnVlLAogICAgImxpYiI6IFsiRVMyMDIwIiwgIkRPTSIsICJET00uSXRlcmFibGUiXSwKICAgICJtb2R1bGUiOiAiRVNOZXh0IiwKICAgICJza2lwTGliQ2hlY2siOiB0cnVlLAoKICAgIC8qIEJ1bmRsZXIgbW9kZSAqLwogICAgIm1vZHVsZVJlc29sdXRpb24iOiAiYnVuZGxlciIsCiAgICAiYWxsb3dJbXBvcnRpbmdUc0V4dGVuc2lvbnMiOiB0cnVlLAogICAgInJlc29sdmVKc29uTW9kdWxlIjogdHJ1ZSwKICAgICJpc29sYXRlZE1vZHVsZXMiOiB0cnVlLAogICAgIm5vRW1pdCI6IHRydWUsCiAgICAianN4IjogInJlYWN0LWpzeCIsCgogICAgLyogTGludGluZyAqLwogICAgInN0cmljdCI6IHRydWUsCiAgICAibm9VbnVzZWRMb2NhbHMiOiB0cnVlLAogICAgIm5vVW51c2VkUGFyYW1ldGVycyI6IHRydWUsCiAgICAibm9GYWxsdGhyb3VnaENhc2VzSW5Td2l0Y2giOiB0cnVlCiAgfSwKICAiaW5jbHVkZSI6IFsic3JjIl0sCiAgInJlZmVyZW5jZXMiOiBbeyAicGF0aCI6ICIuL3RzY29uZmlnLm5vZGUuanNvbiIgfV0KfQo=\"\n}], [\"tsconfig.node.json\", {\n \"type\": \"base64\",\n \"body\": \"ewogICJjb21waWxlck9wdGlvbnMiOiB7CiAgICAiY29tcG9zaXRlIjogdHJ1ZSwKICAgICJza2lwTGliQ2hlY2siOiB0cnVlLAogICAgIm1vZHVsZSI6ICJFU05leHQiLAogICAgIm1vZHVsZVJlc29sdXRpb24iOiAiYnVuZGxlciIsCiAgICAiYWxsb3dTeW50aGV0aWNEZWZhdWx0SW1wb3J0cyI6IHRydWUKICB9LAogICJpbmNsdWRlIjogWyJ2aXRlLmNvbmZpZy50cyJdCn0K\"\n}], [\"vite.config.ts.hbs\", {\n type: \"raw\",\n body: `import foundryWidgetPlugin from \"@osdk/widget.vite-plugin.unstable\";\nimport react from \"@vitejs/plugin-react\";\nimport { defineConfig } from \"vite\";\n\n// https://vitejs.dev/config/\nexport default defineConfig({\n plugins: [react(), foundryWidgetPlugin()],\n server: {\n port: 8080,\n cors: true,\n },\n build: {\n rollupOptions: {\n input: [\"./index.html\"],\n },\n },\n});\n`\n}]]);"]}