From e924a485cc42826055b1617ee75271e48c43a353 Mon Sep 17 00:00:00 2001 From: tiran sameera wijesekara Date: Sun, 29 Jun 2025 01:09:15 +0530 Subject: [PATCH 1/6] chore: remove old generator interface --- app/intrig/src/app/cli/cli.module.ts | 15 +++++----- .../app/deamon/generator/generator.module.ts | 29 +++++++++---------- .../deamon/services/data-search.service.ts | 2 +- .../app/deamon/services/operations.service.ts | 6 ++-- app/intrig/src/app/plugins/builtin-plugins.ts | 20 +++++++++++++ lib/common-bindings/package.json | 16 ++++++++++ lib/common-bindings/project.json | 14 +++++++++ lib/common-bindings/src/index.ts | 1 + .../src/lib/generator-binding.ts | 9 ++++++ lib/common-bindings/tsconfig.json | 10 +++++++ lib/common-bindings/tsconfig.lib.json | 19 ++++++++++++ lib/common/src/index.ts | 2 +- .../src/lib/interfaces/generator.interface.ts | 17 ----------- .../src/lib/interfaces/plugin.interface.ts | 7 +++++ lib/next-binding/package.json | 8 +++-- lib/next-binding/project.json | 9 ++++-- lib/next-binding/src/index.ts | 15 ++++++++++ .../src/lib/cli/next-cli.service.ts | 2 +- .../src/lib/next-binding.service.ts | 2 +- lib/next-binding/tsconfig.json | 1 + lib/openapi-source/tsconfig.json | 1 + lib/react-binding/package.json | 8 +++-- lib/react-binding/project.json | 9 ++++-- lib/react-binding/src/index.ts | 15 ++++++++++ .../src/lib/cli/react-cli.service.ts | 2 +- .../src/lib/react-binding.service.ts | 2 +- lib/react-binding/tsconfig.json | 1 + tsconfig.base.json | 6 +++- tsconfig.json | 1 + 29 files changed, 189 insertions(+), 60 deletions(-) create mode 100644 app/intrig/src/app/plugins/builtin-plugins.ts create mode 100644 lib/common-bindings/package.json create mode 100644 lib/common-bindings/project.json create mode 100644 lib/common-bindings/src/index.ts create mode 100644 lib/common-bindings/src/lib/generator-binding.ts create mode 100644 lib/common-bindings/tsconfig.json create mode 100644 lib/common-bindings/tsconfig.lib.json delete mode 100644 lib/common/src/lib/interfaces/generator.interface.ts create mode 100644 lib/common/src/lib/interfaces/plugin.interface.ts diff --git a/app/intrig/src/app/cli/cli.module.ts b/app/intrig/src/app/cli/cli.module.ts index f47773f..5598dce 100644 --- a/app/intrig/src/app/cli/cli.module.ts +++ b/app/intrig/src/app/cli/cli.module.ts @@ -8,15 +8,17 @@ import {SourcesCommand} from "./commands/sources.command"; import {CommonModule} from "common"; import {DiscoveryModule} from "../discovery/discovery.module"; import {HttpModule} from "@nestjs/axios"; -import {NextCliModule, NextCliService} from "next-binding"; import {GENERATORS} from "./tokens"; import {SearchCommand} from "./commands/search.command"; -import {ReactCliModule, ReactCliService} from "react-binding"; +import {BUILTIN_PLUGINS} from "../plugins/builtin-plugins"; import {PrebuildCommand} from "./commands/prebuild.command"; import {PostbuildCommand} from "./commands/postbuild.command"; +const cliModules = BUILTIN_PLUGINS.map(p => p.cliModule); +const cliServices = BUILTIN_PLUGINS.map(p => p.cliService); + @Module({ - imports: [CommonModule, DiscoveryModule, HttpModule, NextCliModule, ReactCliModule], + imports: [CommonModule, DiscoveryModule, HttpModule, ...cliModules], providers: [ ProcessManagerService, ...DeamonCommand.registerWithSubCommands(), @@ -28,12 +30,11 @@ import {PostbuildCommand} from "./commands/postbuild.command"; HttpModule, PrebuildCommand, PostbuildCommand, + ...cliServices, { provide: GENERATORS, - inject: [NextCliService, ReactCliService], - useFactory(nextCliService: NextCliService, reactCliService: ReactCliService) { - return [nextCliService, reactCliService] - } + inject: cliServices, + useFactory: (...services: any[]) => services } ], }) diff --git a/app/intrig/src/app/deamon/generator/generator.module.ts b/app/intrig/src/app/deamon/generator/generator.module.ts index fd3b0f3..becadb2 100644 --- a/app/intrig/src/app/deamon/generator/generator.module.ts +++ b/app/intrig/src/app/deamon/generator/generator.module.ts @@ -1,32 +1,29 @@ import {DynamicModule, Module} from '@nestjs/common'; import {IntrigConfigService} from "../services/intrig-config.service"; -import {ReactBindingService} from "react-binding"; -import {IntrigNextBindingService} from "next-binding"; -import {GeneratorBinding} from "common"; +import {GeneratorBinding} from "@intrig/common"; +import {BUILTIN_PLUGINS} from "../../plugins/builtin-plugins"; @Module({}) export class GeneratorModule { - static register(): DynamicModule { + static register(plugins = BUILTIN_PLUGINS): DynamicModule { + const bindingModules = plugins.map(p => p.bindingModule); + const bindingServices = plugins.map(p => p.bindingService); return { module: GeneratorModule, - imports: [], + imports: [...bindingModules], providers: [ IntrigConfigService, - ReactBindingService, - IntrigNextBindingService, + ...bindingServices, { provide: GeneratorBinding, - inject: [IntrigConfigService, ReactBindingService, IntrigNextBindingService], - useFactory: (configService: IntrigConfigService, reactBinding: ReactBindingService, nextBinding: IntrigNextBindingService): GeneratorBinding => { + inject: [IntrigConfigService, ...bindingServices], + useFactory: (configService: IntrigConfigService, ...bindings: GeneratorBinding[]): GeneratorBinding => { try { - switch (configService.get().generator) { - case "react": - return reactBinding; - case "next": - return nextBinding; - } + const generator = configService.get().generator; + const idx = plugins.findIndex(p => p.name === generator); + return bindings[idx >= 0 ? idx : 0]; } catch (e) { /* empty */ } - return reactBinding; + return bindings[0]; } } ], diff --git a/app/intrig/src/app/deamon/services/data-search.service.ts b/app/intrig/src/app/deamon/services/data-search.service.ts index 730d32e..06dbe1e 100644 --- a/app/intrig/src/app/deamon/services/data-search.service.ts +++ b/app/intrig/src/app/deamon/services/data-search.service.ts @@ -1,5 +1,5 @@ import { Injectable, Logger } from '@nestjs/common'; -import {GeneratorBinding, Page, ResourceDescriptor, RestData} from "common"; +import {GeneratorBinding, Page, ResourceDescriptor, RestData} from "@intrig/common"; import {SearchService} from "./search.service"; @Injectable() diff --git a/app/intrig/src/app/deamon/services/operations.service.ts b/app/intrig/src/app/deamon/services/operations.service.ts index c8c8ae1..653bb3f 100644 --- a/app/intrig/src/app/deamon/services/operations.service.ts +++ b/app/intrig/src/app/deamon/services/operations.service.ts @@ -5,9 +5,9 @@ import { ResourceDescriptor, RestData, Schema, SyncEventContext, WithStatus -} from "common"; -import type {IntrigConfig} from "common"; -import type {GenerateEventContext, IIntrigSourceConfig} from "common"; +} from "@intrig/common"; +import type {IntrigConfig} from "@intrig/common"; +import type {GenerateEventContext, IIntrigSourceConfig} from "@intrig/common"; import {IntrigConfigService} from "./intrig-config.service"; import * as path from "path"; import * as fs from 'fs-extra' diff --git a/app/intrig/src/app/plugins/builtin-plugins.ts b/app/intrig/src/app/plugins/builtin-plugins.ts new file mode 100644 index 0000000..7639740 --- /dev/null +++ b/app/intrig/src/app/plugins/builtin-plugins.ts @@ -0,0 +1,20 @@ +import {IntrigPlugin} from "common"; +import {ReactBindingModule, ReactBindingService, ReactCliModule, ReactCliService} from '@intrig/react-binding'; +import {NextBindingModule, IntrigNextBindingService, NextCliModule, NextCliService} from '@intrig/next-binding'; + +export const BUILTIN_PLUGINS: IntrigPlugin[] = [ + { + name: 'react', + bindingModule: ReactBindingModule, + bindingService: ReactBindingService, + cliModule: ReactCliModule, + cliService: ReactCliService, + }, + { + name: 'next', + bindingModule: NextBindingModule, + bindingService: IntrigNextBindingService, + cliModule: NextCliModule, + cliService: NextCliService, + }, +]; diff --git a/lib/common-bindings/package.json b/lib/common-bindings/package.json new file mode 100644 index 0000000..21d4d57 --- /dev/null +++ b/lib/common-bindings/package.json @@ -0,0 +1,16 @@ +{ + "name": "@intrig/common", + "version": "0.0.1", + "type": "module", + "main": "./src/index.ts", + "types": "./src/index.ts", + "exports": { + ".": { + "types": "./src/index.ts", + "import": "./src/index.ts", + "default": "./src/index.ts" + }, + "./package.json": "./package.json" + }, + "dependencies": {} +} diff --git a/lib/common-bindings/project.json b/lib/common-bindings/project.json new file mode 100644 index 0000000..8f69cfc --- /dev/null +++ b/lib/common-bindings/project.json @@ -0,0 +1,14 @@ +{ + "name": "common-bindings", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "lib/common-bindings/src", + "projectType": "library", + "tags": [], + "targets": { + "nx-release-publish": { + "executor": "@nx/js:release-publish", + "options": {"packageRoot": "dist/lib/common-bindings"}, + "dependsOn": ["^build"] + } + } +} diff --git a/lib/common-bindings/src/index.ts b/lib/common-bindings/src/index.ts new file mode 100644 index 0000000..13e8d91 --- /dev/null +++ b/lib/common-bindings/src/index.ts @@ -0,0 +1 @@ +export * from './lib/generator-binding'; diff --git a/lib/common-bindings/src/lib/generator-binding.ts b/lib/common-bindings/src/lib/generator-binding.ts new file mode 100644 index 0000000..78ad276 --- /dev/null +++ b/lib/common-bindings/src/lib/generator-binding.ts @@ -0,0 +1,9 @@ +export abstract class GeneratorBinding { + abstract generateGlobal(...args: any[]): Promise; + abstract generateSource(...args: any[]): Promise; + abstract getLibName(): string; + abstract postBuild(): Promise; + abstract getSchemaDocumentation(...args: any[]): Promise; + abstract getEndpointDocumentation(...args: any[]): Promise; + getRestOptions(): any { return {}; } +} diff --git a/lib/common-bindings/tsconfig.json b/lib/common-bindings/tsconfig.json new file mode 100644 index 0000000..c23e61c --- /dev/null +++ b/lib/common-bindings/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.base.json", + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + } + ] +} diff --git a/lib/common-bindings/tsconfig.lib.json b/lib/common-bindings/tsconfig.lib.json new file mode 100644 index 0000000..ce791c3 --- /dev/null +++ b/lib/common-bindings/tsconfig.lib.json @@ -0,0 +1,19 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "rootDir": "src", + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo", + "emitDeclarationOnly": true, + "forceConsistentCasingInFileNames": true, + "types": ["node"], + "target": "es2021", + "strictNullChecks": true, + "noImplicitAny": true, + "strictBindCallApply": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src/**/*.ts"], + "references": [] +} diff --git a/lib/common/src/index.ts b/lib/common/src/index.ts index 060c7cd..66d9518 100644 --- a/lib/common/src/index.ts +++ b/lib/common/src/index.ts @@ -5,8 +5,8 @@ export * from './lib/source-management.service'; export * from './lib/package-manager.service'; // Interfaces -export * from './lib/interfaces/generator.interface'; export * from './lib/interfaces/generator-cli.interface' +export * from './lib/interfaces/plugin.interface' export * from './lib/interfaces/page.interface' // Models diff --git a/lib/common/src/lib/interfaces/generator.interface.ts b/lib/common/src/lib/interfaces/generator.interface.ts deleted file mode 100644 index 1f05170..0000000 --- a/lib/common/src/lib/interfaces/generator.interface.ts +++ /dev/null @@ -1,17 +0,0 @@ -import {ResourceDescriptor} from "../model/resource-descriptor"; -import {IIntrigSourceConfig, IntrigSourceConfig} from "../model/intrig-source-config"; -import {SchemaDocumentation} from "../model/schema"; -import {RestDocumentation} from "../model/rest-resource-data"; -import {RestOptions} from "../model/intrig-config"; - -export abstract class GeneratorBinding { - abstract generateGlobal(apisToSync: IntrigSourceConfig[]): Promise; - abstract generateSource(descriptors: ResourceDescriptor[], source: IIntrigSourceConfig): Promise; - abstract getLibName(): string - abstract postBuild(): Promise - abstract getSchemaDocumentation(result: ResourceDescriptor): Promise - abstract getEndpointDocumentation(result: ResourceDescriptor, schemas: ResourceDescriptor[]): Promise - getRestOptions(): RestOptions { - return {} - } -} \ No newline at end of file diff --git a/lib/common/src/lib/interfaces/plugin.interface.ts b/lib/common/src/lib/interfaces/plugin.interface.ts new file mode 100644 index 0000000..b39b838 --- /dev/null +++ b/lib/common/src/lib/interfaces/plugin.interface.ts @@ -0,0 +1,7 @@ +export interface IntrigPlugin { + name: string; + bindingModule: any; + bindingService: any; + cliModule: any; + cliService: any; +} diff --git a/lib/next-binding/package.json b/lib/next-binding/package.json index 9f6428b..682a01d 100644 --- a/lib/next-binding/package.json +++ b/lib/next-binding/package.json @@ -1,7 +1,7 @@ { - "name": "next-binding", + "name": "@intrig/next-binding", "version": "0.0.1", - "private": true, + "main": "./src/index.ts", "types": "./src/index.ts", "exports": { @@ -12,5 +12,7 @@ }, "./package.json": "./package.json" }, - "dependencies": {} + "dependencies": { + "@intrig/common": "*" +} } diff --git a/lib/next-binding/project.json b/lib/next-binding/project.json index aca220b..9bcbe1d 100644 --- a/lib/next-binding/project.json +++ b/lib/next-binding/project.json @@ -4,6 +4,11 @@ "sourceRoot": "lib/next-binding/src", "projectType": "library", "tags": [], - "// targets": "to see all targets run: nx show project next-binding --web", - "targets": {} + "targets": { + "nx-release-publish": { + "executor": "@nx/js:release-publish", + "options": {"packageRoot": "dist/lib/next-binding"}, + "dependsOn": ["^build"] + } + } } diff --git a/lib/next-binding/src/index.ts b/lib/next-binding/src/index.ts index 4b902e8..157e3a9 100644 --- a/lib/next-binding/src/index.ts +++ b/lib/next-binding/src/index.ts @@ -2,3 +2,18 @@ export * from './lib/next-binding.module'; export * from './lib/next-binding.service'; export * from './lib/cli/next-cli.module' export * from './lib/cli/next-cli.service' + +import {IntrigPlugin} from '@intrig/common'; +import {NextBindingModule} from './lib/next-binding.module'; +import {IntrigNextBindingService} from './lib/next-binding.service'; +import {NextCliModule} from './lib/cli/next-cli.module'; +import {NextCliService} from './lib/cli/next-cli.service'; + +export const plugin: IntrigPlugin = { + name: 'next', + bindingModule: NextBindingModule, + bindingService: IntrigNextBindingService, + cliModule: NextCliModule, + cliService: NextCliService, +}; +export default plugin; diff --git a/lib/next-binding/src/lib/cli/next-cli.service.ts b/lib/next-binding/src/lib/cli/next-cli.service.ts index 4d3b58f..ba61ca1 100644 --- a/lib/next-binding/src/lib/cli/next-cli.service.ts +++ b/lib/next-binding/src/lib/cli/next-cli.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@nestjs/common'; -import {GeneratorCli, PackageManagerService} from "common"; +import {GeneratorCli, PackageManagerService} from "@intrig/common"; import { PackageJson } from 'nx/src/utils/package-json'; import {ConfigService} from "@nestjs/config"; import path from "path"; diff --git a/lib/next-binding/src/lib/next-binding.service.ts b/lib/next-binding/src/lib/next-binding.service.ts index 9315ada..f91e84b 100644 --- a/lib/next-binding/src/lib/next-binding.service.ts +++ b/lib/next-binding/src/lib/next-binding.service.ts @@ -5,7 +5,7 @@ import { ResourceDescriptor, RestData, RestDocumentation, RestOptions, Schema, SchemaDocumentation, SourceManagementService, Tab -} from "common"; +} from "@intrig/common"; import { networkStateTemplate } from './templates/network-state.template'; import { providerTemplate } from './templates/provider.template'; import { indexTemplate } from './templates/index.template'; diff --git a/lib/next-binding/tsconfig.json b/lib/next-binding/tsconfig.json index bf5e6ba..0ef3539 100644 --- a/lib/next-binding/tsconfig.json +++ b/lib/next-binding/tsconfig.json @@ -5,6 +5,7 @@ "references": [ { "path": "../common" + {"path": "../common-bindings"}, }, { "path": "./tsconfig.lib.json" diff --git a/lib/openapi-source/tsconfig.json b/lib/openapi-source/tsconfig.json index bf5e6ba..0ef3539 100644 --- a/lib/openapi-source/tsconfig.json +++ b/lib/openapi-source/tsconfig.json @@ -5,6 +5,7 @@ "references": [ { "path": "../common" + {"path": "../common-bindings"}, }, { "path": "./tsconfig.lib.json" diff --git a/lib/react-binding/package.json b/lib/react-binding/package.json index d9cbf03..7ec81e9 100644 --- a/lib/react-binding/package.json +++ b/lib/react-binding/package.json @@ -1,7 +1,7 @@ { - "name": "react-binding", + "name": "@intrig/react-binding", "version": "0.0.1", - "private": true, + "main": "./src/index.ts", "types": "./src/index.ts", "exports": { @@ -12,5 +12,7 @@ }, "./package.json": "./package.json" }, - "dependencies": {} + "dependencies": { + "@intrig/common": "*" +} } diff --git a/lib/react-binding/project.json b/lib/react-binding/project.json index 0c8cc27..3d7cfb6 100644 --- a/lib/react-binding/project.json +++ b/lib/react-binding/project.json @@ -4,6 +4,11 @@ "sourceRoot": "lib/react-binding/src", "projectType": "library", "tags": [], - "// targets": "to see all targets run: nx show project react-binding --web", - "targets": {} + "targets": { + "nx-release-publish": { + "executor": "@nx/js:release-publish", + "options": {"packageRoot": "dist/lib/react-binding"}, + "dependsOn": ["^build"] + } + } } diff --git a/lib/react-binding/src/index.ts b/lib/react-binding/src/index.ts index e0e8c44..9615814 100644 --- a/lib/react-binding/src/index.ts +++ b/lib/react-binding/src/index.ts @@ -2,3 +2,18 @@ export * from './lib/react-binding.service'; export * from './lib/react-binding.module'; export * from './lib/cli/react-cli.module' export * from './lib/cli/react-cli.service' + +import {IntrigPlugin} from '@intrig/common'; +import {ReactBindingModule} from './lib/react-binding.module'; +import {ReactBindingService} from './lib/react-binding.service'; +import {ReactCliModule} from './lib/cli/react-cli.module'; +import {ReactCliService} from './lib/cli/react-cli.service'; + +export const plugin: IntrigPlugin = { + name: 'react', + bindingModule: ReactBindingModule, + bindingService: ReactBindingService, + cliModule: ReactCliModule, + cliService: ReactCliService, +}; +export default plugin; diff --git a/lib/react-binding/src/lib/cli/react-cli.service.ts b/lib/react-binding/src/lib/cli/react-cli.service.ts index 01bd066..208b0a4 100644 --- a/lib/react-binding/src/lib/cli/react-cli.service.ts +++ b/lib/react-binding/src/lib/cli/react-cli.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@nestjs/common'; -import {GeneratorCli, PackageManagerService} from "common"; +import {GeneratorCli, PackageManagerService} from "@intrig/common"; import { PackageJson } from 'nx/src/utils/package-json'; import {ConfigService} from "@nestjs/config"; import process from "node:process"; diff --git a/lib/react-binding/src/lib/react-binding.service.ts b/lib/react-binding/src/lib/react-binding.service.ts index 2f3e813..55e837f 100644 --- a/lib/react-binding/src/lib/react-binding.service.ts +++ b/lib/react-binding/src/lib/react-binding.service.ts @@ -6,7 +6,7 @@ import { ResourceDescriptor, RestData, RestDocumentation, Schema, SchemaDocumentation, SourceManagementService, Tab -} from "common"; +} from "@intrig/common"; import {ConfigService} from "@nestjs/config"; import path from "path"; import process from "node:process"; diff --git a/lib/react-binding/tsconfig.json b/lib/react-binding/tsconfig.json index bf5e6ba..0ef3539 100644 --- a/lib/react-binding/tsconfig.json +++ b/lib/react-binding/tsconfig.json @@ -5,6 +5,7 @@ "references": [ { "path": "../common" + {"path": "../common-bindings"}, }, { "path": "./tsconfig.lib.json" diff --git a/tsconfig.base.json b/tsconfig.base.json index 441a59b..4de7289 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -22,6 +22,10 @@ "esModuleInterop": true, "allowSyntheticDefaultImports": true, "resolveJsonModule": true, - "declaration": true + "declaration": true, + "paths": { + "@intrig/common": ["lib/common-bindings/src/index.ts"], + "@intrig/common/*": ["lib/common-bindings/src/*"] + } } } diff --git a/tsconfig.json b/tsconfig.json index 5af5657..23884c4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,6 +12,7 @@ { "path": "./lib/next-binding" }, + {"path": "./lib/common-bindings"}, { "path": "./lib/openapi-source" }, From c2d87aeb430f76d86f5f83eb9751f459801caec1 Mon Sep 17 00:00:00 2001 From: tiran sameera wijesekara Date: Sun, 29 Jun 2025 01:43:08 +0530 Subject: [PATCH 2/6] Load plugins from node_modules --- README.md | 3 +- app/intrig/src/app/cli/cli.module.ts | 7 ++-- .../app/deamon/generator/generator.module.ts | 4 +- app/intrig/src/app/plugins/builtin-plugins.ts | 20 ---------- app/intrig/src/app/plugins/plugin-loader.ts | 39 +++++++++++++++++++ 5 files changed, 47 insertions(+), 26 deletions(-) delete mode 100644 app/intrig/src/app/plugins/builtin-plugins.ts create mode 100644 app/intrig/src/app/plugins/plugin-loader.ts diff --git a/README.md b/README.md index c93e8e5..722b43f 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,8 @@ Create an `intrig.config.json` file in your project root: } ``` -You can set the generator to either "react" or "next" depending on your target framework. +You can set the generator to either "react" or "next" depending on your target framework. +Make sure the matching binding package (e.g. `@intrig/react-binding`) is installed in your project so Intrig can load it at runtime. ### CLI Commands diff --git a/app/intrig/src/app/cli/cli.module.ts b/app/intrig/src/app/cli/cli.module.ts index 5598dce..a638630 100644 --- a/app/intrig/src/app/cli/cli.module.ts +++ b/app/intrig/src/app/cli/cli.module.ts @@ -10,12 +10,13 @@ import {DiscoveryModule} from "../discovery/discovery.module"; import {HttpModule} from "@nestjs/axios"; import {GENERATORS} from "./tokens"; import {SearchCommand} from "./commands/search.command"; -import {BUILTIN_PLUGINS} from "../plugins/builtin-plugins"; +import {loadInstalledPlugins} from "../plugins/plugin-loader"; import {PrebuildCommand} from "./commands/prebuild.command"; import {PostbuildCommand} from "./commands/postbuild.command"; -const cliModules = BUILTIN_PLUGINS.map(p => p.cliModule); -const cliServices = BUILTIN_PLUGINS.map(p => p.cliService); +const PLUGINS = loadInstalledPlugins(); +const cliModules = PLUGINS.map(p => p.cliModule); +const cliServices = PLUGINS.map(p => p.cliService); @Module({ imports: [CommonModule, DiscoveryModule, HttpModule, ...cliModules], diff --git a/app/intrig/src/app/deamon/generator/generator.module.ts b/app/intrig/src/app/deamon/generator/generator.module.ts index becadb2..5ddd882 100644 --- a/app/intrig/src/app/deamon/generator/generator.module.ts +++ b/app/intrig/src/app/deamon/generator/generator.module.ts @@ -1,11 +1,11 @@ import {DynamicModule, Module} from '@nestjs/common'; import {IntrigConfigService} from "../services/intrig-config.service"; import {GeneratorBinding} from "@intrig/common"; -import {BUILTIN_PLUGINS} from "../../plugins/builtin-plugins"; +import {loadInstalledPlugins} from "../../plugins/plugin-loader"; @Module({}) export class GeneratorModule { - static register(plugins = BUILTIN_PLUGINS): DynamicModule { + static register(plugins = loadInstalledPlugins()): DynamicModule { const bindingModules = plugins.map(p => p.bindingModule); const bindingServices = plugins.map(p => p.bindingService); return { diff --git a/app/intrig/src/app/plugins/builtin-plugins.ts b/app/intrig/src/app/plugins/builtin-plugins.ts deleted file mode 100644 index 7639740..0000000 --- a/app/intrig/src/app/plugins/builtin-plugins.ts +++ /dev/null @@ -1,20 +0,0 @@ -import {IntrigPlugin} from "common"; -import {ReactBindingModule, ReactBindingService, ReactCliModule, ReactCliService} from '@intrig/react-binding'; -import {NextBindingModule, IntrigNextBindingService, NextCliModule, NextCliService} from '@intrig/next-binding'; - -export const BUILTIN_PLUGINS: IntrigPlugin[] = [ - { - name: 'react', - bindingModule: ReactBindingModule, - bindingService: ReactBindingService, - cliModule: ReactCliModule, - cliService: ReactCliService, - }, - { - name: 'next', - bindingModule: NextBindingModule, - bindingService: IntrigNextBindingService, - cliModule: NextCliModule, - cliService: NextCliService, - }, -]; diff --git a/app/intrig/src/app/plugins/plugin-loader.ts b/app/intrig/src/app/plugins/plugin-loader.ts new file mode 100644 index 0000000..575a8d3 --- /dev/null +++ b/app/intrig/src/app/plugins/plugin-loader.ts @@ -0,0 +1,39 @@ +import * as fs from 'fs'; +import * as path from 'path'; +import { createRequire } from 'module'; +import { Logger } from '@nestjs/common'; +import { IntrigPlugin } from '@intrig/common'; + +const require = createRequire(import.meta.url); + +export function loadInstalledPlugins(rootDir = process.cwd()): IntrigPlugin[] { + const logger = new Logger('PluginLoader'); + const baseDir = path.join(rootDir, 'node_modules', '@intrig'); + if (!fs.existsSync(baseDir)) { + logger.warn(`No @intrig directory found in node_modules`); + return []; + } + + const entries = fs.readdirSync(baseDir, { withFileTypes: true }); + const plugins: IntrigPlugin[] = []; + + for (const entry of entries) { + if (entry.isDirectory() && entry.name.endsWith('-binding')) { + const pkgName = `@intrig/${entry.name}`; + try { + // eslint-disable-next-line @typescript-eslint/no-var-requires + const mod = require(pkgName); + const plugin = (mod.default ?? mod.plugin) as IntrigPlugin | undefined; + if (plugin) { + plugins.push(plugin); + } else { + logger.warn(`No plugin export found in ${pkgName}`); + } + } catch (e) { + logger.error(`Failed to load plugin ${pkgName}`, e as any); + } + } + } + + return plugins; +} From faef175f87f77e129437a1322aa0eec2fab29c3d Mon Sep 17 00:00:00 2001 From: tiran sameera wijesekara Date: Sun, 29 Jun 2025 02:11:29 +0530 Subject: [PATCH 3/6] Load plugins via package.json metadata --- README.md | 16 ++++- app/intrig/src/app/cli/cli.module.ts | 4 +- .../app/deamon/generator/generator.module.ts | 24 ++++--- app/intrig/src/app/plugins/plugin-loader.ts | 62 +++++++++++++------ lib/next-binding/package.json | 8 ++- lib/react-binding/package.json | 8 ++- 6 files changed, 86 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 722b43f..7a0780a 100644 --- a/README.md +++ b/README.md @@ -45,8 +45,20 @@ Create an `intrig.config.json` file in your project root: } ``` -You can set the generator to either "react" or "next" depending on your target framework. -Make sure the matching binding package (e.g. `@intrig/react-binding`) is installed in your project so Intrig can load it at runtime. +You can set the generator to either "react" or "next" depending on your target framework. +Install the matching binding plugin (e.g. `@intrig/react-binding`) so Intrig can discover it in `node_modules`. +Each plugin's `package.json` must declare the plugin type: + +```json +{ + "intrig": { + "plugin": { + "type": "generator", + "for": "react" + } + } +} +``` ### CLI Commands diff --git a/app/intrig/src/app/cli/cli.module.ts b/app/intrig/src/app/cli/cli.module.ts index a638630..243d590 100644 --- a/app/intrig/src/app/cli/cli.module.ts +++ b/app/intrig/src/app/cli/cli.module.ts @@ -15,8 +15,8 @@ import {PrebuildCommand} from "./commands/prebuild.command"; import {PostbuildCommand} from "./commands/postbuild.command"; const PLUGINS = loadInstalledPlugins(); -const cliModules = PLUGINS.map(p => p.cliModule); -const cliServices = PLUGINS.map(p => p.cliService); +const cliModules = PLUGINS.map(p => p.plugin.cliModule); +const cliServices = PLUGINS.map(p => p.plugin.cliService); @Module({ imports: [CommonModule, DiscoveryModule, HttpModule, ...cliModules], diff --git a/app/intrig/src/app/deamon/generator/generator.module.ts b/app/intrig/src/app/deamon/generator/generator.module.ts index 5ddd882..e85be43 100644 --- a/app/intrig/src/app/deamon/generator/generator.module.ts +++ b/app/intrig/src/app/deamon/generator/generator.module.ts @@ -1,13 +1,13 @@ import {DynamicModule, Module} from '@nestjs/common'; import {IntrigConfigService} from "../services/intrig-config.service"; import {GeneratorBinding} from "@intrig/common"; -import {loadInstalledPlugins} from "../../plugins/plugin-loader"; +import {loadInstalledPlugins, LoadedPlugin} from "../../plugins/plugin-loader"; @Module({}) export class GeneratorModule { - static register(plugins = loadInstalledPlugins()): DynamicModule { - const bindingModules = plugins.map(p => p.bindingModule); - const bindingServices = plugins.map(p => p.bindingService); + static register(plugins: LoadedPlugin[] = loadInstalledPlugins()): DynamicModule { + const bindingModules = plugins.map(p => p.plugin.bindingModule); + const bindingServices = plugins.map(p => p.plugin.bindingService); return { module: GeneratorModule, imports: [...bindingModules], @@ -18,12 +18,16 @@ export class GeneratorModule { provide: GeneratorBinding, inject: [IntrigConfigService, ...bindingServices], useFactory: (configService: IntrigConfigService, ...bindings: GeneratorBinding[]): GeneratorBinding => { - try { - const generator = configService.get().generator; - const idx = plugins.findIndex(p => p.name === generator); - return bindings[idx >= 0 ? idx : 0]; - } catch (e) { /* empty */ } - return bindings[0]; + const generator = configService.get().generator; + const matches = plugins.filter(p => p.config?.type === 'generator' && (p.plugin.name === generator || p.config?.for === generator)); + if (matches.length > 1) { + throw new Error(`Generator plugin conflict for "${generator}"`); + } + if (matches.length === 0) { + throw new Error(`Generator binding not found for "${generator}"`); + } + const idx = plugins.indexOf(matches[0]); + return bindings[idx]; } } ], diff --git a/app/intrig/src/app/plugins/plugin-loader.ts b/app/intrig/src/app/plugins/plugin-loader.ts index 575a8d3..d3d27b6 100644 --- a/app/intrig/src/app/plugins/plugin-loader.ts +++ b/app/intrig/src/app/plugins/plugin-loader.ts @@ -4,34 +4,56 @@ import { createRequire } from 'module'; import { Logger } from '@nestjs/common'; import { IntrigPlugin } from '@intrig/common'; +export interface LoadedPlugin { + plugin: IntrigPlugin; + config: any; +} + const require = createRequire(import.meta.url); -export function loadInstalledPlugins(rootDir = process.cwd()): IntrigPlugin[] { +export function loadInstalledPlugins(rootDir = process.cwd()): LoadedPlugin[] { const logger = new Logger('PluginLoader'); - const baseDir = path.join(rootDir, 'node_modules', '@intrig'); - if (!fs.existsSync(baseDir)) { - logger.warn(`No @intrig directory found in node_modules`); + const nodeModules = path.join(rootDir, 'node_modules'); + if (!fs.existsSync(nodeModules)) { + logger.warn(`node_modules directory not found`); return []; } - const entries = fs.readdirSync(baseDir, { withFileTypes: true }); - const plugins: IntrigPlugin[] = []; - - for (const entry of entries) { - if (entry.isDirectory() && entry.name.endsWith('-binding')) { - const pkgName = `@intrig/${entry.name}`; - try { - // eslint-disable-next-line @typescript-eslint/no-var-requires - const mod = require(pkgName); - const plugin = (mod.default ?? mod.plugin) as IntrigPlugin | undefined; - if (plugin) { - plugins.push(plugin); - } else { - logger.warn(`No plugin export found in ${pkgName}`); + const packages: string[] = []; + for (const entry of fs.readdirSync(nodeModules, { withFileTypes: true })) { + const entryPath = path.join(nodeModules, entry.name); + if (!entry.isDirectory()) continue; + if (entry.name.startsWith('@')) { + for (const sub of fs.readdirSync(entryPath, { withFileTypes: true })) { + if (sub.isDirectory()) { + packages.push(`${entry.name}/${sub.name}`); } - } catch (e) { - logger.error(`Failed to load plugin ${pkgName}`, e as any); } + } else { + packages.push(entry.name); + } + } + + const plugins: LoadedPlugin[] = []; + + for (const pkgName of packages) { + try { + const pkgJsonPath = path.join(nodeModules, pkgName, 'package.json'); + if (!fs.existsSync(pkgJsonPath)) continue; + const pkgJson = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf-8')); + const pluginCfg = pkgJson.intrig?.plugin; + if (!pluginCfg) continue; + + // eslint-disable-next-line @typescript-eslint/no-var-requires + const mod = require(path.join(nodeModules, pkgName)); + const plugin = (mod.default ?? mod.plugin) as IntrigPlugin | undefined; + if (plugin) { + plugins.push({ plugin, config: pluginCfg }); + } else { + logger.warn(`No plugin export found in ${pkgName}`); + } + } catch (e) { + logger.error(`Failed to load plugin ${pkgName}`, e as any); } } diff --git a/lib/next-binding/package.json b/lib/next-binding/package.json index 682a01d..090ee03 100644 --- a/lib/next-binding/package.json +++ b/lib/next-binding/package.json @@ -14,5 +14,11 @@ }, "dependencies": { "@intrig/common": "*" -} + }, + "intrig": { + "plugin": { + "type": "generator", + "for": "next" + } + } } diff --git a/lib/react-binding/package.json b/lib/react-binding/package.json index 7ec81e9..92b1897 100644 --- a/lib/react-binding/package.json +++ b/lib/react-binding/package.json @@ -14,5 +14,11 @@ }, "dependencies": { "@intrig/common": "*" -} + }, + "intrig": { + "plugin": { + "type": "generator", + "for": "react" + } + } } From cda5579914718faaa469051e0b1aecf21920ace1 Mon Sep 17 00:00:00 2001 From: tiran sameera wijesekara Date: Sun, 29 Jun 2025 08:39:15 +0530 Subject: [PATCH 4/6] fix imports and tsconfig --- .../src/app/deamon/services/data-search.service.ts | 3 ++- app/intrig/src/app/deamon/services/operations.service.ts | 9 +++++---- lib/next-binding/src/lib/cli/next-cli.service.ts | 2 +- lib/next-binding/src/lib/next-binding.service.ts | 4 ++-- lib/next-binding/tsconfig.json | 8 ++------ lib/next-binding/tsconfig.lib.json | 3 ++- lib/openapi-source/tsconfig.json | 8 ++------ lib/openapi-source/tsconfig.lib.json | 3 ++- lib/react-binding/src/lib/cli/react-cli.service.ts | 2 +- lib/react-binding/src/lib/react-binding.service.ts | 4 ++-- lib/react-binding/tsconfig.json | 8 ++------ lib/react-binding/tsconfig.lib.json | 3 ++- 12 files changed, 25 insertions(+), 32 deletions(-) diff --git a/app/intrig/src/app/deamon/services/data-search.service.ts b/app/intrig/src/app/deamon/services/data-search.service.ts index 06dbe1e..be6e1a8 100644 --- a/app/intrig/src/app/deamon/services/data-search.service.ts +++ b/app/intrig/src/app/deamon/services/data-search.service.ts @@ -1,5 +1,6 @@ import { Injectable, Logger } from '@nestjs/common'; -import {GeneratorBinding, Page, ResourceDescriptor, RestData} from "@intrig/common"; +import {GeneratorBinding} from "@intrig/common"; +import {Page, ResourceDescriptor, RestData} from "common"; import {SearchService} from "./search.service"; @Injectable() diff --git a/app/intrig/src/app/deamon/services/operations.service.ts b/app/intrig/src/app/deamon/services/operations.service.ts index 653bb3f..a215dbe 100644 --- a/app/intrig/src/app/deamon/services/operations.service.ts +++ b/app/intrig/src/app/deamon/services/operations.service.ts @@ -1,13 +1,14 @@ import {Injectable, Logger} from '@nestjs/common'; +import {GeneratorBinding} from "@intrig/common"; import { - GeneratorBinding, IntrigSourceConfig, + IntrigSourceConfig, PackageManagerService, ResourceDescriptor, RestData, Schema, SyncEventContext, WithStatus -} from "@intrig/common"; -import type {IntrigConfig} from "@intrig/common"; -import type {GenerateEventContext, IIntrigSourceConfig} from "@intrig/common"; +} from "common"; +import type {IntrigConfig} from "common"; +import type {GenerateEventContext, IIntrigSourceConfig} from "common"; import {IntrigConfigService} from "./intrig-config.service"; import * as path from "path"; import * as fs from 'fs-extra' diff --git a/lib/next-binding/src/lib/cli/next-cli.service.ts b/lib/next-binding/src/lib/cli/next-cli.service.ts index ba61ca1..4d3b58f 100644 --- a/lib/next-binding/src/lib/cli/next-cli.service.ts +++ b/lib/next-binding/src/lib/cli/next-cli.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@nestjs/common'; -import {GeneratorCli, PackageManagerService} from "@intrig/common"; +import {GeneratorCli, PackageManagerService} from "common"; import { PackageJson } from 'nx/src/utils/package-json'; import {ConfigService} from "@nestjs/config"; import path from "path"; diff --git a/lib/next-binding/src/lib/next-binding.service.ts b/lib/next-binding/src/lib/next-binding.service.ts index f91e84b..f735a87 100644 --- a/lib/next-binding/src/lib/next-binding.service.ts +++ b/lib/next-binding/src/lib/next-binding.service.ts @@ -1,11 +1,11 @@ import {Injectable} from '@nestjs/common'; +import {GeneratorBinding} from "@intrig/common"; import { - GeneratorBinding, IIntrigSourceConfig, isRestDescriptor, isSchemaDescriptor, RelatedType, ResourceDescriptor, RestData, RestDocumentation, RestOptions, Schema, SchemaDocumentation, SourceManagementService, Tab -} from "@intrig/common"; +} from "common"; import { networkStateTemplate } from './templates/network-state.template'; import { providerTemplate } from './templates/provider.template'; import { indexTemplate } from './templates/index.template'; diff --git a/lib/next-binding/tsconfig.json b/lib/next-binding/tsconfig.json index 0ef3539..410ea7d 100644 --- a/lib/next-binding/tsconfig.json +++ b/lib/next-binding/tsconfig.json @@ -3,12 +3,8 @@ "files": [], "include": [], "references": [ - { - "path": "../common" + {"path": "../common"}, {"path": "../common-bindings"}, - }, - { - "path": "./tsconfig.lib.json" - } + {"path": "./tsconfig.lib.json"} ] } diff --git a/lib/next-binding/tsconfig.lib.json b/lib/next-binding/tsconfig.lib.json index 1d16ec5..6066f22 100644 --- a/lib/next-binding/tsconfig.lib.json +++ b/lib/next-binding/tsconfig.lib.json @@ -18,6 +18,7 @@ "references": [ { "path": "../common/tsconfig.lib.json" - } + }, + {"path": "../common-bindings/tsconfig.lib.json"} ] } diff --git a/lib/openapi-source/tsconfig.json b/lib/openapi-source/tsconfig.json index 0ef3539..410ea7d 100644 --- a/lib/openapi-source/tsconfig.json +++ b/lib/openapi-source/tsconfig.json @@ -3,12 +3,8 @@ "files": [], "include": [], "references": [ - { - "path": "../common" + {"path": "../common"}, {"path": "../common-bindings"}, - }, - { - "path": "./tsconfig.lib.json" - } + {"path": "./tsconfig.lib.json"} ] } diff --git a/lib/openapi-source/tsconfig.lib.json b/lib/openapi-source/tsconfig.lib.json index 1d16ec5..6066f22 100644 --- a/lib/openapi-source/tsconfig.lib.json +++ b/lib/openapi-source/tsconfig.lib.json @@ -18,6 +18,7 @@ "references": [ { "path": "../common/tsconfig.lib.json" - } + }, + {"path": "../common-bindings/tsconfig.lib.json"} ] } diff --git a/lib/react-binding/src/lib/cli/react-cli.service.ts b/lib/react-binding/src/lib/cli/react-cli.service.ts index 208b0a4..01bd066 100644 --- a/lib/react-binding/src/lib/cli/react-cli.service.ts +++ b/lib/react-binding/src/lib/cli/react-cli.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@nestjs/common'; -import {GeneratorCli, PackageManagerService} from "@intrig/common"; +import {GeneratorCli, PackageManagerService} from "common"; import { PackageJson } from 'nx/src/utils/package-json'; import {ConfigService} from "@nestjs/config"; import process from "node:process"; diff --git a/lib/react-binding/src/lib/react-binding.service.ts b/lib/react-binding/src/lib/react-binding.service.ts index 55e837f..7e475f4 100644 --- a/lib/react-binding/src/lib/react-binding.service.ts +++ b/lib/react-binding/src/lib/react-binding.service.ts @@ -1,12 +1,12 @@ import {Injectable, Logger} from '@nestjs/common'; +import {GeneratorBinding} from "@intrig/common"; import { - GeneratorBinding, IIntrigSourceConfig, IntrigSourceConfig, isRestDescriptor, isSchemaDescriptor, RelatedType, ResourceDescriptor, RestData, RestDocumentation, Schema, SchemaDocumentation, SourceManagementService, Tab -} from "@intrig/common"; +} from "common"; import {ConfigService} from "@nestjs/config"; import path from "path"; import process from "node:process"; diff --git a/lib/react-binding/tsconfig.json b/lib/react-binding/tsconfig.json index 0ef3539..410ea7d 100644 --- a/lib/react-binding/tsconfig.json +++ b/lib/react-binding/tsconfig.json @@ -3,12 +3,8 @@ "files": [], "include": [], "references": [ - { - "path": "../common" + {"path": "../common"}, {"path": "../common-bindings"}, - }, - { - "path": "./tsconfig.lib.json" - } + {"path": "./tsconfig.lib.json"} ] } diff --git a/lib/react-binding/tsconfig.lib.json b/lib/react-binding/tsconfig.lib.json index 1d16ec5..6066f22 100644 --- a/lib/react-binding/tsconfig.lib.json +++ b/lib/react-binding/tsconfig.lib.json @@ -18,6 +18,7 @@ "references": [ { "path": "../common/tsconfig.lib.json" - } + }, + {"path": "../common-bindings/tsconfig.lib.json"} ] } From 8ce065f5f5f837dfbb703ad66f0ebbc19e711680 Mon Sep 17 00:00:00 2001 From: tiran sameera wijesekara Date: Sun, 29 Jun 2025 08:50:02 +0530 Subject: [PATCH 5/6] fix: export plugin interface --- lib/common-bindings/src/index.ts | 1 + lib/common-bindings/src/lib/plugin.interface.ts | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 lib/common-bindings/src/lib/plugin.interface.ts diff --git a/lib/common-bindings/src/index.ts b/lib/common-bindings/src/index.ts index 13e8d91..e2d9160 100644 --- a/lib/common-bindings/src/index.ts +++ b/lib/common-bindings/src/index.ts @@ -1 +1,2 @@ export * from './lib/generator-binding'; +export * from './lib/plugin.interface'; diff --git a/lib/common-bindings/src/lib/plugin.interface.ts b/lib/common-bindings/src/lib/plugin.interface.ts new file mode 100644 index 0000000..b39b838 --- /dev/null +++ b/lib/common-bindings/src/lib/plugin.interface.ts @@ -0,0 +1,7 @@ +export interface IntrigPlugin { + name: string; + bindingModule: any; + bindingService: any; + cliModule: any; + cliService: any; +} From 0882598876d3ab1b09aa5a1b9c9c06a84fbfb20c Mon Sep 17 00:00:00 2001 From: tiran sameera wijesekara Date: Sun, 29 Jun 2025 09:24:28 +0530 Subject: [PATCH 6/6] migrate common to new @intrig/common package --- app/intrig/src/app/deamon/deamon.module.ts | 2 +- .../src/app/deamon/services/search.service.ts | 2 +- app/intrig/tsconfig.app.json | 2 +- app/intrig/tsconfig.json | 2 +- lib/common-bindings/src/index.ts | 32 +++++++++++++++++++ .../src/lib/common.module.ts | 0 .../lib/interfaces/generator-cli.interface.ts | 0 .../src/lib/interfaces/page.interface.ts | 0 .../src/lib/model/common.ts | 0 .../src/lib/model/content-types.ts | 0 .../src/lib/model/event-context.ts | 0 .../src/lib/model/generate-event.ts | 0 .../src/lib/model/intrig-config.ts | 0 .../src/lib/model/intrig-source-config.ts | 0 .../src/lib/model/resource-descriptor.ts | 0 .../src/lib/model/rest-resource-data.ts | 0 .../src/lib/model/schema.ts | 0 .../src/lib/model/sync-event.ts | 0 .../src/lib/package-manager.service.ts | 0 .../src/lib/source-management.service.ts | 0 .../src/lib/spec-management.service.ts | 0 .../src/lib/template/json-literal.ts | 0 .../src/lib/template/md-literal.ts | 0 .../src/lib/template/template-util.ts | 0 .../src/lib/template/ts-literal.ts | 0 .../src/lib/util/change-case.ts | 0 .../src/lib/util/openapi3-diff.spec.ts | 0 .../src/lib/util/openapi3-diff.ts | 0 lib/common/README.md | 3 -- lib/common/package.json | 16 ---------- lib/common/project.json | 9 ------ lib/common/src/index.ts | 32 ------------------- .../src/lib/interfaces/plugin.interface.ts | 7 ---- lib/common/tsconfig.json | 10 ------ lib/common/tsconfig.lib.json | 19 ----------- .../src/lib/templates/docs/react-hook.ts | 2 +- .../templates/intrigMiddleware.template.ts | 2 +- .../controller/method/clientIndex.template.ts | 2 +- .../controller/method/download.template.ts | 2 +- .../controller/method/requestHook.template.ts | 2 +- .../method/requestMethod.template.ts | 2 +- .../controller/method/requestRouteTemplate.ts | 2 +- .../controller/method/serverIndex.template.ts | 2 +- .../lib/templates/source/type/typeTemplate.ts | 2 +- lib/next-binding/tsconfig.json | 1 - lib/next-binding/tsconfig.lib.json | 3 -- lib/openapi-source/src/lib/openapi.service.ts | 4 +-- lib/openapi-source/src/lib/util/normalize.ts | 2 +- lib/openapi-source/tsconfig.json | 1 - lib/openapi-source/tsconfig.lib.json | 3 -- .../src/lib/templates/docs/async-hook.ts | 2 +- .../src/lib/templates/docs/react-hook.ts | 2 +- .../templates/intrigMiddleware.template.ts | 2 +- .../method/asyncFunctionHook.template.ts | 2 +- .../controller/method/clientIndex.template.ts | 2 +- .../controller/method/download.template.ts | 2 +- .../controller/method/requestHook.template.ts | 2 +- .../lib/templates/source/type/typeTemplate.ts | 2 +- lib/react-binding/tsconfig.json | 1 - lib/react-binding/tsconfig.lib.json | 3 -- nx.json | 4 +-- tsconfig.json | 3 -- 62 files changed, 58 insertions(+), 137 deletions(-) rename lib/{common => common-bindings}/src/lib/common.module.ts (100%) rename lib/{common => common-bindings}/src/lib/interfaces/generator-cli.interface.ts (100%) rename lib/{common => common-bindings}/src/lib/interfaces/page.interface.ts (100%) rename lib/{common => common-bindings}/src/lib/model/common.ts (100%) rename lib/{common => common-bindings}/src/lib/model/content-types.ts (100%) rename lib/{common => common-bindings}/src/lib/model/event-context.ts (100%) rename lib/{common => common-bindings}/src/lib/model/generate-event.ts (100%) rename lib/{common => common-bindings}/src/lib/model/intrig-config.ts (100%) rename lib/{common => common-bindings}/src/lib/model/intrig-source-config.ts (100%) rename lib/{common => common-bindings}/src/lib/model/resource-descriptor.ts (100%) rename lib/{common => common-bindings}/src/lib/model/rest-resource-data.ts (100%) rename lib/{common => common-bindings}/src/lib/model/schema.ts (100%) rename lib/{common => common-bindings}/src/lib/model/sync-event.ts (100%) rename lib/{common => common-bindings}/src/lib/package-manager.service.ts (100%) rename lib/{common => common-bindings}/src/lib/source-management.service.ts (100%) rename lib/{common => common-bindings}/src/lib/spec-management.service.ts (100%) rename lib/{common => common-bindings}/src/lib/template/json-literal.ts (100%) rename lib/{common => common-bindings}/src/lib/template/md-literal.ts (100%) rename lib/{common => common-bindings}/src/lib/template/template-util.ts (100%) rename lib/{common => common-bindings}/src/lib/template/ts-literal.ts (100%) rename lib/{common => common-bindings}/src/lib/util/change-case.ts (100%) rename lib/{common => common-bindings}/src/lib/util/openapi3-diff.spec.ts (100%) rename lib/{common => common-bindings}/src/lib/util/openapi3-diff.ts (100%) delete mode 100644 lib/common/README.md delete mode 100644 lib/common/package.json delete mode 100644 lib/common/project.json delete mode 100644 lib/common/src/index.ts delete mode 100644 lib/common/src/lib/interfaces/plugin.interface.ts delete mode 100644 lib/common/tsconfig.json delete mode 100644 lib/common/tsconfig.lib.json diff --git a/app/intrig/src/app/deamon/deamon.module.ts b/app/intrig/src/app/deamon/deamon.module.ts index 4cad250..ff23b9a 100644 --- a/app/intrig/src/app/deamon/deamon.module.ts +++ b/app/intrig/src/app/deamon/deamon.module.ts @@ -1,6 +1,6 @@ import { Module } from '@nestjs/common'; import { SourcesController } from './controllers/sources.controller'; -import { CommonModule } from 'common'; +import { CommonModule } from '@intrig/common'; import { IntrigConfigService } from './services/intrig-config.service'; import { OpenapiService } from './services/openapi.service'; import { OperationsController } from './controllers/operations.controller'; diff --git a/app/intrig/src/app/deamon/services/search.service.ts b/app/intrig/src/app/deamon/services/search.service.ts index d68fa49..258baba 100644 --- a/app/intrig/src/app/deamon/services/search.service.ts +++ b/app/intrig/src/app/deamon/services/search.service.ts @@ -1,6 +1,6 @@ import {Injectable, OnModuleInit} from '@nestjs/common'; import MiniSearch from 'minisearch'; -import {isRestDescriptor, isSchemaDescriptor, ResourceDescriptor, RestData, Schema} from 'common'; +import {isRestDescriptor, isSchemaDescriptor, ResourceDescriptor, RestData, Schema} from '@intrig/common'; import {IntrigConfigService} from "./intrig-config.service"; import {IntrigOpenapiService} from "openapi-source"; import {SourceStats} from "../models/source-stats"; diff --git a/app/intrig/tsconfig.app.json b/app/intrig/tsconfig.app.json index e51c79d..349fa90 100644 --- a/app/intrig/tsconfig.app.json +++ b/app/intrig/tsconfig.app.json @@ -28,7 +28,7 @@ "path": "../../lib/next-binding/tsconfig.lib.json" }, { - "path": "../../lib/common/tsconfig.lib.json" + "path": "../../lib/common-bindings/tsconfig.lib.json" } ] } diff --git a/app/intrig/tsconfig.json b/app/intrig/tsconfig.json index 2df6c3b..1641c2c 100644 --- a/app/intrig/tsconfig.json +++ b/app/intrig/tsconfig.json @@ -13,7 +13,7 @@ "path": "../../lib/next-binding" }, { - "path": "../../lib/common" + "path": "../../lib/common-bindings" }, { "path": "./tsconfig.app.json" diff --git a/lib/common-bindings/src/index.ts b/lib/common-bindings/src/index.ts index e2d9160..c637139 100644 --- a/lib/common-bindings/src/index.ts +++ b/lib/common-bindings/src/index.ts @@ -1,2 +1,34 @@ export * from './lib/generator-binding'; export * from './lib/plugin.interface'; + +// Common +export * from './lib/common.module'; +export * from './lib/spec-management.service'; +export * from './lib/source-management.service'; +export * from './lib/package-manager.service'; + +// Interfaces +export * from './lib/interfaces/generator-cli.interface'; +export * from './lib/interfaces/page.interface'; + +// Models +export * from './lib/model/content-types'; +export * from './lib/model/generate-event'; +export * from './lib/model/intrig-config'; +export * from './lib/model/intrig-source-config'; +export * from './lib/model/resource-descriptor'; +export * from './lib/model/rest-resource-data'; +export * from './lib/model/schema'; +export * from './lib/model/sync-event'; +export * from './lib/model/event-context'; +export * from './lib/model/common'; + +// Templates +export * from './lib/template/json-literal'; +export * from './lib/template/template-util'; +export * from './lib/template/ts-literal'; +export * from './lib/template/md-literal'; + +// Utils +export * from './lib/util/change-case'; +export type { Differences } from './lib/util/openapi3-diff'; diff --git a/lib/common/src/lib/common.module.ts b/lib/common-bindings/src/lib/common.module.ts similarity index 100% rename from lib/common/src/lib/common.module.ts rename to lib/common-bindings/src/lib/common.module.ts diff --git a/lib/common/src/lib/interfaces/generator-cli.interface.ts b/lib/common-bindings/src/lib/interfaces/generator-cli.interface.ts similarity index 100% rename from lib/common/src/lib/interfaces/generator-cli.interface.ts rename to lib/common-bindings/src/lib/interfaces/generator-cli.interface.ts diff --git a/lib/common/src/lib/interfaces/page.interface.ts b/lib/common-bindings/src/lib/interfaces/page.interface.ts similarity index 100% rename from lib/common/src/lib/interfaces/page.interface.ts rename to lib/common-bindings/src/lib/interfaces/page.interface.ts diff --git a/lib/common/src/lib/model/common.ts b/lib/common-bindings/src/lib/model/common.ts similarity index 100% rename from lib/common/src/lib/model/common.ts rename to lib/common-bindings/src/lib/model/common.ts diff --git a/lib/common/src/lib/model/content-types.ts b/lib/common-bindings/src/lib/model/content-types.ts similarity index 100% rename from lib/common/src/lib/model/content-types.ts rename to lib/common-bindings/src/lib/model/content-types.ts diff --git a/lib/common/src/lib/model/event-context.ts b/lib/common-bindings/src/lib/model/event-context.ts similarity index 100% rename from lib/common/src/lib/model/event-context.ts rename to lib/common-bindings/src/lib/model/event-context.ts diff --git a/lib/common/src/lib/model/generate-event.ts b/lib/common-bindings/src/lib/model/generate-event.ts similarity index 100% rename from lib/common/src/lib/model/generate-event.ts rename to lib/common-bindings/src/lib/model/generate-event.ts diff --git a/lib/common/src/lib/model/intrig-config.ts b/lib/common-bindings/src/lib/model/intrig-config.ts similarity index 100% rename from lib/common/src/lib/model/intrig-config.ts rename to lib/common-bindings/src/lib/model/intrig-config.ts diff --git a/lib/common/src/lib/model/intrig-source-config.ts b/lib/common-bindings/src/lib/model/intrig-source-config.ts similarity index 100% rename from lib/common/src/lib/model/intrig-source-config.ts rename to lib/common-bindings/src/lib/model/intrig-source-config.ts diff --git a/lib/common/src/lib/model/resource-descriptor.ts b/lib/common-bindings/src/lib/model/resource-descriptor.ts similarity index 100% rename from lib/common/src/lib/model/resource-descriptor.ts rename to lib/common-bindings/src/lib/model/resource-descriptor.ts diff --git a/lib/common/src/lib/model/rest-resource-data.ts b/lib/common-bindings/src/lib/model/rest-resource-data.ts similarity index 100% rename from lib/common/src/lib/model/rest-resource-data.ts rename to lib/common-bindings/src/lib/model/rest-resource-data.ts diff --git a/lib/common/src/lib/model/schema.ts b/lib/common-bindings/src/lib/model/schema.ts similarity index 100% rename from lib/common/src/lib/model/schema.ts rename to lib/common-bindings/src/lib/model/schema.ts diff --git a/lib/common/src/lib/model/sync-event.ts b/lib/common-bindings/src/lib/model/sync-event.ts similarity index 100% rename from lib/common/src/lib/model/sync-event.ts rename to lib/common-bindings/src/lib/model/sync-event.ts diff --git a/lib/common/src/lib/package-manager.service.ts b/lib/common-bindings/src/lib/package-manager.service.ts similarity index 100% rename from lib/common/src/lib/package-manager.service.ts rename to lib/common-bindings/src/lib/package-manager.service.ts diff --git a/lib/common/src/lib/source-management.service.ts b/lib/common-bindings/src/lib/source-management.service.ts similarity index 100% rename from lib/common/src/lib/source-management.service.ts rename to lib/common-bindings/src/lib/source-management.service.ts diff --git a/lib/common/src/lib/spec-management.service.ts b/lib/common-bindings/src/lib/spec-management.service.ts similarity index 100% rename from lib/common/src/lib/spec-management.service.ts rename to lib/common-bindings/src/lib/spec-management.service.ts diff --git a/lib/common/src/lib/template/json-literal.ts b/lib/common-bindings/src/lib/template/json-literal.ts similarity index 100% rename from lib/common/src/lib/template/json-literal.ts rename to lib/common-bindings/src/lib/template/json-literal.ts diff --git a/lib/common/src/lib/template/md-literal.ts b/lib/common-bindings/src/lib/template/md-literal.ts similarity index 100% rename from lib/common/src/lib/template/md-literal.ts rename to lib/common-bindings/src/lib/template/md-literal.ts diff --git a/lib/common/src/lib/template/template-util.ts b/lib/common-bindings/src/lib/template/template-util.ts similarity index 100% rename from lib/common/src/lib/template/template-util.ts rename to lib/common-bindings/src/lib/template/template-util.ts diff --git a/lib/common/src/lib/template/ts-literal.ts b/lib/common-bindings/src/lib/template/ts-literal.ts similarity index 100% rename from lib/common/src/lib/template/ts-literal.ts rename to lib/common-bindings/src/lib/template/ts-literal.ts diff --git a/lib/common/src/lib/util/change-case.ts b/lib/common-bindings/src/lib/util/change-case.ts similarity index 100% rename from lib/common/src/lib/util/change-case.ts rename to lib/common-bindings/src/lib/util/change-case.ts diff --git a/lib/common/src/lib/util/openapi3-diff.spec.ts b/lib/common-bindings/src/lib/util/openapi3-diff.spec.ts similarity index 100% rename from lib/common/src/lib/util/openapi3-diff.spec.ts rename to lib/common-bindings/src/lib/util/openapi3-diff.spec.ts diff --git a/lib/common/src/lib/util/openapi3-diff.ts b/lib/common-bindings/src/lib/util/openapi3-diff.ts similarity index 100% rename from lib/common/src/lib/util/openapi3-diff.ts rename to lib/common-bindings/src/lib/util/openapi3-diff.ts diff --git a/lib/common/README.md b/lib/common/README.md deleted file mode 100644 index bd2c68a..0000000 --- a/lib/common/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# common - -This library was generated with [Nx](https://nx.dev). diff --git a/lib/common/package.json b/lib/common/package.json deleted file mode 100644 index d59c196..0000000 --- a/lib/common/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "common", - "version": "0.0.1", - "private": true, - "main": "./src/index.ts", - "types": "./src/index.ts", - "exports": { - ".": { - "types": "./src/index.ts", - "import": "./src/index.ts", - "default": "./src/index.ts" - }, - "./package.json": "./package.json" - }, - "dependencies": {} -} diff --git a/lib/common/project.json b/lib/common/project.json deleted file mode 100644 index 1401626..0000000 --- a/lib/common/project.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "common", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "lib/common/src", - "projectType": "library", - "tags": [], - "// targets": "to see all targets run: nx show project common --web", - "targets": {} -} diff --git a/lib/common/src/index.ts b/lib/common/src/index.ts deleted file mode 100644 index 66d9518..0000000 --- a/lib/common/src/index.ts +++ /dev/null @@ -1,32 +0,0 @@ -// Common -export * from './lib/common.module'; -export * from './lib/spec-management.service'; -export * from './lib/source-management.service'; -export * from './lib/package-manager.service'; - -// Interfaces -export * from './lib/interfaces/generator-cli.interface' -export * from './lib/interfaces/plugin.interface' -export * from './lib/interfaces/page.interface' - -// Models -export * from './lib/model/content-types'; -export * from './lib/model/generate-event'; -export * from './lib/model/intrig-config'; -export * from './lib/model/intrig-source-config'; -export * from './lib/model/resource-descriptor'; -export * from './lib/model/rest-resource-data'; -export * from './lib/model/schema'; -export * from './lib/model/sync-event'; -export * from './lib/model/event-context'; -export * from './lib/model/common'; - -// Templates -export * from './lib/template/json-literal'; -export * from './lib/template/template-util'; -export * from './lib/template/ts-literal'; -export * from './lib/template/md-literal'; - -// Utils -export * from './lib/util/change-case'; -export type { Differences } from './lib/util/openapi3-diff' \ No newline at end of file diff --git a/lib/common/src/lib/interfaces/plugin.interface.ts b/lib/common/src/lib/interfaces/plugin.interface.ts deleted file mode 100644 index b39b838..0000000 --- a/lib/common/src/lib/interfaces/plugin.interface.ts +++ /dev/null @@ -1,7 +0,0 @@ -export interface IntrigPlugin { - name: string; - bindingModule: any; - bindingService: any; - cliModule: any; - cliService: any; -} diff --git a/lib/common/tsconfig.json b/lib/common/tsconfig.json deleted file mode 100644 index c23e61c..0000000 --- a/lib/common/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "files": [], - "include": [], - "references": [ - { - "path": "./tsconfig.lib.json" - } - ] -} diff --git a/lib/common/tsconfig.lib.json b/lib/common/tsconfig.lib.json deleted file mode 100644 index ce791c3..0000000 --- a/lib/common/tsconfig.lib.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "baseUrl": ".", - "rootDir": "src", - "outDir": "dist", - "tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo", - "emitDeclarationOnly": true, - "forceConsistentCasingInFileNames": true, - "types": ["node"], - "target": "es2021", - "strictNullChecks": true, - "noImplicitAny": true, - "strictBindCallApply": true, - "noFallthroughCasesInSwitch": true - }, - "include": ["src/**/*.ts"], - "references": [] -} diff --git a/lib/next-binding/src/lib/templates/docs/react-hook.ts b/lib/next-binding/src/lib/templates/docs/react-hook.ts index df37892..25e0b0c 100644 --- a/lib/next-binding/src/lib/templates/docs/react-hook.ts +++ b/lib/next-binding/src/lib/templates/docs/react-hook.ts @@ -1,4 +1,4 @@ -import {camelCase, mdLiteral, pascalCase, ResourceDescriptor, RestData} from 'common' +import {camelCase, mdLiteral, pascalCase, ResourceDescriptor, RestData} from '@intrig/common' export function reactHookDocs(descriptor: ResourceDescriptor) { const md = mdLiteral('react-hook.md') diff --git a/lib/next-binding/src/lib/templates/intrigMiddleware.template.ts b/lib/next-binding/src/lib/templates/intrigMiddleware.template.ts index 06412f8..1ab31f7 100644 --- a/lib/next-binding/src/lib/templates/intrigMiddleware.template.ts +++ b/lib/next-binding/src/lib/templates/intrigMiddleware.template.ts @@ -1,4 +1,4 @@ -import { typescript } from 'common'; +import { typescript } from '@intrig/common'; import * as path from 'path' export function intrigMiddlewareTemplate(_path: string) { diff --git a/lib/next-binding/src/lib/templates/source/controller/method/clientIndex.template.ts b/lib/next-binding/src/lib/templates/source/controller/method/clientIndex.template.ts index d3d9652..3e7f813 100644 --- a/lib/next-binding/src/lib/templates/source/controller/method/clientIndex.template.ts +++ b/lib/next-binding/src/lib/templates/source/controller/method/clientIndex.template.ts @@ -1,7 +1,7 @@ import { camelCase, ResourceDescriptor, RestData, typescript -} from 'common'; +} from '@intrig/common'; import * as path from 'path' import * as _ from "lodash"; diff --git a/lib/next-binding/src/lib/templates/source/controller/method/download.template.ts b/lib/next-binding/src/lib/templates/source/controller/method/download.template.ts index 102ad58..818d9f2 100644 --- a/lib/next-binding/src/lib/templates/source/controller/method/download.template.ts +++ b/lib/next-binding/src/lib/templates/source/controller/method/download.template.ts @@ -4,7 +4,7 @@ import { pascalCase, ResourceDescriptor, RestData, typescript -} from 'common'; +} from '@intrig/common'; import path from 'path'; export function downloadHookTemplate( diff --git a/lib/next-binding/src/lib/templates/source/controller/method/requestHook.template.ts b/lib/next-binding/src/lib/templates/source/controller/method/requestHook.template.ts index 3ae290e..12b4fab 100644 --- a/lib/next-binding/src/lib/templates/source/controller/method/requestHook.template.ts +++ b/lib/next-binding/src/lib/templates/source/controller/method/requestHook.template.ts @@ -4,7 +4,7 @@ import { pascalCase, ResourceDescriptor, RestData, typescript, Variable -} from 'common'; +} from '@intrig/common'; import path from 'path'; function extractHookShapeAndOptionsShape(response: string | undefined, requestBody: string | undefined, imports: Set) { diff --git a/lib/next-binding/src/lib/templates/source/controller/method/requestMethod.template.ts b/lib/next-binding/src/lib/templates/source/controller/method/requestMethod.template.ts index 79c956e..04bf941 100644 --- a/lib/next-binding/src/lib/templates/source/controller/method/requestMethod.template.ts +++ b/lib/next-binding/src/lib/templates/source/controller/method/requestMethod.template.ts @@ -4,7 +4,7 @@ import { pascalCase, ResourceDescriptor, RestData, typescript, Variable -} from 'common'; +} from '@intrig/common'; import path from 'path'; function extractParamDeconstruction(variables: Variable[] | undefined, requestBody: string | undefined) { diff --git a/lib/next-binding/src/lib/templates/source/controller/method/requestRouteTemplate.ts b/lib/next-binding/src/lib/templates/source/controller/method/requestRouteTemplate.ts index 2e2d2b0..ae802f6 100644 --- a/lib/next-binding/src/lib/templates/source/controller/method/requestRouteTemplate.ts +++ b/lib/next-binding/src/lib/templates/source/controller/method/requestRouteTemplate.ts @@ -4,7 +4,7 @@ import { pascalCase, ResourceDescriptor, RestData, typescript -} from 'common'; +} from '@intrig/common'; import * as path from "path"; export async function requestRouteTemplate(requestUrl: string, paths: ResourceDescriptor[], _path: string) { diff --git a/lib/next-binding/src/lib/templates/source/controller/method/serverIndex.template.ts b/lib/next-binding/src/lib/templates/source/controller/method/serverIndex.template.ts index a7e72b8..8ef1519 100644 --- a/lib/next-binding/src/lib/templates/source/controller/method/serverIndex.template.ts +++ b/lib/next-binding/src/lib/templates/source/controller/method/serverIndex.template.ts @@ -1,7 +1,7 @@ import { camelCase, ResourceDescriptor, RestData, typescript -} from 'common'; +} from '@intrig/common'; import * as path from 'path' import * as _ from "lodash"; diff --git a/lib/next-binding/src/lib/templates/source/type/typeTemplate.ts b/lib/next-binding/src/lib/templates/source/type/typeTemplate.ts index 5b91590..0ec3197 100644 --- a/lib/next-binding/src/lib/templates/source/type/typeTemplate.ts +++ b/lib/next-binding/src/lib/templates/source/type/typeTemplate.ts @@ -1,5 +1,5 @@ import { OpenAPIV3_1 } from 'openapi-types'; -import { jsonLiteral, typescript } from 'common'; +import { jsonLiteral, typescript } from '@intrig/common'; import * as path from 'path' export interface TypeTemplateParams { diff --git a/lib/next-binding/tsconfig.json b/lib/next-binding/tsconfig.json index 410ea7d..7ce0fe1 100644 --- a/lib/next-binding/tsconfig.json +++ b/lib/next-binding/tsconfig.json @@ -3,7 +3,6 @@ "files": [], "include": [], "references": [ - {"path": "../common"}, {"path": "../common-bindings"}, {"path": "./tsconfig.lib.json"} ] diff --git a/lib/next-binding/tsconfig.lib.json b/lib/next-binding/tsconfig.lib.json index 6066f22..ff316d6 100644 --- a/lib/next-binding/tsconfig.lib.json +++ b/lib/next-binding/tsconfig.lib.json @@ -16,9 +16,6 @@ }, "include": ["src/**/*.ts"], "references": [ - { - "path": "../common/tsconfig.lib.json" - }, {"path": "../common-bindings/tsconfig.lib.json"} ] } diff --git a/lib/openapi-source/src/lib/openapi.service.ts b/lib/openapi-source/src/lib/openapi.service.ts index 0255997..4609dcf 100644 --- a/lib/openapi-source/src/lib/openapi.service.ts +++ b/lib/openapi-source/src/lib/openapi.service.ts @@ -1,5 +1,5 @@ import {Injectable, Logger} from '@nestjs/common'; -import type {IIntrigSourceConfig, RestOptions} from 'common' +import type {IIntrigSourceConfig, RestOptions} from '@intrig/common' import * as crypto from 'crypto'; import { camelCase, @@ -10,7 +10,7 @@ import { SpecManagementService, SyncEventContext, WithStatus -} from 'common' +} from '@intrig/common' import {lastValueFrom} from "rxjs"; import {HttpService} from "@nestjs/axios"; import {load as yamlLoad} from "js-yaml"; diff --git a/lib/openapi-source/src/lib/util/normalize.ts b/lib/openapi-source/src/lib/util/normalize.ts index 268f722..a496798 100644 --- a/lib/openapi-source/src/lib/util/normalize.ts +++ b/lib/openapi-source/src/lib/util/normalize.ts @@ -1,6 +1,6 @@ import {OpenAPIV3, OpenAPIV3_1} from "openapi-types"; import {produce} from 'immer' -import {pascalCase, camelCase} from 'common' +import {pascalCase, camelCase} from '@intrig/common' import ReferenceObject = OpenAPIV3.ReferenceObject; import ExampleObject = OpenAPIV3_1.ExampleObject; import {deref, isRef} from "./ref-management"; diff --git a/lib/openapi-source/tsconfig.json b/lib/openapi-source/tsconfig.json index 410ea7d..7ce0fe1 100644 --- a/lib/openapi-source/tsconfig.json +++ b/lib/openapi-source/tsconfig.json @@ -3,7 +3,6 @@ "files": [], "include": [], "references": [ - {"path": "../common"}, {"path": "../common-bindings"}, {"path": "./tsconfig.lib.json"} ] diff --git a/lib/openapi-source/tsconfig.lib.json b/lib/openapi-source/tsconfig.lib.json index 6066f22..ff316d6 100644 --- a/lib/openapi-source/tsconfig.lib.json +++ b/lib/openapi-source/tsconfig.lib.json @@ -16,9 +16,6 @@ }, "include": ["src/**/*.ts"], "references": [ - { - "path": "../common/tsconfig.lib.json" - }, {"path": "../common-bindings/tsconfig.lib.json"} ] } diff --git a/lib/react-binding/src/lib/templates/docs/async-hook.ts b/lib/react-binding/src/lib/templates/docs/async-hook.ts index 5460960..48271e9 100644 --- a/lib/react-binding/src/lib/templates/docs/async-hook.ts +++ b/lib/react-binding/src/lib/templates/docs/async-hook.ts @@ -1,4 +1,4 @@ -import {camelCase, mdLiteral, pascalCase, ResourceDescriptor, RestData} from 'common' +import {camelCase, mdLiteral, pascalCase, ResourceDescriptor, RestData} from '@intrig/common' export function asyncFunctionHookDocs(descriptor: ResourceDescriptor) { const md = mdLiteral('async-hook.md') diff --git a/lib/react-binding/src/lib/templates/docs/react-hook.ts b/lib/react-binding/src/lib/templates/docs/react-hook.ts index 56b66be..c0adb86 100644 --- a/lib/react-binding/src/lib/templates/docs/react-hook.ts +++ b/lib/react-binding/src/lib/templates/docs/react-hook.ts @@ -1,4 +1,4 @@ -import {camelCase, mdLiteral, pascalCase, ResourceDescriptor, RestData} from 'common' +import {camelCase, mdLiteral, pascalCase, ResourceDescriptor, RestData} from '@intrig/common' export function reactHookDocs(descriptor: ResourceDescriptor) { const md = mdLiteral('react-hook.md') diff --git a/lib/react-binding/src/lib/templates/intrigMiddleware.template.ts b/lib/react-binding/src/lib/templates/intrigMiddleware.template.ts index 46b0dde..a2af239 100644 --- a/lib/react-binding/src/lib/templates/intrigMiddleware.template.ts +++ b/lib/react-binding/src/lib/templates/intrigMiddleware.template.ts @@ -1,4 +1,4 @@ -import { typescript } from 'common'; +import { typescript } from '@intrig/common'; import * as path from 'path' export function intrigMiddlewareTemplate(_path: string) { diff --git a/lib/react-binding/src/lib/templates/source/controller/method/asyncFunctionHook.template.ts b/lib/react-binding/src/lib/templates/source/controller/method/asyncFunctionHook.template.ts index 7ce4d1c..98443ea 100644 --- a/lib/react-binding/src/lib/templates/source/controller/method/asyncFunctionHook.template.ts +++ b/lib/react-binding/src/lib/templates/source/controller/method/asyncFunctionHook.template.ts @@ -4,7 +4,7 @@ import { pascalCase, ResourceDescriptor, RestData, typescript, Variable -} from 'common'; +} from '@intrig/common'; import * as path from 'path'; function extractAsyncHookShape(response: string | undefined, requestBody: string | undefined, imports: Set) { diff --git a/lib/react-binding/src/lib/templates/source/controller/method/clientIndex.template.ts b/lib/react-binding/src/lib/templates/source/controller/method/clientIndex.template.ts index 96a6bca..5ce7b74 100644 --- a/lib/react-binding/src/lib/templates/source/controller/method/clientIndex.template.ts +++ b/lib/react-binding/src/lib/templates/source/controller/method/clientIndex.template.ts @@ -4,7 +4,7 @@ import { pascalCase, ResourceDescriptor, RestData, typescript -} from 'common'; +} from '@intrig/common'; import * as path from 'path' export async function clientIndexTemplate(descriptors: ResourceDescriptor[], _path: string) { diff --git a/lib/react-binding/src/lib/templates/source/controller/method/download.template.ts b/lib/react-binding/src/lib/templates/source/controller/method/download.template.ts index 6303cc3..f534421 100644 --- a/lib/react-binding/src/lib/templates/source/controller/method/download.template.ts +++ b/lib/react-binding/src/lib/templates/source/controller/method/download.template.ts @@ -4,7 +4,7 @@ import { pascalCase, ResourceDescriptor, RestData, typescript, Variable -} from 'common'; +} from '@intrig/common'; import * as path from 'path'; function extractHookShapeAndOptionsShape(response: string | undefined, requestBody: string | undefined, imports: Set) { diff --git a/lib/react-binding/src/lib/templates/source/controller/method/requestHook.template.ts b/lib/react-binding/src/lib/templates/source/controller/method/requestHook.template.ts index 4897aab..7973c8b 100644 --- a/lib/react-binding/src/lib/templates/source/controller/method/requestHook.template.ts +++ b/lib/react-binding/src/lib/templates/source/controller/method/requestHook.template.ts @@ -4,7 +4,7 @@ import { pascalCase, ResourceDescriptor, RestData, typescript, Variable -} from 'common'; +} from '@intrig/common'; import * as path from 'path'; function extractHookShapeAndOptionsShape(response: string | undefined, requestBody: string | undefined, imports: Set) { diff --git a/lib/react-binding/src/lib/templates/source/type/typeTemplate.ts b/lib/react-binding/src/lib/templates/source/type/typeTemplate.ts index b5cbf5f..e558d1c 100644 --- a/lib/react-binding/src/lib/templates/source/type/typeTemplate.ts +++ b/lib/react-binding/src/lib/templates/source/type/typeTemplate.ts @@ -1,5 +1,5 @@ import { OpenAPIV3_1 } from 'openapi-types'; -import { jsonLiteral, typescript } from 'common'; +import { jsonLiteral, typescript } from '@intrig/common'; import * as path from 'path' export interface SchemaConversionResult { diff --git a/lib/react-binding/tsconfig.json b/lib/react-binding/tsconfig.json index 410ea7d..7ce0fe1 100644 --- a/lib/react-binding/tsconfig.json +++ b/lib/react-binding/tsconfig.json @@ -3,7 +3,6 @@ "files": [], "include": [], "references": [ - {"path": "../common"}, {"path": "../common-bindings"}, {"path": "./tsconfig.lib.json"} ] diff --git a/lib/react-binding/tsconfig.lib.json b/lib/react-binding/tsconfig.lib.json index 6066f22..ff316d6 100644 --- a/lib/react-binding/tsconfig.lib.json +++ b/lib/react-binding/tsconfig.lib.json @@ -16,9 +16,6 @@ }, "include": ["src/**/*.ts"], "references": [ - { - "path": "../common/tsconfig.lib.json" - }, {"path": "../common-bindings/tsconfig.lib.json"} ] } diff --git a/nx.json b/nx.json index b1ecf64..d07c671 100644 --- a/nx.json +++ b/nx.json @@ -39,7 +39,7 @@ "lib/next-binding/*", "lib/openapi-source/*", "lib/shared/*", - "lib/common/*" + "lib/common-bindings/*" ] }, { @@ -75,7 +75,7 @@ "lib/next-binding/*", "lib/openapi-source/*", "lib/shared/*", - "lib/common/*" + "lib/common-bindings/*" ], "options": { "typecheck": { diff --git a/tsconfig.json b/tsconfig.json index 23884c4..faab1ee 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,9 +16,6 @@ { "path": "./lib/openapi-source" }, - { - "path": "./lib/common" - }, { "path": "./lib/react-client" },