@sdk-it/vite 0.43.0 → 0.45.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.
package/dist/index.d.ts CHANGED
@@ -1,8 +1,11 @@
1
1
  import type { OpenAPIObject } from 'openapi3-ts/oas31';
2
2
  import { type Plugin } from 'vite';
3
3
  import { generate } from '@sdk-it/typescript';
4
+ import { type ProjectPluginOptions } from './project.ts';
4
5
  type Settings = Parameters<typeof generate>[1];
5
6
  type OpenapiFunction = () => string | OpenAPIObject | Promise<string | OpenAPIObject>;
7
+ export default function sdkIt(): Plugin;
8
+ export default function sdkIt(options: ProjectPluginOptions): Plugin;
6
9
  export default function sdkIt(openapi: OpenAPIObject | string | OpenapiFunction, settings: Settings): Plugin;
7
10
  export {};
8
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,KAAK,eAAe,GAAG,MACnB,MAAM,GACN,aAAa,GACb,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;AAEpC,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,eAAe,EACjD,QAAQ,EAAE,QAAQ,GACjB,MAAM,CASR"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,KAAK,oBAAoB,EAAiB,MAAM,cAAc,CAAC;AAExE,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,KAAK,eAAe,GAAG,MACnB,MAAM,GACN,aAAa,GACb,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;AACpC,MAAM,CAAC,OAAO,UAAU,KAAK,IAAI,MAAM,CAAC;AACxC,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAAC;AACrE,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,eAAe,EACjD,QAAQ,EAAE,QAAQ,GACjB,MAAM,CAAC"}
package/dist/index.js CHANGED
@@ -7,12 +7,47 @@ import { fileURLToPath } from "node:url";
7
7
  import "vite";
8
8
  import { loadSpec } from "@sdk-it/spec";
9
9
  import { generate } from "@sdk-it/typescript";
10
+
11
+ // packages/vite/src/project.ts
12
+ function projectPlugin(options = {}) {
13
+ let root = process.cwd();
14
+ const generate2 = async () => {
15
+ const { generateProject, loadProjectConfig } = await import("@sdk-it/cli");
16
+ const config = await loadProjectConfig({
17
+ cwd: root,
18
+ config: options.config
19
+ });
20
+ await generateProject(config);
21
+ };
22
+ return {
23
+ configResolved(config) {
24
+ root = config.root;
25
+ },
26
+ async configureServer() {
27
+ await generate2();
28
+ },
29
+ async buildStart() {
30
+ await generate2();
31
+ }
32
+ };
33
+ }
34
+
35
+ // packages/vite/src/index.ts
10
36
  function sdkIt(openapi, settings) {
37
+ if (openapi === void 0 || isProjectPluginOptions(openapi)) {
38
+ return {
39
+ name: "sdk-it",
40
+ ...projectPlugin(openapi)
41
+ };
42
+ }
11
43
  return {
12
44
  name: "sdk-it",
13
45
  ...typeof openapi === "function" ? functionPlugin(openapi, settings) : typeof openapi === "string" ? filePlugin(openapi, settings) : specPlugin(openapi, settings)
14
46
  };
15
47
  }
