diff --git a/.changeset/quiet-lions-sort.md b/.changeset/quiet-lions-sort.md new file mode 100644 index 000000000..9576cbed7 --- /dev/null +++ b/.changeset/quiet-lions-sort.md @@ -0,0 +1,5 @@ +--- +"@osdk/foundry-sdk-generator": minor +--- + +We now generate osdk libs that support commonjs diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a4a830925..de36c9e0b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -68,7 +68,7 @@ jobs: build: name: Build and Test - timeout-minutes: 15 + timeout-minutes: 20 runs-on: ubuntu-latest permissions: contents: write diff --git a/.monorepolint.config.mjs b/.monorepolint.config.mjs index bc55ea36a..c8e85ff8f 100644 --- a/.monorepolint.config.mjs +++ b/.monorepolint.config.mjs @@ -67,8 +67,7 @@ const privatePackages = [ "@osdk/monorepo.*", "@osdk/platform-sdk-generator", "@osdk/shared.test", - "@osdk/tests.verify-fallback-package-v2", - "@osdk/tests.verify-cjs-node16", + "@osdk/tests.*", "@osdk/tool.*", "@osdk/version-updater", "@osdk/benchmarks.*", diff --git a/examples-extra/docs_example/src/generatedNoCheck/index.ts b/examples-extra/docs_example/src/generatedNoCheck/index.ts index a875b948b..40063e27d 100644 --- a/examples-extra/docs_example/src/generatedNoCheck/index.ts +++ b/examples-extra/docs_example/src/generatedNoCheck/index.ts @@ -6,13 +6,13 @@ export { moveOffice, promoteEmployee, promoteEmployeeObject, -} from './ontology/actions'; -export * as $Actions from './ontology/actions'; -export {} from './ontology/interfaces'; -export * as $Interfaces from './ontology/interfaces'; -export { Employee, equipment, Office, Todo } from './ontology/objects'; -export * as $Objects from './ontology/objects'; -export {} from './ontology/queries'; -export * as $Queries from './ontology/queries'; -export { $osdkMetadata } from './OntologyMetadata'; -export { $ontologyRid } from './OntologyMetadata'; +} from './ontology/actions.js'; +export * as $Actions from './ontology/actions.js'; +export {} from './ontology/interfaces.js'; +export * as $Interfaces from './ontology/interfaces.js'; +export { Employee, equipment, Office, Todo } from './ontology/objects.js'; +export * as $Objects from './ontology/objects.js'; +export {} from './ontology/queries.js'; +export * as $Queries from './ontology/queries.js'; +export { $osdkMetadata } from './OntologyMetadata.js'; +export { $ontologyRid } from './OntologyMetadata.js'; diff --git a/examples-extra/docs_example/src/generatedNoCheck/ontology/actions.ts b/examples-extra/docs_example/src/generatedNoCheck/ontology/actions.ts index 47f553c38..db94ab77b 100644 --- a/examples-extra/docs_example/src/generatedNoCheck/ontology/actions.ts +++ b/examples-extra/docs_example/src/generatedNoCheck/ontology/actions.ts @@ -1,7 +1,7 @@ -export { completeTodo } from './actions/completeTodo'; -export { createOffice } from './actions/createOffice'; -export { createOfficeAndEmployee } from './actions/createOfficeAndEmployee'; -export { createTodo } from './actions/createTodo'; -export { moveOffice } from './actions/moveOffice'; -export { promoteEmployee } from './actions/promoteEmployee'; -export { promoteEmployeeObject } from './actions/promoteEmployeeObject'; +export { completeTodo } from './actions/completeTodo.js'; +export { createOffice } from './actions/createOffice.js'; +export { createOfficeAndEmployee } from './actions/createOfficeAndEmployee.js'; +export { createTodo } from './actions/createTodo.js'; +export { moveOffice } from './actions/moveOffice.js'; +export { promoteEmployee } from './actions/promoteEmployee.js'; +export { promoteEmployeeObject } from './actions/promoteEmployeeObject.js'; diff --git a/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/completeTodo.ts b/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/completeTodo.ts index e7e217cfd..e91824c17 100644 --- a/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/completeTodo.ts +++ b/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/completeTodo.ts @@ -6,8 +6,8 @@ import type { ApplyActionOptions, ApplyBatchActionOptions, } from '@osdk/client'; -import { $osdkMetadata } from '../../OntologyMetadata'; -import type { Todo } from '../objects/Todo'; +import { $osdkMetadata } from '../../OntologyMetadata.js'; +import type { Todo } from '../objects/Todo.js'; export namespace completeTodo { // Represents the definition of the parameters for the action diff --git a/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/createOffice.ts b/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/createOffice.ts index 3b94c5803..ed2e628d8 100644 --- a/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/createOffice.ts +++ b/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/createOffice.ts @@ -6,7 +6,7 @@ import type { ApplyActionOptions, ApplyBatchActionOptions, } from '@osdk/client'; -import { $osdkMetadata } from '../../OntologyMetadata'; +import { $osdkMetadata } from '../../OntologyMetadata.js'; export namespace createOffice { // Represents the definition of the parameters for the action diff --git a/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/createOfficeAndEmployee.ts b/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/createOfficeAndEmployee.ts index 5630d1143..7f9df92c4 100644 --- a/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/createOfficeAndEmployee.ts +++ b/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/createOfficeAndEmployee.ts @@ -6,7 +6,7 @@ import type { ApplyActionOptions, ApplyBatchActionOptions, } from '@osdk/client'; -import { $osdkMetadata } from '../../OntologyMetadata'; +import { $osdkMetadata } from '../../OntologyMetadata.js'; export namespace createOfficeAndEmployee { // Represents the definition of the parameters for the action diff --git a/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/createTodo.ts b/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/createTodo.ts index 4a5848869..55b77e9d0 100644 --- a/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/createTodo.ts +++ b/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/createTodo.ts @@ -6,7 +6,7 @@ import type { ApplyActionOptions, ApplyBatchActionOptions, } from '@osdk/client'; -import { $osdkMetadata } from '../../OntologyMetadata'; +import { $osdkMetadata } from '../../OntologyMetadata.js'; export namespace createTodo { // Represents the definition of the parameters for the action diff --git a/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/moveOffice.ts b/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/moveOffice.ts index 960022ef8..1b85b7ae2 100644 --- a/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/moveOffice.ts +++ b/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/moveOffice.ts @@ -6,7 +6,7 @@ import type { ApplyActionOptions, ApplyBatchActionOptions, } from '@osdk/client'; -import { $osdkMetadata } from '../../OntologyMetadata'; +import { $osdkMetadata } from '../../OntologyMetadata.js'; export namespace moveOffice { // Represents the definition of the parameters for the action diff --git a/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/promoteEmployee.ts b/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/promoteEmployee.ts index a5af275fe..0b09e139c 100644 --- a/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/promoteEmployee.ts +++ b/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/promoteEmployee.ts @@ -6,7 +6,7 @@ import type { ApplyActionOptions, ApplyBatchActionOptions, } from '@osdk/client'; -import { $osdkMetadata } from '../../OntologyMetadata'; +import { $osdkMetadata } from '../../OntologyMetadata.js'; export namespace promoteEmployee { // Represents the definition of the parameters for the action diff --git a/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/promoteEmployeeObject.ts b/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/promoteEmployeeObject.ts index 352c76bd5..92e428fb7 100644 --- a/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/promoteEmployeeObject.ts +++ b/examples-extra/docs_example/src/generatedNoCheck/ontology/actions/promoteEmployeeObject.ts @@ -6,8 +6,8 @@ import type { ApplyActionOptions, ApplyBatchActionOptions, } from '@osdk/client'; -import { $osdkMetadata } from '../../OntologyMetadata'; -import type { Employee } from '../objects/Employee'; +import { $osdkMetadata } from '../../OntologyMetadata.js'; +import type { Employee } from '../objects/Employee.js'; export namespace promoteEmployeeObject { // Represents the definition of the parameters for the action diff --git a/examples-extra/docs_example/src/generatedNoCheck/ontology/objects.ts b/examples-extra/docs_example/src/generatedNoCheck/ontology/objects.ts index 6190f48db..d08c2a729 100644 --- a/examples-extra/docs_example/src/generatedNoCheck/ontology/objects.ts +++ b/examples-extra/docs_example/src/generatedNoCheck/ontology/objects.ts @@ -1,4 +1,4 @@ -export { Employee } from './objects/Employee'; -export { equipment } from './objects/equipment'; -export { Office } from './objects/Office'; -export { Todo } from './objects/Todo'; +export { Employee } from './objects/Employee.js'; +export { equipment } from './objects/equipment.js'; +export { Office } from './objects/Office.js'; +export { Todo } from './objects/Todo.js'; diff --git a/examples-extra/docs_example/src/generatedNoCheck/ontology/objects/Employee.ts b/examples-extra/docs_example/src/generatedNoCheck/ontology/objects/Employee.ts index 6d3cf8c22..b003e6120 100644 --- a/examples-extra/docs_example/src/generatedNoCheck/ontology/objects/Employee.ts +++ b/examples-extra/docs_example/src/generatedNoCheck/ontology/objects/Employee.ts @@ -1,6 +1,6 @@ import type { PropertyDef as $PropertyDef } from '@osdk/client'; -import { $osdkMetadata } from '../../OntologyMetadata'; -import type { $ExpectedClientVersion } from '../../OntologyMetadata'; +import { $osdkMetadata } from '../../OntologyMetadata.js'; +import type { $ExpectedClientVersion } from '../../OntologyMetadata.js'; import type { PropertyKeys as $PropertyKeys, ObjectTypeDefinition as $ObjectTypeDefinition, diff --git a/examples-extra/docs_example/src/generatedNoCheck/ontology/objects/Office.ts b/examples-extra/docs_example/src/generatedNoCheck/ontology/objects/Office.ts index 99b50c219..98f94a653 100644 --- a/examples-extra/docs_example/src/generatedNoCheck/ontology/objects/Office.ts +++ b/examples-extra/docs_example/src/generatedNoCheck/ontology/objects/Office.ts @@ -1,6 +1,6 @@ import type { PropertyDef as $PropertyDef } from '@osdk/client'; -import { $osdkMetadata } from '../../OntologyMetadata'; -import type { $ExpectedClientVersion } from '../../OntologyMetadata'; +import { $osdkMetadata } from '../../OntologyMetadata.js'; +import type { $ExpectedClientVersion } from '../../OntologyMetadata.js'; import type { PropertyKeys as $PropertyKeys, ObjectTypeDefinition as $ObjectTypeDefinition, diff --git a/examples-extra/docs_example/src/generatedNoCheck/ontology/objects/Todo.ts b/examples-extra/docs_example/src/generatedNoCheck/ontology/objects/Todo.ts index 5b49dcbb1..723f58907 100644 --- a/examples-extra/docs_example/src/generatedNoCheck/ontology/objects/Todo.ts +++ b/examples-extra/docs_example/src/generatedNoCheck/ontology/objects/Todo.ts @@ -1,6 +1,6 @@ import type { PropertyDef as $PropertyDef } from '@osdk/client'; -import { $osdkMetadata } from '../../OntologyMetadata'; -import type { $ExpectedClientVersion } from '../../OntologyMetadata'; +import { $osdkMetadata } from '../../OntologyMetadata.js'; +import type { $ExpectedClientVersion } from '../../OntologyMetadata.js'; import type { PropertyKeys as $PropertyKeys, ObjectTypeDefinition as $ObjectTypeDefinition, diff --git a/examples-extra/docs_example/src/generatedNoCheck/ontology/objects/equipment.ts b/examples-extra/docs_example/src/generatedNoCheck/ontology/objects/equipment.ts index e6e463864..725613eaf 100644 --- a/examples-extra/docs_example/src/generatedNoCheck/ontology/objects/equipment.ts +++ b/examples-extra/docs_example/src/generatedNoCheck/ontology/objects/equipment.ts @@ -1,6 +1,6 @@ import type { PropertyDef as $PropertyDef } from '@osdk/client'; -import { $osdkMetadata } from '../../OntologyMetadata'; -import type { $ExpectedClientVersion } from '../../OntologyMetadata'; +import { $osdkMetadata } from '../../OntologyMetadata.js'; +import type { $ExpectedClientVersion } from '../../OntologyMetadata.js'; import type { PropertyKeys as $PropertyKeys, ObjectTypeDefinition as $ObjectTypeDefinition, diff --git a/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/index.ts b/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/index.ts index a85304674..75be06ac4 100644 --- a/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/index.ts +++ b/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/index.ts @@ -1,10 +1,10 @@ -export { completeTodo, createTodo } from './ontology/actions'; -export * as $Actions from './ontology/actions'; -export {} from './ontology/interfaces'; -export * as $Interfaces from './ontology/interfaces'; -export { Todo } from './ontology/objects'; -export * as $Objects from './ontology/objects'; -export {} from './ontology/queries'; -export * as $Queries from './ontology/queries'; -export { $osdkMetadata } from './OntologyMetadata'; -export { $ontologyRid } from './OntologyMetadata'; +export { completeTodo, createTodo } from './ontology/actions.js'; +export * as $Actions from './ontology/actions.js'; +export {} from './ontology/interfaces.js'; +export * as $Interfaces from './ontology/interfaces.js'; +export { Todo } from './ontology/objects.js'; +export * as $Objects from './ontology/objects.js'; +export {} from './ontology/queries.js'; +export * as $Queries from './ontology/queries.js'; +export { $osdkMetadata } from './OntologyMetadata.js'; +export { $ontologyRid } from './OntologyMetadata.js'; diff --git a/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/actions.ts b/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/actions.ts index e60d6e1fe..899f92527 100644 --- a/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/actions.ts +++ b/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/actions.ts @@ -1,2 +1,2 @@ -export { completeTodo } from './actions/completeTodo'; -export { createTodo } from './actions/createTodo'; +export { completeTodo } from './actions/completeTodo.js'; +export { createTodo } from './actions/createTodo.js'; diff --git a/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/actions/completeTodo.ts b/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/actions/completeTodo.ts index a8e9215b4..f641cc1c1 100644 --- a/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/actions/completeTodo.ts +++ b/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/actions/completeTodo.ts @@ -6,8 +6,8 @@ import type { ApplyActionOptions, ApplyBatchActionOptions, } from '@osdk/client'; -import { $osdkMetadata } from '../../OntologyMetadata'; -import type { Todo } from '../objects/Todo'; +import { $osdkMetadata } from '../../OntologyMetadata.js'; +import type { Todo } from '../objects/Todo.js'; export namespace completeTodo { // Represents the definition of the parameters for the action diff --git a/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/actions/createTodo.ts b/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/actions/createTodo.ts index 4a5848869..55b77e9d0 100644 --- a/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/actions/createTodo.ts +++ b/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/actions/createTodo.ts @@ -6,7 +6,7 @@ import type { ApplyActionOptions, ApplyBatchActionOptions, } from '@osdk/client'; -import { $osdkMetadata } from '../../OntologyMetadata'; +import { $osdkMetadata } from '../../OntologyMetadata.js'; export namespace createTodo { // Represents the definition of the parameters for the action diff --git a/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/objects.ts b/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/objects.ts index b6574b479..10a03686f 100644 --- a/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/objects.ts +++ b/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/objects.ts @@ -1 +1 @@ -export { Todo } from './objects/Todo'; +export { Todo } from './objects/Todo.js'; diff --git a/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/objects/Todo.ts b/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/objects/Todo.ts index 6834edb2a..c533fbc2e 100644 --- a/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/objects/Todo.ts +++ b/packages/e2e.sandbox.todoapp/src/generatedNoCheck2/ontology/objects/Todo.ts @@ -1,6 +1,6 @@ import type { PropertyDef as $PropertyDef } from '@osdk/client'; -import { $osdkMetadata } from '../../OntologyMetadata'; -import type { $ExpectedClientVersion } from '../../OntologyMetadata'; +import { $osdkMetadata } from '../../OntologyMetadata.js'; +import type { $ExpectedClientVersion } from '../../OntologyMetadata.js'; import type { PropertyKeys as $PropertyKeys, ObjectTypeDefinition as $ObjectTypeDefinition, diff --git a/packages/e2e.test.foundry-sdk-generator/generateMockOntology.js b/packages/e2e.test.foundry-sdk-generator/generateMockOntology.js index 6ec89b6ba..9e1a88f1d 100644 --- a/packages/e2e.test.foundry-sdk-generator/generateMockOntology.js +++ b/packages/e2e.test.foundry-sdk-generator/generateMockOntology.js @@ -17,6 +17,7 @@ // @ts-check import { __testSeamOnly_NotSemverStable__GeneratePackageCommand as GeneratePackageCommand } from "@osdk/foundry-sdk-generator"; import { apiServer } from "@osdk/shared.test"; +import { $ } from "execa"; import * as fs from "node:fs/promises"; import { tmpdir } from "node:os"; import * as path from "node:path"; @@ -98,13 +99,24 @@ async function setup() { await safeStat(testApp2Dir, "should exist"); await safeStat(testApp2BetaDir, "should exist"); + await $({ + stdout: "inherit", + stderr: "inherit", + })`attw --pack ${path.join(testApp2Dir, "osdk")}`; + + await $({ + stdout: "inherit", + stderr: "inherit", + })`attw --pack ${path.join(testApp2BetaDir, "osdk")}`; + const finalOutDir = path.join( path.dirname(fileURLToPath(import.meta.url)), "src", "generatedNoCheck", ); - fs.cp(dir, finalOutDir, { recursive: true }); + await fs.rm(finalOutDir, { recursive: true, force: true }); + await fs.cp(dir, finalOutDir, { recursive: true }); } export async function teardown() { @@ -121,7 +133,7 @@ await teardown(); */ async function rmRf(testAppDir) { try { - await fs.rm(testAppDir, { recursive: true }); + await fs.rm(testAppDir, { recursive: true, force: true }); } catch (e) { // console.debug("rm error", e); // Only needed for regenerations diff --git a/packages/e2e.test.foundry-sdk-generator/src/GeneratePackageCommand.test.ts b/packages/e2e.test.foundry-sdk-generator/src/GeneratePackageCommand.test.ts index 0822928c8..93fc9bb3a 100644 --- a/packages/e2e.test.foundry-sdk-generator/src/GeneratePackageCommand.test.ts +++ b/packages/e2e.test.foundry-sdk-generator/src/GeneratePackageCommand.test.ts @@ -37,8 +37,8 @@ describe("Generate Package Command", () => { const scriptsExport = packageJson["exports"]?.["."]?.["script"]; expect(scriptsExport).toEqual({ - "default": "./dist/bundle/index.esm.js", - "types": "./dist/bundle/index.d.ts", + "types": "./dist/bundle/index.d.mts", + "default": "./dist/bundle/index.mjs", }); const esmPath = path.join(generatedPath, scriptsExport.default); @@ -46,7 +46,7 @@ describe("Generate Package Command", () => { expect(existsSync(esmPath), esmPath).toBe(true); const contents = await fs.readFile( - path.join(generatedPath, "index.js"), + path.join(generatedPath, "esm", "index.js"), "utf-8", ); expect(contents).not.toContain("Object.defineProperty(exports,"); diff --git a/packages/foundry-sdk-generator/src/generate/betaClient/compileInMemory.ts b/packages/foundry-sdk-generator/src/generate/betaClient/compileInMemory.ts index e5a419eda..939981b59 100644 --- a/packages/foundry-sdk-generator/src/generate/betaClient/compileInMemory.ts +++ b/packages/foundry-sdk-generator/src/generate/betaClient/compileInMemory.ts @@ -20,7 +20,6 @@ import { createProgram, createSourceFile, ModuleKind, - ModuleResolutionKind, ScriptTarget, } from "typescript"; @@ -31,6 +30,7 @@ export interface CompilerOutput { export function compileInMemory( files: { [fileName: string]: string }, + type: "cjs" | "esm", ): { files: { [fileName: string]: string; @@ -39,9 +39,9 @@ export function compileInMemory( } { const inMemoryOutputFileSystem: { [fileName: string]: string } = {}; const compilerOptions: CompilerOptions = { - module: ModuleKind.NodeNext, + module: type === "cjs" ? ModuleKind.CommonJS : ModuleKind.ES2022, target: ScriptTarget.ES2020, - moduleResolution: ModuleResolutionKind.NodeNext, + resolvePackageJsonExports: true, declaration: true, skipLibCheck: true, }; diff --git a/packages/foundry-sdk-generator/src/generate/betaClient/generatePackage.ts b/packages/foundry-sdk-generator/src/generate/betaClient/generatePackage.ts index 9f0b86ee7..661190fba 100644 --- a/packages/foundry-sdk-generator/src/generate/betaClient/generatePackage.ts +++ b/packages/foundry-sdk-generator/src/generate/betaClient/generatePackage.ts @@ -41,6 +41,7 @@ export async function generatePackage( }, ): Promise { const { consola } = await import("consola"); + let success = true; const packagePath = join(options.outputDir, options.packageName); @@ -82,16 +83,47 @@ export async function generatePackage( beta: options.beta, }); - // writes to in memory fs that the compiler will read from - await hostFs.writeFile( - join(packagePath, "package.json"), - JSON.stringify(contents), - ); + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + const compilerOutput: Record< + "esm" | "cjs", + ReturnType + > = {} as any; + + for (const type of ["esm", "cjs"] as const) { + // writes to in memory fs that the compiler will read from + await hostFs.writeFile( + join(packagePath, "package.json"), + JSON.stringify({ + ...contents, + type: type === "cjs" ? "commonjs" : "module", + }), + ); - const compilerOutput = compileInMemory(inMemoryFileSystem); - compilerOutput.diagnostics.forEach(d => - consola.error(`Error compiling file`, d.file?.fileName, d.messageText) - ); + compilerOutput[type] = compileInMemory(inMemoryFileSystem, type); + compilerOutput[type].diagnostics.forEach(d => { + consola.error(`Error compiling file`, d.file?.fileName, d.messageText); + success = false; + }); + + await mkdir(join(packagePath, "dist", "bundle"), { recursive: true }); + + await mkdir(join(packagePath, "esm"), { recursive: true }); + await mkdir(join(packagePath, "cjs"), { recursive: true }); + + for (const [path, contents] of Object.entries(compilerOutput[type].files)) { + const newPath = path.replace( + packagePath, + join(packagePath, type), + ); + await mkdir(dirname(newPath), { recursive: true }); + await writeFile(newPath, contents, { flag: "w" }); + } + + void await writeFile( + join(packagePath, type, "package.json"), + JSON.stringify({ type: type === "esm" ? "module" : "commonjs" }), + ); + } await mkdir(join(packagePath, "dist", "bundle"), { recursive: true }); @@ -107,28 +139,24 @@ export async function generatePackage( bundleDts = await bundleDependencies( [], options.packageName, - compilerOutput.files, + compilerOutput["esm"].files, undefined, ); } catch (e) { consola.error("Failed bundling DTS", e); + success = false; } } else { consola.error( "Could not find node_modules directory, skipping DTS bundling", ); + success = false; } - - await Promise.all([ - ...Object.entries(compilerOutput.files).map(async ([path, contents]) => { - await writeFile(path, contents, { flag: "w" }); - }), - await writeFile( - join(packagePath, "dist", "bundle", "index.d.ts"), - bundleDts, - { flag: "w" }, - ), - ]); + await writeFile( + join(packagePath, "dist", "bundle", "index.d.mts"), + bundleDts, + { flag: "w" }, + ); const absolutePackagePath = isAbsolute(options.outputDir) ? options.outputDir @@ -138,5 +166,10 @@ export async function generatePackage( await generateBundles(absolutePackagePath, options.packageName); } catch (e) { consola.error(e); + success = false; + } + + if (!success) { + throw new Error("Failed to generate package"); } } diff --git a/packages/foundry-sdk-generator/src/generate/betaClient/generatePackageJson.ts b/packages/foundry-sdk-generator/src/generate/betaClient/generatePackageJson.ts index d4bbd09ca..d3d01f04a 100644 --- a/packages/foundry-sdk-generator/src/generate/betaClient/generatePackageJson.ts +++ b/packages/foundry-sdk-generator/src/generate/betaClient/generatePackageJson.ts @@ -42,21 +42,29 @@ export async function generatePackageJson(options: { const packageJson = { name: options.packageName, version: options.packageVersion, - main: "./index.js", - types: "./index.d.ts", + main: "./cjs/index.js", + types: "./cjs/index.d.ts", exports: { ".": { - types: "./index.d.ts", script: { - types: "./dist/bundle/index.d.ts", - default: "./dist/bundle/index.esm.js", + types: "./dist/bundle/index.d.mts", + default: "./dist/bundle/index.mjs", }, - default: "./index.js", + require: { + types: "./cjs/index.d.ts", + default: "./cjs/index.js", + }, + import: { + types: "./esm/index.d.ts", + default: "./esm/index.js", + }, + types: "./cjs/index.d.ts", + default: "./cjs/index.js", }, }, dependencies: packageDeps, peerDependencies: packagePeerDeps, - type: "module", + type: "commonjs", }; await writeFile( diff --git a/packages/foundry-sdk-generator/src/generate/generateBundles.ts b/packages/foundry-sdk-generator/src/generate/generateBundles.ts index e51df807d..641ff4235 100644 --- a/packages/foundry-sdk-generator/src/generate/generateBundles.ts +++ b/packages/foundry-sdk-generator/src/generate/generateBundles.ts @@ -23,8 +23,8 @@ import nodePolyfill from "rollup-plugin-polyfill-node"; async function createRollupBuild( absolutePackagePath: string, packageName: string, -) { - const inputPath = `${absolutePackagePath}/${packageName}/index.js`; +): Promise { + const inputPath = `${absolutePackagePath}/${packageName}/esm/index.js`; const { findUp } = await import("find-up"); const nodeModulesPath = await findUp("node_modules", { @@ -32,7 +32,7 @@ async function createRollupBuild( type: "directory", }); - return rollup({ + return await rollup({ input: inputPath, plugins: [ nodeResolve({ @@ -64,8 +64,9 @@ async function writeRollupBuild( packageName: string, format: ModuleFormat, ) { - const outputPath = - `${absolutePackagePath}/${packageName}/dist/bundle/index.${format}.js`; + const outputPath = `${absolutePackagePath}/${packageName}/dist/bundle/index.${ + format === "cjs" ? "cjs" : "mjs" + }`; await Promise.all([ rollupBuild.write({ @@ -84,7 +85,10 @@ async function generateEsmBuild( absolutePackagePath: string, packageName: string, ) { - const umdBuild = await createRollupBuild(absolutePackagePath, packageName); + const umdBuild = await createRollupBuild( + absolutePackagePath, + packageName, + ); await writeRollupBuild(umdBuild, absolutePackagePath, packageName, "esm"); } @@ -92,5 +96,7 @@ export async function generateBundles( absolutePackagePath: string, packageName: string, ): Promise { - await Promise.all([generateEsmBuild(absolutePackagePath, packageName)]); + await Promise.all([ + generateEsmBuild(absolutePackagePath, packageName), + ]); } diff --git a/packages/generator/src/v2.0/generateClientSdkVersionTwoPointZero.test.ts b/packages/generator/src/v2.0/generateClientSdkVersionTwoPointZero.test.ts index 4678aa5f6..b556f6722 100644 --- a/packages/generator/src/v2.0/generateClientSdkVersionTwoPointZero.test.ts +++ b/packages/generator/src/v2.0/generateClientSdkVersionTwoPointZero.test.ts @@ -521,567 +521,567 @@ describe("generator", () => { expect( tweakedFilesForSnapshotConsistency(helper.getFiles()), ).toMatchInlineSnapshot(` - { - "/foo/OntologyMetadata.ts": "export type $ExpectedClientVersion = 'PLACEHOLDER'; - export const $osdkMetadata = { extraUserAgent: 'typescript-sdk/0.0.0 osdk-cli/0.0.0' }; - - export const $ontologyRid = 'ridHere'; - ", - "/foo/index.ts": "export { deleteTodos, markTodoCompleted } from './ontology/actions'; - export * as $Actions from './ontology/actions'; - export { SomeInterface } from './ontology/interfaces'; - export * as $Interfaces from './ontology/interfaces'; - export { Person, Todo } from './ontology/objects'; - export * as $Objects from './ontology/objects'; - export { getCount, returnsTodo } from './ontology/queries'; - export * as $Queries from './ontology/queries'; - export { $osdkMetadata } from './OntologyMetadata'; - export { $ontologyRid } from './OntologyMetadata'; - ", - "/foo/ontology/actions.ts": "export { deleteTodos } from './actions/deleteTodos'; - export { markTodoCompleted } from './actions/markTodoCompleted'; - ", - "/foo/ontology/actions/deleteTodos.ts": "import type { - ActionDefinition, - ActionMetadata, - ActionParam, - ActionReturnTypeForOptions, - ApplyActionOptions, - ApplyBatchActionOptions, - } from '@osdk/client'; - import { $osdkMetadata } from '../../OntologyMetadata'; - import type { Todo } from '../objects/Todo'; - - export namespace deleteTodos { - // Represents the definition of the parameters for the action - export type ParamsDefinition = { - object: { - description: 'Todo(s) to be deleted'; - multiplicity: true; - nullable: true; - type: ActionMetadata.DataType.Object; - }; - }; + { + "/foo/OntologyMetadata.ts": "export type $ExpectedClientVersion = 'PLACEHOLDER'; + export const $osdkMetadata = { extraUserAgent: 'typescript-sdk/0.0.0 osdk-cli/0.0.0' }; - /** - * An action which takes in an array of objects - */ - export interface Params { - /** - * Todo(s) to be deleted - */ - readonly object?: ReadonlyArray>; - } + export const $ontologyRid = 'ridHere'; + ", + "/foo/index.ts": "export { deleteTodos, markTodoCompleted } from './ontology/actions.js'; + export * as $Actions from './ontology/actions.js'; + export { SomeInterface } from './ontology/interfaces.js'; + export * as $Interfaces from './ontology/interfaces.js'; + export { Person, Todo } from './ontology/objects.js'; + export * as $Objects from './ontology/objects.js'; + export { getCount, returnsTodo } from './ontology/queries.js'; + export * as $Queries from './ontology/queries.js'; + export { $osdkMetadata } from './OntologyMetadata.js'; + export { $ontologyRid } from './OntologyMetadata.js'; + ", + "/foo/ontology/actions.ts": "export { deleteTodos } from './actions/deleteTodos.js'; + export { markTodoCompleted } from './actions/markTodoCompleted.js'; + ", + "/foo/ontology/actions/deleteTodos.ts": "import type { + ActionDefinition, + ActionMetadata, + ActionParam, + ActionReturnTypeForOptions, + ApplyActionOptions, + ApplyBatchActionOptions, + } from '@osdk/client'; + import { $osdkMetadata } from '../../OntologyMetadata.js'; + import type { Todo } from '../objects/Todo.js'; + + export namespace deleteTodos { + // Represents the definition of the parameters for the action + export type ParamsDefinition = { + object: { + description: 'Todo(s) to be deleted'; + multiplicity: true; + nullable: true; + type: ActionMetadata.DataType.Object; + }; + }; - // Represents a fqn of the action - export interface Signatures { /** * An action which takes in an array of objects */ - applyAction

( - args: P, - options?: OP, - ): Promise>; - - batchApplyAction

, OP extends ApplyBatchActionOptions>( - args: P, - options?: OP, - ): Promise>; + export interface Params { + /** + * Todo(s) to be deleted + */ + readonly object?: ReadonlyArray>; + } + + // Represents a fqn of the action + export interface Signatures { + /** + * An action which takes in an array of objects + */ + applyAction

( + args: P, + options?: OP, + ): Promise>; + + batchApplyAction

, OP extends ApplyBatchActionOptions>( + args: P, + options?: OP, + ): Promise>; + } } - } - /** - * An action which takes in an array of objects - * @param {ActionParam.ObjectType} [object] Todo(s) to be deleted - */ - export interface deleteTodos extends ActionDefinition { - __DefinitionMetadata?: { + /** + * An action which takes in an array of objects + * @param {ActionParam.ObjectType} [object] Todo(s) to be deleted + */ + export interface deleteTodos extends ActionDefinition { + __DefinitionMetadata?: { + apiName: 'deleteTodos'; + description: 'An action which takes in an array of objects'; + modifiedEntities: {}; + parameters: deleteTodos.ParamsDefinition; + rid: 'ri.ontology.main.action-type.8f94017d-cf17-4fa8-84c3-8e01e5d594f2'; + status: 'ACTIVE'; + type: 'action'; + + signatures: deleteTodos.Signatures; + }; apiName: 'deleteTodos'; - description: 'An action which takes in an array of objects'; - modifiedEntities: {}; - parameters: deleteTodos.ParamsDefinition; - rid: 'ri.ontology.main.action-type.8f94017d-cf17-4fa8-84c3-8e01e5d594f2'; - status: 'ACTIVE'; type: 'action'; + osdkMetadata: typeof $osdkMetadata; + } - signatures: deleteTodos.Signatures; + export const deleteTodos: deleteTodos = { + apiName: 'deleteTodos', + type: 'action', + osdkMetadata: $osdkMetadata, }; - apiName: 'deleteTodos'; - type: 'action'; - osdkMetadata: typeof $osdkMetadata; - } + ", + "/foo/ontology/actions/markTodoCompleted.ts": "import type { + ActionDefinition, + ActionMetadata, + ActionParam, + ActionReturnTypeForOptions, + ApplyActionOptions, + ApplyBatchActionOptions, + } from '@osdk/client'; + import { $osdkMetadata } from '../../OntologyMetadata.js'; + import type { Todo } from '../objects/Todo.js'; - export const deleteTodos: deleteTodos = { - apiName: 'deleteTodos', - type: 'action', - osdkMetadata: $osdkMetadata, - }; - ", - "/foo/ontology/actions/markTodoCompleted.ts": "import type { - ActionDefinition, - ActionMetadata, - ActionParam, - ActionReturnTypeForOptions, - ApplyActionOptions, - ApplyBatchActionOptions, - } from '@osdk/client'; - import { $osdkMetadata } from '../../OntologyMetadata'; - import type { Todo } from '../objects/Todo'; - - export namespace markTodoCompleted { - // Represents the definition of the parameters for the action - export type ParamsDefinition = { - object: { - description: 'A Todo to mark completed'; - multiplicity: false; - nullable: true; - type: ActionMetadata.DataType.Object; + export namespace markTodoCompleted { + // Represents the definition of the parameters for the action + export type ParamsDefinition = { + object: { + description: 'A Todo to mark completed'; + multiplicity: false; + nullable: true; + type: ActionMetadata.DataType.Object; + }; }; - }; + + /** + * An action which takes different types of parameters + */ + export interface Params { + /** + * A Todo to mark completed + */ + readonly object?: ActionParam.ObjectType; + } + + // Represents a fqn of the action + export interface Signatures { + /** + * An action which takes different types of parameters + */ + applyAction

( + args: P, + options?: OP, + ): Promise>; + + batchApplyAction

, OP extends ApplyBatchActionOptions>( + args: P, + options?: OP, + ): Promise>; + } + } /** * An action which takes different types of parameters + * @param {ActionParam.ObjectType} [object] A Todo to mark completed */ - export interface Params { - /** - * A Todo to mark completed - */ - readonly object?: ActionParam.ObjectType; + export interface markTodoCompleted extends ActionDefinition { + __DefinitionMetadata?: { + apiName: 'markTodoCompleted'; + description: 'An action which takes different types of parameters'; + modifiedEntities: { + Todo: { + created: false; + modified: true; + }; + }; + parameters: markTodoCompleted.ParamsDefinition; + rid: 'ri.ontology.main.action-type.9f84017d-cf17-4fa8-84c3-8e01e5d594f2'; + status: 'ACTIVE'; + type: 'action'; + + signatures: markTodoCompleted.Signatures; + }; + apiName: 'markTodoCompleted'; + type: 'action'; + osdkMetadata: typeof $osdkMetadata; } - // Represents a fqn of the action - export interface Signatures { - /** - * An action which takes different types of parameters - */ - applyAction

( - args: P, - options?: OP, - ): Promise>; - - batchApplyAction

, OP extends ApplyBatchActionOptions>( - args: P, - options?: OP, - ): Promise>; + export const markTodoCompleted: markTodoCompleted = { + apiName: 'markTodoCompleted', + type: 'action', + osdkMetadata: $osdkMetadata, + }; + ", + "/foo/ontology/interfaces.ts": "export { SomeInterface } from './interfaces/SomeInterface.js'; + ", + "/foo/ontology/interfaces/SomeInterface.ts": "import type { PropertyDef as $PropertyDef } from '@osdk/client'; + import { $osdkMetadata } from '../../OntologyMetadata.js'; + + import type { + InterfaceDefinition as $InterfaceDefinition, + ObjectSet as $ObjectSet, + Osdk as $Osdk, + PropertyValueWireToClient as $PropType, + } from '@osdk/client'; + + export type OsdkObjectLinks$SomeInterface = {}; + + export namespace SomeInterface { + export type PropertyKeys = 'SomeProperty'; + + export interface Props { + readonly SomeProperty: $PropType['string'] | undefined; + } + export type StrictProps = Props; + + export interface ObjectSet extends $ObjectSet {} + + export type OsdkInstance< + OPTIONS extends never | '$rid' = never, + K extends keyof SomeInterface.Props = keyof SomeInterface.Props, + > = $Osdk.Instance; + + /** @deprecated use OsdkInstance */ + export type OsdkObject< + OPTIONS extends never | '$rid' = never, + K extends keyof SomeInterface.Props = keyof SomeInterface.Props, + > = OsdkInstance; } - } - /** - * An action which takes different types of parameters - * @param {ActionParam.ObjectType} [object] A Todo to mark completed - */ - export interface markTodoCompleted extends ActionDefinition { - __DefinitionMetadata?: { - apiName: 'markTodoCompleted'; - description: 'An action which takes different types of parameters'; - modifiedEntities: { - Todo: { - created: false; - modified: true; + export interface SomeInterface extends $InterfaceDefinition { + osdkMetadata: typeof $osdkMetadata; + type: 'interface'; + apiName: 'SomeInterface'; + __DefinitionMetadata?: { + objectSet: SomeInterface.ObjectSet; + props: SomeInterface.Props; + linksType: OsdkObjectLinks$SomeInterface; + strictProps: SomeInterface.StrictProps; + apiName: 'SomeInterface'; + description: 'Some interface'; + displayName: 'Sum Interface'; + implementedBy: []; + implements: []; + links: {}; + properties: { + /** + * display name: 'Sum Property', + * description: Some property + */ + SomeProperty: $PropertyDef<'string', 'nullable', 'single'>; + }; + rid: 'idk'; + type: 'interface'; + }; + } + + export const SomeInterface: SomeInterface = { + type: 'interface', + apiName: 'SomeInterface', + osdkMetadata: $osdkMetadata, + }; + ", + "/foo/ontology/objects.ts": "export { Person } from './objects/Person.js'; + export { Todo } from './objects/Todo.js'; + ", + "/foo/ontology/objects/Person.ts": "import type { PropertyDef as $PropertyDef } from '@osdk/client'; + import { $osdkMetadata } from '../../OntologyMetadata.js'; + import type { $ExpectedClientVersion } from '../../OntologyMetadata.js'; + import type { Todo } from './Todo.js'; + import type { + PropertyKeys as $PropertyKeys, + ObjectTypeDefinition as $ObjectTypeDefinition, + ObjectMetadata as $ObjectMetadata, + } from '@osdk/client'; + import type { + ObjectSet as $ObjectSet, + Osdk as $Osdk, + OsdkObject as $OsdkObject, + PropertyValueWireToClient as $PropType, + SingleLinkAccessor as $SingleLinkAccessor, + } from '@osdk/client'; + + export namespace Person { + export type PropertyKeys = 'email'; + + export interface Links { + readonly Todos: Todo.ObjectSet; + } + + export interface Props { + readonly email: $PropType['string']; + } + export type StrictProps = Props; + + export interface ObjectSet extends $ObjectSet {} + + export type OsdkInstance< + OPTIONS extends never | '$rid' = never, + K extends keyof Person.Props = keyof Person.Props, + > = $Osdk.Instance; + + /** @deprecated use OsdkInstance */ + export type OsdkObject< + OPTIONS extends never | '$rid' = never, + K extends keyof Person.Props = keyof Person.Props, + > = OsdkInstance; + } + + export interface Person extends $ObjectTypeDefinition { + osdkMetadata: typeof $osdkMetadata; + type: 'object'; + apiName: 'Person'; + __DefinitionMetadata?: { + objectSet: Person.ObjectSet; + props: Person.Props; + linksType: Person.Links; + strictProps: Person.StrictProps; + apiName: 'Person'; + description: 'A person'; + displayName: 'Person'; + icon: { + type: 'blueprint'; + name: 'document'; + color: 'blue'; + }; + implements: []; + interfaceMap: {}; + inverseInterfaceMap: {}; + links: { + Todos: $ObjectMetadata.Link; }; + pluralDisplayName: 'Persons'; + primaryKeyApiName: 'email'; + primaryKeyType: 'string'; + properties: { + /** + * (no ontology metadata) + */ + email: $PropertyDef<'string', 'non-nullable', 'single'>; + }; + rid: 'ridForPerson'; + status: 'ACTIVE'; + titleProperty: 'email'; + type: 'object'; }; - parameters: markTodoCompleted.ParamsDefinition; - rid: 'ri.ontology.main.action-type.9f84017d-cf17-4fa8-84c3-8e01e5d594f2'; - status: 'ACTIVE'; - type: 'action'; + } - signatures: markTodoCompleted.Signatures; + export const Person: Person = { + type: 'object', + apiName: 'Person', + osdkMetadata: $osdkMetadata, }; - apiName: 'markTodoCompleted'; - type: 'action'; - osdkMetadata: typeof $osdkMetadata; - } + ", + "/foo/ontology/objects/Todo.ts": "import type { PropertyDef as $PropertyDef } from '@osdk/client'; + import { $osdkMetadata } from '../../OntologyMetadata.js'; + import type { $ExpectedClientVersion } from '../../OntologyMetadata.js'; + import type { Person } from './Person.js'; + import type { + PropertyKeys as $PropertyKeys, + ObjectTypeDefinition as $ObjectTypeDefinition, + ObjectMetadata as $ObjectMetadata, + } from '@osdk/client'; + import type { + ObjectSet as $ObjectSet, + Osdk as $Osdk, + OsdkObject as $OsdkObject, + PropertyValueWireToClient as $PropType, + SingleLinkAccessor as $SingleLinkAccessor, + } from '@osdk/client'; - export const markTodoCompleted: markTodoCompleted = { - apiName: 'markTodoCompleted', - type: 'action', - osdkMetadata: $osdkMetadata, - }; - ", - "/foo/ontology/interfaces.ts": "export { SomeInterface } from './interfaces/SomeInterface'; - ", - "/foo/ontology/interfaces/SomeInterface.ts": "import type { PropertyDef as $PropertyDef } from '@osdk/client'; - import { $osdkMetadata } from '../../OntologyMetadata'; - - import type { - InterfaceDefinition as $InterfaceDefinition, - ObjectSet as $ObjectSet, - Osdk as $Osdk, - PropertyValueWireToClient as $PropType, - } from '@osdk/client'; - - export type OsdkObjectLinks$SomeInterface = {}; - - export namespace SomeInterface { - export type PropertyKeys = 'SomeProperty'; - - export interface Props { - readonly SomeProperty: $PropType['string'] | undefined; - } - export type StrictProps = Props; + export namespace Todo { + export type PropertyKeys = 'id' | 'body' | 'complete'; - export interface ObjectSet extends $ObjectSet {} + export interface Links { + readonly Assignee: $SingleLinkAccessor; + } - export type OsdkInstance< - OPTIONS extends never | '$rid' = never, - K extends keyof SomeInterface.Props = keyof SomeInterface.Props, - > = $Osdk.Instance; + export interface Props { + readonly body: $PropType['string'] | undefined; + readonly complete: $PropType['boolean'] | undefined; + readonly id: $PropType['integer']; + } + export type StrictProps = Props; - /** @deprecated use OsdkInstance */ - export type OsdkObject< - OPTIONS extends never | '$rid' = never, - K extends keyof SomeInterface.Props = keyof SomeInterface.Props, - > = OsdkInstance; - } + export interface ObjectSet extends $ObjectSet {} - export interface SomeInterface extends $InterfaceDefinition { - osdkMetadata: typeof $osdkMetadata; - type: 'interface'; - apiName: 'SomeInterface'; - __DefinitionMetadata?: { - objectSet: SomeInterface.ObjectSet; - props: SomeInterface.Props; - linksType: OsdkObjectLinks$SomeInterface; - strictProps: SomeInterface.StrictProps; - apiName: 'SomeInterface'; - description: 'Some interface'; - displayName: 'Sum Interface'; - implementedBy: []; - implements: []; - links: {}; - properties: { - /** - * display name: 'Sum Property', - * description: Some property - */ - SomeProperty: $PropertyDef<'string', 'nullable', 'single'>; - }; - rid: 'idk'; - type: 'interface'; - }; - } + export type OsdkInstance< + OPTIONS extends never | '$rid' = never, + K extends keyof Todo.Props = keyof Todo.Props, + > = $Osdk.Instance; - export const SomeInterface: SomeInterface = { - type: 'interface', - apiName: 'SomeInterface', - osdkMetadata: $osdkMetadata, - }; - ", - "/foo/ontology/objects.ts": "export { Person } from './objects/Person'; - export { Todo } from './objects/Todo'; - ", - "/foo/ontology/objects/Person.ts": "import type { PropertyDef as $PropertyDef } from '@osdk/client'; - import { $osdkMetadata } from '../../OntologyMetadata'; - import type { $ExpectedClientVersion } from '../../OntologyMetadata'; - import type { Todo } from './Todo'; - import type { - PropertyKeys as $PropertyKeys, - ObjectTypeDefinition as $ObjectTypeDefinition, - ObjectMetadata as $ObjectMetadata, - } from '@osdk/client'; - import type { - ObjectSet as $ObjectSet, - Osdk as $Osdk, - OsdkObject as $OsdkObject, - PropertyValueWireToClient as $PropType, - SingleLinkAccessor as $SingleLinkAccessor, - } from '@osdk/client'; - - export namespace Person { - export type PropertyKeys = 'email'; - - export interface Links { - readonly Todos: Todo.ObjectSet; + /** @deprecated use OsdkInstance */ + export type OsdkObject< + OPTIONS extends never | '$rid' = never, + K extends keyof Todo.Props = keyof Todo.Props, + > = OsdkInstance; } - export interface Props { - readonly email: $PropType['string']; + export interface Todo extends $ObjectTypeDefinition { + osdkMetadata: typeof $osdkMetadata; + type: 'object'; + apiName: 'Todo'; + __DefinitionMetadata?: { + objectSet: Todo.ObjectSet; + props: Todo.Props; + linksType: Todo.Links; + strictProps: Todo.StrictProps; + apiName: 'Todo'; + description: 'Its a todo item.'; + displayName: 'AwesomeTodoDisplayname'; + icon: { + type: 'blueprint'; + name: 'document'; + color: 'blue'; + }; + implements: ['SomeInterface']; + interfaceMap: { + SomeInterface: { + SomeProperty: 'body'; + }; + }; + inverseInterfaceMap: { + SomeInterface: { + body: 'SomeProperty'; + }; + }; + links: { + Assignee: $ObjectMetadata.Link; + }; + pluralDisplayName: 'AwesomeTodoDisplayNames'; + primaryKeyApiName: 'id'; + primaryKeyType: 'integer'; + properties: { + /** + * display name: 'Body', + * description: The text of the todo + */ + body: $PropertyDef<'string', 'nullable', 'single'>; + /** + * (no ontology metadata) + */ + complete: $PropertyDef<'boolean', 'nullable', 'single'>; + /** + * (no ontology metadata) + */ + id: $PropertyDef<'integer', 'non-nullable', 'single'>; + }; + rid: 'ridForTodo'; + status: 'ACTIVE'; + titleProperty: 'body'; + type: 'object'; + }; } - export type StrictProps = Props; - - export interface ObjectSet extends $ObjectSet {} - export type OsdkInstance< - OPTIONS extends never | '$rid' = never, - K extends keyof Person.Props = keyof Person.Props, - > = $Osdk.Instance; + export const Todo: Todo = { + type: 'object', + apiName: 'Todo', + osdkMetadata: $osdkMetadata, + }; + ", + "/foo/ontology/queries.ts": "export { getCount } from './queries/getCount.js'; + export { returnsTodo } from './queries/returnsTodo.js'; + ", + "/foo/ontology/queries/getCount.ts": "import type { QueryDefinition, QueryParam, QueryResult, VersionBound } from '@osdk/client'; + import type { $ExpectedClientVersion } from '../../OntologyMetadata.js'; + import { $osdkMetadata } from '../../OntologyMetadata.js'; - /** @deprecated use OsdkInstance */ - export type OsdkObject< - OPTIONS extends never | '$rid' = never, - K extends keyof Person.Props = keyof Person.Props, - > = OsdkInstance; - } + export namespace getCount { + export interface Signature { + (query: getCount.Parameters): Promise; + } - export interface Person extends $ObjectTypeDefinition { - osdkMetadata: typeof $osdkMetadata; - type: 'object'; - apiName: 'Person'; - __DefinitionMetadata?: { - objectSet: Person.ObjectSet; - props: Person.Props; - linksType: Person.Links; - strictProps: Person.StrictProps; - apiName: 'Person'; - description: 'A person'; - displayName: 'Person'; - icon: { - type: 'blueprint'; - name: 'document'; - color: 'blue'; - }; - implements: []; - interfaceMap: {}; - inverseInterfaceMap: {}; - links: { - Todos: $ObjectMetadata.Link; - }; - pluralDisplayName: 'Persons'; - primaryKeyApiName: 'email'; - primaryKeyType: 'string'; - properties: { + export interface Parameters { /** * (no ontology metadata) */ - email: $PropertyDef<'string', 'non-nullable', 'single'>; - }; - rid: 'ridForPerson'; - status: 'ACTIVE'; - titleProperty: 'email'; - type: 'object'; - }; - } - - export const Person: Person = { - type: 'object', - apiName: 'Person', - osdkMetadata: $osdkMetadata, - }; - ", - "/foo/ontology/objects/Todo.ts": "import type { PropertyDef as $PropertyDef } from '@osdk/client'; - import { $osdkMetadata } from '../../OntologyMetadata'; - import type { $ExpectedClientVersion } from '../../OntologyMetadata'; - import type { Person } from './Person'; - import type { - PropertyKeys as $PropertyKeys, - ObjectTypeDefinition as $ObjectTypeDefinition, - ObjectMetadata as $ObjectMetadata, - } from '@osdk/client'; - import type { - ObjectSet as $ObjectSet, - Osdk as $Osdk, - OsdkObject as $OsdkObject, - PropertyValueWireToClient as $PropType, - SingleLinkAccessor as $SingleLinkAccessor, - } from '@osdk/client'; - - export namespace Todo { - export type PropertyKeys = 'id' | 'body' | 'complete'; - - export interface Links { - readonly Assignee: $SingleLinkAccessor; - } + readonly completed: QueryParam.PrimitiveType<'boolean'>; + } - export interface Props { - readonly body: $PropType['string'] | undefined; - readonly complete: $PropType['boolean'] | undefined; - readonly id: $PropType['integer']; + export type ReturnType = QueryResult.PrimitiveType<'integer'>; } - export type StrictProps = Props; - - export interface ObjectSet extends $ObjectSet {} - export type OsdkInstance< - OPTIONS extends never | '$rid' = never, - K extends keyof Todo.Props = keyof Todo.Props, - > = $Osdk.Instance; - - /** @deprecated use OsdkInstance */ - export type OsdkObject< - OPTIONS extends never | '$rid' = never, - K extends keyof Todo.Props = keyof Todo.Props, - > = OsdkInstance; - } - - export interface Todo extends $ObjectTypeDefinition { - osdkMetadata: typeof $osdkMetadata; - type: 'object'; - apiName: 'Todo'; - __DefinitionMetadata?: { - objectSet: Todo.ObjectSet; - props: Todo.Props; - linksType: Todo.Links; - strictProps: Todo.StrictProps; - apiName: 'Todo'; - description: 'Its a todo item.'; - displayName: 'AwesomeTodoDisplayname'; - icon: { - type: 'blueprint'; - name: 'document'; - color: 'blue'; - }; - implements: ['SomeInterface']; - interfaceMap: { - SomeInterface: { - SomeProperty: 'body'; + export interface getCount extends QueryDefinition, VersionBound<$ExpectedClientVersion> { + __DefinitionMetadata?: { + apiName: 'getCount'; + rid: 'rid.query.1'; + type: 'query'; + version: '0'; + parameters: { + /** + * (no ontology metadata) + */ + completed: { + nullable: false; + type: 'boolean'; + }; }; - }; - inverseInterfaceMap: { - SomeInterface: { - body: 'SomeProperty'; + output: { + nullable: false; + type: 'integer'; }; + signature: getCount.Signature; }; - links: { - Assignee: $ObjectMetadata.Link; - }; - pluralDisplayName: 'AwesomeTodoDisplayNames'; - primaryKeyApiName: 'id'; - primaryKeyType: 'integer'; - properties: { - /** - * display name: 'Body', - * description: The text of the todo - */ - body: $PropertyDef<'string', 'nullable', 'single'>; - /** - * (no ontology metadata) - */ - complete: $PropertyDef<'boolean', 'nullable', 'single'>; - /** - * (no ontology metadata) - */ - id: $PropertyDef<'integer', 'non-nullable', 'single'>; - }; - rid: 'ridForTodo'; - status: 'ACTIVE'; - titleProperty: 'body'; - type: 'object'; - }; - } - - export const Todo: Todo = { - type: 'object', - apiName: 'Todo', - osdkMetadata: $osdkMetadata, - }; - ", - "/foo/ontology/queries.ts": "export { getCount } from './queries/getCount'; - export { returnsTodo } from './queries/returnsTodo'; - ", - "/foo/ontology/queries/getCount.ts": "import type { QueryDefinition, QueryParam, QueryResult, VersionBound } from '@osdk/client'; - import type { $ExpectedClientVersion } from '../../OntologyMetadata'; - import { $osdkMetadata } from '../../OntologyMetadata'; - - export namespace getCount { - export interface Signature { - (query: getCount.Parameters): Promise; - } - - export interface Parameters { - /** - * (no ontology metadata) - */ - readonly completed: QueryParam.PrimitiveType<'boolean'>; - } - - export type ReturnType = QueryResult.PrimitiveType<'integer'>; - } - - export interface getCount extends QueryDefinition, VersionBound<$ExpectedClientVersion> { - __DefinitionMetadata?: { apiName: 'getCount'; - rid: 'rid.query.1'; type: 'query'; version: '0'; - parameters: { - /** - * (no ontology metadata) - */ - completed: { - nullable: false; - type: 'boolean'; - }; - }; - output: { - nullable: false; - type: 'integer'; - }; - signature: getCount.Signature; - }; - apiName: 'getCount'; - type: 'query'; - version: '0'; - osdkMetadata: typeof $osdkMetadata; - } - - export const getCount: getCount = { - apiName: 'getCount', - type: 'query', - version: '0', - osdkMetadata: $osdkMetadata, - }; - ", - "/foo/ontology/queries/returnsTodo.ts": "import type { QueryDefinition, QueryParam, QueryResult, VersionBound } from '@osdk/client'; - import type { $ExpectedClientVersion } from '../../OntologyMetadata'; - import { $osdkMetadata } from '../../OntologyMetadata'; - import type { Todo } from '../objects/Todo'; - - export namespace returnsTodo { - export interface Signature { - (query: returnsTodo.Parameters): Promise; + osdkMetadata: typeof $osdkMetadata; } - export interface Parameters { - /** - * description: Random desc so we test jsdoc - */ - readonly someTodo: QueryParam.ObjectType; - } + export const getCount: getCount = { + apiName: 'getCount', + type: 'query', + version: '0', + osdkMetadata: $osdkMetadata, + }; + ", + "/foo/ontology/queries/returnsTodo.ts": "import type { QueryDefinition, QueryParam, QueryResult, VersionBound } from '@osdk/client'; + import type { $ExpectedClientVersion } from '../../OntologyMetadata.js'; + import { $osdkMetadata } from '../../OntologyMetadata.js'; + import type { Todo } from '../objects/Todo.js'; - export type ReturnType = QueryResult.ObjectType; - } + export namespace returnsTodo { + export interface Signature { + (query: returnsTodo.Parameters): Promise; + } - export interface returnsTodo extends QueryDefinition, VersionBound<$ExpectedClientVersion> { - __DefinitionMetadata?: { - apiName: 'returnsTodo'; - rid: 'rid.query.2'; - type: 'query'; - version: '0'; - parameters: { + export interface Parameters { /** * description: Random desc so we test jsdoc */ - someTodo: { - description: 'Random desc so we test jsdoc'; + readonly someTodo: QueryParam.ObjectType; + } + + export type ReturnType = QueryResult.ObjectType; + } + + export interface returnsTodo extends QueryDefinition, VersionBound<$ExpectedClientVersion> { + __DefinitionMetadata?: { + apiName: 'returnsTodo'; + rid: 'rid.query.2'; + type: 'query'; + version: '0'; + parameters: { + /** + * description: Random desc so we test jsdoc + */ + someTodo: { + description: 'Random desc so we test jsdoc'; + nullable: false; + object: 'Todo'; + type: 'object'; + __OsdkTargetType?: Todo; + }; + }; + output: { nullable: false; object: 'Todo'; type: 'object'; __OsdkTargetType?: Todo; }; + signature: returnsTodo.Signature; }; - output: { - nullable: false; - object: 'Todo'; - type: 'object'; - __OsdkTargetType?: Todo; - }; - signature: returnsTodo.Signature; - }; - apiName: 'returnsTodo'; - type: 'query'; - version: '0'; - osdkMetadata: typeof $osdkMetadata; - } + apiName: 'returnsTodo'; + type: 'query'; + version: '0'; + osdkMetadata: typeof $osdkMetadata; + } - export const returnsTodo: returnsTodo = { - apiName: 'returnsTodo', - type: 'query', - version: '0', - osdkMetadata: $osdkMetadata, - }; - ", - } - `); + export const returnsTodo: returnsTodo = { + apiName: 'returnsTodo', + type: 'query', + version: '0', + osdkMetadata: $osdkMetadata, + }; + ", + } + `); }, ); diff --git a/packages/generator/src/v2.0/generateClientSdkVersionTwoPointZero.ts b/packages/generator/src/v2.0/generateClientSdkVersionTwoPointZero.ts index 2e064618e..ba6b02bd9 100644 --- a/packages/generator/src/v2.0/generateClientSdkVersionTwoPointZero.ts +++ b/packages/generator/src/v2.0/generateClientSdkVersionTwoPointZero.ts @@ -38,7 +38,7 @@ export async function generateClientSdkVersionTwoPointZero( externalSpts: Map = new Map(), forInternalUse: boolean = false, ): Promise { - const importExt = packageType === "module" ? ".js" : ""; + const importExt = ".js"; // turns out you can always use the extension // Structurally, we need to have multiple ontologies read in // with one per package. diff --git a/packages/tool.generate-with-mock-ontology/bin/generate-with-mock-ontology.mjs b/packages/tool.generate-with-mock-ontology/bin/generate-with-mock-ontology.mjs new file mode 100755 index 000000000..846edb815 --- /dev/null +++ b/packages/tool.generate-with-mock-ontology/bin/generate-with-mock-ontology.mjs @@ -0,0 +1,4 @@ +#!/usr/bin/env node +// @ts-check +import { generateWithMockOntology } from "../build/esm/generateWithMockOntology.js"; +await generateWithMockOntology(); diff --git a/packages/tool.generate-with-mock-ontology/package.json b/packages/tool.generate-with-mock-ontology/package.json new file mode 100644 index 000000000..ce41d0872 --- /dev/null +++ b/packages/tool.generate-with-mock-ontology/package.json @@ -0,0 +1,64 @@ +{ + "name": "@osdk/tool.generate-with-mock-ontology", + "private": true, + "version": "0.0.1", + "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "https://github.com/palantir/osdk-ts.git" + }, + "exports": { + ".": { + "import": { + "types": "./build/types/index.d.ts", + "default": "./build/esm/index.js" + }, + "default": "./build/esm/index.js" + }, + "./*": { + "import": { + "types": "./build/types/public/*.d.ts", + "default": "./build/esm/public/*.js" + }, + "default": "./build/esm/public/*.js" + } + }, + "scripts": { + "check-spelling": "cspell --quiet .", + "clean": "rm -rf lib dist types build tsconfig.tsbuildinfo", + "fix-lint": "eslint . --fix && dprint fmt --config $(find-up dprint.json)", + "lint": "eslint . && dprint check --config $(find-up dprint.json)", + "transpileEsm": "monorepo.tool.transpile -f esm -m normal -t node", + "transpileTypes": "monorepo.tool.transpile -f esm -m types -t node", + "typecheck": "tsc --noEmit --emitDeclarationOnly false" + }, + "dependencies": { + "@osdk/api": "workspace:~", + "@osdk/client": "workspace:~", + "@test-app2/osdk": "link:./osdk/@test-app2/osdk" + }, + "devDependencies": { + "@osdk/foundry-sdk-generator": "workspace:~", + "@osdk/monorepo.api-extractor": "workspace:~", + "@osdk/monorepo.tsconfig": "workspace:~", + "@osdk/shared.test": "workspace:~", + "execa": "^9.5.1", + "typescript": "~5.5.4" + }, + "publishConfig": { + "access": "public" + }, + "bin": { + "generate-with-mock-ontology": "./bin/generate-with-mock-ontology.mjs" + }, + "files": [ + "build/esm", + "build/types", + "CHANGELOG.md", + "package.json", + "templates", + "*.d.ts" + ], + "module": "./build/esm/index.js", + "type": "module" +} diff --git a/packages/tool.generate-with-mock-ontology/src/generateWithMockOntology.ts b/packages/tool.generate-with-mock-ontology/src/generateWithMockOntology.ts new file mode 100644 index 000000000..5b970faf6 --- /dev/null +++ b/packages/tool.generate-with-mock-ontology/src/generateWithMockOntology.ts @@ -0,0 +1,112 @@ +/* + * Copyright 2024 Palantir Technologies, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// @ts-check +import { __testSeamOnly_NotSemverStable__GeneratePackageCommand as GeneratePackageCommand } from "@osdk/foundry-sdk-generator"; +import { apiServer } from "@osdk/shared.test"; +import { $ } from "execa"; +import * as fs from "node:fs/promises"; +import { tmpdir } from "node:os"; +import * as path from "node:path"; +import { safeStat } from "./safeStat.js"; + +export async function generateWithMockOntology(): Promise { + try { + const dir = await fs.mkdtemp( + path.join(tmpdir(), "osdk-e2e-foundry-sdk-generator-"), + ); + + apiServer.listen(); + + const testApp2Dir = path.join(dir, "@test-app2"); + + await fs.rm(testApp2Dir, { recursive: true, force: true }); + await safeStat(testApp2Dir, "should not exist"); + + await fs.mkdir(dir, { recursive: true }); + + const generatePackageCommand = new GeneratePackageCommand(); + + const baseArgs: Parameters[0] = { + packageName: "@test-app2/osdk", + packageVersion: "0.0.1", + outputDir: dir, + authToken: "myAccessToken", + foundryHostname: "https://stack.palantir.com", + ontology: + "ri.ontology.main.ontology.698267cc-6b48-4d98-beff-29beb24e9361", + objectTypes: [ + "Employee", + "Office", + "objectTypeWithAllPropertyTypes", + "ObjectWithTimestampPrimaryKey", + "equipment", + ], + actionTypes: [ + "createOffice", + "moveOffice", + "createOfficeAndEmployee", + "actionTakesObjectSet", + ], + queryTypes: [ + "addOne", + "incrementPersonAge", + "returnsTimestamp", + "returnsDate", + "returnsObject", + "twoDimensionalAggregationFunction", + "threeDimensionalAggregationFunction", + ], + interfaceTypes: [ + "FooInterface", + ], + linkTypes: ["employee.peeps", "employee.lead", "employee.officeLink"], + palantirOnlyTest: true, + _: [], + $0: "", + }; + + await generatePackageCommand.handler({ + ...baseArgs, + packageName: "@test-app2/osdk", + beta: false, + }); + + await safeStat(testApp2Dir, "should exist"); + + await $({ + stdout: "inherit", + stderr: "inherit", + })`attw --pack ${ + path.join(testApp2Dir, "osdk") + } --ignore-rules internal-resolution-error`; + + const finalOutDir = path.join( + process.cwd(), + "osdk", + ); + + await fs.rm(path.join(finalOutDir, "@test-app2"), { + recursive: true, + force: true, + }); + await fs.cp(dir, finalOutDir, { recursive: true }); + } finally { + // eslint-disable-next-line no-console + console.log("teardown: stopping API server"); + apiServer.close(); + } +} diff --git a/packages/tool.generate-with-mock-ontology/src/index.ts b/packages/tool.generate-with-mock-ontology/src/index.ts new file mode 100644 index 000000000..bae4dd264 --- /dev/null +++ b/packages/tool.generate-with-mock-ontology/src/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2025 Palantir Technologies, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export { generateWithMockOntology } from "./generateWithMockOntology.js"; diff --git a/packages/tool.generate-with-mock-ontology/src/safeStat.ts b/packages/tool.generate-with-mock-ontology/src/safeStat.ts new file mode 100644 index 000000000..aba619a37 --- /dev/null +++ b/packages/tool.generate-with-mock-ontology/src/safeStat.ts @@ -0,0 +1,42 @@ +/* + * Copyright 2025 Palantir Technologies, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import type { Stats } from "node:fs"; +import * as fs from "node:fs/promises"; + +export async function safeStat( + filePath: string, + type?: "should exist" | "should not exist", +): Promise { + try { + const ret = await fs.stat(filePath); + if (type === "should not exist") { + throw new Error(`Expected ${filePath} to not exist`); + } + + // eslint-disable-next-line no-console + console.log(`safeStat: ${filePath} exists`); + return ret; + } catch (e) { + if (type === "should exist") { + throw new Error(`Expected ${filePath} to exist`); + } + + // eslint-disable-next-line no-console + console.log(`safeStat: ${filePath} does not exist`); + return undefined; + } +} diff --git a/packages/tool.generate-with-mock-ontology/tsconfig.json b/packages/tool.generate-with-mock-ontology/tsconfig.json new file mode 100644 index 000000000..6c1ec6f17 --- /dev/null +++ b/packages/tool.generate-with-mock-ontology/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "@osdk/monorepo.tsconfig/base.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "build/esm" + }, + "include": [ + "./src/**/*" + ], + "references": [] +} diff --git a/packages/tool.generate-with-mock-ontology/vitest.config.mts b/packages/tool.generate-with-mock-ontology/vitest.config.mts new file mode 100644 index 000000000..cae40eaa2 --- /dev/null +++ b/packages/tool.generate-with-mock-ontology/vitest.config.mts @@ -0,0 +1,27 @@ +/* + * Copyright 2023 Palantir Technologies, Inc. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { configDefaults, defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + pool: "forks", + exclude: [...configDefaults.exclude, "**/build/**/*"], + fakeTimers: { + toFake: ["setTimeout", "clearTimeout", "Date"], + }, + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3a4801625..3a1f2494f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -90,7 +90,7 @@ importers: version: 3.1.1(eslint@9.16.0(jiti@1.21.6)) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@1.21.6)) + version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@1.21.6)))(eslint@9.16.0(jiti@1.21.6)) eslint-plugin-unused-imports: specifier: ^4.0.1 version: 4.0.1(@typescript-eslint/eslint-plugin@8.21.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.16.0(jiti@1.21.6)) @@ -117,7 +117,7 @@ importers: version: 1.0.1(typescript@5.5.4) tsup: specifier: ^8.2.3 - version: 8.2.3(@microsoft/api-extractor@7.49.1(@types/node@22.10.10))(@swc/core@1.7.39)(jiti@1.21.6)(postcss@8.5.1)(typescript@5.5.4)(yaml@2.4.5) + version: 8.2.3(@microsoft/api-extractor@7.49.1(@types/node@22.12.0))(@swc/core@1.7.39)(jiti@1.21.6)(postcss@8.5.1)(typescript@5.5.4)(yaml@2.4.5) turbo: specifier: ^2.3.3 version: 2.3.3 @@ -129,7 +129,7 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) benchmarks/tests/primary: dependencies: @@ -209,7 +209,7 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.47) @@ -230,7 +230,7 @@ importers: version: 5.12.0(rollup@4.32.0) tailwindcss: specifier: ^3.4.4 - version: 3.4.4(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.10)(typescript@5.5.4)) + version: 3.4.4(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.12.0)(typescript@5.5.4)) tslib: specifier: ^2.6.3 version: 2.7.0 @@ -242,7 +242,7 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) examples/example-expo-sdk-2.x: dependencies: @@ -555,13 +555,13 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) eslint: specifier: ^9.15.0 version: 9.16.0(jiti@1.21.6) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@1.21.6)) + version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@1.21.6)))(eslint@9.16.0(jiti@1.21.6)) eslint-plugin-jsx-a11y: specifier: ^6.10.1 version: 6.10.1(eslint@9.16.0(jiti@1.21.6)) @@ -585,10 +585,10 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) examples/example-react-sdk-2.x: dependencies: @@ -646,7 +646,7 @@ importers: version: 9.16.0(jiti@1.21.6) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@1.21.6)) + version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@1.21.6)))(eslint@9.16.0(jiti@1.21.6)) eslint-plugin-jsx-a11y: specifier: ^6.10.1 version: 6.10.1(eslint@9.16.0(jiti@1.21.6)) @@ -713,13 +713,13 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) eslint: specifier: ^9.15.0 version: 9.16.0(jiti@1.21.6) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@1.21.6)) + version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@1.21.6)))(eslint@9.16.0(jiti@1.21.6)) eslint-plugin-jsx-a11y: specifier: ^6.10.1 version: 6.10.1(eslint@9.16.0(jiti@1.21.6)) @@ -743,10 +743,10 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) examples/example-tutorial-todo-aip-app-sdk-2.x: dependencies: @@ -789,13 +789,13 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) eslint: specifier: ^9.15.0 version: 9.16.0(jiti@1.21.6) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@1.21.6)) + version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@1.21.6)))(eslint@9.16.0(jiti@1.21.6)) eslint-plugin-jsx-a11y: specifier: ^6.10.1 version: 6.10.1(eslint@9.16.0(jiti@1.21.6)) @@ -819,10 +819,10 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) examples/example-tutorial-todo-app-sdk-1.x: dependencies: @@ -859,13 +859,13 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) eslint: specifier: ^9.15.0 version: 9.16.0(jiti@1.21.6) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@1.21.6)) + version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@1.21.6)))(eslint@9.16.0(jiti@1.21.6)) eslint-plugin-jsx-a11y: specifier: ^6.10.1 version: 6.10.1(eslint@9.16.0(jiti@1.21.6)) @@ -889,10 +889,10 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) examples/example-tutorial-todo-app-sdk-2.x: dependencies: @@ -935,13 +935,13 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) eslint: specifier: ^9.15.0 version: 9.16.0(jiti@1.21.6) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@1.21.6)) + version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@1.21.6)))(eslint@9.16.0(jiti@1.21.6)) eslint-plugin-jsx-a11y: specifier: ^6.10.1 version: 6.10.1(eslint@9.16.0(jiti@1.21.6)) @@ -965,10 +965,10 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) examples/example-vue-sdk-1.x: dependencies: @@ -984,16 +984,16 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.1.4 - version: 5.1.4(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))(vue@3.5.11(typescript@5.5.4)) + version: 5.1.4(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))(vue@3.5.11(typescript@5.5.4)) typescript: specifier: ~5.5.4 version: 5.5.4 vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vue-tsc: specifier: ^2.1.6 version: 2.1.6(typescript@5.5.4) @@ -1088,7 +1088,7 @@ importers: version: 8.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.4) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) eslint: specifier: ^9.13.0 version: 9.13.0(jiti@1.21.6) @@ -1118,10 +1118,10 @@ importers: version: 8.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.4) vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) packages/api: dependencies: @@ -1140,10 +1140,10 @@ importers: devDependencies: '@microsoft/api-documenter': specifier: ^7.26.5 - version: 7.26.5(@types/node@22.10.10) + version: 7.26.5(@types/node@22.12.0) '@microsoft/api-extractor': specifier: ^7.49.1 - version: 7.49.1(@types/node@22.10.10) + version: 7.49.1(@types/node@22.12.0) '@osdk/monorepo.api-extractor': specifier: workspace:~ version: link:../monorepo.api-extractor @@ -1378,10 +1378,10 @@ importers: devDependencies: '@microsoft/api-documenter': specifier: ^7.26.5 - version: 7.26.5(@types/node@22.10.10) + version: 7.26.5(@types/node@22.12.0) '@microsoft/api-extractor': specifier: ^7.49.1 - version: 7.49.1(@types/node@22.10.10) + version: 7.49.1(@types/node@22.12.0) '@osdk/client.test.ontology': specifier: workspace:~ version: link:../client.test.ontology @@ -1402,7 +1402,7 @@ importers: version: 9.5.1 jest-extended: specifier: ^4.0.2 - version: 4.0.2(jest@29.7.0(@types/node@22.10.10)) + version: 4.0.2(jest@29.7.0(@types/node@22.12.0)) msw: specifier: ^2.3.4 version: 2.3.4(typescript@5.5.4) @@ -1927,13 +1927,13 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) eslint: specifier: ^9.15.0 version: 9.16.0(jiti@1.21.6) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@1.21.6)) + version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@1.21.6)))(eslint@9.16.0(jiti@1.21.6)) eslint-plugin-jsx-a11y: specifier: ^6.10.1 version: 6.10.1(eslint@9.16.0(jiti@1.21.6)) @@ -1957,10 +1957,10 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) packages/create-app.template.react.beta: dependencies: @@ -2015,7 +2015,7 @@ importers: version: 9.16.0(jiti@1.21.6) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@1.21.6)) + version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@1.21.6)))(eslint@9.16.0(jiti@1.21.6)) eslint-plugin-jsx-a11y: specifier: ^6.10.1 version: 6.10.1(eslint@9.16.0(jiti@1.21.6)) @@ -2088,13 +2088,13 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) eslint: specifier: ^9.15.0 version: 9.16.0(jiti@1.21.6) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@1.21.6)) + version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@1.21.6)))(eslint@9.16.0(jiti@1.21.6)) eslint-plugin-jsx-a11y: specifier: ^6.10.1 version: 6.10.1(eslint@9.16.0(jiti@1.21.6)) @@ -2118,10 +2118,10 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) packages/create-app.template.tutorial-todo-aip-app.beta: dependencies: @@ -2164,13 +2164,13 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) eslint: specifier: ^9.15.0 version: 9.16.0(jiti@1.21.6) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@1.21.6)) + version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@1.21.6)))(eslint@9.16.0(jiti@1.21.6)) eslint-plugin-jsx-a11y: specifier: ^6.10.1 version: 6.10.1(eslint@9.16.0(jiti@1.21.6)) @@ -2194,10 +2194,10 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) packages/create-app.template.tutorial-todo-app: dependencies: @@ -2240,13 +2240,13 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) eslint: specifier: ^9.15.0 version: 9.16.0(jiti@1.21.6) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@1.21.6)) + version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@1.21.6)))(eslint@9.16.0(jiti@1.21.6)) eslint-plugin-jsx-a11y: specifier: ^6.10.1 version: 6.10.1(eslint@9.16.0(jiti@1.21.6)) @@ -2270,10 +2270,10 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) packages/create-app.template.tutorial-todo-app.beta: dependencies: @@ -2316,13 +2316,13 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) eslint: specifier: ^9.15.0 version: 9.16.0(jiti@1.21.6) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@1.21.6)) + version: 2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@1.21.6)))(eslint@9.16.0(jiti@1.21.6)) eslint-plugin-jsx-a11y: specifier: ^6.10.1 version: 6.10.1(eslint@9.16.0(jiti@1.21.6)) @@ -2346,10 +2346,10 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) packages/create-app.template.vue: dependencies: @@ -2371,16 +2371,16 @@ importers: version: link:../monorepo.tsconfig '@vitejs/plugin-vue': specifier: ^5.1.4 - version: 5.1.4(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))(vue@3.5.11(typescript@5.5.4)) + version: 5.1.4(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))(vue@3.5.11(typescript@5.5.4)) typescript: specifier: ~5.5.4 version: 5.5.4 vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vue-tsc: specifier: ^2.1.6 version: 2.1.6(typescript@5.5.4) @@ -2405,16 +2405,16 @@ importers: version: link:../monorepo.tsconfig '@vitejs/plugin-vue': specifier: ^5.1.4 - version: 5.1.4(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))(vue@3.5.11(typescript@5.5.4)) + version: 5.1.4(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))(vue@3.5.11(typescript@5.5.4)) typescript: specifier: ~5.5.4 version: 5.5.4 vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vue-tsc: specifier: ^2.1.6 version: 2.1.6(typescript@5.5.4) @@ -2515,7 +2515,7 @@ importers: version: 8.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.4) '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) eslint: specifier: ^9.13.0 version: 9.13.0(jiti@1.21.6) @@ -2545,10 +2545,10 @@ importers: version: 8.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.4) vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) packages/e2e.generated.1.1.x: dependencies: @@ -2762,16 +2762,16 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) typescript: specifier: ~5.5.4 version: 5.5.4 vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) packages/e2e.sandbox.todoapp: dependencies: @@ -2823,7 +2823,7 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) autoprefixer: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.47) @@ -2835,7 +2835,7 @@ importers: version: 5.12.0(rollup@4.32.0) tailwindcss: specifier: ^3.4.4 - version: 3.4.4(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.10)(typescript@5.5.4)) + version: 3.4.4(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.12.0)(typescript@5.5.4)) tslib: specifier: ^2.6.3 version: 2.7.0 @@ -2847,7 +2847,7 @@ importers: version: 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) packages/e2e.sandbox.todowidget: dependencies: @@ -2893,16 +2893,16 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) typescript: specifier: ~5.5.4 version: 5.5.4 vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) packages/e2e.test.foundry-sdk-generator: dependencies: @@ -3160,7 +3160,7 @@ importers: version: 5.5.4 vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) packages/generator-utils: dependencies: @@ -3206,7 +3206,7 @@ importers: version: 1.3.3 ts-node: specifier: ^10.9.2 - version: 10.9.2(@swc/core@1.7.39)(@types/node@22.10.10)(typescript@5.5.4) + version: 10.9.2(@swc/core@1.7.39)(@types/node@22.12.0)(typescript@5.5.4) yargs: specifier: ^17.7.2 version: 17.7.2 @@ -3231,7 +3231,7 @@ importers: version: 5.5.4 vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) packages/monorepo.api-extractor: {} @@ -3309,7 +3309,7 @@ importers: version: link:../monorepo.tsconfig jest-extended: specifier: ^4.0.2 - version: 4.0.2(jest@29.7.0(@types/node@22.10.10)) + version: 4.0.2(jest@29.7.0(@types/node@22.12.0)) typescript: specifier: ~5.5.4 version: 5.5.4 @@ -3481,6 +3481,37 @@ importers: specifier: ~5.5.4 version: 5.5.4 + packages/tool.generate-with-mock-ontology: + dependencies: + '@osdk/api': + specifier: workspace:~ + version: link:../api + '@osdk/client': + specifier: workspace:~ + version: link:../client + '@test-app2/osdk': + specifier: link:./osdk/@test-app2/osdk + version: link:osdk/@test-app2/osdk + devDependencies: + '@osdk/foundry-sdk-generator': + specifier: workspace:~ + version: link:../foundry-sdk-generator + '@osdk/monorepo.api-extractor': + specifier: workspace:~ + version: link:../monorepo.api-extractor + '@osdk/monorepo.tsconfig': + specifier: workspace:~ + version: link:../monorepo.tsconfig + '@osdk/shared.test': + specifier: workspace:~ + version: link:../shared.test + execa: + specifier: ^9.5.1 + version: 9.5.2 + typescript: + specifier: ~5.5.4 + version: 5.5.4 + packages/tool.release: dependencies: '@actions/exec': @@ -3621,7 +3652,7 @@ importers: version: 5.5.4 vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) packages/widget.client-react.unstable: devDependencies: @@ -3734,7 +3765,7 @@ importers: version: 18.3.1 '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + version: 4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) react: specifier: ^18 version: 18.3.1 @@ -3749,10 +3780,29 @@ importers: version: 5.5.4 vite: specifier: ^6.0.11 - version: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vitest: specifier: ^3.0.4 - version: 3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + version: 3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + + tests/verify-cjs-node10: + dependencies: + '@osdk/api': + specifier: workspace:~ + version: link:../../packages/api + '@osdk/client': + specifier: workspace:~ + version: link:../../packages/client + '@test-app2/osdk': + specifier: link:./osdk/@test-app2/osdk + version: link:osdk/@test-app2/osdk + devDependencies: + '@osdk/tool.generate-with-mock-ontology': + specifier: workspace:~ + version: link:../../packages/tool.generate-with-mock-ontology + typescript: + specifier: ~5.5.4 + version: 5.5.4 tests/verify-cjs-node16: dependencies: @@ -3762,6 +3812,35 @@ importers: '@osdk/client': specifier: workspace:~ version: link:../../packages/client + '@test-app2/osdk': + specifier: link:./osdk/@test-app2/osdk + version: link:osdk/@test-app2/osdk + devDependencies: + '@osdk/tool.generate-with-mock-ontology': + specifier: workspace:~ + version: link:../../packages/tool.generate-with-mock-ontology + typescript: + specifier: ~5.5.4 + version: 5.5.4 + + tests/verify-esm-node16: + dependencies: + '@osdk/api': + specifier: workspace:~ + version: link:../../packages/api + '@osdk/client': + specifier: workspace:~ + version: link:../../packages/client + '@test-app2/osdk': + specifier: link:./osdk/@test-app2/osdk + version: link:osdk/@test-app2/osdk + devDependencies: + '@osdk/tool.generate-with-mock-ontology': + specifier: workspace:~ + version: link:../../packages/tool.generate-with-mock-ontology + typescript: + specifier: ~5.5.4 + version: 5.5.4 tests/verify-fallback-package-v2: dependencies: @@ -7736,6 +7815,9 @@ packages: '@types/node@22.10.7': resolution: {integrity: sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==} + '@types/node@22.12.0': + resolution: {integrity: sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==} + '@types/node@22.9.1': resolution: {integrity: sha512-p8Yy/8sw1caA8CdRIQBG5tiLHmxtQKObCijiAa9Ez+d4+PRffM4054xbju0msf+cvhJpnFEeNjxmVT/0ipktrg==} @@ -16992,13 +17074,13 @@ snapshots: globby: 11.1.0 read-yaml-file: 1.1.0 - '@microsoft/api-documenter@7.26.5(@types/node@22.10.10)': + '@microsoft/api-documenter@7.26.5(@types/node@22.12.0)': dependencies: - '@microsoft/api-extractor-model': 7.30.2(@types/node@22.10.10) + '@microsoft/api-extractor-model': 7.30.2(@types/node@22.12.0) '@microsoft/tsdoc': 0.15.1 - '@rushstack/node-core-library': 5.10.2(@types/node@22.10.10) - '@rushstack/terminal': 0.14.5(@types/node@22.10.10) - '@rushstack/ts-command-line': 4.23.3(@types/node@22.10.10) + '@rushstack/node-core-library': 5.10.2(@types/node@22.12.0) + '@rushstack/terminal': 0.14.5(@types/node@22.12.0) + '@rushstack/ts-command-line': 4.23.3(@types/node@22.12.0) js-yaml: 3.13.1 resolve: 1.22.8 transitivePeerDependencies: @@ -17022,11 +17104,11 @@ snapshots: - '@types/node' optional: true - '@microsoft/api-extractor-model@7.30.2(@types/node@22.10.10)': + '@microsoft/api-extractor-model@7.30.2(@types/node@22.12.0)': dependencies: '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.10.2(@types/node@22.10.10) + '@rushstack/node-core-library': 5.10.2(@types/node@22.12.0) transitivePeerDependencies: - '@types/node' @@ -17068,15 +17150,15 @@ snapshots: - '@types/node' optional: true - '@microsoft/api-extractor@7.49.1(@types/node@22.10.10)': + '@microsoft/api-extractor@7.49.1(@types/node@22.12.0)': dependencies: - '@microsoft/api-extractor-model': 7.30.2(@types/node@22.10.10) + '@microsoft/api-extractor-model': 7.30.2(@types/node@22.12.0) '@microsoft/tsdoc': 0.15.1 '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.10.2(@types/node@22.10.10) + '@rushstack/node-core-library': 5.10.2(@types/node@22.12.0) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.14.5(@types/node@22.10.10) - '@rushstack/ts-command-line': 4.23.3(@types/node@22.10.10) + '@rushstack/terminal': 0.14.5(@types/node@22.12.0) + '@rushstack/ts-command-line': 4.23.3(@types/node@22.12.0) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.8 @@ -18777,7 +18859,7 @@ snapshots: '@types/node': 18.19.74 optional: true - '@rushstack/node-core-library@5.10.2(@types/node@22.10.10)': + '@rushstack/node-core-library@5.10.2(@types/node@22.12.0)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -18788,7 +18870,7 @@ snapshots: resolve: 1.22.8 semver: 7.5.4 optionalDependencies: - '@types/node': 22.10.10 + '@types/node': 22.12.0 '@rushstack/rig-package@0.5.3': dependencies: @@ -18811,12 +18893,12 @@ snapshots: '@types/node': 18.19.74 optional: true - '@rushstack/terminal@0.14.5(@types/node@22.10.10)': + '@rushstack/terminal@0.14.5(@types/node@22.12.0)': dependencies: - '@rushstack/node-core-library': 5.10.2(@types/node@22.10.10) + '@rushstack/node-core-library': 5.10.2(@types/node@22.12.0) supports-color: 8.1.1 optionalDependencies: - '@types/node': 22.10.10 + '@types/node': 22.12.0 '@rushstack/ts-command-line@4.23.3(@types/node@18.17.15)': dependencies: @@ -18838,9 +18920,9 @@ snapshots: - '@types/node' optional: true - '@rushstack/ts-command-line@4.23.3(@types/node@22.10.10)': + '@rushstack/ts-command-line@4.23.3(@types/node@22.12.0)': dependencies: - '@rushstack/terminal': 0.14.5(@types/node@22.10.10) + '@rushstack/terminal': 0.14.5(@types/node@22.12.0) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -19192,6 +19274,10 @@ snapshots: dependencies: undici-types: 6.20.0 + '@types/node@22.12.0': + dependencies: + undici-types: 6.20.0 + '@types/node@22.9.1': dependencies: undici-types: 6.19.8 @@ -19437,25 +19523,25 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.2.1(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))': + '@vitejs/plugin-react@4.2.1(vite@6.0.11(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))': dependencies: '@babel/core': 7.24.9 '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.24.9) '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.24.9) '@types/babel__core': 7.20.5 react-refresh: 0.14.0 - vite: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + vite: 6.0.11(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.2.1(vite@6.0.11(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))': + '@vitejs/plugin-react@4.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))': dependencies: '@babel/core': 7.24.9 '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.24.9) '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.24.9) '@types/babel__core': 7.20.5 react-refresh: 0.14.0 - vite: 6.0.11(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + vite: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) transitivePeerDependencies: - supports-color @@ -19475,9 +19561,9 @@ snapshots: vite: 6.0.11(@types/node@22.10.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vue: 3.5.11(typescript@5.5.4) - '@vitejs/plugin-vue@5.1.4(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))(vue@3.5.11(typescript@5.5.4))': + '@vitejs/plugin-vue@5.1.4(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))(vue@3.5.11(typescript@5.5.4))': dependencies: - vite: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + vite: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) vue: 3.5.11(typescript@5.5.4) '@vitest/expect@3.0.4': @@ -19519,21 +19605,21 @@ snapshots: optionalDependencies: vite: 6.0.11(@types/node@22.10.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) - '@vitest/mocker@3.0.4(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))': + '@vitest/mocker@3.0.4(vite@6.0.11(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))': dependencies: '@vitest/spy': 3.0.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + vite: 6.0.11(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) - '@vitest/mocker@3.0.4(vite@6.0.11(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))': + '@vitest/mocker@3.0.4(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))': dependencies: '@vitest/spy': 3.0.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.0.11(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + vite: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) '@vitest/mocker@3.0.4(vite@6.0.11(@types/node@22.9.1)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5))': dependencies: @@ -20753,13 +20839,13 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@22.10.10): + create-jest@29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.10.10) + jest-config: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -20767,15 +20853,14 @@ snapshots: - babel-plugin-macros - supports-color - ts-node - optional: true - create-jest@29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)): + create-jest@29.7.0(@types/node@22.12.0): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)) + jest-config: 29.7.0(@types/node@22.12.0) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -20783,6 +20868,7 @@ snapshots: - babel-plugin-macros - supports-color - ts-node + optional: true create-require@1.1.1: {} @@ -21723,35 +21809,6 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.3)(eslint@9.16.0(jiti@1.21.6)): - dependencies: - '@rtsao/scc': 1.1.0 - array-includes: 3.1.8 - array.prototype.findlastindex: 1.2.5 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 9.16.0(jiti@1.21.6) - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4))(eslint-plugin-import@2.31.0)(eslint@9.16.0(jiti@1.21.6)))(eslint@9.16.0(jiti@1.21.6)) - hasown: 2.0.2 - is-core-module: 2.15.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.8 - object.groupby: 1.0.3 - object.values: 1.2.0 - semver: 6.3.1 - string.prototype.trimend: 1.0.8 - tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 8.21.0(eslint@9.16.0(jiti@1.21.6))(typescript@5.5.4) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - eslint-plugin-jsx-a11y@6.10.1(eslint@9.13.0(jiti@1.21.6)): dependencies: aria-query: 5.3.2 @@ -23280,16 +23337,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@22.10.10): + jest-cli@29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)): dependencies: - '@jest/core': 29.7.0 + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.10.10) + create-jest: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.10.10) + jest-config: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -23298,18 +23355,17 @@ snapshots: - babel-plugin-macros - supports-color - ts-node - optional: true - jest-cli@29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)): + jest-cli@29.7.0(@types/node@22.12.0): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)) + '@jest/core': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)) + create-jest: 29.7.0(@types/node@22.12.0) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)) + jest-config: 29.7.0(@types/node@22.12.0) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -23318,6 +23374,7 @@ snapshots: - babel-plugin-macros - supports-color - ts-node + optional: true jest-config@29.7.0(@types/node@22.10.0)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.0)(typescript@5.5.4)): dependencies: @@ -23474,6 +23531,37 @@ snapshots: - babel-plugin-macros - supports-color + jest-config@29.7.0(@types/node@22.12.0): + dependencies: + '@babel/core': 7.26.0 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.26.0) + chalk: 4.1.2 + ci-info: 3.8.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 22.12.0 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + optional: true + jest-diff@29.7.0: dependencies: chalk: 4.1.2 @@ -23583,12 +23671,12 @@ snapshots: - utf-8-validate - webpack - jest-extended@4.0.2(jest@29.7.0(@types/node@22.10.10)): + jest-extended@4.0.2(jest@29.7.0(@types/node@22.12.0)): dependencies: jest-diff: 29.7.0 jest-get-type: 29.6.3 optionalDependencies: - jest: 29.7.0(@types/node@22.10.10) + jest: 29.7.0(@types/node@22.12.0) jest-get-type@29.6.3: {} @@ -23800,7 +23888,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.10.10 + '@types/node': 22.12.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -23823,30 +23911,30 @@ snapshots: - supports-color - ts-node - jest@29.7.0(@types/node@22.10.10): + jest@29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)): dependencies: - '@jest/core': 29.7.0 + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.10.10) + jest-cli: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node - optional: true - jest@29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)): + jest@29.7.0(@types/node@22.12.0): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)) + '@jest/core': 29.7.0 '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.10.7)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4)) + jest-cli: 29.7.0(@types/node@22.12.0) transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node + optional: true jimp-compact@0.16.1: {} @@ -25098,13 +25186,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.47 - postcss-load-config@4.0.1(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.10)(typescript@5.5.4)): + postcss-load-config@4.0.1(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.12.0)(typescript@5.5.4)): dependencies: lilconfig: 2.1.0 yaml: 2.4.5 optionalDependencies: postcss: 8.4.47 - ts-node: 10.9.2(@swc/core@1.7.39)(@types/node@22.10.10)(typescript@5.5.4) + ts-node: 10.9.2(@swc/core@1.7.39)(@types/node@22.12.0)(typescript@5.5.4) postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.5.1)(yaml@2.4.5): dependencies: @@ -26414,7 +26502,7 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.7.0 - tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.10)(typescript@5.5.4)): + tailwindcss@3.4.4(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.12.0)(typescript@5.5.4)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -26433,7 +26521,7 @@ snapshots: postcss: 8.4.47 postcss-import: 15.1.0(postcss@8.4.47) postcss-js: 4.0.1(postcss@8.4.47) - postcss-load-config: 4.0.1(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.10)(typescript@5.5.4)) + postcss-load-config: 4.0.1(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.12.0)(typescript@5.5.4)) postcss-nested: 6.0.1(postcss@8.4.47) postcss-selector-parser: 6.0.13 resolve: 1.22.8 @@ -26632,14 +26720,14 @@ snapshots: '@swc/core': 1.7.39 optional: true - ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.10)(typescript@5.5.4): + ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.10.10 + '@types/node': 22.10.7 acorn: 8.14.0 acorn-walk: 8.3.2 arg: 4.1.3 @@ -26651,15 +26739,16 @@ snapshots: yn: 3.1.1 optionalDependencies: '@swc/core': 1.7.39 + optional: true - ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.10.7)(typescript@5.5.4): + ts-node@10.9.2(@swc/core@1.7.39)(@types/node@22.12.0)(typescript@5.5.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.10.7 + '@types/node': 22.12.0 acorn: 8.14.0 acorn-walk: 8.3.2 arg: 4.1.3 @@ -26671,7 +26760,6 @@ snapshots: yn: 3.1.1 optionalDependencies: '@swc/core': 1.7.39 - optional: true tsc-absolute@1.0.1(typescript@5.5.4): dependencies: @@ -26749,7 +26837,7 @@ snapshots: - tsx - yaml - tsup@8.2.3(@microsoft/api-extractor@7.49.1(@types/node@22.10.10))(@swc/core@1.7.39)(jiti@1.21.6)(postcss@8.5.1)(typescript@5.5.4)(yaml@2.4.5): + tsup@8.2.3(@microsoft/api-extractor@7.49.1(@types/node@22.12.0))(@swc/core@1.7.39)(jiti@1.21.6)(postcss@8.5.1)(typescript@5.5.4)(yaml@2.4.5): dependencies: bundle-require: 5.0.0(esbuild@0.23.0) cac: 6.7.14 @@ -26768,7 +26856,7 @@ snapshots: sucrase: 3.35.0 tree-kill: 1.2.2 optionalDependencies: - '@microsoft/api-extractor': 7.49.1(@types/node@22.10.10) + '@microsoft/api-extractor': 7.49.1(@types/node@22.12.0) '@swc/core': 1.7.39 postcss: 8.5.1 typescript: 5.5.4 @@ -27183,13 +27271,13 @@ snapshots: - tsx - yaml - vite-node@3.0.4(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5): + vite-node@3.0.4(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.2 - vite: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + vite: 6.0.11(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) transitivePeerDependencies: - '@types/node' - jiti @@ -27204,13 +27292,13 @@ snapshots: - tsx - yaml - vite-node@3.0.4(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5): + vite-node@3.0.4(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.2 - vite: 6.0.11(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + vite: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) transitivePeerDependencies: - '@types/node' - jiti @@ -27298,26 +27386,26 @@ snapshots: terser: 5.37.0 yaml: 2.4.5 - vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5): + vite@6.0.11(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5): dependencies: esbuild: 0.24.2 postcss: 8.5.1 rollup: 4.32.0 optionalDependencies: - '@types/node': 22.10.10 + '@types/node': 22.10.7 fsevents: 2.3.3 jiti: 1.21.6 lightningcss: 1.27.0 terser: 5.37.0 yaml: 2.4.5 - vite@6.0.11(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5): + vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5): dependencies: esbuild: 0.24.2 postcss: 8.5.1 rollup: 4.32.0 optionalDependencies: - '@types/node': 22.10.7 + '@types/node': 22.12.0 fsevents: 2.3.3 jiti: 1.21.6 lightningcss: 1.27.0 @@ -27497,10 +27585,10 @@ snapshots: - tsx - yaml - vitest@3.0.4(@types/node@22.10.10)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5): + vitest@3.0.4(@types/node@22.10.7)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5): dependencies: '@vitest/expect': 3.0.4 - '@vitest/mocker': 3.0.4(vite@6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + '@vitest/mocker': 3.0.4(vite@6.0.11(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) '@vitest/pretty-format': 3.0.4 '@vitest/runner': 3.0.4 '@vitest/snapshot': 3.0.4 @@ -27516,11 +27604,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 6.0.11(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) - vite-node: 3.0.4(@types/node@22.10.10)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + vite: 6.0.11(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + vite-node: 3.0.4(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.10.10 + '@types/node': 22.10.7 happy-dom: 15.11.6 jsdom: 20.0.3 transitivePeerDependencies: @@ -27537,10 +27625,10 @@ snapshots: - tsx - yaml - vitest@3.0.4(@types/node@22.10.7)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5): + vitest@3.0.4(@types/node@22.12.0)(happy-dom@15.11.6)(jiti@1.21.6)(jsdom@20.0.3)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5): dependencies: '@vitest/expect': 3.0.4 - '@vitest/mocker': 3.0.4(vite@6.0.11(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) + '@vitest/mocker': 3.0.4(vite@6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5)) '@vitest/pretty-format': 3.0.4 '@vitest/runner': 3.0.4 '@vitest/snapshot': 3.0.4 @@ -27556,11 +27644,11 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 6.0.11(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) - vite-node: 3.0.4(@types/node@22.10.7)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + vite: 6.0.11(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) + vite-node: 3.0.4(@types/node@22.12.0)(jiti@1.21.6)(lightningcss@1.27.0)(terser@5.37.0)(yaml@2.4.5) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.10.7 + '@types/node': 22.12.0 happy-dom: 15.11.6 jsdom: 20.0.3 transitivePeerDependencies: diff --git a/tests/verify-cjs-node10/.gitignore b/tests/verify-cjs-node10/.gitignore new file mode 100644 index 000000000..e2e2f13e5 --- /dev/null +++ b/tests/verify-cjs-node10/.gitignore @@ -0,0 +1,2 @@ +/osdk/* +!/osdk/.gitkeep \ No newline at end of file diff --git a/tests/verify-cjs-node10/osdk/.gitkeep b/tests/verify-cjs-node10/osdk/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/tests/verify-cjs-node10/package.json b/tests/verify-cjs-node10/package.json new file mode 100644 index 000000000..0dd4878f7 --- /dev/null +++ b/tests/verify-cjs-node10/package.json @@ -0,0 +1,23 @@ +{ + "name": "@osdk/tests.verify-cjs-node10", + "private": true, + "version": "0.0.3", + "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "https://github.com/palantir/osdk-ts.git" + }, + "scripts": { + "codegen": "generate-with-mock-ontology", + "typecheck": "tsc --noEmit" + }, + "dependencies": { + "@osdk/api": "workspace:~", + "@osdk/client": "workspace:~", + "@test-app2/osdk": "link:./osdk/@test-app2/osdk" + }, + "devDependencies": { + "@osdk/tool.generate-with-mock-ontology": "workspace:~", + "typescript": "~5.5.4" + } +} diff --git a/tests/verify-cjs-node10/src/test.ts b/tests/verify-cjs-node10/src/test.ts new file mode 100644 index 000000000..68dc6f675 --- /dev/null +++ b/tests/verify-cjs-node10/src/test.ts @@ -0,0 +1,13 @@ +import * as Client from "@osdk/client"; +import * as sdk from "@test-app2/osdk"; +Client.createClient({} as any, "", async () => ""); + +import * as Api from "@osdk/api"; +type Q = Api.InterfaceMetadata; + +import * as Unstable from "@osdk/client/unstable-do-not-use"; +Unstable.augment({ type: "object", apiName: "foo" } as any); + +if (sdk.$Objects.Employee.apiName !== "Employee") { + throw new Error("Expected Employee"); +} diff --git a/tests/verify-cjs-node10/tsconfig.json b/tests/verify-cjs-node10/tsconfig.json new file mode 100644 index 000000000..0b0f6ba6d --- /dev/null +++ b/tests/verify-cjs-node10/tsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "module": "CommonJS", + "moduleResolution": "node10", + "target": "es2020", + "skipLibCheck": true + } +} diff --git a/tests/verify-cjs-node10/turbo.json b/tests/verify-cjs-node10/turbo.json new file mode 100644 index 000000000..0455d762c --- /dev/null +++ b/tests/verify-cjs-node10/turbo.json @@ -0,0 +1,12 @@ +{ + "extends": ["//"], + "tasks": { + "codegen": { + "outputs": ["osdk/@test-app2/**/*"], + "dependsOn": [ + "@osdk/tool.generate-with-mock-ontology#transpile", + "^transpile" + ] + } + } +} diff --git a/tests/verify-cjs-node16/.gitignore b/tests/verify-cjs-node16/.gitignore new file mode 100644 index 000000000..e2e2f13e5 --- /dev/null +++ b/tests/verify-cjs-node16/.gitignore @@ -0,0 +1,2 @@ +/osdk/* +!/osdk/.gitkeep \ No newline at end of file diff --git a/tests/verify-cjs-node16/package.json b/tests/verify-cjs-node16/package.json index 2491429a0..d51fc9303 100644 --- a/tests/verify-cjs-node16/package.json +++ b/tests/verify-cjs-node16/package.json @@ -8,10 +8,16 @@ "url": "https://github.com/palantir/osdk-ts.git" }, "scripts": { + "codegen": "generate-with-mock-ontology", "typecheck": "tsc --noEmit" }, "dependencies": { "@osdk/api": "workspace:~", - "@osdk/client": "workspace:~" + "@osdk/client": "workspace:~", + "@test-app2/osdk": "link:./osdk/@test-app2/osdk" + }, + "devDependencies": { + "@osdk/tool.generate-with-mock-ontology": "workspace:~", + "typescript": "~5.5.4" } } diff --git a/tests/verify-cjs-node16/src/test.ts b/tests/verify-cjs-node16/src/test.ts index ad2bdb73d..68dc6f675 100644 --- a/tests/verify-cjs-node16/src/test.ts +++ b/tests/verify-cjs-node16/src/test.ts @@ -1,4 +1,5 @@ import * as Client from "@osdk/client"; +import * as sdk from "@test-app2/osdk"; Client.createClient({} as any, "", async () => ""); import * as Api from "@osdk/api"; @@ -6,3 +7,7 @@ type Q = Api.InterfaceMetadata; import * as Unstable from "@osdk/client/unstable-do-not-use"; Unstable.augment({ type: "object", apiName: "foo" } as any); + +if (sdk.$Objects.Employee.apiName !== "Employee") { + throw new Error("Expected Employee"); +} diff --git a/tests/verify-cjs-node16/turbo.json b/tests/verify-cjs-node16/turbo.json new file mode 100644 index 000000000..0455d762c --- /dev/null +++ b/tests/verify-cjs-node16/turbo.json @@ -0,0 +1,12 @@ +{ + "extends": ["//"], + "tasks": { + "codegen": { + "outputs": ["osdk/@test-app2/**/*"], + "dependsOn": [ + "@osdk/tool.generate-with-mock-ontology#transpile", + "^transpile" + ] + } + } +} diff --git a/tests/verify-esm-node16/.gitignore b/tests/verify-esm-node16/.gitignore new file mode 100644 index 000000000..e2e2f13e5 --- /dev/null +++ b/tests/verify-esm-node16/.gitignore @@ -0,0 +1,2 @@ +/osdk/* +!/osdk/.gitkeep \ No newline at end of file diff --git a/tests/verify-esm-node16/package.json b/tests/verify-esm-node16/package.json new file mode 100644 index 000000000..d18037755 --- /dev/null +++ b/tests/verify-esm-node16/package.json @@ -0,0 +1,23 @@ +{ + "name": "@osdk/tests.verify-esm-node16", + "private": true, + "version": "0.0.3", + "license": "Apache-2.0", + "repository": { + "type": "git", + "url": "https://github.com/palantir/osdk-ts.git" + }, + "scripts": { + "codegen": "generate-with-mock-ontology", + "typecheck": "tsc --noEmit" + }, + "dependencies": { + "@osdk/api": "workspace:~", + "@osdk/client": "workspace:~", + "@test-app2/osdk": "link:./osdk/@test-app2/osdk" + }, + "devDependencies": { + "@osdk/tool.generate-with-mock-ontology": "workspace:~", + "typescript": "~5.5.4" + } +} diff --git a/tests/verify-esm-node16/src/test.ts b/tests/verify-esm-node16/src/test.ts new file mode 100644 index 000000000..68dc6f675 --- /dev/null +++ b/tests/verify-esm-node16/src/test.ts @@ -0,0 +1,13 @@ +import * as Client from "@osdk/client"; +import * as sdk from "@test-app2/osdk"; +Client.createClient({} as any, "", async () => ""); + +import * as Api from "@osdk/api"; +type Q = Api.InterfaceMetadata; + +import * as Unstable from "@osdk/client/unstable-do-not-use"; +Unstable.augment({ type: "object", apiName: "foo" } as any); + +if (sdk.$Objects.Employee.apiName !== "Employee") { + throw new Error("Expected Employee"); +} diff --git a/tests/verify-esm-node16/tsconfig.json b/tests/verify-esm-node16/tsconfig.json new file mode 100644 index 000000000..9f4a55408 --- /dev/null +++ b/tests/verify-esm-node16/tsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "module": "node16", + "moduleResolution": "node16", + "target": "es2020", + "skipLibCheck": true + } +} diff --git a/tests/verify-esm-node16/turbo.json b/tests/verify-esm-node16/turbo.json new file mode 100644 index 000000000..64041cf41 --- /dev/null +++ b/tests/verify-esm-node16/turbo.json @@ -0,0 +1,12 @@ +{ + "extends": ["//"], + "tasks": { + "codegen": { + "outputs": ["osdk/@test-app2/**/*"], + "dependsOn": [ + "@osdk/tool.generate-with-mock-ontology#transpile", + "^transpileCjs" + ] + } + } +} diff --git a/turbo.json b/turbo.json index 3d8022845..d94ff37b3 100644 --- a/turbo.json +++ b/turbo.json @@ -92,9 +92,6 @@ "@osdk/tests.verify-fallback-package-v2#typecheck": { "dependsOn": ["^transpileCjs"] }, - "@osdk/tests.verify-cjs-node16#typecheck": { - "dependsOn": ["^transpileCjs"] - }, "@osdk/monorepo.tsup#typecheck": { "outputLogs": "new-only",