@frontmcp/nx 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +135 -0
- package/executors/build/build.impl.d.ts +5 -0
- package/executors/build/build.impl.js +27 -0
- package/executors/build/build.impl.js.map +1 -0
- package/executors/build/schema.d.ts +5 -0
- package/executors/build/schema.js +3 -0
- package/executors/build/schema.js.map +1 -0
- package/executors/build/schema.json +22 -0
- package/executors/build-exec/build-exec.impl.d.ts +5 -0
- package/executors/build-exec/build-exec.impl.js +25 -0
- package/executors/build-exec/build-exec.impl.js.map +1 -0
- package/executors/build-exec/schema.d.ts +4 -0
- package/executors/build-exec/schema.js +3 -0
- package/executors/build-exec/schema.js.map +1 -0
- package/executors/build-exec/schema.json +11 -0
- package/executors/deploy/deploy.impl.d.ts +5 -0
- package/executors/deploy/deploy.impl.js +33 -0
- package/executors/deploy/deploy.impl.js.map +1 -0
- package/executors/deploy/schema.d.ts +3 -0
- package/executors/deploy/schema.js +3 -0
- package/executors/deploy/schema.js.map +1 -0
- package/executors/deploy/schema.json +14 -0
- package/executors/dev/dev.impl.d.ts +6 -0
- package/executors/dev/dev.impl.js +30 -0
- package/executors/dev/dev.impl.js.map +1 -0
- package/executors/dev/schema.d.ts +4 -0
- package/executors/dev/schema.js +3 -0
- package/executors/dev/schema.js.map +1 -0
- package/executors/dev/schema.json +11 -0
- package/executors/executor-context.d.ts +19 -0
- package/executors/executor-context.js +3 -0
- package/executors/executor-context.js.map +1 -0
- package/executors/inspector/inspector.impl.d.ts +5 -0
- package/executors/inspector/inspector.impl.js +28 -0
- package/executors/inspector/inspector.impl.js.map +1 -0
- package/executors/inspector/schema.d.ts +3 -0
- package/executors/inspector/schema.js +3 -0
- package/executors/inspector/schema.js.map +1 -0
- package/executors/inspector/schema.json +10 -0
- package/executors/serve/schema.d.ts +5 -0
- package/executors/serve/schema.js +3 -0
- package/executors/serve/schema.js.map +1 -0
- package/executors/serve/schema.json +12 -0
- package/executors/serve/serve.impl.d.ts +5 -0
- package/executors/serve/serve.impl.js +34 -0
- package/executors/serve/serve.impl.js.map +1 -0
- package/executors/test/schema.d.ts +7 -0
- package/executors/test/schema.js +3 -0
- package/executors/test/schema.js.map +1 -0
- package/executors/test/schema.json +14 -0
- package/executors/test/test.impl.d.ts +5 -0
- package/executors/test/test.impl.js +31 -0
- package/executors/test/test.impl.js.map +1 -0
- package/executors.json +39 -0
- package/generators/adapter/adapter.d.ts +4 -0
- package/generators/adapter/adapter.js +18 -0
- package/generators/adapter/adapter.js.map +1 -0
- package/generators/adapter/files/__fileName__.adapter.ts__tmpl__ +20 -0
- package/generators/adapter/schema.d.ts +6 -0
- package/generators/adapter/schema.js +3 -0
- package/generators/adapter/schema.js.map +1 -0
- package/generators/adapter/schema.json +32 -0
- package/generators/agent/agent.d.ts +4 -0
- package/generators/agent/agent.js +27 -0
- package/generators/agent/agent.js.map +1 -0
- package/generators/agent/files/__fileName__.agent.ts__tmpl__ +17 -0
- package/generators/agent/schema.d.ts +8 -0
- package/generators/agent/schema.js +3 -0
- package/generators/agent/schema.js.map +1 -0
- package/generators/agent/schema.json +41 -0
- package/generators/app/app.d.ts +4 -0
- package/generators/app/app.js +21 -0
- package/generators/app/app.js.map +1 -0
- package/generators/app/files/jest.config.ts__tmpl__ +21 -0
- package/generators/app/files/project.json__tmpl__ +37 -0
- package/generators/app/files/src/__fileName__.app.ts__tmpl__ +9 -0
- package/generators/app/files/src/main.ts__tmpl__ +9 -0
- package/generators/app/files/src/tools/hello.tool.ts__tmpl__ +14 -0
- package/generators/app/files/tsconfig.json__tmpl__ +17 -0
- package/generators/app/files/tsconfig.lib.json__tmpl__ +11 -0
- package/generators/app/files/tsconfig.spec.json__tmpl__ +10 -0
- package/generators/app/lib/index.d.ts +2 -0
- package/generators/app/lib/index.js +6 -0
- package/generators/app/lib/index.js.map +1 -0
- package/generators/app/lib/normalize-options.d.ts +12 -0
- package/generators/app/lib/normalize-options.js +20 -0
- package/generators/app/lib/normalize-options.js.map +1 -0
- package/generators/app/schema.d.ts +6 -0
- package/generators/app/schema.js +3 -0
- package/generators/app/schema.js.map +1 -0
- package/generators/app/schema.json +33 -0
- package/generators/auth-provider/auth-provider.d.ts +4 -0
- package/generators/auth-provider/auth-provider.js +22 -0
- package/generators/auth-provider/auth-provider.js.map +1 -0
- package/generators/auth-provider/files/__fileName__.auth-provider.ts__tmpl__ +27 -0
- package/generators/auth-provider/schema.d.ts +7 -0
- package/generators/auth-provider/schema.js +3 -0
- package/generators/auth-provider/schema.js.map +1 -0
- package/generators/auth-provider/schema.json +50 -0
- package/generators/flow/files/__fileName__.flow.ts__tmpl__ +31 -0
- package/generators/flow/flow.d.ts +4 -0
- package/generators/flow/flow.js +18 -0
- package/generators/flow/flow.js.map +1 -0
- package/generators/flow/schema.d.ts +6 -0
- package/generators/flow/schema.js +3 -0
- package/generators/flow/schema.js.map +1 -0
- package/generators/flow/schema.json +32 -0
- package/generators/job/files/__fileName__.job.ts__tmpl__ +19 -0
- package/generators/job/job.d.ts +4 -0
- package/generators/job/job.js +18 -0
- package/generators/job/job.js.map +1 -0
- package/generators/job/schema.d.ts +6 -0
- package/generators/job/schema.js +3 -0
- package/generators/job/schema.js.map +1 -0
- package/generators/job/schema.json +32 -0
- package/generators/lib/files/adapter/src/__fileName__.adapter.ts__tmpl__ +19 -0
- package/generators/lib/files/adapter/src/index.ts__tmpl__ +1 -0
- package/generators/lib/files/generic/src/__fileName__.ts__tmpl__ +5 -0
- package/generators/lib/files/generic/src/index.ts__tmpl__ +1 -0
- package/generators/lib/files/plugin/src/__fileName__.plugin.ts__tmpl__ +19 -0
- package/generators/lib/files/plugin/src/index.ts__tmpl__ +1 -0
- package/generators/lib/files/tool-register/src/__fileName__.tools.ts__tmpl__ +20 -0
- package/generators/lib/files/tool-register/src/index.ts__tmpl__ +1 -0
- package/generators/lib/lib/index.d.ts +2 -0
- package/generators/lib/lib/index.js +6 -0
- package/generators/lib/lib/index.js.map +1 -0
- package/generators/lib/lib/normalize-options.d.ts +15 -0
- package/generators/lib/lib/normalize-options.js +31 -0
- package/generators/lib/lib/normalize-options.js.map +1 -0
- package/generators/lib/lib.d.ts +4 -0
- package/generators/lib/lib.js +37 -0
- package/generators/lib/lib.js.map +1 -0
- package/generators/lib/schema.d.ts +9 -0
- package/generators/lib/schema.js +3 -0
- package/generators/lib/schema.js.map +1 -0
- package/generators/lib/schema.json +59 -0
- package/generators/plugin/files/__fileName__.context-extension.ts__tmpl__ +33 -0
- package/generators/plugin/files/__fileName__.plugin.ts__tmpl__ +19 -0
- package/generators/plugin/plugin.d.ts +4 -0
- package/generators/plugin/plugin.js +29 -0
- package/generators/plugin/plugin.js.map +1 -0
- package/generators/plugin/schema.d.ts +7 -0
- package/generators/plugin/schema.js +3 -0
- package/generators/plugin/schema.js.map +1 -0
- package/generators/plugin/schema.json +37 -0
- package/generators/prompt/files/__fileName__.prompt.ts__tmpl__ +25 -0
- package/generators/prompt/prompt.d.ts +4 -0
- package/generators/prompt/prompt.js +25 -0
- package/generators/prompt/prompt.js.map +1 -0
- package/generators/prompt/schema.d.ts +7 -0
- package/generators/prompt/schema.js +3 -0
- package/generators/prompt/schema.js.map +1 -0
- package/generators/prompt/schema.json +36 -0
- package/generators/provider/files/__fileName__.provider.ts__tmpl__ +15 -0
- package/generators/provider/provider.d.ts +4 -0
- package/generators/provider/provider.js +22 -0
- package/generators/provider/provider.js.map +1 -0
- package/generators/provider/schema.d.ts +7 -0
- package/generators/provider/schema.js +3 -0
- package/generators/provider/schema.js.map +1 -0
- package/generators/provider/schema.json +38 -0
- package/generators/resource/files/__fileName__.resource.ts__tmpl__ +43 -0
- package/generators/resource/resource.d.ts +4 -0
- package/generators/resource/resource.js +20 -0
- package/generators/resource/resource.js.map +1 -0
- package/generators/resource/schema.d.ts +7 -0
- package/generators/resource/schema.js +3 -0
- package/generators/resource/schema.js.map +1 -0
- package/generators/resource/schema.json +37 -0
- package/generators/server/files/cloudflare/wrangler.toml__tmpl__ +6 -0
- package/generators/server/files/common/project.json__tmpl__ +25 -0
- package/generators/server/files/common/src/main.ts__tmpl__ +9 -0
- package/generators/server/files/common/tsconfig.json__tmpl__ +14 -0
- package/generators/server/files/common/tsconfig.lib.json__tmpl__ +11 -0
- package/generators/server/files/lambda/template.yaml__tmpl__ +27 -0
- package/generators/server/files/node/Dockerfile__tmpl__ +17 -0
- package/generators/server/files/node/__dot__dockerignore__tmpl__ +8 -0
- package/generators/server/files/node/docker-compose.yml__tmpl__ +28 -0
- package/generators/server/files/vercel/vercel.json__tmpl__ +15 -0
- package/generators/server/lib/index.d.ts +2 -0
- package/generators/server/lib/index.js +6 -0
- package/generators/server/lib/index.js.map +1 -0
- package/generators/server/lib/normalize-options.d.ts +14 -0
- package/generators/server/lib/normalize-options.js +25 -0
- package/generators/server/lib/normalize-options.js.map +1 -0
- package/generators/server/schema.d.ts +9 -0
- package/generators/server/schema.js +3 -0
- package/generators/server/schema.js.map +1 -0
- package/generators/server/schema.json +62 -0
- package/generators/server/server.d.ts +4 -0
- package/generators/server/server.js +28 -0
- package/generators/server/server.js.map +1 -0
- package/generators/skill/files/__fileName__.skill.ts__tmpl__ +16 -0
- package/generators/skill/schema.d.ts +7 -0
- package/generators/skill/schema.js +3 -0
- package/generators/skill/schema.js.map +1 -0
- package/generators/skill/schema.json +36 -0
- package/generators/skill/skill.d.ts +4 -0
- package/generators/skill/skill.js +25 -0
- package/generators/skill/skill.js.map +1 -0
- package/generators/tool/files/__fileName__.tool.ts__tmpl__ +19 -0
- package/generators/tool/schema.d.ts +6 -0
- package/generators/tool/schema.js +3 -0
- package/generators/tool/schema.js.map +1 -0
- package/generators/tool/schema.json +32 -0
- package/generators/tool/tool.d.ts +4 -0
- package/generators/tool/tool.js +18 -0
- package/generators/tool/tool.js.map +1 -0
- package/generators/workflow/files/__fileName__.workflow.ts__tmpl__ +23 -0
- package/generators/workflow/schema.d.ts +6 -0
- package/generators/workflow/schema.js +3 -0
- package/generators/workflow/schema.js.map +1 -0
- package/generators/workflow/schema.json +32 -0
- package/generators/workflow/workflow.d.ts +4 -0
- package/generators/workflow/workflow.js +18 -0
- package/generators/workflow/workflow.js.map +1 -0
- package/generators/workspace/files/__dot__gitignore__tmpl__ +28 -0
- package/generators/workspace/files/__dot__prettierrc__tmpl__ +6 -0
- package/generators/workspace/files/nx.json__tmpl__ +52 -0
- package/generators/workspace/files/package.json__tmpl__ +46 -0
- package/generators/workspace/files/tsconfig.base.json__tmpl__ +24 -0
- package/generators/workspace/lib/index.d.ts +2 -0
- package/generators/workspace/lib/index.js +6 -0
- package/generators/workspace/lib/index.js.map +1 -0
- package/generators/workspace/lib/normalize-options.d.ts +5 -0
- package/generators/workspace/lib/normalize-options.js +14 -0
- package/generators/workspace/lib/normalize-options.js.map +1 -0
- package/generators/workspace/schema.d.ts +7 -0
- package/generators/workspace/schema.js +3 -0
- package/generators/workspace/schema.js.map +1 -0
- package/generators/workspace/schema.json +42 -0
- package/generators/workspace/workspace.d.ts +4 -0
- package/generators/workspace/workspace.js +47 -0
- package/generators/workspace/workspace.js.map +1 -0
- package/generators.json +84 -0
- package/index.d.ts +16 -0
- package/index.js +44 -0
- package/index.js.map +1 -0
- package/package.json +24 -0
- package/utils/add-dependencies.d.ts +2 -0
- package/utils/add-dependencies.js +8 -0
- package/utils/add-dependencies.js.map +1 -0
- package/utils/names.d.ts +5 -0
- package/utils/names.js +27 -0
- package/utils/names.js.map +1 -0
- package/utils/normalize-options.d.ts +16 -0
- package/utils/normalize-options.js +30 -0
- package/utils/normalize-options.js.map +1 -0
- package/utils/versions.d.ts +5 -0
- package/utils/versions.js +65 -0
- package/utils/versions.js.map +1 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Workflow } from '@frontmcp/sdk';
|
|
2
|
+
|
|
3
|
+
@Workflow({
|
|
4
|
+
name: '<%= name %>',
|
|
5
|
+
description: 'TODO: describe what this workflow does',
|
|
6
|
+
trigger: 'manual',
|
|
7
|
+
steps: [
|
|
8
|
+
{
|
|
9
|
+
id: 'step1',
|
|
10
|
+
jobName: 'TODO-first-job',
|
|
11
|
+
input: { value: 'hello' },
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
id: 'step2',
|
|
15
|
+
jobName: 'TODO-second-job',
|
|
16
|
+
dependsOn: ['step1'],
|
|
17
|
+
input: (steps) => ({
|
|
18
|
+
value: steps.get('step1').outputs.result,
|
|
19
|
+
}),
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
})
|
|
23
|
+
export default class <%= className %>Workflow {}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/generators/workflow/schema.ts"],"names":[],"mappings":"","sourcesContent":["export interface WorkflowGeneratorSchema {\n name: string;\n project: string;\n directory?: string;\n skipFormat?: boolean;\n}\n"]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "FrontMcpWorkflow",
|
|
4
|
+
"title": "FrontMCP Workflow Generator",
|
|
5
|
+
"description": "Generate a @Workflow class",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"name": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "The name of the workflow",
|
|
11
|
+
"$default": { "$source": "argv", "index": 0 },
|
|
12
|
+
"x-prompt": "What name would you like for the workflow?",
|
|
13
|
+
"x-priority": "important"
|
|
14
|
+
},
|
|
15
|
+
"project": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "The project to add the workflow to",
|
|
18
|
+
"x-dropdown": "projects",
|
|
19
|
+
"x-priority": "important"
|
|
20
|
+
},
|
|
21
|
+
"directory": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"description": "Subdirectory within src/workflows/"
|
|
24
|
+
},
|
|
25
|
+
"skipFormat": {
|
|
26
|
+
"type": "boolean",
|
|
27
|
+
"default": false,
|
|
28
|
+
"x-priority": "internal"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"required": ["name", "project"]
|
|
32
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type Tree, type GeneratorCallback } from '@nx/devkit';
|
|
2
|
+
import type { WorkflowGeneratorSchema } from './schema.js';
|
|
3
|
+
export declare function workflowGenerator(tree: Tree, schema: WorkflowGeneratorSchema): Promise<GeneratorCallback | void>;
|
|
4
|
+
export default workflowGenerator;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.workflowGenerator = workflowGenerator;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const normalize_options_js_1 = require("../../utils/normalize-options.js");
|
|
7
|
+
async function workflowGenerator(tree, schema) {
|
|
8
|
+
const options = (0, normalize_options_js_1.normalizePrimitiveOptions)(tree, schema, 'workflows');
|
|
9
|
+
(0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, 'files'), options.directory, {
|
|
10
|
+
...options,
|
|
11
|
+
tmpl: '',
|
|
12
|
+
});
|
|
13
|
+
if (!schema.skipFormat) {
|
|
14
|
+
await (0, devkit_1.formatFiles)(tree);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.default = workflowGenerator;
|
|
18
|
+
//# sourceMappingURL=workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../../src/generators/workflow/workflow.ts"],"names":[],"mappings":";;AAKA,8CAWC;AAhBD,uCAA2F;AAC3F,+BAA4B;AAE5B,2EAA6E;AAEtE,KAAK,UAAU,iBAAiB,CAAC,IAAU,EAAE,MAA+B;IACjF,MAAM,OAAO,GAAG,IAAA,gDAAyB,EAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAErE,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE;QAC/D,GAAG,OAAO;QACV,IAAI,EAAE,EAAE;KACT,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,kBAAe,iBAAiB,CAAC","sourcesContent":["import { type Tree, formatFiles, generateFiles, type GeneratorCallback } from '@nx/devkit';\nimport { join } from 'path';\nimport type { WorkflowGeneratorSchema } from './schema.js';\nimport { normalizePrimitiveOptions } from '../../utils/normalize-options.js';\n\nexport async function workflowGenerator(tree: Tree, schema: WorkflowGeneratorSchema): Promise<GeneratorCallback | void> {\n const options = normalizePrimitiveOptions(tree, schema, 'workflows');\n\n generateFiles(tree, join(__dirname, 'files'), options.directory, {\n ...options,\n tmpl: '',\n });\n\n if (!schema.skipFormat) {\n await formatFiles(tree);\n }\n}\n\nexport default workflowGenerator;\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Dependencies
|
|
2
|
+
node_modules/
|
|
3
|
+
|
|
4
|
+
# Build
|
|
5
|
+
dist/
|
|
6
|
+
tmp/
|
|
7
|
+
|
|
8
|
+
# IDE
|
|
9
|
+
.idea/
|
|
10
|
+
.vscode/
|
|
11
|
+
*.swp
|
|
12
|
+
*.swo
|
|
13
|
+
|
|
14
|
+
# OS
|
|
15
|
+
.DS_Store
|
|
16
|
+
Thumbs.db
|
|
17
|
+
|
|
18
|
+
# Nx
|
|
19
|
+
.nx/cache
|
|
20
|
+
.nx/workspace-data
|
|
21
|
+
|
|
22
|
+
# Coverage
|
|
23
|
+
coverage/
|
|
24
|
+
|
|
25
|
+
# Environment
|
|
26
|
+
.env
|
|
27
|
+
.env.local
|
|
28
|
+
.env.*.local
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./node_modules/nx/schemas/nx-schema.json",
|
|
3
|
+
"neverConnectToCloud": true,
|
|
4
|
+
"cli": {
|
|
5
|
+
"packageManager": "<%= packageManager %>"
|
|
6
|
+
},
|
|
7
|
+
"namedInputs": {
|
|
8
|
+
"default": ["{projectRoot}/**/*", "sharedGlobals"],
|
|
9
|
+
"production": [
|
|
10
|
+
"default",
|
|
11
|
+
"!{projectRoot}/.eslintrc.json",
|
|
12
|
+
"!{projectRoot}/eslint.config.mjs",
|
|
13
|
+
"!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)",
|
|
14
|
+
"!{projectRoot}/tsconfig.spec.json",
|
|
15
|
+
"!{projectRoot}/jest.config.[jt]s"
|
|
16
|
+
],
|
|
17
|
+
"sharedGlobals": []
|
|
18
|
+
},
|
|
19
|
+
"plugins": [
|
|
20
|
+
{
|
|
21
|
+
"plugin": "@nx/js/typescript",
|
|
22
|
+
"options": {
|
|
23
|
+
"typecheck": { "targetName": "typecheck" },
|
|
24
|
+
"build": {
|
|
25
|
+
"targetName": "build",
|
|
26
|
+
"configName": "tsconfig.lib.json"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"plugin": "@nx/eslint/plugin",
|
|
32
|
+
"options": { "targetName": "lint" }
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"plugin": "@nx/jest/plugin",
|
|
36
|
+
"options": { "targetName": "test" }
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"targetDefaults": {
|
|
40
|
+
"build": {
|
|
41
|
+
"cache": true,
|
|
42
|
+
"dependsOn": ["^build"],
|
|
43
|
+
"inputs": ["production", "^production"]
|
|
44
|
+
},
|
|
45
|
+
"test": {
|
|
46
|
+
"dependsOn": ["^build"]
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"release": {
|
|
50
|
+
"projects": ["libs/*"]
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "<%= name %>",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"private": true,
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"engines": {
|
|
7
|
+
"node": ">=22.0.0"
|
|
8
|
+
},
|
|
9
|
+
"workspaces": [
|
|
10
|
+
"apps/*",
|
|
11
|
+
"libs/*",
|
|
12
|
+
"servers/*"
|
|
13
|
+
],
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "nx run-many -t build",
|
|
16
|
+
"test": "nx run-many -t test",
|
|
17
|
+
"lint": "nx run-many -t lint"
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@frontmcp/sdk": "<%= frontmcpVersion %>",
|
|
21
|
+
"@frontmcp/cli": "<%= frontmcpVersion %>",
|
|
22
|
+
"reflect-metadata": "^0.2.2",
|
|
23
|
+
"zod": "^4.0.0",
|
|
24
|
+
"tslib": "^2.3.0"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@frontmcp/nx": "<%= frontmcpVersion %>",
|
|
28
|
+
"@frontmcp/testing": "<%= frontmcpVersion %>",
|
|
29
|
+
"nx": "<%= nxVersion %>",
|
|
30
|
+
"@nx/devkit": "<%= nxVersion %>",
|
|
31
|
+
"@nx/js": "<%= nxVersion %>",
|
|
32
|
+
"@nx/eslint": "<%= nxVersion %>",
|
|
33
|
+
"@nx/jest": "<%= nxVersion %>",
|
|
34
|
+
"@nx/esbuild": "<%= nxVersion %>",
|
|
35
|
+
"@nx/workspace": "<%= nxVersion %>",
|
|
36
|
+
"@swc-node/register": "~1.9.1",
|
|
37
|
+
"@swc/core": "~1.5.7",
|
|
38
|
+
"@swc/helpers": "~0.5.11",
|
|
39
|
+
"@swc/jest": "~0.2.38",
|
|
40
|
+
"@types/jest": "^30.0.0",
|
|
41
|
+
"@types/node": "^24.0.0",
|
|
42
|
+
"jest": "^30.0.2",
|
|
43
|
+
"typescript": "~5.9.2",
|
|
44
|
+
"prettier": "~3.6.2"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compileOnSave": false,
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"baseUrl": ".",
|
|
5
|
+
"rootDir": ".",
|
|
6
|
+
"strict": true,
|
|
7
|
+
"sourceMap": true,
|
|
8
|
+
"declaration": false,
|
|
9
|
+
"moduleResolution": "node",
|
|
10
|
+
"emitDecoratorMetadata": true,
|
|
11
|
+
"experimentalDecorators": true,
|
|
12
|
+
"resolveJsonModule": true,
|
|
13
|
+
"strictPropertyInitialization": false,
|
|
14
|
+
"esModuleInterop": true,
|
|
15
|
+
"importHelpers": true,
|
|
16
|
+
"target": "es2022",
|
|
17
|
+
"module": "esnext",
|
|
18
|
+
"lib": ["es2022", "dom"],
|
|
19
|
+
"skipLibCheck": true,
|
|
20
|
+
"skipDefaultLibCheck": true,
|
|
21
|
+
"paths": {}
|
|
22
|
+
},
|
|
23
|
+
"exclude": ["node_modules", "tmp"]
|
|
24
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeOptions = void 0;
|
|
4
|
+
var normalize_options_js_1 = require("./normalize-options.js");
|
|
5
|
+
Object.defineProperty(exports, "normalizeOptions", { enumerable: true, get: function () { return normalize_options_js_1.normalizeOptions; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/generators/workspace/lib/index.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAAjD,wHAAA,gBAAgB,OAAA","sourcesContent":["export { normalizeOptions } from './normalize-options.js';\nexport type { NormalizedWorkspaceOptions } from './normalize-options.js';\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { WorkspaceGeneratorSchema } from '../schema.js';
|
|
2
|
+
export interface NormalizedWorkspaceOptions extends Required<WorkspaceGeneratorSchema> {
|
|
3
|
+
workspaceRoot: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function normalizeOptions(schema: WorkspaceGeneratorSchema): NormalizedWorkspaceOptions;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeOptions = normalizeOptions;
|
|
4
|
+
function normalizeOptions(schema) {
|
|
5
|
+
return {
|
|
6
|
+
name: schema.name,
|
|
7
|
+
packageManager: schema.packageManager ?? 'npm',
|
|
8
|
+
skipInstall: schema.skipInstall ?? false,
|
|
9
|
+
skipGit: schema.skipGit ?? false,
|
|
10
|
+
createSampleApp: schema.createSampleApp ?? true,
|
|
11
|
+
workspaceRoot: schema.name,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=normalize-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../src/generators/workspace/lib/normalize-options.ts"],"names":[],"mappings":";;AAMA,4CASC;AATD,SAAgB,gBAAgB,CAAC,MAAgC;IAC/D,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,KAAK;QAC9C,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,KAAK;QACxC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;QAChC,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;QAC/C,aAAa,EAAE,MAAM,CAAC,IAAI;KAC3B,CAAC;AACJ,CAAC","sourcesContent":["import type { WorkspaceGeneratorSchema } from '../schema.js';\n\nexport interface NormalizedWorkspaceOptions extends Required<WorkspaceGeneratorSchema> {\n workspaceRoot: string;\n}\n\nexport function normalizeOptions(schema: WorkspaceGeneratorSchema): NormalizedWorkspaceOptions {\n return {\n name: schema.name,\n packageManager: schema.packageManager ?? 'npm',\n skipInstall: schema.skipInstall ?? false,\n skipGit: schema.skipGit ?? false,\n createSampleApp: schema.createSampleApp ?? true,\n workspaceRoot: schema.name,\n };\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/generators/workspace/schema.ts"],"names":[],"mappings":"","sourcesContent":["export interface WorkspaceGeneratorSchema {\n name: string;\n packageManager?: 'npm' | 'yarn' | 'pnpm' | 'bun';\n skipInstall?: boolean;\n skipGit?: boolean;\n createSampleApp?: boolean;\n}\n"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "FrontMcpWorkspace",
|
|
4
|
+
"title": "FrontMCP Workspace Generator",
|
|
5
|
+
"description": "Scaffold a full FrontMCP Nx monorepo",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"name": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "The name of the workspace",
|
|
11
|
+
"$default": { "$source": "argv", "index": 0 },
|
|
12
|
+
"x-prompt": "What name would you like for the workspace?",
|
|
13
|
+
"x-priority": "important"
|
|
14
|
+
},
|
|
15
|
+
"packageManager": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Package manager to use",
|
|
18
|
+
"enum": ["npm", "yarn", "pnpm", "bun"],
|
|
19
|
+
"default": "npm",
|
|
20
|
+
"x-priority": "important"
|
|
21
|
+
},
|
|
22
|
+
"skipInstall": {
|
|
23
|
+
"type": "boolean",
|
|
24
|
+
"description": "Skip package installation",
|
|
25
|
+
"default": false,
|
|
26
|
+
"x-priority": "internal"
|
|
27
|
+
},
|
|
28
|
+
"skipGit": {
|
|
29
|
+
"type": "boolean",
|
|
30
|
+
"description": "Skip git initialization",
|
|
31
|
+
"default": false,
|
|
32
|
+
"x-priority": "internal"
|
|
33
|
+
},
|
|
34
|
+
"createSampleApp": {
|
|
35
|
+
"type": "boolean",
|
|
36
|
+
"description": "Create a sample demo application",
|
|
37
|
+
"default": true,
|
|
38
|
+
"x-priority": "important"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"required": ["name"]
|
|
42
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type Tree, type GeneratorCallback } from '@nx/devkit';
|
|
2
|
+
import type { WorkspaceGeneratorSchema } from './schema.js';
|
|
3
|
+
export declare function workspaceGenerator(tree: Tree, schema: WorkspaceGeneratorSchema): Promise<GeneratorCallback>;
|
|
4
|
+
export default workspaceGenerator;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.workspaceGenerator = workspaceGenerator;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const index_js_1 = require("./lib/index.js");
|
|
7
|
+
const versions_js_1 = require("../../utils/versions.js");
|
|
8
|
+
async function workspaceGenerator(tree, schema) {
|
|
9
|
+
return workspaceGeneratorInternal(tree, schema);
|
|
10
|
+
}
|
|
11
|
+
async function workspaceGeneratorInternal(tree, schema) {
|
|
12
|
+
const options = (0, index_js_1.normalizeOptions)(schema);
|
|
13
|
+
const frontmcpVersion = `~${(0, versions_js_1.getFrontmcpVersion)()}`;
|
|
14
|
+
const nxVersion = '22.3.3';
|
|
15
|
+
(0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, 'files'), options.workspaceRoot, {
|
|
16
|
+
...options,
|
|
17
|
+
frontmcpVersion,
|
|
18
|
+
nxVersion,
|
|
19
|
+
tmpl: '',
|
|
20
|
+
dot: '.',
|
|
21
|
+
});
|
|
22
|
+
// Create empty directories
|
|
23
|
+
tree.write((0, path_1.join)(options.workspaceRoot, 'apps', '.gitkeep'), '');
|
|
24
|
+
tree.write((0, path_1.join)(options.workspaceRoot, 'libs', '.gitkeep'), '');
|
|
25
|
+
tree.write((0, path_1.join)(options.workspaceRoot, 'servers', '.gitkeep'), '');
|
|
26
|
+
// Compose with app generator when createSampleApp is true
|
|
27
|
+
if (options.createSampleApp) {
|
|
28
|
+
const { appGenerator } = await import('../app/app.js');
|
|
29
|
+
await appGenerator(tree, {
|
|
30
|
+
name: 'demo',
|
|
31
|
+
directory: (0, path_1.join)(options.workspaceRoot, 'apps', 'demo'),
|
|
32
|
+
tags: 'scope:apps',
|
|
33
|
+
skipFormat: true,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
await (0, devkit_1.formatFiles)(tree);
|
|
37
|
+
if (options.skipInstall) {
|
|
38
|
+
return () => {
|
|
39
|
+
/* noop */
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return () => {
|
|
43
|
+
(0, devkit_1.installPackagesTask)(tree);
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
exports.default = workspaceGenerator;
|
|
47
|
+
//# sourceMappingURL=workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../src/generators/workspace/workspace.ts"],"names":[],"mappings":";;AAMA,gDAEC;AARD,uCAAgH;AAChH,+BAA4B;AAE5B,6CAAkD;AAClD,yDAA6D;AAEtD,KAAK,UAAU,kBAAkB,CAAC,IAAU,EAAE,MAAgC;IACnF,OAAO,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,IAAU,EAAE,MAAgC;IACpF,MAAM,OAAO,GAAG,IAAA,2BAAgB,EAAC,MAAM,CAAC,CAAC;IACzC,MAAM,eAAe,GAAG,IAAI,IAAA,gCAAkB,GAAE,EAAE,CAAC;IACnD,MAAM,SAAS,GAAG,QAAQ,CAAC;IAE3B,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE;QACnE,GAAG,OAAO;QACV,eAAe;QACf,SAAS;QACT,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,GAAG;KACT,CAAC,CAAC;IAEH,2BAA2B;IAC3B,IAAI,CAAC,KAAK,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnE,0DAA0D;IAC1D,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QACvD,MAAM,YAAY,CAAC,IAAI,EAAE;YACvB,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,IAAA,WAAI,EAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC;YACtD,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAExB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,GAAG,EAAE;YACV,UAAU;QACZ,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,EAAE;QACV,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC;AAED,kBAAe,kBAAkB,CAAC","sourcesContent":["import { type Tree, formatFiles, generateFiles, installPackagesTask, type GeneratorCallback } from '@nx/devkit';\nimport { join } from 'path';\nimport type { WorkspaceGeneratorSchema } from './schema.js';\nimport { normalizeOptions } from './lib/index.js';\nimport { getFrontmcpVersion } from '../../utils/versions.js';\n\nexport async function workspaceGenerator(tree: Tree, schema: WorkspaceGeneratorSchema): Promise<GeneratorCallback> {\n return workspaceGeneratorInternal(tree, schema);\n}\n\nasync function workspaceGeneratorInternal(tree: Tree, schema: WorkspaceGeneratorSchema): Promise<GeneratorCallback> {\n const options = normalizeOptions(schema);\n const frontmcpVersion = `~${getFrontmcpVersion()}`;\n const nxVersion = '22.3.3';\n\n generateFiles(tree, join(__dirname, 'files'), options.workspaceRoot, {\n ...options,\n frontmcpVersion,\n nxVersion,\n tmpl: '',\n dot: '.',\n });\n\n // Create empty directories\n tree.write(join(options.workspaceRoot, 'apps', '.gitkeep'), '');\n tree.write(join(options.workspaceRoot, 'libs', '.gitkeep'), '');\n tree.write(join(options.workspaceRoot, 'servers', '.gitkeep'), '');\n\n // Compose with app generator when createSampleApp is true\n if (options.createSampleApp) {\n const { appGenerator } = await import('../app/app.js');\n await appGenerator(tree, {\n name: 'demo',\n directory: join(options.workspaceRoot, 'apps', 'demo'),\n tags: 'scope:apps',\n skipFormat: true,\n });\n }\n\n await formatFiles(tree);\n\n if (options.skipInstall) {\n return () => {\n /* noop */\n };\n }\n\n return () => {\n installPackagesTask(tree);\n };\n}\n\nexport default workspaceGenerator;\n"]}
|
package/generators.json
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"generators": {
|
|
3
|
+
"workspace": {
|
|
4
|
+
"factory": "./generators/workspace/workspace",
|
|
5
|
+
"schema": "./generators/workspace/schema.json",
|
|
6
|
+
"description": "Scaffold a full FrontMCP Nx monorepo with apps/, libs/, and servers/ directories"
|
|
7
|
+
},
|
|
8
|
+
"app": {
|
|
9
|
+
"factory": "./generators/app/app",
|
|
10
|
+
"schema": "./generators/app/schema.json",
|
|
11
|
+
"description": "Generate a FrontMCP application in apps/"
|
|
12
|
+
},
|
|
13
|
+
"lib": {
|
|
14
|
+
"factory": "./generators/lib/lib",
|
|
15
|
+
"schema": "./generators/lib/schema.json",
|
|
16
|
+
"description": "Generate a shared library in libs/"
|
|
17
|
+
},
|
|
18
|
+
"server": {
|
|
19
|
+
"factory": "./generators/server/server",
|
|
20
|
+
"schema": "./generators/server/schema.json",
|
|
21
|
+
"description": "Generate a deployment shell in servers/"
|
|
22
|
+
},
|
|
23
|
+
"tool": {
|
|
24
|
+
"factory": "./generators/tool/tool",
|
|
25
|
+
"schema": "./generators/tool/schema.json",
|
|
26
|
+
"description": "Generate a @Tool class"
|
|
27
|
+
},
|
|
28
|
+
"resource": {
|
|
29
|
+
"factory": "./generators/resource/resource",
|
|
30
|
+
"schema": "./generators/resource/schema.json",
|
|
31
|
+
"description": "Generate a @Resource or @ResourceTemplate class"
|
|
32
|
+
},
|
|
33
|
+
"prompt": {
|
|
34
|
+
"factory": "./generators/prompt/prompt",
|
|
35
|
+
"schema": "./generators/prompt/schema.json",
|
|
36
|
+
"description": "Generate a @Prompt class"
|
|
37
|
+
},
|
|
38
|
+
"skill": {
|
|
39
|
+
"factory": "./generators/skill/skill",
|
|
40
|
+
"schema": "./generators/skill/schema.json",
|
|
41
|
+
"description": "Generate a @Skill class"
|
|
42
|
+
},
|
|
43
|
+
"agent": {
|
|
44
|
+
"factory": "./generators/agent/agent",
|
|
45
|
+
"schema": "./generators/agent/schema.json",
|
|
46
|
+
"description": "Generate an @Agent class"
|
|
47
|
+
},
|
|
48
|
+
"provider": {
|
|
49
|
+
"factory": "./generators/provider/provider",
|
|
50
|
+
"schema": "./generators/provider/schema.json",
|
|
51
|
+
"description": "Generate a @Provider class for dependency injection"
|
|
52
|
+
},
|
|
53
|
+
"plugin": {
|
|
54
|
+
"factory": "./generators/plugin/plugin",
|
|
55
|
+
"schema": "./generators/plugin/schema.json",
|
|
56
|
+
"description": "Generate a @Plugin class extending DynamicPlugin"
|
|
57
|
+
},
|
|
58
|
+
"adapter": {
|
|
59
|
+
"factory": "./generators/adapter/adapter",
|
|
60
|
+
"schema": "./generators/adapter/schema.json",
|
|
61
|
+
"description": "Generate an @Adapter class extending DynamicAdapter"
|
|
62
|
+
},
|
|
63
|
+
"auth-provider": {
|
|
64
|
+
"factory": "./generators/auth-provider/auth-provider",
|
|
65
|
+
"schema": "./generators/auth-provider/schema.json",
|
|
66
|
+
"description": "Generate an @AuthProvider class"
|
|
67
|
+
},
|
|
68
|
+
"flow": {
|
|
69
|
+
"factory": "./generators/flow/flow",
|
|
70
|
+
"schema": "./generators/flow/schema.json",
|
|
71
|
+
"description": "Generate a @Flow class extending FlowBase"
|
|
72
|
+
},
|
|
73
|
+
"job": {
|
|
74
|
+
"factory": "./generators/job/job",
|
|
75
|
+
"schema": "./generators/job/schema.json",
|
|
76
|
+
"description": "Generate a @Job class"
|
|
77
|
+
},
|
|
78
|
+
"workflow": {
|
|
79
|
+
"factory": "./generators/workflow/workflow",
|
|
80
|
+
"schema": "./generators/workflow/schema.json",
|
|
81
|
+
"description": "Generate a @Workflow class"
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { workspaceGenerator } from './generators/workspace/workspace.js';
|
|
2
|
+
export { appGenerator } from './generators/app/app.js';
|
|
3
|
+
export { libGenerator } from './generators/lib/lib.js';
|
|
4
|
+
export { serverGenerator } from './generators/server/server.js';
|
|
5
|
+
export { toolGenerator } from './generators/tool/tool.js';
|
|
6
|
+
export { resourceGenerator } from './generators/resource/resource.js';
|
|
7
|
+
export { promptGenerator } from './generators/prompt/prompt.js';
|
|
8
|
+
export { skillGenerator } from './generators/skill/skill.js';
|
|
9
|
+
export { agentGenerator } from './generators/agent/agent.js';
|
|
10
|
+
export { providerGenerator } from './generators/provider/provider.js';
|
|
11
|
+
export { pluginGenerator } from './generators/plugin/plugin.js';
|
|
12
|
+
export { adapterGenerator } from './generators/adapter/adapter.js';
|
|
13
|
+
export { authProviderGenerator } from './generators/auth-provider/auth-provider.js';
|
|
14
|
+
export { flowGenerator } from './generators/flow/flow.js';
|
|
15
|
+
export { getFrontmcpVersion, getFrontmcpDependencies, getFrontmcpDevDependencies, getNxDependencies, } from './utils/versions.js';
|
|
16
|
+
export { toClassName, toPropertyName, toFileName, toConstantName } from './utils/names.js';
|
package/index.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toConstantName = exports.toFileName = exports.toPropertyName = exports.toClassName = exports.getNxDependencies = exports.getFrontmcpDevDependencies = exports.getFrontmcpDependencies = exports.getFrontmcpVersion = exports.flowGenerator = exports.authProviderGenerator = exports.adapterGenerator = exports.pluginGenerator = exports.providerGenerator = exports.agentGenerator = exports.skillGenerator = exports.promptGenerator = exports.resourceGenerator = exports.toolGenerator = exports.serverGenerator = exports.libGenerator = exports.appGenerator = exports.workspaceGenerator = void 0;
|
|
4
|
+
// Generators
|
|
5
|
+
var workspace_js_1 = require("./generators/workspace/workspace.js");
|
|
6
|
+
Object.defineProperty(exports, "workspaceGenerator", { enumerable: true, get: function () { return workspace_js_1.workspaceGenerator; } });
|
|
7
|
+
var app_js_1 = require("./generators/app/app.js");
|
|
8
|
+
Object.defineProperty(exports, "appGenerator", { enumerable: true, get: function () { return app_js_1.appGenerator; } });
|
|
9
|
+
var lib_js_1 = require("./generators/lib/lib.js");
|
|
10
|
+
Object.defineProperty(exports, "libGenerator", { enumerable: true, get: function () { return lib_js_1.libGenerator; } });
|
|
11
|
+
var server_js_1 = require("./generators/server/server.js");
|
|
12
|
+
Object.defineProperty(exports, "serverGenerator", { enumerable: true, get: function () { return server_js_1.serverGenerator; } });
|
|
13
|
+
var tool_js_1 = require("./generators/tool/tool.js");
|
|
14
|
+
Object.defineProperty(exports, "toolGenerator", { enumerable: true, get: function () { return tool_js_1.toolGenerator; } });
|
|
15
|
+
var resource_js_1 = require("./generators/resource/resource.js");
|
|
16
|
+
Object.defineProperty(exports, "resourceGenerator", { enumerable: true, get: function () { return resource_js_1.resourceGenerator; } });
|
|
17
|
+
var prompt_js_1 = require("./generators/prompt/prompt.js");
|
|
18
|
+
Object.defineProperty(exports, "promptGenerator", { enumerable: true, get: function () { return prompt_js_1.promptGenerator; } });
|
|
19
|
+
var skill_js_1 = require("./generators/skill/skill.js");
|
|
20
|
+
Object.defineProperty(exports, "skillGenerator", { enumerable: true, get: function () { return skill_js_1.skillGenerator; } });
|
|
21
|
+
var agent_js_1 = require("./generators/agent/agent.js");
|
|
22
|
+
Object.defineProperty(exports, "agentGenerator", { enumerable: true, get: function () { return agent_js_1.agentGenerator; } });
|
|
23
|
+
var provider_js_1 = require("./generators/provider/provider.js");
|
|
24
|
+
Object.defineProperty(exports, "providerGenerator", { enumerable: true, get: function () { return provider_js_1.providerGenerator; } });
|
|
25
|
+
var plugin_js_1 = require("./generators/plugin/plugin.js");
|
|
26
|
+
Object.defineProperty(exports, "pluginGenerator", { enumerable: true, get: function () { return plugin_js_1.pluginGenerator; } });
|
|
27
|
+
var adapter_js_1 = require("./generators/adapter/adapter.js");
|
|
28
|
+
Object.defineProperty(exports, "adapterGenerator", { enumerable: true, get: function () { return adapter_js_1.adapterGenerator; } });
|
|
29
|
+
var auth_provider_js_1 = require("./generators/auth-provider/auth-provider.js");
|
|
30
|
+
Object.defineProperty(exports, "authProviderGenerator", { enumerable: true, get: function () { return auth_provider_js_1.authProviderGenerator; } });
|
|
31
|
+
var flow_js_1 = require("./generators/flow/flow.js");
|
|
32
|
+
Object.defineProperty(exports, "flowGenerator", { enumerable: true, get: function () { return flow_js_1.flowGenerator; } });
|
|
33
|
+
// Utilities
|
|
34
|
+
var versions_js_1 = require("./utils/versions.js");
|
|
35
|
+
Object.defineProperty(exports, "getFrontmcpVersion", { enumerable: true, get: function () { return versions_js_1.getFrontmcpVersion; } });
|
|
36
|
+
Object.defineProperty(exports, "getFrontmcpDependencies", { enumerable: true, get: function () { return versions_js_1.getFrontmcpDependencies; } });
|
|
37
|
+
Object.defineProperty(exports, "getFrontmcpDevDependencies", { enumerable: true, get: function () { return versions_js_1.getFrontmcpDevDependencies; } });
|
|
38
|
+
Object.defineProperty(exports, "getNxDependencies", { enumerable: true, get: function () { return versions_js_1.getNxDependencies; } });
|
|
39
|
+
var names_js_1 = require("./utils/names.js");
|
|
40
|
+
Object.defineProperty(exports, "toClassName", { enumerable: true, get: function () { return names_js_1.toClassName; } });
|
|
41
|
+
Object.defineProperty(exports, "toPropertyName", { enumerable: true, get: function () { return names_js_1.toPropertyName; } });
|
|
42
|
+
Object.defineProperty(exports, "toFileName", { enumerable: true, get: function () { return names_js_1.toFileName; } });
|
|
43
|
+
Object.defineProperty(exports, "toConstantName", { enumerable: true, get: function () { return names_js_1.toConstantName; } });
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
package/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,aAAa;AACb,oEAAyE;AAAhE,kHAAA,kBAAkB,OAAA;AAC3B,kDAAuD;AAA9C,sGAAA,YAAY,OAAA;AACrB,kDAAuD;AAA9C,sGAAA,YAAY,OAAA;AACrB,2DAAgE;AAAvD,4GAAA,eAAe,OAAA;AACxB,qDAA0D;AAAjD,wGAAA,aAAa,OAAA;AACtB,iEAAsE;AAA7D,gHAAA,iBAAiB,OAAA;AAC1B,2DAAgE;AAAvD,4GAAA,eAAe,OAAA;AACxB,wDAA6D;AAApD,0GAAA,cAAc,OAAA;AACvB,wDAA6D;AAApD,0GAAA,cAAc,OAAA;AACvB,iEAAsE;AAA7D,gHAAA,iBAAiB,OAAA;AAC1B,2DAAgE;AAAvD,4GAAA,eAAe,OAAA;AACxB,8DAAmE;AAA1D,8GAAA,gBAAgB,OAAA;AACzB,gFAAoF;AAA3E,yHAAA,qBAAqB,OAAA;AAC9B,qDAA0D;AAAjD,wGAAA,aAAa,OAAA;AAEtB,YAAY;AACZ,mDAK6B;AAJ3B,iHAAA,kBAAkB,OAAA;AAClB,sHAAA,uBAAuB,OAAA;AACvB,yHAAA,0BAA0B,OAAA;AAC1B,gHAAA,iBAAiB,OAAA;AAEnB,6CAA2F;AAAlF,uGAAA,WAAW,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,sGAAA,UAAU,OAAA;AAAE,0GAAA,cAAc,OAAA","sourcesContent":["// Generators\nexport { workspaceGenerator } from './generators/workspace/workspace.js';\nexport { appGenerator } from './generators/app/app.js';\nexport { libGenerator } from './generators/lib/lib.js';\nexport { serverGenerator } from './generators/server/server.js';\nexport { toolGenerator } from './generators/tool/tool.js';\nexport { resourceGenerator } from './generators/resource/resource.js';\nexport { promptGenerator } from './generators/prompt/prompt.js';\nexport { skillGenerator } from './generators/skill/skill.js';\nexport { agentGenerator } from './generators/agent/agent.js';\nexport { providerGenerator } from './generators/provider/provider.js';\nexport { pluginGenerator } from './generators/plugin/plugin.js';\nexport { adapterGenerator } from './generators/adapter/adapter.js';\nexport { authProviderGenerator } from './generators/auth-provider/auth-provider.js';\nexport { flowGenerator } from './generators/flow/flow.js';\n\n// Utilities\nexport {\n getFrontmcpVersion,\n getFrontmcpDependencies,\n getFrontmcpDevDependencies,\n getNxDependencies,\n} from './utils/versions.js';\nexport { toClassName, toPropertyName, toFileName, toConstantName } from './utils/names.js';\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@frontmcp/nx",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Nx plugin for FrontMCP — generators and executors for building MCP servers",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"type": "commonjs",
|
|
7
|
+
"main": "./index.js",
|
|
8
|
+
"types": "./index.d.ts",
|
|
9
|
+
"generators": "./generators.json",
|
|
10
|
+
"executors": "./executors.json",
|
|
11
|
+
"engines": {
|
|
12
|
+
"node": ">=22.0.0"
|
|
13
|
+
},
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@nx/devkit": "22.3.3",
|
|
16
|
+
"tslib": "^2.3.0"
|
|
17
|
+
},
|
|
18
|
+
"peerDependencies": {
|
|
19
|
+
"nx": ">=22.0.0"
|
|
20
|
+
},
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addFrontmcpDependencies = addFrontmcpDependencies;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
function addFrontmcpDependencies(tree, dependencies, devDependencies = {}) {
|
|
6
|
+
return (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies, devDependencies);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=add-dependencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-dependencies.js","sourceRoot":"","sources":["../../../src/utils/add-dependencies.ts"],"names":[],"mappings":";;AAEA,0DAMC;AARD,uCAA6F;AAE7F,SAAgB,uBAAuB,CACrC,IAAU,EACV,YAAoC,EACpC,kBAA0C,EAAE;IAE5C,OAAO,IAAA,qCAA4B,EAAC,IAAI,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;AAC3E,CAAC","sourcesContent":["import { type Tree, addDependenciesToPackageJson, type GeneratorCallback } from '@nx/devkit';\n\nexport function addFrontmcpDependencies(\n tree: Tree,\n dependencies: Record<string, string>,\n devDependencies: Record<string, string> = {},\n): GeneratorCallback {\n return addDependenciesToPackageJson(tree, dependencies, devDependencies);\n}\n"]}
|