48
+ function isProjectPluginOptions(input) {
49
+ return typeof input === "object" && input !== null && !("openapi" in input);
50
+ }
16
51
  function functionPlugin(openapi, settings) {
17
52
  let delegatePlugin;
18
53
  return {
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/index.ts"],
4
- "sourcesContent": ["import chalk from 'chalk';\nimport { createHash } from 'node:crypto';\nimport { readFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport type { OpenAPIObject } from 'openapi3-ts/oas31';\nimport { type Plugin } from 'vite';\n\nimport { loadSpec } from '@sdk-it/spec';\nimport { generate } from '@sdk-it/typescript';\n\ntype Settings = Parameters<typeof generate>[1];\ntype OpenapiFunction = () =>\n | string\n | OpenAPIObject\n | Promise<string | OpenAPIObject>;\n\nexport default function sdkIt(\n openapi: OpenAPIObject | string | OpenapiFunction,\n settings: Settings,\n): Plugin {\n return {\n name: 'sdk-it',\n ...(typeof openapi === 'function'\n ? functionPlugin(openapi, settings)\n : typeof openapi === 'string'\n ? filePlugin(openapi, settings)\n : specPlugin(openapi, settings)),\n };\n}\n\nfunction functionPlugin(\n openapi: OpenapiFunction,\n settings: Settings,\n): Omit<Plugin, 'name'> {\n let delegatePlugin!:\n | ReturnType<typeof specPlugin>\n | ReturnType<typeof filePlugin>;\n\n return {\n async configResolved(config) {\n // Resolve the function once\n const resolved = await openapi();\n\n // Create the appropriate delegate plugin based on the resolved type\n delegatePlugin =\n typeof resolved === 'string'\n ? filePlugin(resolved, settings)\n : specPlugin(resolved, settings);\n\n return (delegatePlugin.configResolved as any)?.(config);\n },\n configureServer(server) {\n return (delegatePlugin.configureServer as any)?.(server);\n },\n async buildStart(options) {\n return (delegatePlugin.buildStart as any)?.(options);\n },\n };\n}\n\nfunction filePlugin(openapi: string, settings: Settings): Omit<Plugin, 'name'> {\n let watchPath: string | null = null;\n let sourceRef: string | null = null;\n\n const generateIfNeeded = async (ref: string) => {\n const hash = await hashFile(watchPath || ref);\n const key = `${hash}|${settings.output}`;\n return cachedGeneration(key, async () => {\n console.log(`${chalk.blue('SDKIT')}: Generating SDK.`);\n const spec = await loadSpec(ref);\n await generate(spec, settings);\n console.log(`${chalk.blue('SDKIT')}: SDK generated successfully.`);\n });\n };\n\n return {\n configureServer(server) {\n if (!sourceRef) return;\n\n if (!watchPath) return;\n console.log(\n `${chalk.blue('SDKIT')}: Watching for spec changes in`,\n watchPath,\n );\n server.watcher.add(watchPath);\n server.watcher.on('change', async (file) => {\n if (file === watchPath) {\n console.log(`${chalk.blue('SDKIT')}: OpenAPI spec changed`, file);\n await generateIfNeeded(sourceRef!);\n }\n });\n },\n async buildStart() {\n if (!sourceRef) return;\n await generateIfNeeded(sourceRef);\n },\n async configResolved(config) {\n if (startsWithProtocol(openapi)) {\n if (openapi.startsWith('file:')) {\n watchPath = fileURLToPath(openapi);\n sourceRef = openapi;\n }\n } else {\n watchPath = join(config.root, openapi);\n sourceRef = join(config.root, openapi);\n }\n },\n };\n}\n\nfunction specPlugin(\n openapi: OpenAPIObject,\n settings: Settings,\n): Omit<Plugin, 'name'> {\n const generateIfNeeded = async (spec: OpenAPIObject) => {\n const hash = hashSpec(spec);\n const key = `${hash}|${settings.output}`;\n return cachedGeneration(key, async () => {\n console.log(`${chalk.blue('SDKIT')}: Generating SDK.`);\n await generate(spec, settings);\n console.log(`${chalk.blue('SDKIT')}: SDK generated successfully.`);\n });\n };\n return {\n async configResolved() {\n // No-op for specPlugin\n },\n async configureServer() {\n await generateIfNeeded(openapi);\n },\n async buildStart() {\n await generateIfNeeded(openapi);\n },\n };\n}\n\nconst generationCache = new Map<string, Promise<void>>();\n\nfunction cachedGeneration(\n key: string,\n fn: () => Promise<void>,\n): Promise<void> {\n const existing = generationCache.get(key);\n if (existing) return existing;\n\n const promise = fn().catch((err) => {\n generationCache.delete(key);\n throw err;\n });\n generationCache.set(key, promise);\n return promise;\n}\n\nfunction hashFile(filePath: string): Promise<string> {\n return readFile(filePath).then((content) =>\n createHash('sha256').update(content).digest('hex'),\n );\n}\n\nfunction hashSpec(spec: OpenAPIObject): string {\n return createHash('sha256').update(JSON.stringify(spec)).digest('hex');\n}\n\nfunction startsWithProtocol(url: string): boolean {\n return /^[a-zA-Z][a-zA-Z0-9+\\-.]*:\\/\\//.test(url);\n}\n"],
5
- "mappings": "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",
6
- "names": []
3
+ "sources": ["../src/index.ts", "../src/project.ts"],
4
+ "sourcesContent": ["import chalk from 'chalk';\nimport { createHash } from 'node:crypto';\nimport { readFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport type { OpenAPIObject } from 'openapi3-ts/oas31';\nimport { type Plugin } from 'vite';\n\nimport { loadSpec } from '@sdk-it/spec';\nimport { generate } from '@sdk-it/typescript';\n\nimport { type ProjectPluginOptions, projectPlugin } from './project.ts';\n\ntype Settings = Parameters<typeof generate>[1];\ntype OpenapiFunction = () =>\n | string\n | OpenAPIObject\n | Promise<string | OpenAPIObject>;\nexport default function sdkIt(): Plugin;\nexport default function sdkIt(options: ProjectPluginOptions): Plugin;\nexport default function sdkIt(\n openapi: OpenAPIObject | string | OpenapiFunction,\n settings: Settings,\n): Plugin;\nexport default function sdkIt(\n openapi?: OpenAPIObject | string | OpenapiFunction | ProjectPluginOptions,\n settings?: Settings,\n): Plugin {\n if (openapi === undefined || isProjectPluginOptions(openapi)) {\n return {\n name: 'sdk-it',\n ...projectPlugin(openapi),\n };\n }\n return {\n name: 'sdk-it',\n ...(typeof openapi === 'function'\n ? functionPlugin(openapi, settings!)\n : typeof openapi === 'string'\n ? filePlugin(openapi, settings!)\n : specPlugin(openapi, settings!)),\n };\n}\n\nfunction isProjectPluginOptions(\n input: OpenAPIObject | string | OpenapiFunction | ProjectPluginOptions,\n): input is ProjectPluginOptions {\n return typeof input === 'object' && input !== null && !('openapi' in input);\n}\n\nfunction functionPlugin(\n openapi: OpenapiFunction,\n settings: Settings,\n): Omit<Plugin, 'name'> {\n let delegatePlugin!:\n | ReturnType<typeof specPlugin>\n | ReturnType<typeof filePlugin>;\n\n return {\n async configResolved(config) {\n // Resolve the function once\n const resolved = await openapi();\n\n // Create the appropriate delegate plugin based on the resolved type\n delegatePlugin =\n typeof resolved === 'string'\n ? filePlugin(resolved, settings)\n : specPlugin(resolved, settings);\n\n return (delegatePlugin.configResolved as any)?.(config);\n },\n configureServer(server) {\n return (delegatePlugin.configureServer as any)?.(server);\n },\n async buildStart(options) {\n return (delegatePlugin.buildStart as any)?.(options);\n },\n };\n}\n\nfunction filePlugin(openapi: string, settings: Settings): Omit<Plugin, 'name'> {\n let watchPath: string | null = null;\n let sourceRef: string | null = null;\n\n const generateIfNeeded = async (ref: string) => {\n const hash = await hashFile(watchPath || ref);\n const key = `${hash}|${settings.output}`;\n return cachedGeneration(key, async () => {\n console.log(`${chalk.blue('SDKIT')}: Generating SDK.`);\n const spec = await loadSpec(ref);\n await generate(spec, settings);\n console.log(`${chalk.blue('SDKIT')}: SDK generated successfully.`);\n });\n };\n\n return {\n configureServer(server) {\n if (!sourceRef) return;\n\n if (!watchPath) return;\n console.log(\n `${chalk.blue('SDKIT')}: Watching for spec changes in`,\n watchPath,\n );\n server.watcher.add(watchPath);\n server.watcher.on('change', async (file) => {\n if (file === watchPath) {\n console.log(`${chalk.blue('SDKIT')}: OpenAPI spec changed`, file);\n await generateIfNeeded(sourceRef!);\n }\n });\n },\n async buildStart() {\n if (!sourceRef) return;\n await generateIfNeeded(sourceRef);\n },\n async configResolved(config) {\n if (startsWithProtocol(openapi)) {\n if (openapi.startsWith('file:')) {\n watchPath = fileURLToPath(openapi);\n sourceRef = openapi;\n }\n } else {\n watchPath = join(config.root, openapi);\n sourceRef = join(config.root, openapi);\n }\n },\n };\n}\n\nfunction specPlugin(\n openapi: OpenAPIObject,\n settings: Settings,\n): Omit<Plugin, 'name'> {\n const generateIfNeeded = async (spec: OpenAPIObject) => {\n const hash = hashSpec(spec);\n const key = `${hash}|${settings.output}`;\n return cachedGeneration(key, async () => {\n console.log(`${chalk.blue('SDKIT')}: Generating SDK.`);\n await generate(spec, settings);\n console.log(`${chalk.blue('SDKIT')}: SDK generated successfully.`);\n });\n };\n return {\n async configResolved() {\n // No-op for specPlugin\n },\n async configureServer() {\n await generateIfNeeded(openapi);\n },\n async buildStart() {\n await generateIfNeeded(openapi);\n },\n };\n}\n\nconst generationCache = new Map<string, Promise<void>>();\n\nfunction cachedGeneration(key: string, fn: () => Promise<void>): Promise<void> {\n const existing = generationCache.get(key);\n if (existing) return existing;\n\n const promise = fn().catch((err) => {\n generationCache.delete(key);\n throw err;\n });\n generationCache.set(key, promise);\n return promise;\n}\n\nfunction hashFile(filePath: string): Promise<string> {\n return readFile(filePath).then((content) =>\n createHash('sha256').update(content).digest('hex'),\n );\n}\n\nfunction hashSpec(spec: OpenAPIObject): string {\n return createHash('sha256').update(JSON.stringify(spec)).digest('hex');\n}\n\nfunction startsWithProtocol(url: string): boolean {\n return /^[a-zA-Z][a-zA-Z0-9+\\-.]*:\\/\\//.test(url);\n}\n", "import type { Plugin } from 'vite';\n\nexport interface ProjectPluginOptions {\n config?: string;\n}\n\nexport function projectPlugin(\n options: ProjectPluginOptions = {},\n): Omit<Plugin, 'name'> {\n let root = process.cwd();\n\n const generate = async () => {\n const { generateProject, loadProjectConfig } = await import('@sdk-it/cli');\n const config = await loadProjectConfig({\n cwd: root,\n config: options.config,\n });\n await generateProject(config);\n };\n\n return {\n configResolved(config) {\n root = config.root;\n },\n async configureServer() {\n await generate();\n },\n async buildStart() {\n await generate();\n },\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["generate"]
7
7
  }
@@ -0,0 +1,6 @@
1
+ import type { Plugin } from 'vite';
2
+ export interface ProjectPluginOptions {
3
+ config?: string;
4
+ }
5
+ export declare function projectPlugin(options?: ProjectPluginOptions): Omit<Plugin, 'name'>;
6
+ //# sourceMappingURL=project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,CAC3B,OAAO,GAAE,oBAAyB,GACjC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAuBtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sdk-it/vite",
3
- "version": "0.43.0",
3
+ "version": "0.45.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -30,10 +30,16 @@
30
30
  "chalk": "^5.6.0"
31
31
  },
32
32
  "peerDependencies": {
33
+ "@sdk-it/cli": "0.45.0",
33
34
  "openapi3-ts": "4.5.0",
34
35
  "vite": "^6.0.0 || ^7.0.0",
35
- "@sdk-it/spec": "0.43.0",
36
- "@sdk-it/typescript": "0.43.0",
36
+ "@sdk-it/spec": "0.45.0",
37
+ "@sdk-it/typescript": "0.45.0",
37
38
  "chalk": "^5.6.0"
39
+ },
40
+ "peerDependenciesMeta": {
41
+ "@sdk-it/cli": {
42
+ "optional": true
43
+ }
38
44
  }
39
45
  }