@osdk/create-widget 2.0.0-beta.10 → 2.0.0-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @osdk/create-widget
2
2
 
3
+ ## 2.0.0-beta.12
4
+
5
+ ## 2.0.0-beta.11
6
+
7
+ ### Minor Changes
8
+
9
+ - d430386: Rename unstable create-widget --widgetSetRid arg to --widgetSet
10
+
3
11
  ## 2.0.0-beta.10
4
12
 
5
13
  ## 2.0.0-beta.9
@@ -88,8 +88,8 @@ dist-ssr
88
88
  "dependencies": {
89
89
  "{{osdkPackage}}": "latest",
90
90
  "@osdk/client": "^2.0.0",
91
- "@osdk/widget-client-react.unstable": "^1.0.0",
92
- "@osdk/widget-client.unstable": "^1.0.0",
91
+ "@osdk/widget-client-react.unstable": "^2.0.0",
92
+ "@osdk/widget-client.unstable": "^2.0.0",
93
93
  "@radix-ui/react-icons": "^1.3.1",
94
94
  "@radix-ui/themes": "^3.1.4",
95
95
  "react": "^18",
@@ -97,7 +97,7 @@ dist-ssr
97
97
  "react-router-dom": "^6.23.1"
98
98
  },
99
99
  "devDependencies": {
100
- "@osdk/widget.vite-plugin.unstable": "^1.0.0",
100
+ "@osdk/widget.vite-plugin.unstable": "^2.0.0",
101
101
  "@eslint/compat": "^1.2.1",
102
102
  "@eslint/js": "^9.13.0",
103
103
  "@types/react": "^18",
@@ -105,7 +105,7 @@ dist-ssr
105
105
  "@typescript-eslint/eslint-plugin": "^8.21.0",
106
106
  "@typescript-eslint/parser": "^8.21.0",
107
107
  "@vitejs/plugin-react": "^4.2.0",
108
- "eslint": "^9.13.0",
108
+ "eslint": "^9.19.0",
109
109
  "eslint-plugin-import": "^2.31.0",
110
110
  "eslint-plugin-jsx-a11y": "^6.10.1",
111
111
  "eslint-plugin-react": "^7.37.2",
@@ -128,7 +128,7 @@ dist-ssr
128
128
  export default defineConfig({
129
129
  id: "widgetId",
130
130
  name: "Custom Widget",
131
- description: "And example custom widget implementation",
131
+ description: "An example custom widget implementation",
132
132
  type: "workshop",
133
133
  parameters: {
134
134
  headerText: {
@@ -361,5 +361,5 @@ export default defineConfig({
361
361
  }]]);
362
362
 
363
363
  export { files };
364
- //# sourceMappingURL=esm-BZYNTM45.js.map
365
- //# sourceMappingURL=esm-BZYNTM45.js.map
364
+ //# sourceMappingURL=esm-BLPQGBFI.js.map
365
+ //# sourceMappingURL=esm-BLPQGBFI.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../create-widget.template.react.v2/build/esm/generatedNoCheck/index.js"],"names":[],"mappings":"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","file":"esm-BZYNTM45.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 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.\n\n## Developing\n\nRun the following command or equivalent with your preferred package manager to start a local development server on \\`http://localhost:8080\\`:\n\n\\`\\`\\`sh\nnpm run dev\n\\`\\`\\`\n\nDevelopment configuration is stored in \\`.env.development\\`.\n\n## Deploying\n\nRun the following command or equivalent with your preferred package manager to create a production build of your application:\n\n\\`\\`\\`sh\nnpm run build\n\\`\\`\\`\n\nProduction configuration is stored in \\`.env.production\\`.\n\nA \\`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.\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.0.0\",\n \"@osdk/widget-client.unstable\": \"^1.0.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.0.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.13.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.4\"\n }\n}`\n}], [\"src/context.ts\", {\n \"type\": \"base64\",\n \"body\": \"aW1wb3J0IHsgdXNlRm91bmRyeVdpZGdldENvbnRleHQgfSBmcm9tICJAb3Nkay93aWRnZXQtY2xpZW50LXJlYWN0LnVuc3RhYmxlIjsKaW1wb3J0IHR5cGUgTWFpbkNvbmZpZyBmcm9tICIuL21haW4uY29uZmlnLmpzIjsKCmV4cG9ydCBjb25zdCB1c2VXaWRnZXRDb250ZXh0ID0gdXNlRm91bmRyeVdpZGdldENvbnRleHQud2l0aFR5cGVzPAogIHR5cGVvZiBNYWluQ29uZmlnCj4oKTsK\"\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: \"And 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 { App } from \"./widget.js\";\n\nconst root = document.querySelector(\"body\")!;\n\ncreateRoot(root).render(\n <Theme>\n <FoundryWidget config={MainConfig}>\n <App />\n </FoundryWidget>\n </Theme>,\n);\n`\n}], [\"src/vite-env.d.ts\", {\n \"type\": \"base64\",\n \"body\": \"Ly8vIDxyZWZlcmVuY2UgdHlwZXM9InZpdGUvY2xpZW50IiAvPgo=\"\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 App: 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}], [\"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 widgetManifestPlugin 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(), widgetManifestPlugin()],\n server: {\n port: 8080,\n },\n});\n`\n}]]);"]}
1
+ {"version":3,"sources":["../../../create-widget.template.react.v2/build/esm/generatedNoCheck/index.js"],"names":[],"mappings":"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","file":"esm-BLPQGBFI.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 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.\n\n## Developing\n\nRun the following command or equivalent with your preferred package manager to start a local development server on \\`http://localhost:8080\\`:\n\n\\`\\`\\`sh\nnpm run dev\n\\`\\`\\`\n\nDevelopment configuration is stored in \\`.env.development\\`.\n\n## Deploying\n\nRun the following command or equivalent with your preferred package manager to create a production build of your application:\n\n\\`\\`\\`sh\nnpm run build\n\\`\\`\\`\n\nProduction configuration is stored in \\`.env.production\\`.\n\nA \\`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.\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\": \"^2.0.0\",\n \"@osdk/widget-client.unstable\": \"^2.0.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\": \"^2.0.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.4\"\n }\n}`\n}], [\"src/context.ts\", {\n \"type\": \"base64\",\n \"body\": \"aW1wb3J0IHsgdXNlRm91bmRyeVdpZGdldENvbnRleHQgfSBmcm9tICJAb3Nkay93aWRnZXQtY2xpZW50LXJlYWN0LnVuc3RhYmxlIjsKaW1wb3J0IHR5cGUgTWFpbkNvbmZpZyBmcm9tICIuL21haW4uY29uZmlnLmpzIjsKCmV4cG9ydCBjb25zdCB1c2VXaWRnZXRDb250ZXh0ID0gdXNlRm91bmRyeVdpZGdldENvbnRleHQud2l0aFR5cGVzPAogIHR5cGVvZiBNYWluQ29uZmlnCj4oKTsK\"\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 { App } from \"./widget.js\";\n\nconst root = document.querySelector(\"body\")!;\n\ncreateRoot(root).render(\n <Theme>\n <FoundryWidget config={MainConfig}>\n <App />\n </FoundryWidget>\n </Theme>,\n);\n`\n}], [\"src/vite-env.d.ts\", {\n \"type\": \"base64\",\n \"body\": \"Ly8vIDxyZWZlcmVuY2UgdHlwZXM9InZpdGUvY2xpZW50IiAvPgo=\"\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 App: 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}], [\"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 widgetManifestPlugin 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(), widgetManifestPlugin()],\n server: {\n port: 8080,\n },\n});\n`\n}]]);"]}
@@ -4,9 +4,7 @@ import { createConsola, consola as consola$1 } from 'consola';
4
4
  import { colorize } from 'consola/utils';
5
5
  import fs2 from 'fs';
6
6
  import path2 from 'path';
7
- import { findUpSync } from 'find-up';
8
7
  import Handlebars from 'handlebars';
9
- import { fileURLToPath } from 'url';
10
8
 
11
9
  // src/cli.ts
12
10
  var consola = createConsola({
@@ -168,7 +166,7 @@ var TEMPLATES = [
168
166
  envPrefix: "VITE_",
169
167
  buildDirectory: "./dist",
170
168
  files: {
171
- "2.x": getPackageFiles(import('./esm-BZYNTM45.js'))
169
+ "2.x": getPackageFiles(import('./esm-BLPQGBFI.js'))
172
170
  }
173
171
  }
174
172
  ];
@@ -201,45 +199,30 @@ async function promptTemplate(parsed) {
201
199
 
202
200
  // src/prompts/promptWidgetSetRid.ts
203
201
  async function promptWidgetSetRid({
204
- widgetSetRid
202
+ widgetSet
205
203
  }) {
206
- while (widgetSetRid == null || !/^ri\.widgetregistry\.\.widget-set\.[^.]+$/.test(widgetSetRid)) {
207
- if (widgetSetRid != null) {
204
+ while (widgetSet == null || !/^ri\.widgetregistry\.\.widget-set\.[^.]+$/.test(widgetSet)) {
205
+ if (widgetSet != null) {
208
206
  consola.fail("Please enter a valid widget resource identifier (rid)");
209
207
  }
210
- widgetSetRid = await consola.prompt(`Enter the resource identifier (rid) for your widget set:
208
+ widgetSet = await consola.prompt(`Enter the resource identifier (rid) for your widget set:
211
209
  ${italic("(Example: ri.widgetregistry..widget-set.1c66b352-4e00-40d2-995d-061c9d533ace)")}`, {
212
210
  type: "text"
213
211
  });
214
212
  }
215
- return widgetSetRid;
213
+ return widgetSet;
216
214
  }
217
215
 
218
- // ../generator-utils/build/esm/changeVersionPrefix.js
219
- function changeVersionPrefix(version, prefix) {
220
- const isWorkspaceProtocol = version.startsWith("workspace:");
221
- if (isWorkspaceProtocol) {
222
- version = version.slice("workspace:".length);
223
- }
224
- if (version[0] === "^" || version[0] === "~" || version[0] === "*") {
225
- version = version.slice(1);
226
- }
227
- return `${isWorkspaceProtocol ? "workspace:" : ""}${prefix}${version}`;
228
- }
229
-
230
- // ../../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js
231
- process.env.NODE_ENV === "production";
232
-
233
216
  // src/generate/generateFoundryConfigJson.ts
234
217
  function generateFoundryConfigJson({
235
218
  foundryUrl,
236
- widgetSetRid,
219
+ widgetSet,
237
220
  directory
238
221
  }) {
239
222
  return JSON.stringify({
240
223
  foundryUrl,
241
224
  widgetSet: {
242
- rid: widgetSetRid,
225
+ rid: widgetSet,
243
226
  directory,
244
227
  autoVersion: {
245
228
  type: "git-describe",
@@ -269,7 +252,7 @@ async function run({
269
252
  template,
270
253
  sdkVersion,
271
254
  foundryUrl,
272
- widgetSetRid,
255
+ widgetSet,
273
256
  osdkPackage,
274
257
  osdkRegistryUrl
275
258
  }) {
@@ -309,17 +292,9 @@ async function run({
309
292
  });
310
293
  await fs2.promises.writeFile(finalPath, Buffer.from(contents.body, contents.type === "raw" ? "utf-8" : "base64"));
311
294
  }
312
- const ourPackageJsonPath = findUpSync("package.json", {
313
- cwd: fileURLToPath(import.meta.url)
314
- });
315
- ourPackageJsonPath ? JSON.parse(fs2.readFileSync(ourPackageJsonPath, "utf-8")).version : void 0;
316
- const clientVersion = "2.1.0-beta.25";
317
295
  const templateContext = {
318
296
  project,
319
- foundryUrl,
320
- widgetSetRid,
321
- osdkPackage,
322
- clientVersion: changeVersionPrefix(clientVersion, "^")
297
+ osdkPackage
323
298
  };
324
299
  const processFiles = function(dir) {
325
300
  fs2.readdirSync(dir).forEach(function(file) {
@@ -349,7 +324,7 @@ async function run({
349
324
  fs2.writeFileSync(path2.join(root, ".npmrc"), npmRc);
350
325
  const foundryConfigJson = generateFoundryConfigJson({
351
326
  foundryUrl,
352
- widgetSetRid,
327
+ widgetSet,
353
328
  directory: template.buildDirectory
354
329
  });
355
330
  fs2.writeFileSync(path2.join(root, "foundry.config.json"), foundryConfigJson);
@@ -372,7 +347,7 @@ async function run({
372
347
 
373
348
  // src/cli.ts
374
349
  async function cli(args = process.argv) {
375
- const base = yargs(hideBin(args)).version("2.0.0-beta.10").wrap(Math.min(150, yargs().terminalWidth())).strict().help().command("$0 [project] [--<option>]", "Create a new OSDK widget set based on framework templates. Information may be provided through options to skip interactive prompts.", (yargs2) => yargs2.positional("project", {
350
+ const base = yargs(hideBin(args)).version("2.0.0-beta.12").wrap(Math.min(150, yargs().terminalWidth())).strict().help().command("$0 [project] [--<option>]", "Create a new OSDK widget set based on framework templates. Information may be provided through options to skip interactive prompts.", (yargs2) => yargs2.positional("project", {
376
351
  type: "string",
377
352
  describe: "Project name to create"
378
353
  }).option("overwrite", {
@@ -390,7 +365,7 @@ async function cli(args = process.argv) {
390
365
  }).option("foundryUrl", {
391
366
  type: "string",
392
367
  describe: "URL for the Foundry stack"
393
- }).option("widgetSetRid", {
368
+ }).option("widgetSet", {
394
369
  type: "string",
395
370
  describe: "Widget set resource identifier (rid)"
396
371
  }).option("osdkPackage", {
@@ -414,14 +389,14 @@ async function cli(args = process.argv) {
414
389
  const foundryUrl = await promptFoundryUrl(parsed);
415
390
  const osdkPackage = await promptOsdkPackage(parsed);
416
391
  const osdkRegistryUrl = await promptOsdkRegistryUrl(parsed);
417
- const widgetSetRid = await promptWidgetSetRid(parsed);
392
+ const widgetSet = await promptWidgetSetRid(parsed);
418
393
  await run({
419
394
  project,
420
395
  overwrite,
421
396
  template,
422
397
  sdkVersion,
423
398
  foundryUrl,
424
- widgetSetRid,
399
+ widgetSet,
425
400
  osdkPackage,
426
401
  osdkRegistryUrl
427
402
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/consola.ts","../../src/highlight.ts","../../src/prompts/promptFoundryUrl.ts","../../src/prompts/promptOsdkPackage.ts","../../src/prompts/promptOsdkRegistryUrl.ts","../../src/prompts/promptOverwrite.ts","../../src/prompts/promptProject.ts","../../src/prompts/promptSdkVersion.ts","../../src/getPackageFiles.ts","../../src/generatedNoCheck/templates.ts","../../src/prompts/promptTemplate.ts","../../src/prompts/promptWidgetSetRid.ts","../../../generator-utils/build/esm/changeVersionPrefix.js","../../../../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../../src/generate/generateFoundryConfigJson.ts","../../src/generate/generateNpmRc.ts","../../src/run.ts","../../src/cli.ts"],"names":["defaultConsola","fs","path","sdkVersion","template","yargs"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola as defaultConsola, createConsola } from \"consola\";\nexport const consola = createConsola({\n // https://github.com/unjs/consola/issues/251\n async prompt(...params) {\n const response = await defaultConsola.prompt(...params);\n if (typeof response === \"symbol\" && response.toString() === \"Symbol(clack:cancel)\") {\n defaultConsola.fail(\"Operation cancelled\");\n process.exit(0);\n }\n return response;\n }\n});","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { colorize } from \"consola/utils\";\nexport function green(text) {\n return colorize(\"green\", text);\n}\nexport function italic(text) {\n return colorize(\"italic\", text);\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptFoundryUrl({\n foundryUrl\n}) {\n while (foundryUrl == null || !foundryUrl.startsWith(\"https://\")) {\n if (foundryUrl != null) {\n consola.fail(\"Please enter a valid Foundry URL\");\n }\n foundryUrl = await consola.prompt(`Enter the URL for your Foundry stack:\\n${italic(\"(Example: https://example.palantirfoundry.com)\")}`, {\n type: \"text\"\n });\n }\n return foundryUrl.replace(/\\/$/, \"\");\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptOsdkPackage({\n osdkPackage\n}) {\n while (osdkPackage == null || !/^@[a-z0-9-]+\\/sdk$/.test(osdkPackage)) {\n if (osdkPackage != null) {\n consola.fail(\"Please enter a valid OSDK package name\");\n }\n osdkPackage = await consola.prompt(`Enter the OSDK package name for your widget set:\\n${italic(\"(Example: @my-widget/sdk)\")}`, {\n type: \"text\"\n });\n }\n return osdkPackage;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptOsdkRegistryUrl({\n osdkRegistryUrl\n}) {\n while (osdkRegistryUrl == null || !/^https:\\/\\/[^/]+\\/artifacts\\/api\\/repositories\\/ri\\.[^/]+\\/contents\\/release\\/npm\\/?$/.test(osdkRegistryUrl)) {\n if (osdkRegistryUrl != null) {\n consola.fail(\"Please enter a valid NPM registry URL to install your OSDK package\");\n }\n osdkRegistryUrl = await consola.prompt(`Enter the NPM registry URL to install your OSDK package:\\n${italic(\"(Example: https://example.palantirfoundry.com/artifacts/api/repositories/ri.artifacts.main.repository.a4a7fe1c-486f-4226-b706-7b90005f527d/contents/release/npm)\")}`, {\n type: \"text\"\n });\n }\n return osdkRegistryUrl.replace(/\\/$/, \"\");\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { consola } from \"../consola.js\";\nimport { green } from \"../highlight.js\";\nexport async function promptOverwrite({\n project,\n overwrite\n}) {\n if (overwrite != null) {\n return overwrite;\n }\n if (!fs.existsSync(path.join(process.cwd(), project))) {\n return true;\n }\n const result = await consola.prompt(`The directory ${green(project)} already exists do you want to overwrite or ignore it?`, {\n type: \"select\",\n options: [{\n label: \"Remove existing files and continue\",\n value: \"overwrite\"\n }, {\n label: \"Ignore files and continue\",\n value: \"ignore\"\n }, {\n label: \"Cancel\",\n value: \"cancel\"\n }]\n }\n // Types for \"select\" are wrong the value is returned rather than the option object\n // https://github.com/unjs/consola/pull/238\n );\n switch (result) {\n case \"overwrite\":\n return true;\n case \"ignore\":\n return false;\n case \"cancel\":\n consola.fail(\"Operation cancelled\");\n process.exit(0);\n }\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nexport async function promptProject({\n project\n}) {\n while (project == null || !/^[a-zA-Z0-9-_]+$/.test(project)) {\n if (project != null) {\n consola.fail(\"Project name can only contain alphanumeric characters, hyphens and underscores\");\n }\n project = await consola.prompt(\"Project name:\", {\n type: \"text\",\n placeholder: \"my-osdk-widget\",\n default: \"my-osdk-widget\"\n });\n }\n return project;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nexport async function promptSdkVersion({\n sdkVersion,\n template\n}) {\n if (sdkVersion == null) {\n // If the SDK version is not provided, default to the earliest template version for backwards-compatibility\n return Object.keys(template.files)[0];\n }\n if (template.files[sdkVersion] == null) {\n consola.fail(`The ${template.label} template does not support a \"${sdkVersion}\" SDK version.`);\n sdkVersion = await consola.prompt(`Please choose which version of the OSDK you'd like to use for the ${template.label} template:`, {\n type: \"select\",\n options: Object.keys(template.files).reverse().map(sdkVersion => ({\n label: sdkVersion,\n value: sdkVersion\n }))\n }\n // Types for \"select\" are wrong the value is returned rather than the option object\n // https://github.com/unjs/consola/pull/238\n );\n }\n return sdkVersion;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const getPackageFiles = importPromise => async () => (await importPromise).files;","// THIS FILE IS GENERATED. DO NOT MODIFY.\n// You probably want to modify ../../../codegen.mjs instead.\n\nimport { getPackageFiles } from \"../getPackageFiles.js\";\nexport const TEMPLATES = [\n// React\n{\n id: \"template-widget-react\",\n label: \"React\",\n envPrefix: \"VITE_\",\n buildDirectory: \"./dist\",\n files: {\n \"2.x\": getPackageFiles(import(\"@osdk/create-widget.template.react.v2\"))\n }\n}];","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { TEMPLATES } from \"../generatedNoCheck/templates.js\";\nimport { green } from \"../highlight.js\";\nexport async function promptTemplate(parsed) {\n let useBeta = parsed.beta ?? false;\n let template = TEMPLATES.find(t => t.id === parsed.template || t.id === `template-${parsed.template}`);\n if (template == null) {\n const availableTemplates = TEMPLATES.filter(template => !template.hidden && (useBeta ? template.isBeta === true\n // isBeta could be null\n : !template.isBeta));\n if (availableTemplates.length === 0) {\n throw new Error(\"No available templates found for the selected options.\");\n }\n const templateId = await consola.prompt(parsed.template != null ? `The provided template ${green(parsed.template)} is invalid please select a framework:` : \"Select a framework:\", {\n type: \"select\",\n options: availableTemplates.map(template => ({\n value: template.id,\n label: template.label\n }))\n // Types for \"select\" are wrong the value is returned rather than the option object\n // https://github.com/unjs/consola/pull/238\n });\n template = TEMPLATES.find(t => t.id === templateId);\n if (template == null) {\n throw new Error(`Template ${templateId} should be found`);\n }\n }\n return template;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptWidgetSetRid({\n widgetSetRid\n}) {\n while (widgetSetRid == null || !/^ri\\.widgetregistry\\.\\.widget-set\\.[^.]+$/.test(widgetSetRid)) {\n if (widgetSetRid != null) {\n consola.fail(\"Please enter a valid widget resource identifier (rid)\");\n }\n widgetSetRid = await consola.prompt(`Enter the resource identifier (rid) for your widget set:\\n${italic(\"(Example: ri.widgetregistry..widget-set.1c66b352-4e00-40d2-995d-061c9d533ace)\")}`, {\n type: \"text\"\n });\n }\n return widgetSetRid;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function changeVersionPrefix(version, prefix) {\n const isWorkspaceProtocol = version.startsWith(\"workspace:\");\n if (isWorkspaceProtocol) {\n version = version.slice(\"workspace:\".length);\n }\n if (version[0] === \"^\" || version[0] === \"~\" || version[0] === \"*\") {\n version = version.slice(1);\n }\n return `${isWorkspaceProtocol ? \"workspace:\" : \"\"}${prefix}${version}`;\n}","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\nexport { invariant as default };","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function generateFoundryConfigJson({\n foundryUrl,\n widgetSetRid,\n directory\n}) {\n return JSON.stringify({\n foundryUrl,\n widgetSet: {\n rid: widgetSetRid,\n directory,\n autoVersion: {\n type: \"git-describe\",\n tagPrefix: \"\"\n }\n }\n }, null, 2) + \"\\n\";\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function generateNpmRc({\n osdkPackage,\n osdkRegistryUrl\n}) {\n // pnpm requires a trailing slash in .npmrc\n // https://github.com/pnpm/pnpm/issues/5941\n const withTrailingSlash = osdkRegistryUrl.endsWith(\"/\") ? osdkRegistryUrl : osdkRegistryUrl + \"/\";\n const withoutProtocol = withTrailingSlash.replace(/^https:\\/\\//, \"\");\n const packageScope = osdkPackage.split(\"/\")[0];\n return `//${withoutProtocol}:_authToken=\\${FOUNDRY_TOKEN}\\n` + `${packageScope}:registry=${withTrailingSlash}\\n`;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { changeVersionPrefix } from \"@osdk/generator-utils\";\nimport { findUpSync } from \"find-up\";\nimport Handlebars from \"handlebars\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { consola } from \"./consola.js\";\nimport { generateFoundryConfigJson } from \"./generate/generateFoundryConfigJson.js\";\nimport { generateNpmRc } from \"./generate/generateNpmRc.js\";\nimport { green } from \"./highlight.js\";\nexport async function run({\n project,\n overwrite,\n template,\n sdkVersion,\n foundryUrl,\n widgetSetRid,\n osdkPackage,\n osdkRegistryUrl\n}) {\n consola.log(\"\");\n consola.start(`Creating project ${green(project)} using template ${green(template.id)}`);\n const cwd = process.cwd();\n const root = path.join(cwd, project);\n if (fs.existsSync(root)) {\n if (overwrite) {\n consola.info(`Overwriting existing project directory`);\n fs.rmSync(root, {\n recursive: true,\n force: true\n });\n fs.mkdirSync(root, {\n recursive: true\n });\n } else {\n consola.info(`Reusing existing project directory`);\n }\n } else {\n consola.info(`Creating project directory`);\n fs.mkdirSync(root, {\n recursive: true\n });\n }\n consola.info(`Copying files into project directory`);\n if (template.files[sdkVersion] == null) {\n throw new Error(`The ${template.label} template does not support a \"${sdkVersion}\" SDK version.`);\n }\n const files = await template.files[sdkVersion]();\n for (const [filePath, contents] of files) {\n const finalPath = path.join(root, filePath);\n const dirPath = path.dirname(finalPath);\n await fs.promises.mkdir(dirPath, {\n recursive: true\n });\n await fs.promises.writeFile(finalPath, Buffer.from(contents.body, contents.type === \"raw\" ? \"utf-8\" : \"base64\"));\n }\n const ourPackageJsonPath = findUpSync(\"package.json\", {\n cwd: fileURLToPath(import.meta.url)\n });\n const ourPackageJsonVersion = ourPackageJsonPath ? JSON.parse(fs.readFileSync(ourPackageJsonPath, \"utf-8\")).version : undefined;\n const clientVersion = process.env.PACKAGE_CLIENT_VERSION ?? ourPackageJsonVersion;\n if (clientVersion === undefined) {\n throw new Error(\"Could not determine current @osdk/client version\");\n }\n const templateContext = {\n project,\n foundryUrl,\n widgetSetRid,\n osdkPackage,\n clientVersion: changeVersionPrefix(clientVersion, \"^\")\n };\n const processFiles = function (dir) {\n fs.readdirSync(dir).forEach(function (file) {\n file = dir + \"/\" + file;\n const stat = fs.statSync(file);\n if (stat.isDirectory()) {\n processFiles(file);\n return;\n }\n if (file.endsWith(\"/_gitignore\")) {\n fs.renameSync(file, file.replace(/\\/_gitignore$/, \"/.gitignore\"));\n return;\n }\n if (!file.endsWith(\".hbs\")) {\n return;\n }\n const templated = Handlebars.compile(fs.readFileSync(file, \"utf-8\"))(templateContext);\n fs.writeFileSync(file.replace(/.hbs$/, \"\"), templated);\n fs.rmSync(file);\n });\n };\n processFiles(root);\n const npmRc = generateNpmRc({\n osdkPackage,\n osdkRegistryUrl\n });\n fs.writeFileSync(path.join(root, \".npmrc\"), npmRc);\n const foundryConfigJson = generateFoundryConfigJson({\n foundryUrl,\n widgetSetRid,\n directory: template.buildDirectory\n });\n fs.writeFileSync(path.join(root, \"foundry.config.json\"), foundryConfigJson);\n consola.success(\"Success\");\n const cdRelative = path.relative(cwd, root);\n consola.box({\n message: `Done! Run the following commands to get started:\\n` + `\\n` + ` \\`cd ${cdRelative}\\`\\n` + ` \\`export FOUNDRY_TOKEN=<token>\\`\\n` + ` \\`npm install\\`\\n` + ` \\`npm run dev\\``,\n style: {\n padding: 2,\n borderColor: \"green\",\n borderStyle: \"rounded\"\n }\n });\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport { promptFoundryUrl } from \"./prompts/promptFoundryUrl.js\";\nimport { promptOsdkPackage } from \"./prompts/promptOsdkPackage.js\";\nimport { promptOsdkRegistryUrl } from \"./prompts/promptOsdkRegistryUrl.js\";\nimport { promptOverwrite } from \"./prompts/promptOverwrite.js\";\nimport { promptProject } from \"./prompts/promptProject.js\";\nimport { promptSdkVersion } from \"./prompts/promptSdkVersion.js\";\nimport { promptTemplate } from \"./prompts/promptTemplate.js\";\nimport { promptWidgetSetRid } from \"./prompts/promptWidgetSetRid.js\";\nimport { run } from \"./run.js\";\nexport async function cli(args = process.argv) {\n const base = yargs(hideBin(args)).version(process.env.PACKAGE_VERSION ?? \"\").wrap(Math.min(150, yargs().terminalWidth())).strict().help().command(\"$0 [project] [--<option>]\", \"Create a new OSDK widget set based on framework templates. Information may be provided through options to skip interactive prompts.\", yargs => yargs.positional(\"project\", {\n type: \"string\",\n describe: \"Project name to create\"\n }).option(\"overwrite\", {\n type: \"boolean\",\n describe: \"Overwrite project directory if already exists\"\n }).option(\"beta\", {\n type: \"boolean\",\n describe: \"Use templates compatible with the Beta version of the SDK\"\n }).option(\"template\", {\n type: \"string\",\n describe: \"Template name to use\"\n }).option(\"sdkVersion\", {\n type: \"string\",\n describe: \"The OSDK version to use\"\n }).option(\"foundryUrl\", {\n type: \"string\",\n describe: \"URL for the Foundry stack\"\n }).option(\"widgetSetRid\", {\n type: \"string\",\n describe: \"Widget set resource identifier (rid)\"\n }).option(\"osdkPackage\", {\n type: \"string\",\n describe: \"OSDK package name for application\"\n }).option(\"osdkRegistryUrl\", {\n type: \"string\",\n describe: \"URL for NPM registry to install OSDK package\"\n }));\n const parsed = base.parseSync();\n const project = await promptProject(parsed);\n const overwrite = await promptOverwrite({\n ...parsed,\n project\n });\n const template = await promptTemplate(parsed);\n const sdkVersion = await promptSdkVersion({\n ...parsed,\n template\n });\n const foundryUrl = await promptFoundryUrl(parsed);\n const osdkPackage = await promptOsdkPackage(parsed);\n const osdkRegistryUrl = await promptOsdkRegistryUrl(parsed);\n const widgetSetRid = await promptWidgetSetRid(parsed);\n await run({\n project,\n overwrite,\n template,\n sdkVersion,\n foundryUrl,\n widgetSetRid,\n osdkPackage,\n osdkRegistryUrl\n });\n}"]}
1
+ {"version":3,"sources":["../../src/consola.ts","../../src/highlight.ts","../../src/prompts/promptFoundryUrl.ts","../../src/prompts/promptOsdkPackage.ts","../../src/prompts/promptOsdkRegistryUrl.ts","../../src/prompts/promptOverwrite.ts","../../src/prompts/promptProject.ts","../../src/prompts/promptSdkVersion.ts","../../src/getPackageFiles.ts","../../src/generatedNoCheck/templates.ts","../../src/prompts/promptTemplate.ts","../../src/prompts/promptWidgetSetRid.ts","../../src/generate/generateFoundryConfigJson.ts","../../src/generate/generateNpmRc.ts","../../src/run.ts","../../src/cli.ts"],"names":["defaultConsola","fs","path","sdkVersion","template","yargs"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola as defaultConsola, createConsola } from \"consola\";\nexport const consola = createConsola({\n // https://github.com/unjs/consola/issues/251\n async prompt(...params) {\n const response = await defaultConsola.prompt(...params);\n if (typeof response === \"symbol\" && response.toString() === \"Symbol(clack:cancel)\") {\n defaultConsola.fail(\"Operation cancelled\");\n process.exit(0);\n }\n return response;\n }\n});","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { colorize } from \"consola/utils\";\nexport function green(text) {\n return colorize(\"green\", text);\n}\nexport function italic(text) {\n return colorize(\"italic\", text);\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptFoundryUrl({\n foundryUrl\n}) {\n while (foundryUrl == null || !foundryUrl.startsWith(\"https://\")) {\n if (foundryUrl != null) {\n consola.fail(\"Please enter a valid Foundry URL\");\n }\n foundryUrl = await consola.prompt(`Enter the URL for your Foundry stack:\\n${italic(\"(Example: https://example.palantirfoundry.com)\")}`, {\n type: \"text\"\n });\n }\n return foundryUrl.replace(/\\/$/, \"\");\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptOsdkPackage({\n osdkPackage\n}) {\n while (osdkPackage == null || !/^@[a-z0-9-]+\\/sdk$/.test(osdkPackage)) {\n if (osdkPackage != null) {\n consola.fail(\"Please enter a valid OSDK package name\");\n }\n osdkPackage = await consola.prompt(`Enter the OSDK package name for your widget set:\\n${italic(\"(Example: @my-widget/sdk)\")}`, {\n type: \"text\"\n });\n }\n return osdkPackage;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptOsdkRegistryUrl({\n osdkRegistryUrl\n}) {\n while (osdkRegistryUrl == null || !/^https:\\/\\/[^/]+\\/artifacts\\/api\\/repositories\\/ri\\.[^/]+\\/contents\\/release\\/npm\\/?$/.test(osdkRegistryUrl)) {\n if (osdkRegistryUrl != null) {\n consola.fail(\"Please enter a valid NPM registry URL to install your OSDK package\");\n }\n osdkRegistryUrl = await consola.prompt(`Enter the NPM registry URL to install your OSDK package:\\n${italic(\"(Example: https://example.palantirfoundry.com/artifacts/api/repositories/ri.artifacts.main.repository.a4a7fe1c-486f-4226-b706-7b90005f527d/contents/release/npm)\")}`, {\n type: \"text\"\n });\n }\n return osdkRegistryUrl.replace(/\\/$/, \"\");\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { consola } from \"../consola.js\";\nimport { green } from \"../highlight.js\";\nexport async function promptOverwrite({\n project,\n overwrite\n}) {\n if (overwrite != null) {\n return overwrite;\n }\n if (!fs.existsSync(path.join(process.cwd(), project))) {\n return true;\n }\n const result = await consola.prompt(`The directory ${green(project)} already exists do you want to overwrite or ignore it?`, {\n type: \"select\",\n options: [{\n label: \"Remove existing files and continue\",\n value: \"overwrite\"\n }, {\n label: \"Ignore files and continue\",\n value: \"ignore\"\n }, {\n label: \"Cancel\",\n value: \"cancel\"\n }]\n }\n // Types for \"select\" are wrong the value is returned rather than the option object\n // https://github.com/unjs/consola/pull/238\n );\n switch (result) {\n case \"overwrite\":\n return true;\n case \"ignore\":\n return false;\n case \"cancel\":\n consola.fail(\"Operation cancelled\");\n process.exit(0);\n }\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nexport async function promptProject({\n project\n}) {\n while (project == null || !/^[a-zA-Z0-9-_]+$/.test(project)) {\n if (project != null) {\n consola.fail(\"Project name can only contain alphanumeric characters, hyphens and underscores\");\n }\n project = await consola.prompt(\"Project name:\", {\n type: \"text\",\n placeholder: \"my-osdk-widget\",\n default: \"my-osdk-widget\"\n });\n }\n return project;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nexport async function promptSdkVersion({\n sdkVersion,\n template\n}) {\n if (sdkVersion == null) {\n // If the SDK version is not provided, default to the earliest template version for backwards-compatibility\n return Object.keys(template.files)[0];\n }\n if (template.files[sdkVersion] == null) {\n consola.fail(`The ${template.label} template does not support a \"${sdkVersion}\" SDK version.`);\n sdkVersion = await consola.prompt(`Please choose which version of the OSDK you'd like to use for the ${template.label} template:`, {\n type: \"select\",\n options: Object.keys(template.files).reverse().map(sdkVersion => ({\n label: sdkVersion,\n value: sdkVersion\n }))\n }\n // Types for \"select\" are wrong the value is returned rather than the option object\n // https://github.com/unjs/consola/pull/238\n );\n }\n return sdkVersion;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const getPackageFiles = importPromise => async () => (await importPromise).files;","// THIS FILE IS GENERATED. DO NOT MODIFY.\n// You probably want to modify ../../../codegen.mjs instead.\n\nimport { getPackageFiles } from \"../getPackageFiles.js\";\nexport const TEMPLATES = [\n// React\n{\n id: \"template-widget-react\",\n label: \"React\",\n envPrefix: \"VITE_\",\n buildDirectory: \"./dist\",\n files: {\n \"2.x\": getPackageFiles(import(\"@osdk/create-widget.template.react.v2\"))\n }\n}];","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { TEMPLATES } from \"../generatedNoCheck/templates.js\";\nimport { green } from \"../highlight.js\";\nexport async function promptTemplate(parsed) {\n let useBeta = parsed.beta ?? false;\n let template = TEMPLATES.find(t => t.id === parsed.template || t.id === `template-${parsed.template}`);\n if (template == null) {\n const availableTemplates = TEMPLATES.filter(template => !template.hidden && (useBeta ? template.isBeta === true\n // isBeta could be null\n : !template.isBeta));\n if (availableTemplates.length === 0) {\n throw new Error(\"No available templates found for the selected options.\");\n }\n const templateId = await consola.prompt(parsed.template != null ? `The provided template ${green(parsed.template)} is invalid please select a framework:` : \"Select a framework:\", {\n type: \"select\",\n options: availableTemplates.map(template => ({\n value: template.id,\n label: template.label\n }))\n // Types for \"select\" are wrong the value is returned rather than the option object\n // https://github.com/unjs/consola/pull/238\n });\n template = TEMPLATES.find(t => t.id === templateId);\n if (template == null) {\n throw new Error(`Template ${templateId} should be found`);\n }\n }\n return template;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"../consola.js\";\nimport { italic } from \"../highlight.js\";\nexport async function promptWidgetSetRid({\n widgetSet\n}) {\n while (widgetSet == null || !/^ri\\.widgetregistry\\.\\.widget-set\\.[^.]+$/.test(widgetSet)) {\n if (widgetSet != null) {\n consola.fail(\"Please enter a valid widget resource identifier (rid)\");\n }\n widgetSet = await consola.prompt(`Enter the resource identifier (rid) for your widget set:\\n${italic(\"(Example: ri.widgetregistry..widget-set.1c66b352-4e00-40d2-995d-061c9d533ace)\")}`, {\n type: \"text\"\n });\n }\n return widgetSet;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function generateFoundryConfigJson({\n foundryUrl,\n widgetSet,\n directory\n}) {\n return JSON.stringify({\n foundryUrl,\n widgetSet: {\n rid: widgetSet,\n directory,\n autoVersion: {\n type: \"git-describe\",\n tagPrefix: \"\"\n }\n }\n }, null, 2) + \"\\n\";\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function generateNpmRc({\n osdkPackage,\n osdkRegistryUrl\n}) {\n // pnpm requires a trailing slash in .npmrc\n // https://github.com/pnpm/pnpm/issues/5941\n const withTrailingSlash = osdkRegistryUrl.endsWith(\"/\") ? osdkRegistryUrl : osdkRegistryUrl + \"/\";\n const withoutProtocol = withTrailingSlash.replace(/^https:\\/\\//, \"\");\n const packageScope = osdkPackage.split(\"/\")[0];\n return `//${withoutProtocol}:_authToken=\\${FOUNDRY_TOKEN}\\n` + `${packageScope}:registry=${withTrailingSlash}\\n`;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport Handlebars from \"handlebars\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { consola } from \"./consola.js\";\nimport { generateFoundryConfigJson } from \"./generate/generateFoundryConfigJson.js\";\nimport { generateNpmRc } from \"./generate/generateNpmRc.js\";\nimport { green } from \"./highlight.js\";\nexport async function run({\n project,\n overwrite,\n template,\n sdkVersion,\n foundryUrl,\n widgetSet,\n osdkPackage,\n osdkRegistryUrl\n}) {\n consola.log(\"\");\n consola.start(`Creating project ${green(project)} using template ${green(template.id)}`);\n const cwd = process.cwd();\n const root = path.join(cwd, project);\n if (fs.existsSync(root)) {\n if (overwrite) {\n consola.info(`Overwriting existing project directory`);\n fs.rmSync(root, {\n recursive: true,\n force: true\n });\n fs.mkdirSync(root, {\n recursive: true\n });\n } else {\n consola.info(`Reusing existing project directory`);\n }\n } else {\n consola.info(`Creating project directory`);\n fs.mkdirSync(root, {\n recursive: true\n });\n }\n consola.info(`Copying files into project directory`);\n if (template.files[sdkVersion] == null) {\n throw new Error(`The ${template.label} template does not support a \"${sdkVersion}\" SDK version.`);\n }\n const files = await template.files[sdkVersion]();\n for (const [filePath, contents] of files) {\n const finalPath = path.join(root, filePath);\n const dirPath = path.dirname(finalPath);\n await fs.promises.mkdir(dirPath, {\n recursive: true\n });\n await fs.promises.writeFile(finalPath, Buffer.from(contents.body, contents.type === \"raw\" ? \"utf-8\" : \"base64\"));\n }\n const templateContext = {\n project,\n osdkPackage\n };\n const processFiles = function (dir) {\n fs.readdirSync(dir).forEach(function (file) {\n file = dir + \"/\" + file;\n const stat = fs.statSync(file);\n if (stat.isDirectory()) {\n processFiles(file);\n return;\n }\n if (file.endsWith(\"/_gitignore\")) {\n fs.renameSync(file, file.replace(/\\/_gitignore$/, \"/.gitignore\"));\n return;\n }\n if (!file.endsWith(\".hbs\")) {\n return;\n }\n const templated = Handlebars.compile(fs.readFileSync(file, \"utf-8\"))(templateContext);\n fs.writeFileSync(file.replace(/.hbs$/, \"\"), templated);\n fs.rmSync(file);\n });\n };\n processFiles(root);\n const npmRc = generateNpmRc({\n osdkPackage,\n osdkRegistryUrl\n });\n fs.writeFileSync(path.join(root, \".npmrc\"), npmRc);\n const foundryConfigJson = generateFoundryConfigJson({\n foundryUrl,\n widgetSet,\n directory: template.buildDirectory\n });\n fs.writeFileSync(path.join(root, \"foundry.config.json\"), foundryConfigJson);\n consola.success(\"Success\");\n const cdRelative = path.relative(cwd, root);\n consola.box({\n message: `Done! Run the following commands to get started:\\n` + `\\n` + ` \\`cd ${cdRelative}\\`\\n` + ` \\`export FOUNDRY_TOKEN=<token>\\`\\n` + ` \\`npm install\\`\\n` + ` \\`npm run dev\\``,\n style: {\n padding: 2,\n borderColor: \"green\",\n borderStyle: \"rounded\"\n }\n });\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport { promptFoundryUrl } from \"./prompts/promptFoundryUrl.js\";\nimport { promptOsdkPackage } from \"./prompts/promptOsdkPackage.js\";\nimport { promptOsdkRegistryUrl } from \"./prompts/promptOsdkRegistryUrl.js\";\nimport { promptOverwrite } from \"./prompts/promptOverwrite.js\";\nimport { promptProject } from \"./prompts/promptProject.js\";\nimport { promptSdkVersion } from \"./prompts/promptSdkVersion.js\";\nimport { promptTemplate } from \"./prompts/promptTemplate.js\";\nimport { promptWidgetSetRid } from \"./prompts/promptWidgetSetRid.js\";\nimport { run } from \"./run.js\";\nexport async function cli(args = process.argv) {\n const base = yargs(hideBin(args)).version(process.env.PACKAGE_VERSION ?? \"\").wrap(Math.min(150, yargs().terminalWidth())).strict().help().command(\"$0 [project] [--<option>]\", \"Create a new OSDK widget set based on framework templates. Information may be provided through options to skip interactive prompts.\", yargs => yargs.positional(\"project\", {\n type: \"string\",\n describe: \"Project name to create\"\n }).option(\"overwrite\", {\n type: \"boolean\",\n describe: \"Overwrite project directory if already exists\"\n }).option(\"beta\", {\n type: \"boolean\",\n describe: \"Use templates compatible with the Beta version of the SDK\"\n }).option(\"template\", {\n type: \"string\",\n describe: \"Template name to use\"\n }).option(\"sdkVersion\", {\n type: \"string\",\n describe: \"The OSDK version to use\"\n }).option(\"foundryUrl\", {\n type: \"string\",\n describe: \"URL for the Foundry stack\"\n }).option(\"widgetSet\", {\n type: \"string\",\n describe: \"Widget set resource identifier (rid)\"\n }).option(\"osdkPackage\", {\n type: \"string\",\n describe: \"OSDK package name for application\"\n }).option(\"osdkRegistryUrl\", {\n type: \"string\",\n describe: \"URL for NPM registry to install OSDK package\"\n }));\n const parsed = base.parseSync();\n const project = await promptProject(parsed);\n const overwrite = await promptOverwrite({\n ...parsed,\n project\n });\n const template = await promptTemplate(parsed);\n const sdkVersion = await promptSdkVersion({\n ...parsed,\n template\n });\n const foundryUrl = await promptFoundryUrl(parsed);\n const osdkPackage = await promptOsdkPackage(parsed);\n const osdkRegistryUrl = await promptOsdkRegistryUrl(parsed);\n const widgetSet = await promptWidgetSetRid(parsed);\n await run({\n project,\n overwrite,\n template,\n sdkVersion,\n foundryUrl,\n widgetSet,\n osdkPackage,\n osdkRegistryUrl\n });\n}"]}
@@ -1,5 +1,5 @@
1
- export declare function generateFoundryConfigJson({ foundryUrl, widgetSetRid, directory }: {
1
+ export declare function generateFoundryConfigJson({ foundryUrl, widgetSet, directory }: {
2
2
  foundryUrl: string;
3
- widgetSetRid: string;
3
+ widgetSet: string;
4
4
  directory: string;
5
5
  }): string;
@@ -1 +1 @@
1
- export declare function promptWidgetSetRid({ widgetSetRid }: { widgetSetRid?: string }): Promise<string>;
1
+ export declare function promptWidgetSetRid({ widgetSet }: { widgetSet?: string }): Promise<string>;
@@ -5,9 +5,9 @@ interface RunArgs {
5
5
  template: Template;
6
6
  sdkVersion: SdkVersion;
7
7
  foundryUrl: string;
8
- widgetSetRid: string;
8
+ widgetSet: string;
9
9
  osdkPackage: string;
10
10
  osdkRegistryUrl: string;
11
11
  }
12
- export declare function run({ project, overwrite, template, sdkVersion, foundryUrl, widgetSetRid, osdkPackage, osdkRegistryUrl }: RunArgs): Promise<void>;
12
+ export declare function run({ project, overwrite, template, sdkVersion, foundryUrl, widgetSet, osdkPackage, osdkRegistryUrl }: RunArgs): Promise<void>;
13
13
  export {};
@@ -17,8 +17,5 @@ export interface Template {
17
17
  }
18
18
  export interface TemplateContext {
19
19
  project: string;
20
- foundryUrl: string;
21
20
  osdkPackage: string;
22
- widgetSetRid: string;
23
- clientVersion: string;
24
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osdk/create-widget",
3
- "version": "2.0.0-beta.10",
3
+ "version": "2.0.0-beta.12",
4
4
  "description": "",
5
5
  "access": "public",
6
6
  "license": "Apache-2.0",
@@ -25,10 +25,10 @@
25
25
  }
26
26
  },
27
27
  "dependencies": {
28
- "consola": "^3.2.3",
29
- "find-up": "^7.0.0",
30
- "handlebars": "^4.7.8",
31
- "yargs": "^17.7.2"
28
+ "consola": "3.2.3",
29
+ "find-up": "7.0.0",
30
+ "handlebars": "4.7.8",
31
+ "yargs": "17.7.2"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/node": "^18.0.0",
@@ -38,10 +38,10 @@
38
38
  "redent": "^4.0.0",
39
39
  "tmp": "^0.2.3",
40
40
  "typescript": "~5.5.4",
41
- "@osdk/create-widget.template.react.v2": "2.0.0-beta.10",
42
- "@osdk/generator-utils": "2.1.0-beta.25",
41
+ "@osdk/generator-utils": "2.1.0-beta.27",
42
+ "@osdk/monorepo.api-extractor": "~0.0.0",
43
43
  "@osdk/monorepo.tsconfig": "~0.0.0",
44
- "@osdk/monorepo.api-extractor": "~0.0.0"
44
+ "@osdk/create-widget.template.react.v2": "2.0.0-beta.12"
45
45
  },
46
46
  "publishConfig": {
47
47
  "access": "public"