diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 5008ddf..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/demo/package.json b/demo/package.json deleted file mode 100644 index 9c005b0..0000000 --- a/demo/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "@contractual/demo", - "private": true, - "version": "0.0.0", - "license": "UNLICENSED", - "main": "dist/index.js", - "scripts": { - "test": "playwright test --config=playwright.config.ts" - }, - "dependencies": { - "@contractual/client": "workspace:*", - "@contractual/fixtures": "workspace:*", - "@contractual/test": "workspace:*", - "@playwright/test": "^1.49.1" - }, - "engines": { - "node": ">=18.12.0" - } -} diff --git a/demo/playwright.config.ts b/demo/playwright.config.ts deleted file mode 100644 index 0da8ce9..0000000 --- a/demo/playwright.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { PlaywrightTestConfig } from '@playwright/test'; - -const config: PlaywrightTestConfig = { - name: 'demo-api', - testDir: __dirname, - testMatch: '*.e2e.test.ts', - workers: 1, - retries: 0, - use: { - baseURL: 'https://dash.readme.com/api/v1', - extraHTTPHeaders: { - 'Content-Type': 'application/json', - Authorization: `Basic ${btoa('rdme_xn8s9h2390f02a267ff4123685499bbbf93db28092eb3fd3da3b817fa2d0b82a1ced11')}:`, - }, - }, -}; - -export default config; diff --git a/demo/readme-api.e2e.test.ts b/demo/readme-api.e2e.test.ts deleted file mode 100644 index 4a39224..0000000 --- a/demo/readme-api.e2e.test.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { test } from '@contractual/test'; -import { expect } from '@playwright/test'; - -// let createdVersionId: string; - -test('create version', async ({ operation }) => { - await operation('basic version 1.2.0 from 1.0.0', async ({ response }) => { - expect(response.status).toBe(400); - }); -}); - -// test('create version', async ({ operation }) => { -// const response = await operation('rc version with something else'); -// -// expect(response.status).toBe(400); -// // expect(response.body._id).toBeDefined(); -// -// // createdVersionId = response.body._id; -// }); - -test('delete version', async ({ operation }) => { - const response = await operation(() => ({ - params: { versionId: createdVersionId }, - })); - - expect(response.body._id).toBeDefined(); -}); diff --git a/demo/reporter.ts b/demo/reporter.ts deleted file mode 100644 index 52ad890..0000000 --- a/demo/reporter.ts +++ /dev/null @@ -1,32 +0,0 @@ -import type { - Reporter, - TestCase, - TestResult, - FullResult, - FullConfig, - Suite, -} from '@playwright/test/reporter'; - -class ContractualReporter implements Reporter { - constructor(options: { customOption?: string } = {}) { - console.log(`my-awesome-reporter setup with customOption set to ${options.customOption}`); - } - - onBegin(config: FullConfig, suite: Suite) { - console.log(`Starting the run with ${suite.allTests().length} tests`); - } - - onTestBegin(test: TestCase) { - console.log(`Starting test ${test.title}`); - } - - onTestEnd(test: TestCase, result: TestResult) { - console.log(`Finished test ${test.title}: ${result.status}`); - } - - onEnd(result: FullResult) { - console.log(`Finished the run: ${result.status}`); - } -} - -export default ContractualReporter; diff --git a/packages/cli/package.json b/packages/cli/package.json index 5317ea6..c038455 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -52,9 +52,6 @@ "@contractual/generators.fixtures": "workspace:*", "commander": "^12.1.0" }, - "devDependencies": { - "@contractual/fixtures": "workspace:*" - }, "publishConfig": { "access": "public", "provenance": true diff --git a/packages/fixtures/.eslintrc b/packages/fixtures/.eslintrc deleted file mode 100644 index 5e998f8..0000000 --- a/packages/fixtures/.eslintrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../.eslintrc" -} diff --git a/packages/fixtures/.gitignore b/packages/fixtures/.gitignore deleted file mode 100644 index 8cd8152..0000000 --- a/packages/fixtures/.gitignore +++ /dev/null @@ -1 +0,0 @@ -!fixtures/* \ No newline at end of file diff --git a/packages/fixtures/config/fixtures.json b/packages/fixtures/config/fixtures.json deleted file mode 100644 index c0343f5..0000000 --- a/packages/fixtures/config/fixtures.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "_version": "0.0.0", - "compilerOptions": { - "outDir": "../output", - "sourceMap": false, - "module": "esnext", - "target": "esnext", - "lib": ["esnext"], - "strict": true, - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": false - } -} \ No newline at end of file diff --git a/packages/fixtures/config/output/create-version.fixtures.js b/packages/fixtures/config/output/create-version.fixtures.js deleted file mode 100644 index 37ea21c..0000000 --- a/packages/fixtures/config/output/create-version.fixtures.js +++ /dev/null @@ -1,24 +0,0 @@ -import { registerFixtures } from '@contractual/fixtures'; -export default registerFixtures('create version', { - 'basic version': () => ({ - body: { - version: 'string', - codename: 'string', - from: 'string', - is_stable: true, - is_beta: true, - is_hidden: true, - is_deprecated: true, - }, - }), - 'rc version': ({ extend }) => { - return extend({ - 'with something else': () => ({ - body: { - version: 'string', - from: 'string', - }, - }), - }); - }, -}); diff --git a/packages/fixtures/config/output/delete-version.fixtures.js b/packages/fixtures/config/output/delete-version.fixtures.js deleted file mode 100644 index 6eea1db..0000000 --- a/packages/fixtures/config/output/delete-version.fixtures.js +++ /dev/null @@ -1,13 +0,0 @@ -import { registerFixtures } from '@contractual/fixtures'; -export default registerFixtures('delete version', { - 'basic delete': () => ({ - params: { - versionId: 'string', - } - }), - 'complex': () => ({ - params: { - versionId: 'string', - } - }), -}); diff --git a/packages/fixtures/fixtures/index.ts b/packages/fixtures/fixtures/index.ts deleted file mode 100644 index b63b2b3..0000000 --- a/packages/fixtures/fixtures/index.ts +++ /dev/null @@ -1 +0,0 @@ -export const Fixtures = {} as unknown; diff --git a/packages/fixtures/index.ts b/packages/fixtures/index.ts deleted file mode 100644 index 8420b10..0000000 --- a/packages/fixtures/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './src'; diff --git a/packages/fixtures/jest.config.ts b/packages/fixtures/jest.config.ts deleted file mode 100644 index 38d6310..0000000 --- a/packages/fixtures/jest.config.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { Config } from 'jest'; -import baseConfig from '../../jest.base.config'; - -const config: Config = { - ...baseConfig(process.env.COVERAGE_DIR), - id: 'fixtures', - displayName: 'fixtures', - collectCoverageFrom: ['src/**/*.ts', 'test/**/*.ts'], - coveragePathIgnorePatterns: ['index.ts', 'types.ts'], -}; - -export default config; diff --git a/packages/fixtures/output/create-version.fixtures.js b/packages/fixtures/output/create-version.fixtures.js deleted file mode 100644 index 37ea21c..0000000 --- a/packages/fixtures/output/create-version.fixtures.js +++ /dev/null @@ -1,24 +0,0 @@ -import { registerFixtures } from '@contractual/fixtures'; -export default registerFixtures('create version', { - 'basic version': () => ({ - body: { - version: 'string', - codename: 'string', - from: 'string', - is_stable: true, - is_beta: true, - is_hidden: true, - is_deprecated: true, - }, - }), - 'rc version': ({ extend }) => { - return extend({ - 'with something else': () => ({ - body: { - version: 'string', - from: 'string', - }, - }), - }); - }, -}); diff --git a/packages/fixtures/output/delete-version.fixtures.js b/packages/fixtures/output/delete-version.fixtures.js deleted file mode 100644 index 6eea1db..0000000 --- a/packages/fixtures/output/delete-version.fixtures.js +++ /dev/null @@ -1,13 +0,0 @@ -import { registerFixtures } from '@contractual/fixtures'; -export default registerFixtures('delete version', { - 'basic delete': () => ({ - params: { - versionId: 'string', - } - }), - 'complex': () => ({ - params: { - versionId: 'string', - } - }), -}); diff --git a/packages/fixtures/package.json b/packages/fixtures/package.json deleted file mode 100644 index c0ab1a8..0000000 --- a/packages/fixtures/package.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "@contractual/fixtures", - "private": false, - "version": "0.0.0", - "license": "Apache-2.0", - "type": "module", - "module": "dist/index.js", - "main": "dist/index.js", - "exports": { - ".": { - "import": "./dist/src/index.js", - "require": "./dist/src/index.js" - }, - "./config": { - "import": "./config/fixtures.json", - "require": "./config/fixtures.json" - }, - "./fixtures": { - "import": "./dist/fixtures/index.js", - "require": "./dist/fixtures/index.js" - } - }, - "repository": { - "type": "git", - "url": "https://github.com/contractual-dev/contractual.git", - "directory": "packages/fixtures" - }, - "homepage": "https://contractual.dev", - "bugs": { - "url": "https://github.com/contractual-dev/contractual/issues" - }, - "contributors": [ - { - "name": "Omer Morad", - "email": "omer.moradd@gmail.com" - } - ], - "engines": { - "node": ">=18.12.0" - }, - "scripts": { - "prebuild": "pnpm rimraf dist", - "build": "pnpm tsc -p tsconfig.build.json", - "tester": "jest --coverage --verbose", - "lint": "pnpm eslint '{src,test}/**/*.ts'" - }, - "files": [ - "generator", - "config", - "dist", - "README.md" - ], - "dependencies": { - "@contractual/client": "workspace:*", - "@contractual/types.fixtures": "workspace:*" - }, - "devDependencies": { - "typescript": "~5.7.2" - }, - "publishConfig": { - "access": "public", - "provenance": true - } -} diff --git a/packages/fixtures/src/index.ts b/packages/fixtures/src/index.ts deleted file mode 100644 index 29c00b6..0000000 --- a/packages/fixtures/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './regsiter-fixtures.js'; diff --git a/packages/fixtures/src/regsiter-fixtures.ts b/packages/fixtures/src/regsiter-fixtures.ts deleted file mode 100644 index d8c2bbc..0000000 --- a/packages/fixtures/src/regsiter-fixtures.ts +++ /dev/null @@ -1,63 +0,0 @@ -import type { ApiClientInput, ApiOperationToClientMethod } from '@contractual/contract'; -import type { ApiOperations } from '@contractual/contract/contract'; -import type { - FixtureCallback, - FixturesBuilder, - GeneratedFixtures, -} from '@contractual/types.fixtures'; - -export type RegisterFixturesReturnType = { - operation: TOperation; - fixtures: GeneratedFixtures; -}; - -export function registerFixtures( - operation: TOperation, - fixturesBuilder: FixturesBuilder -): RegisterFixturesReturnType { - const processFixture = ( - callback: FixtureCallback, - baseKey: string - ): GeneratedFixtures => { - // Define a flag to detect if `extend` was called - let extendCalled = false; - - const fixture = callback({ - extend: (extensions: FixturesBuilder) => { - // Mark that `extend` was called - extendCalled = true; - - // Recursively process nested fixtures with updated keys - return Object.entries>(extensions).reduce( - (acc: GeneratedFixtures, [key, nestedCallback]) => { - const nestedKey = `${baseKey} ${key}`; - const nestedResult = processFixture(nestedCallback, nestedKey); - - // Merge nested results without wrapping - return { ...acc, ...nestedResult }; - }, - {} as GeneratedFixtures - ) as ApiClientInput>; - }, - }); - - // If `extend` was called, do NOT include the baseKey itself - if (extendCalled) { - return fixture as GeneratedFixtures; - } - - // If no `extend` was called, return the baseKey fixture directly - return { [baseKey]: fixture }; - }; - - // Process all top-level fixtures - const fixtures = Object.entries(fixturesBuilder).reduce>( - (result, [key, callback]) => ({ - ...result, - ...processFixture(callback, key), // Add processed fixtures - }), - {} as GeneratedFixtures - ); - - return { operation, fixtures }; -} diff --git a/packages/fixtures/test/__snapshots__/register-fixtures.test.ts.snap b/packages/fixtures/test/__snapshots__/register-fixtures.test.ts.snap deleted file mode 100644 index e857d28..0000000 --- a/packages/fixtures/test/__snapshots__/register-fixtures.test.ts.snap +++ /dev/null @@ -1,26 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Register Fixtures Unit Spec should return the correct snapshot 1`] = ` -{ - "fixtures": { - "basic version": { - "body": { - "codename": "string", - "from": "string", - "is_beta": true, - "is_deprecated": true, - "is_hidden": true, - "is_stable": true, - "version": "string", - }, - }, - "rc version with something else": { - "body": { - "from": "string", - "version": "string", - }, - }, - }, - "operation": "create version", -} -`; diff --git a/packages/fixtures/test/register-fixtures.test.ts b/packages/fixtures/test/register-fixtures.test.ts deleted file mode 100644 index 79f0dbd..0000000 --- a/packages/fixtures/test/register-fixtures.test.ts +++ /dev/null @@ -1,40 +0,0 @@ -import type { RegisterFixturesReturnType } from '../src'; -import { registerFixtures } from '../src'; - -describe('Register Fixtures Unit Spec', () => { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-expect-error - let result: RegisterFixturesReturnType<'create version'>; - - beforeAll(() => { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-expect-error - result = registerFixtures('create version', { - 'basic version': () => ({ - body: { - version: 'string', - codename: 'string', - from: 'string', - is_stable: true, - is_beta: true, - is_hidden: true, - is_deprecated: true, - }, - }), - 'rc version': ({ extend }) => { - return extend({ - 'with something else': () => ({ - body: { - version: 'string', - from: 'string', - }, - }), - }); - }, - }); - }); - - it('should return the correct snapshot', () => { - expect(result).toMatchSnapshot(); - }); -}); diff --git a/packages/fixtures/tsconfig.build.json b/packages/fixtures/tsconfig.build.json deleted file mode 100644 index f6f4805..0000000 --- a/packages/fixtures/tsconfig.build.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "../../tsconfig.build.json", - "compilerOptions": { - "baseUrl": ".", - "rootDir": "src", - "outDir": "dist", - "skipLibCheck": true - }, - "exclude": [ - "dist", - "fixtures", - "output", - "index.ts", - "node_modules", - "test", - "**/*.spec.ts", - "jest.config.ts" - ] -} \ No newline at end of file diff --git a/packages/fixtures/tsconfig.json b/packages/fixtures/tsconfig.json deleted file mode 100644 index 7460ef4..0000000 --- a/packages/fixtures/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../tsconfig.json" -} \ No newline at end of file diff --git a/packages/generators/contract/package.json b/packages/generators/contract/package.json index f853c37..5afb5b4 100644 --- a/packages/generators/contract/package.json +++ b/packages/generators/contract/package.json @@ -56,7 +56,7 @@ "@babel/core": "^7.26.0", "@babel/generator": "^7.26.3", "@babel/preset-typescript": "^7.26.0", - "@contractual/client": "workspace:*", + "@contractual/contract": "workspace:*", "handlebars": "^4.7.8", "openapi-types": "^12.1.3", "openapi-zod-client": "^1.18.2", diff --git a/packages/generators/fixtures/.eslintrc b/packages/generators/fixtures/.eslintrc deleted file mode 100644 index 3280263..0000000 --- a/packages/generators/fixtures/.eslintrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../../.eslintrc" -} \ No newline at end of file diff --git a/packages/generators/fixtures/fixtures/index.ts b/packages/generators/fixtures/fixtures/index.ts deleted file mode 100644 index d8bb9f3..0000000 --- a/packages/generators/fixtures/fixtures/index.ts +++ /dev/null @@ -1 +0,0 @@ -export const Fixtures = {} as const; \ No newline at end of file diff --git a/packages/generators/fixtures/index.ts b/packages/generators/fixtures/index.ts deleted file mode 100644 index 8420b10..0000000 --- a/packages/generators/fixtures/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './src'; diff --git a/packages/generators/fixtures/jest.config.ts b/packages/generators/fixtures/jest.config.ts deleted file mode 100644 index ae5c3af..0000000 --- a/packages/generators/fixtures/jest.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { Config } from 'jest'; -import baseConfig from '../../../jest.base.config'; - -const config: Config = { - ...baseConfig(process.env.COVERAGE_DIR), - id: 'generators.fixtures', - displayName: 'generators.fixtures', - collectCoverageFrom: ['src/**/*.ts', 'test/**/*.ts'], - coveragePathIgnorePatterns: [ - 'index.ts', - 'types.ts', - ], -}; - -export default config; diff --git a/packages/generators/fixtures/package.json b/packages/generators/fixtures/package.json deleted file mode 100644 index 9d758c4..0000000 --- a/packages/generators/fixtures/package.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "name": "@contractual/generators.fixtures", - "private": true, - "version": "0.0.0", - "license": "Apache-2.0", - "type": "module", - "module": "dist/index.js", - "main": "dist/index.js", - "repository": { - "type": "git", - "url": "https://github.com/contractual-dev/contractual.git", - "directory": "packages/generators/fixtures" - }, - "exports": { - ".": { - "import": "./dist/index.js", - "require": "./dist/index.js" - } - }, - "homepage": "https://contractual.dev", - "bugs": { - "url": "https://github.com/contractual-dev/contractual/issues" - }, - "contributors": [ - { - "name": "Omer Morad", - "email": "omer.moradd@gmail.com" - } - ], - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/contractual-dev" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/contractual-dev" - } - ], - "engines": { - "node": ">=18.12.0" - }, - "scripts": { - "prebuild": "pnpm rimraf dist", - "build": "pnpm tsc -p tsconfig.build.json", - "build:watch": "pnpm tsc -p tsconfig.build.json --watch", - "tester": "jest --coverage --verbose", - "lint": "pnpm eslint '{src,test}/**/*.ts'" - }, - "files": [ - "dist", - "README.md" - ], - "dependencies": { - "@babel/core": "^7.26.0", - "@babel/generator": "^7.26.3", - "@babel/preset-typescript": "^7.26.0", - "@contractual/fixtures": "workspace:*", - "typescript": ">=5.x" - }, - "peerDependencies": { - }, - "publishConfig": { - "access": "public", - "provenance": true - }, - "devDependencies": { - "typescript": "~5.7.2" - } -} diff --git a/packages/generators/fixtures/src/generator.ts b/packages/generators/fixtures/src/generator.ts deleted file mode 100644 index 3271f27..0000000 --- a/packages/generators/fixtures/src/generator.ts +++ /dev/null @@ -1,84 +0,0 @@ -import { transformSync } from '@babel/core'; -import type { RegisterFixturesReturnType } from '@contractual/fixtures'; -import * as fs from 'node:fs'; -import * as path from 'node:path'; -import { createProgram, parseJsonConfigFileContent, readConfigFile, sys } from 'typescript'; - -export interface GenerateFixturesOptions { - path: string; - output?: string; -} - -export async function generateFixtures({ output, path: fixturesPath }: GenerateFixturesOptions) { - const resolvedTsconfigPath = path.resolve(fixturesPath, 'tsconfig.fixtures.json'); - - if (!fs.existsSync(resolvedTsconfigPath)) { - throw new Error(`specified tsconfig.json path does not exist: ${resolvedTsconfigPath}`); - } - - // Parse and compile using TypeScript - const configFileContent = readConfigFile(resolvedTsconfigPath, sys.readFile); - - if (configFileContent.error) { - throw new Error(`Error reading tsconfig.json: ${configFileContent.error.messageText}`); - } - - const config = parseJsonConfigFileContent( - configFileContent.config, - sys, - path.dirname(resolvedTsconfigPath) - ); - - createProgram(config.fileNames, config.options).emit(); - - // Define input and output directories - const readFrom = path.resolve(path.dirname(new URL(import.meta.url).pathname), '..', 'output'); - - if (!fs.existsSync(readFrom)) { - fs.mkdirSync(readFrom); - } - - const writeTo = - (output && path.resolve(output)) || - path.resolve(path.dirname(new URL(import.meta.url).pathname), '..', 'fixtures'); - - if (!output && !fs.existsSync(writeTo)) { - fs.mkdirSync(writeTo); - } - - const imports = fs.readdirSync(readFrom).map(async (file) => { - const filePath = path.join(readFrom, file); - return import(filePath).then((module) => module.default); - }); - - const result = await Promise.all(imports).then((fixturesModules) => - fixturesModules.reduce>( - (acc, fixtures) => ({ ...acc, [fixtures.operation]: fixtures.fixtures }), - {} as RegisterFixturesReturnType - ) - ); - - const tsFilePath = path.join(writeTo, 'index.ts'); - const tsContent = `export const Fixtures = ${JSON.stringify(result)};\n`; - - fs.writeFileSync(tsFilePath, tsContent, { encoding: 'utf-8' }); - - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-expect-error - // eslint-disable-next-line import/no-extraneous-dependencies - const preset = await import('@babel/preset-typescript'); - - const { code } = transformSync(tsContent, { - presets: [preset.default], - filename: tsFilePath, - sourceMaps: false, - })!; - - fs.writeFileSync(tsFilePath, code!.slice(0, -1) + ' as const;', { encoding: 'utf-8' }); - - // fs.readdirSync(readFrom).forEach((file) => { - // fs.unlinkSync(path.join(readFrom, file)); - // }); - // - // fs.unlinkSync(path.resolve(writeTo, 'index.ts')); -} diff --git a/packages/generators/fixtures/src/index.ts b/packages/generators/fixtures/src/index.ts deleted file mode 100644 index 9f33372..0000000 --- a/packages/generators/fixtures/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './generator.js'; diff --git a/packages/generators/fixtures/tsconfig.build.json b/packages/generators/fixtures/tsconfig.build.json deleted file mode 100644 index 48fa869..0000000 --- a/packages/generators/fixtures/tsconfig.build.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": "../../../tsconfig.build.json", - "compilerOptions": { - "rootDir": "src", - "baseUrl": ".", - "outDir": "dist", - "skipLibCheck": true - }, - "exclude": [ - "fixtures", - "dist", - "index.ts", - "node_modules", - "test", - "**/*.spec.ts", - "jest.config.ts" - ] -} \ No newline at end of file diff --git a/packages/generators/fixtures/tsconfig.json b/packages/generators/fixtures/tsconfig.json deleted file mode 100644 index b027bb4..0000000 --- a/packages/generators/fixtures/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../../tsconfig.json" -} \ No newline at end of file diff --git a/packages/providers/playwright/.eslintrc b/packages/providers/playwright/.eslintrc deleted file mode 100644 index f1ca71a..0000000 --- a/packages/providers/playwright/.eslintrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../.eslintrc" -} \ No newline at end of file diff --git a/packages/providers/playwright/index.ts b/packages/providers/playwright/index.ts deleted file mode 100644 index 4df73b3..0000000 --- a/packages/providers/playwright/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './src/index.js'; diff --git a/packages/providers/playwright/jest.config.ts b/packages/providers/playwright/jest.config.ts deleted file mode 100644 index 6b7ebaf..0000000 --- a/packages/providers/playwright/jest.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { Config } from 'jest'; -import baseConfig from '../../../jest.base.config.js'; - -const config: Config = { - ...baseConfig(process.env.COVERAGE_DIR), - id: 'core', - displayName: 'core', - collectCoverageFrom: ['src/**/*.ts', '__test__/**/*.ts'], - coveragePathIgnorePatterns: [ - 'index.ts', - 'invalid-adapter.ts', - 'test-adapter.ts', - 'testbed.ts', - 'types.ts', - ], -}; - -export default config; diff --git a/packages/providers/playwright/package.json b/packages/providers/playwright/package.json deleted file mode 100644 index decf99d..0000000 --- a/packages/providers/playwright/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "@contractual/test", - "private": false, - "version": "0.0.0", - "license": "Apache-2.0", - "type": "module", - "module": "dist/index.js", - "repository": { - "type": "git", - "url": "https://github.com/contractual-dev/contractual.git", - "directory": "packages/test" - }, - "homepage": "https://contractual.dev", - "bugs": { - "url": "https://github.com/contractual-dev/contractual/issues" - }, - "contributors": [ - { - "name": "Omer Morad", - "email": "omer.moradd@gmail.com" - } - ], - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/contractual-dev" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/contractual-dev" - } - ], - "engines": { - "node": ">=18.12.0" - }, - "scripts": { - "prebuild": "pnpm rimraf dist", - "build": "pnpm tsc -p tsconfig.build.json", - "tester": "jest --coverage --verbose", - "lint": "pnpm eslint '{src,test}/**/*.ts'" - }, - "files": [ - "dist", - "README.md" - ], - "dependencies": { - "@contractual/client": "workspace:*", - "@contractual/fixtures": "workspace:*", - "@contractual/types.test": "workspace:*", - "@playwright/test": "^1.49.1" - }, - "publishConfig": { - "access": "public", - "provenance": true - } -} diff --git a/packages/providers/playwright/src/index.ts b/packages/providers/playwright/src/index.ts deleted file mode 100644 index 8d611ba..0000000 --- a/packages/providers/playwright/src/index.ts +++ /dev/null @@ -1,60 +0,0 @@ -import type { ApiContract } from '@contractual/contract/contract/index.js'; -import { type ApiClient, type ApiClientInput, getApiClient } from '@contractual/contract'; -import { ApiOperations } from '@contractual/contract/contract/index.js'; -import { Fixtures } from '@contractual/fixtures/fixtures/index.js'; -import type { TestFunctionParams } from '@contractual/types.test'; -import { test as playwrightTest } from '@playwright/test'; -import type { ClientArgs, InitClientReturn } from '@ts-rest/core'; - -const testFixture = playwrightTest.extend<{ client: ApiClient }>({ - client: async ({ baseURL, extraHTTPHeaders }, use) => { - await use( - getApiClient({ - baseUrl: baseURL || 'http://localhost:3000', - baseHeaders: extraHTTPHeaders, - }) - ); - }, -}); - -export function test( - operation: TOperation, - fn: (fixtures: TestFunctionParams) => Promise -) { - // Create the operation function - const operationFn = ( - clientMethod: (typeof ApiOperations)[TOperation], - client: InitClientReturn - ) => - Object.assign( - (fixture: TFixture) => { - const resolvedFixture = (Fixtures as Record)[operation][fixture]; - - return ( - client[clientMethod] as ( - args: ApiClientInput - ) => ReturnType - )(resolvedFixture as ApiClientInput); - }, - (cb?: () => ApiClientInput) => { - if (!cb) { - throw new Error('Callback function is required for operation'); - } - - return ( - client[clientMethod] as ( - args: ApiClientInput - ) => ReturnType - )(cb()); - } - ); - - // Extend Playwright's test runner - return testFixture(operation, async ({ client }) => { - // Resolve the client method - const clientMethod = ApiOperations[operation]; - - // Call the user-defined function with resolved fixtures and test info - await fn({ operation: operationFn(clientMethod, client) }); - }); -} diff --git a/packages/providers/playwright/tsconfig.build.json b/packages/providers/playwright/tsconfig.build.json deleted file mode 100644 index aee34d4..0000000 --- a/packages/providers/playwright/tsconfig.build.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "extends": "../../../tsconfig.build.json", - "compilerOptions": { - "rootDir": "src", - "baseUrl": "./", - "outDir": "dist", - "skipLibCheck": true - }, - "exclude": [ - "dist", - "index.ts", - "../contract/index.ts", - "node_modules", - "__test__", - "**/*.spec.ts", - "jest.config.ts" - ] -} \ No newline at end of file diff --git a/packages/providers/playwright/tsconfig.json b/packages/providers/playwright/tsconfig.json deleted file mode 100644 index b027bb4..0000000 --- a/packages/providers/playwright/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../../tsconfig.json" -} \ No newline at end of file diff --git a/packages/test/tsconfig.json b/packages/test/tsconfig.json deleted file mode 100644 index 111d0ae..0000000 --- a/packages/test/tsconfig.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "include": ["src/**/*.ts", "test/**/*.ts"] -} \ No newline at end of file diff --git a/packages/types/fixtures/.eslintrc b/packages/types/fixtures/.eslintrc deleted file mode 100644 index 3280263..0000000 --- a/packages/types/fixtures/.eslintrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../../.eslintrc" -} \ No newline at end of file diff --git a/packages/types/fixtures/index.d.ts b/packages/types/fixtures/index.d.ts deleted file mode 100644 index 0abdad8..0000000 --- a/packages/types/fixtures/index.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { ApiClientInput, ApiOperationToClientMethod } from '@contractual/contract'; -import type { ApiOperations } from '@contractual/contract/contract'; -export type FixturesBuilder = Record>; -export type FixtureCallback = (params: { - extend: ExtendFunction; -}) => ApiClientInput>; -export type ExtendFunction = (fixtures: FixturesBuilder) => ApiClientInput>; -export type GeneratedFixtures = Record>>; diff --git a/packages/types/fixtures/index.ts b/packages/types/fixtures/index.ts deleted file mode 100644 index 468d823..0000000 --- a/packages/types/fixtures/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { ApiClientInput, ApiOperationToClientMethod } from '@contractual/contract'; -import type { ApiOperations } from '@contractual/contract/contract'; - -export type FixturesBuilder = Record< - string, - FixtureCallback ->; - -export type FixtureCallback = (params: { - extend: ExtendFunction; -}) => ApiClientInput>; - -export type ExtendFunction = ( - fixtures: FixturesBuilder -) => ApiClientInput>; - -export type GeneratedFixtures = Record< - string, - ApiClientInput> ->; diff --git a/packages/types/fixtures/package.json b/packages/types/fixtures/package.json deleted file mode 100644 index b1ecbe4..0000000 --- a/packages/types/fixtures/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "@contractual/types.fixtures", - "private": false, - "version": "0.0.0", - "license": "Apache-2.0", - "type": "module", - "types": "index.d.ts", - "repository": { - "type": "git", - "url": "https://github.com/contractual-dev/contractual.git", - "directory": "packages/types/fixtures" - }, - "bugs": { - "url": "https://github.com/contractual-dev/contractual/issues" - }, - "homepage": "https://contractual.dev", - "contributors": [ - { - "name": "Omer Morad", - "email": "omer.moradd@gmail.com" - } - ], - "scripts": { - "prebuild": "pnpm rimraf dist", - "build": "pnpm tsc -p tsconfig.build.json", - "tester": "jest --passWithNoTests", - "lint": "pnpm eslint 'index.ts'" - }, - "dependencies": { - "@contractual/client": "workspace:*" - }, - "files": [ - "index.d.ts" - ], - "publishConfig": { - "access": "public", - "provenance": true - } -} diff --git a/packages/types/fixtures/tsconfig.build.json b/packages/types/fixtures/tsconfig.build.json deleted file mode 100644 index 1164775..0000000 --- a/packages/types/fixtures/tsconfig.build.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "../../../tsconfig.build.json", - "compilerOptions": { - "emitDeclarationOnly": true, - "rootDir": ".", - "outDir": ".", - "baseUrl": "." - }, - "exclude": [ - "node_modules" - ] -} \ No newline at end of file diff --git a/packages/types/fixtures/tsconfig.json b/packages/types/fixtures/tsconfig.json deleted file mode 100644 index b027bb4..0000000 --- a/packages/types/fixtures/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../../tsconfig.json" -} \ No newline at end of file diff --git a/packages/types/test/.eslintrc b/packages/types/test/.eslintrc deleted file mode 100644 index 3280263..0000000 --- a/packages/types/test/.eslintrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../../.eslintrc" -} \ No newline at end of file diff --git a/packages/types/test/index.ts b/packages/types/test/index.ts deleted file mode 100644 index 8420b10..0000000 --- a/packages/types/test/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './src'; diff --git a/packages/types/test/package.json b/packages/types/test/package.json deleted file mode 100644 index db5279b..0000000 --- a/packages/types/test/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "@contractual/types.test", - "private": false, - "version": "0.0.0", - "license": "Apache-2.0", - "type": "module", - "module": "dist/index.js", - "repository": { - "type": "git", - "url": "https://github.com/contractual-dev/contractual.git", - "directory": "packages/types/test" - }, - "homepage": "https://contractual.dev", - "bugs": { - "url": "https://github.com/contractual-dev/contractual/issues" - }, - "contributors": [ - { - "name": "Omer Morad", - "email": "omer.moradd@gmail.com" - } - ], - "dependencies": { - "@contractual/client": "workspace:*", - "@contractual/types.fixtures": "workspace:*" - }, - "engines": { - "node": ">=18.12.0" - }, - "scripts": { - "prebuild": "pnpm rimraf dist", - "build": "pnpm tsc -p tsconfig.build.json", - "tester": "jest --passWithNoTests", - "lint": "pnpm eslint '{src,test}/**/*.ts'" - }, - "files": [ - "dist", - "README.md", - "typings.d.ts" - ], - "publishConfig": { - "access": "public", - "provenance": true - } -} diff --git a/packages/types/test/src/index.ts b/packages/types/test/src/index.ts deleted file mode 100644 index dfc76e7..0000000 --- a/packages/types/test/src/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import type { ApiClient, ApiClientInput, ApiOperationToClientMethod } from '@contractual/contract'; -import type { Fixtures } from '@contractual/fixtures/fixtures'; -import type { ApiOperations } from '@contractual/contract/contract'; - -export interface TestFunctionParams { - operation( - fixture: TFixture - ): ReturnType]>; - - operation( - cb: () => ApiClientInput> - ): ReturnType]>; - - operation( - fixture: TFixture, - cb: () => ApiClientInput> - ): ReturnType]>; - - operation( - fixture?: TFixture, - cb?: () => ApiClientInput> - ): ReturnType]>; -} diff --git a/packages/types/test/tsconfig.build.json b/packages/types/test/tsconfig.build.json deleted file mode 100644 index 940eb7f..0000000 --- a/packages/types/test/tsconfig.build.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "../../../tsconfig.build.json", - "compilerOptions": { - "rootDir": "src", - "baseUrl": "./", - "outDir": "dist", - "target": "esnext" - }, - "exclude": [ - "typings.d.ts", - "index.ts", - "node_modules", - "__test__", - "**/*.spec.ts", - "jest.config.ts" - ] -} \ No newline at end of file diff --git a/packages/types/test/tsconfig.json b/packages/types/test/tsconfig.json deleted file mode 100644 index b027bb4..0000000 --- a/packages/types/test/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../../tsconfig.json" -} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 63ec33d..97adc2c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -95,15 +95,15 @@ importers: demo: dependencies: - '@contractual/client': + '@contractual/contract': specifier: workspace:* - version: link:../packages/client + version: link:../packages/contract '@contractual/fixtures': specifier: workspace:* version: link:../packages/fixtures - '@contractual/test': + '@contractual/providers.playwright': specifier: workspace:* - version: link:../packages/test + version: link:../packages/providers/playwright '@playwright/test': specifier: ^1.49.1 version: 1.49.1 @@ -112,7 +112,7 @@ importers: dependencies: '@contractual/generators.client': specifier: workspace:* - version: link:../generators/client + version: link:../generators/contract '@contractual/generators.fixtures': specifier: workspace:* version: link:../generators/fixtures @@ -124,7 +124,7 @@ importers: specifier: workspace:* version: link:../fixtures - packages/client: + packages/contract: dependencies: '@ts-rest/core': specifier: ^3.51.0 @@ -138,9 +138,9 @@ importers: packages/fixtures: dependencies: - '@contractual/client': + '@contractual/contract': specifier: workspace:* - version: link:../client + version: link:../contract '@contractual/types.fixtures': specifier: workspace:* version: link:../types/fixtures @@ -149,7 +149,7 @@ importers: specifier: ~5.7.2 version: 5.7.3 - packages/generators/client: + packages/generators/contract: dependencies: '@apidevtools/swagger-parser': specifier: ^10.1.0 @@ -163,9 +163,9 @@ importers: '@babel/preset-typescript': specifier: ^7.26.0 version: 7.26.0(@babel/core@7.26.0) - '@contractual/client': + '@contractual/contract': specifier: workspace:* - version: link:../../client + version: link:../../contract handlebars: specifier: ^4.7.8 version: 4.7.8 @@ -201,7 +201,7 @@ importers: specifier: '>=5.x' version: 5.7.3 - packages/generators/openapi: + packages/generators/spec: dependencies: '@typespec/compiler': specifier: ^0.63.0 @@ -224,7 +224,16 @@ importers: openapi-diff: specifier: ^0.23.7 version: 0.23.7(openapi-types@12.1.3) + semver: + specifier: ^7.6.3 + version: 7.6.3 + yaml: + specifier: ^2.7.0 + version: 2.7.0 devDependencies: + inquirer: + specifier: ^12.3.2 + version: 12.3.2(@types/node@22.10.7) openapi-types: specifier: ^12.1.3 version: 12.1.3 @@ -232,32 +241,32 @@ importers: specifier: ~5.7.2 version: 5.7.3 - packages/test: + packages/providers/playwright: dependencies: - '@contractual/client': + '@contractual/contract': specifier: workspace:* - version: link:../client + version: link:../../contract '@contractual/fixtures': specifier: workspace:* - version: link:../fixtures + version: link:../../fixtures '@contractual/types.test': specifier: workspace:* - version: link:../types/test + version: link:../../types/test '@playwright/test': specifier: ^1.49.1 version: 1.49.1 packages/types/fixtures: dependencies: - '@contractual/client': + '@contractual/contract': specifier: workspace:* - version: link:../../client + version: link:../../contract packages/types/test: dependencies: - '@contractual/client': + '@contractual/contract': specifier: workspace:* - version: link:../../client + version: link:../../contract '@contractual/types.fixtures': specifier: workspace:* version: link:../fixtures @@ -564,6 +573,86 @@ packages: resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} engines: {node: '>=6.9.0'} + '@inquirer/checkbox@4.0.6': + resolution: {integrity: sha512-PgP35JfmGjHU0LSXOyRew0zHuA9N6OJwOlos1fZ20b7j8ISeAdib3L+n0jIxBtX958UeEpte6xhG/gxJ5iUqMw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + + '@inquirer/confirm@5.1.3': + resolution: {integrity: sha512-fuF9laMmHoOgWapF9h9hv6opA5WvmGFHsTYGCmuFxcghIhEhb3dN0CdQR4BUMqa2H506NCj8cGX4jwMsE4t6dA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + + '@inquirer/core@10.1.4': + resolution: {integrity: sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==} + engines: {node: '>=18'} + + '@inquirer/editor@4.2.3': + resolution: {integrity: sha512-S9KnIOJuTZpb9upeRSBBhoDZv7aSV3pG9TECrBj0f+ZsFwccz886hzKBrChGrXMJwd4NKY+pOA9Vy72uqnd6Eg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + + '@inquirer/expand@4.0.6': + resolution: {integrity: sha512-TRTfi1mv1GeIZGyi9PQmvAaH65ZlG4/FACq6wSzs7Vvf1z5dnNWsAAXBjWMHt76l+1hUY8teIqJFrWBk5N6gsg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + + '@inquirer/figures@1.0.9': + resolution: {integrity: sha512-BXvGj0ehzrngHTPTDqUoDT3NXL8U0RxUk2zJm2A66RhCEIWdtU1v6GuUqNAgArW4PQ9CinqIWyHdQgdwOj06zQ==} + engines: {node: '>=18'} + + '@inquirer/input@4.1.3': + resolution: {integrity: sha512-zeo++6f7hxaEe7OjtMzdGZPHiawsfmCZxWB9X1NpmYgbeoyerIbWemvlBxxl+sQIlHC0WuSAG19ibMq3gbhaqQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + + '@inquirer/number@3.0.6': + resolution: {integrity: sha512-xO07lftUHk1rs1gR0KbqB+LJPhkUNkyzV/KhH+937hdkMazmAYHLm1OIrNKpPelppeV1FgWrgFDjdUD8mM+XUg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + + '@inquirer/password@4.0.6': + resolution: {integrity: sha512-QLF0HmMpHZPPMp10WGXh6F+ZPvzWE7LX6rNoccdktv/Rov0B+0f+eyXkAcgqy5cH9V+WSpbLxu2lo3ysEVK91w==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + + '@inquirer/prompts@7.2.3': + resolution: {integrity: sha512-hzfnm3uOoDySDXfDNOm9usOuYIaQvTgKp/13l1uJoe6UNY+Zpcn2RYt0jXz3yA+yemGHvDOxVzqWl3S5sQq53Q==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + + '@inquirer/rawlist@4.0.6': + resolution: {integrity: sha512-QoE4s1SsIPx27FO4L1b1mUjVcoHm1pWE/oCmm4z/Hl+V1Aw5IXl8FYYzGmfXaBT0l/sWr49XmNSiq7kg3Kd/Lg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + + '@inquirer/search@3.0.6': + resolution: {integrity: sha512-eFZ2hiAq0bZcFPuFFBmZEtXU1EarHLigE+ENCtpO+37NHCl4+Yokq1P/d09kUblObaikwfo97w+0FtG/EXl5Ng==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + + '@inquirer/select@4.0.6': + resolution: {integrity: sha512-yANzIiNZ8fhMm4NORm+a74+KFYHmf7BZphSOBovIzYPVLquseTGEkU5l2UTnBOf5k0VLmTgPighNDLE9QtbViQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + + '@inquirer/type@3.0.2': + resolution: {integrity: sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -1580,6 +1669,10 @@ packages: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} @@ -2635,6 +2728,12 @@ packages: resolution: {integrity: sha512-kBhlSheBfYmq3e0L1ii+VKe3zBTLL5lDCDWR+f9dLmEGSB3MqLlMlsolubSsyI88Bg6EA+BIMlomAnQ1SwgQBw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + inquirer@12.3.2: + resolution: {integrity: sha512-YjQCIcDd3yyDuQrbII0FBtm/ZqNoWtvaC71yeCnd5Vbg4EgzsAGaemzfpzmqfvIZEp2roSwuZZKdM0C65hA43g==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + inquirer@8.2.6: resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} engines: {node: '>=12.0.0'} @@ -3451,6 +3550,10 @@ packages: resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + mute-stream@2.0.0: + resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} + engines: {node: ^18.17.0 || >=20.5.0} + nanoid@3.3.8: resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -4149,6 +4252,10 @@ packages: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} + run-async@3.0.0: + resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} + engines: {node: '>=0.12.0'} + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -4946,6 +5053,10 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + yoctocolors-cjs@2.1.2: + resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} + engines: {node: '>=18'} + z-schema@5.0.5: resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} engines: {node: '>=8.0.0'} @@ -5333,6 +5444,112 @@ snapshots: '@hutson/parse-repository-url@3.0.2': {} + '@inquirer/checkbox@4.0.6(@types/node@22.10.7)': + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.7) + '@inquirer/figures': 1.0.9 + '@inquirer/type': 3.0.2(@types/node@22.10.7) + '@types/node': 22.10.7 + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + + '@inquirer/confirm@5.1.3(@types/node@22.10.7)': + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.7) + '@inquirer/type': 3.0.2(@types/node@22.10.7) + '@types/node': 22.10.7 + + '@inquirer/core@10.1.4(@types/node@22.10.7)': + dependencies: + '@inquirer/figures': 1.0.9 + '@inquirer/type': 3.0.2(@types/node@22.10.7) + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 2.0.0 + signal-exit: 4.1.0 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 + transitivePeerDependencies: + - '@types/node' + + '@inquirer/editor@4.2.3(@types/node@22.10.7)': + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.7) + '@inquirer/type': 3.0.2(@types/node@22.10.7) + '@types/node': 22.10.7 + external-editor: 3.1.0 + + '@inquirer/expand@4.0.6(@types/node@22.10.7)': + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.7) + '@inquirer/type': 3.0.2(@types/node@22.10.7) + '@types/node': 22.10.7 + yoctocolors-cjs: 2.1.2 + + '@inquirer/figures@1.0.9': {} + + '@inquirer/input@4.1.3(@types/node@22.10.7)': + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.7) + '@inquirer/type': 3.0.2(@types/node@22.10.7) + '@types/node': 22.10.7 + + '@inquirer/number@3.0.6(@types/node@22.10.7)': + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.7) + '@inquirer/type': 3.0.2(@types/node@22.10.7) + '@types/node': 22.10.7 + + '@inquirer/password@4.0.6(@types/node@22.10.7)': + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.7) + '@inquirer/type': 3.0.2(@types/node@22.10.7) + '@types/node': 22.10.7 + ansi-escapes: 4.3.2 + + '@inquirer/prompts@7.2.3(@types/node@22.10.7)': + dependencies: + '@inquirer/checkbox': 4.0.6(@types/node@22.10.7) + '@inquirer/confirm': 5.1.3(@types/node@22.10.7) + '@inquirer/editor': 4.2.3(@types/node@22.10.7) + '@inquirer/expand': 4.0.6(@types/node@22.10.7) + '@inquirer/input': 4.1.3(@types/node@22.10.7) + '@inquirer/number': 3.0.6(@types/node@22.10.7) + '@inquirer/password': 4.0.6(@types/node@22.10.7) + '@inquirer/rawlist': 4.0.6(@types/node@22.10.7) + '@inquirer/search': 3.0.6(@types/node@22.10.7) + '@inquirer/select': 4.0.6(@types/node@22.10.7) + '@types/node': 22.10.7 + + '@inquirer/rawlist@4.0.6(@types/node@22.10.7)': + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.7) + '@inquirer/type': 3.0.2(@types/node@22.10.7) + '@types/node': 22.10.7 + yoctocolors-cjs: 2.1.2 + + '@inquirer/search@3.0.6(@types/node@22.10.7)': + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.7) + '@inquirer/figures': 1.0.9 + '@inquirer/type': 3.0.2(@types/node@22.10.7) + '@types/node': 22.10.7 + yoctocolors-cjs: 2.1.2 + + '@inquirer/select@4.0.6(@types/node@22.10.7)': + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.7) + '@inquirer/figures': 1.0.9 + '@inquirer/type': 3.0.2(@types/node@22.10.7) + '@types/node': 22.10.7 + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + + '@inquirer/type@3.0.2(@types/node@22.10.7)': + dependencies: + '@types/node': 22.10.7 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -5540,7 +5757,7 @@ snapshots: '@lerna/child-process@7.4.2': dependencies: - chalk: 4.1.0 + chalk: 4.1.2 execa: 5.0.0 strong-log-transformer: 2.1.0 @@ -6646,6 +6863,8 @@ snapshots: cli-width@3.0.0: {} + cli-width@4.1.0: {} + cliui@7.0.4: dependencies: string-width: 4.2.3 @@ -7849,6 +8068,17 @@ snapshots: validate-npm-package-license: 3.0.4 validate-npm-package-name: 5.0.0 + inquirer@12.3.2(@types/node@22.10.7): + dependencies: + '@inquirer/core': 10.1.4(@types/node@22.10.7) + '@inquirer/prompts': 7.2.3(@types/node@22.10.7) + '@inquirer/type': 3.0.2(@types/node@22.10.7) + '@types/node': 22.10.7 + ansi-escapes: 4.3.2 + mute-stream: 2.0.0 + run-async: 3.0.0 + rxjs: 7.8.1 + inquirer@8.2.6: dependencies: ansi-escapes: 4.3.2 @@ -8194,7 +8424,7 @@ snapshots: jest-diff@29.7.0: dependencies: - chalk: 4.1.0 + chalk: 4.1.2 diff-sequences: 29.6.3 jest-get-type: 29.6.3 pretty-format: 29.7.0 @@ -8832,7 +9062,7 @@ snapshots: redent: 3.0.0 trim-newlines: 3.0.1 type-fest: 0.18.1 - yargs-parser: 20.2.4 + yargs-parser: 20.2.9 merge-stream@2.0.0: {} @@ -8982,6 +9212,8 @@ snapshots: mute-stream@1.0.0: {} + mute-stream@2.0.0: {} + nanoid@3.3.8: {} natural-compare@1.4.0: {} @@ -9138,7 +9370,7 @@ snapshots: '@yarnpkg/parsers': 3.0.0-rc.46 '@zkochan/js-yaml': 0.0.6 axios: 1.7.9 - chalk: 4.1.0 + chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 cliui: 8.0.1 @@ -9759,6 +9991,8 @@ snapshots: run-async@2.4.1: {} + run-async@3.0.0: {} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -10575,7 +10809,7 @@ snapshots: require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 - yargs-parser: 20.2.4 + yargs-parser: 20.2.9 yargs@17.7.2: dependencies: @@ -10591,6 +10825,8 @@ snapshots: yocto-queue@0.1.0: {} + yoctocolors-cjs@2.1.2: {} + z-schema@5.0.5: dependencies: lodash.get: 4.4.2 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 8b3b033..ea4dae4 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,6 +1,6 @@ - packages: - - "packages/*" - - "demo" - - "packages/generators/*" - - "packages/types/*" - - "packages/*" \ No newline at end of file +packages: + - "packages/*" + - "demo" + - "packages/generators/*" + - "packages/providers/*" + - "packages/types/*"