@aws/nx-plugin 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/README.md +63 -0
  2. package/generators.json +52 -0
  3. package/package.json +27 -0
  4. package/src/cloudscape-website/app/README.md +253 -0
  5. package/src/cloudscape-website/app/__snapshots__/generator.spec.ts.snap +539 -0
  6. package/src/cloudscape-website/app/files/app/src/config.ts.template +4 -0
  7. package/src/cloudscape-website/app/files/app/src/layouts/App/index.tsx.template +132 -0
  8. package/src/cloudscape-website/app/files/app/src/layouts/App/navitems.ts.template +8 -0
  9. package/src/cloudscape-website/app/files/app/src/layouts/Routes/index.tsx.template +18 -0
  10. package/src/cloudscape-website/app/files/app/src/main.tsx.template +22 -0
  11. package/src/cloudscape-website/app/files/app/src/pages/Home/index.tsx.template +25 -0
  12. package/src/cloudscape-website/app/files/common/constructs/src/__websiteNameKebabCase__/cloudfront-web-acl.ts.template +317 -0
  13. package/src/cloudscape-website/app/files/common/constructs/src/__websiteNameKebabCase__/index.ts.template +4 -0
  14. package/src/cloudscape-website/app/files/common/constructs/src/__websiteNameKebabCase__/static-website.ts.template +237 -0
  15. package/src/cloudscape-website/app/files/common/constructs/src/__websiteNameKebabCase__/webacl_event_handler/index.ts.template +301 -0
  16. package/src/cloudscape-website/app/files/e2e/cypress/src/e2e/app.cy.ts.template +13 -0
  17. package/src/cloudscape-website/app/files/e2e/cypress/src/support/app.po.ts.template +1 -0
  18. package/src/cloudscape-website/app/files/e2e/playwright/src/example.spec.ts.template +6 -0
  19. package/src/cloudscape-website/app/generator.d.ts +4 -0
  20. package/src/cloudscape-website/app/generator.js +177 -0
  21. package/src/cloudscape-website/app/generator.js.map +1 -0
  22. package/src/cloudscape-website/app/schema.d.js +6 -0
  23. package/src/cloudscape-website/app/schema.d.js.map +1 -0
  24. package/src/cloudscape-website/app/schema.d.ts +35 -0
  25. package/src/cloudscape-website/app/schema.json +189 -0
  26. package/src/cloudscape-website/cognito-auth/README.md +172 -0
  27. package/src/cloudscape-website/cognito-auth/__snapshots__/generator.spec.ts.snap +238 -0
  28. package/src/cloudscape-website/cognito-auth/files/app/components/CognitoAuth/index.tsx.template +50 -0
  29. package/src/cloudscape-website/cognito-auth/files/common/constructs/src/identity/index.ts.template +4 -0
  30. package/src/cloudscape-website/cognito-auth/files/common/constructs/src/identity/user-identity.ts.template +69 -0
  31. package/src/cloudscape-website/cognito-auth/files/common/constructs/src/identity/userpool-with-mfa.ts.template +70 -0
  32. package/src/cloudscape-website/cognito-auth/generator.d.ts +4 -0
  33. package/src/cloudscape-website/cognito-auth/generator.js +100 -0
  34. package/src/cloudscape-website/cognito-auth/generator.js.map +1 -0
  35. package/src/cloudscape-website/cognito-auth/schema.d.js +6 -0
  36. package/src/cloudscape-website/cognito-auth/schema.d.js.map +1 -0
  37. package/src/cloudscape-website/cognito-auth/schema.d.ts +4 -0
  38. package/src/cloudscape-website/cognito-auth/schema.json +36 -0
  39. package/src/cloudscape-website/runtime-config/__snapshots__/generator.spec.ts.snap +112 -0
  40. package/src/cloudscape-website/runtime-config/files/app/components/RuntimeConfig/index.tsx.template +46 -0
  41. package/src/cloudscape-website/runtime-config/generator.d.ts +4 -0
  42. package/src/cloudscape-website/runtime-config/generator.js +74 -0
  43. package/src/cloudscape-website/runtime-config/generator.js.map +1 -0
  44. package/src/cloudscape-website/runtime-config/schema.d.js +6 -0
  45. package/src/cloudscape-website/runtime-config/schema.d.js.map +1 -0
  46. package/src/cloudscape-website/runtime-config/schema.d.ts +3 -0
  47. package/src/cloudscape-website/runtime-config/schema.json +19 -0
  48. package/src/gitlab/files/.gitlab-ci.yml.template +26 -0
  49. package/src/gitlab/generator.d.ts +4 -0
  50. package/src/gitlab/generator.js +26 -0
  51. package/src/gitlab/generator.js.map +1 -0
  52. package/src/gitlab/schema.d.js +6 -0
  53. package/src/gitlab/schema.d.js.map +1 -0
  54. package/src/gitlab/schema.d.ts +5 -0
  55. package/src/gitlab/schema.json +52 -0
  56. package/src/index.d.ts +0 -0
  57. package/src/index.js +3 -0
  58. package/src/index.js.map +1 -0
  59. package/src/infra/app/README.md +175 -0
  60. package/src/infra/app/__snapshots__/generator.spec.ts.snap +864 -0
  61. package/src/infra/app/files/cdk.json +67 -0
  62. package/src/infra/app/files/src/main.ts.template +37 -0
  63. package/src/infra/app/files/src/stacks/application-stack.ts.template +10 -0
  64. package/src/infra/app/generator.d.ts +4 -0
  65. package/src/infra/app/generator.js +75 -0
  66. package/src/infra/app/generator.js.map +1 -0
  67. package/src/infra/app/schema.d.js +6 -0
  68. package/src/infra/app/schema.d.js.map +1 -0
  69. package/src/infra/app/schema.d.ts +6 -0
  70. package/src/infra/app/schema.json +35 -0
  71. package/src/trpc/backend/README.md +549 -0
  72. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +110 -0
  73. package/src/trpc/backend/files/backend/src/index.ts.template +1 -0
  74. package/src/trpc/backend/files/backend/src/lambdas/index.ts.template +1 -0
  75. package/src/trpc/backend/files/backend/src/lambdas/middleware.ts.template +146 -0
  76. package/src/trpc/backend/files/backend/src/lambdas/router.ts.template +36 -0
  77. package/src/trpc/backend/files/common/constructs/src/__apiNameKebabCase__/index.ts.template +64 -0
  78. package/src/trpc/backend/files/schema/src/index.ts.template +7 -0
  79. package/src/trpc/backend/generator.d.ts +4 -0
  80. package/src/trpc/backend/generator.js +128 -0
  81. package/src/trpc/backend/generator.js.map +1 -0
  82. package/src/trpc/backend/schema.d.js +6 -0
  83. package/src/trpc/backend/schema.d.js.map +1 -0
  84. package/src/trpc/backend/schema.d.ts +8 -0
  85. package/src/trpc/backend/schema.json +44 -0
  86. package/src/trpc/react/README.md +320 -0
  87. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +98 -0
  88. package/src/trpc/react/files/src/components/TRPCClientProvider/index.tsx.template +34 -0
  89. package/src/trpc/react/files/src/hooks/useTrpc.tsx.template +5 -0
  90. package/src/trpc/react/generator.d.ts +4 -0
  91. package/src/trpc/react/generator.js +81 -0
  92. package/src/trpc/react/generator.js.map +1 -0
  93. package/src/trpc/react/schema.d.js +6 -0
  94. package/src/trpc/react/schema.d.js.map +1 -0
  95. package/src/trpc/react/schema.d.ts +5 -0
  96. package/src/trpc/react/schema.json +32 -0
  97. package/src/ts/cjs-to-esm/generator.d.ts +8 -0
  98. package/src/ts/cjs-to-esm/generator.js +201 -0
  99. package/src/ts/cjs-to-esm/generator.js.map +1 -0
  100. package/src/ts/cjs-to-esm/schema.d.js +6 -0
  101. package/src/ts/cjs-to-esm/schema.d.js.map +1 -0
  102. package/src/ts/cjs-to-esm/schema.d.ts +5 -0
  103. package/src/ts/cjs-to-esm/schema.json +28 -0
  104. package/src/ts/lib/README.md +149 -0
  105. package/src/ts/lib/__snapshots__/generator.spec.ts.snap +260 -0
  106. package/src/ts/lib/eslint.d.ts +3 -0
  107. package/src/ts/lib/eslint.js +41 -0
  108. package/src/ts/lib/eslint.js.map +1 -0
  109. package/src/ts/lib/files/src/index.ts.template +3 -0
  110. package/src/ts/lib/generator.d.ts +21 -0
  111. package/src/ts/lib/generator.js +61 -0
  112. package/src/ts/lib/generator.js.map +1 -0
  113. package/src/ts/lib/schema.d.js +6 -0
  114. package/src/ts/lib/schema.d.js.map +1 -0
  115. package/src/ts/lib/schema.d.ts +13 -0
  116. package/src/ts/lib/schema.json +46 -0
  117. package/src/ts/lib/ts-project-utils.d.ts +6 -0
  118. package/src/ts/lib/ts-project-utils.js +107 -0
  119. package/src/ts/lib/ts-project-utils.js.map +1 -0
  120. package/src/ts/lib/types.d.ts +10 -0
  121. package/src/ts/lib/types.js +6 -0
  122. package/src/ts/lib/types.js.map +1 -0
  123. package/src/ts/lib/vitest.d.ts +3 -0
  124. package/src/ts/lib/vitest.js +67 -0
  125. package/src/ts/lib/vitest.js.map +1 -0
  126. package/src/utils/files/common/constructs/src/index.ts.template +1 -0
  127. package/src/utils/files/common/constructs/src/runtime-config/index.ts.template +1 -0
  128. package/src/utils/files/common/constructs/src/runtime-config/runtime-config.ts.template +33 -0
  129. package/src/utils/files/common/types/src/index.ts.template +1 -0
  130. package/src/utils/files/common/types/src/runtime-config.ts.template +13 -0
  131. package/src/utils/npm-scope.d.ts +7 -0
  132. package/src/utils/npm-scope.js +37 -0
  133. package/src/utils/npm-scope.js.map +1 -0
  134. package/src/utils/paths.d.ts +3 -0
  135. package/src/utils/paths.js +32 -0
  136. package/src/utils/paths.js.map +1 -0
  137. package/src/utils/shared-constructs.d.ts +7 -0
  138. package/src/utils/shared-constructs.js +72 -0
  139. package/src/utils/shared-constructs.js.map +1 -0
  140. package/src/utils/versions.d.ts +31 -0
  141. package/src/utils/versions.js +49 -0
  142. package/src/utils/versions.js.map +1 -0
@@ -0,0 +1,67 @@
1
+ {
2
+ "app": "tsx src/main.ts",
3
+ "output": "<%= synthDir %>",
4
+ "watch": {
5
+ "include": ["**"],
6
+ "exclude": [
7
+ "README.md",
8
+ "cdk*.json",
9
+ "**/*.d.ts",
10
+ "**/*.js",
11
+ "tsconfig.json",
12
+ "package*.json",
13
+ "yarn.lock",
14
+ "node_modules",
15
+ "test"
16
+ ]
17
+ },
18
+ "context": {
19
+ "@aws-cdk/aws-lambda:recognizeLayerVersion": true,
20
+ "@aws-cdk/core:checkSecretUsage": true,
21
+ "@aws-cdk/core:target-partitions": ["aws", "aws-cn"],
22
+ "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": true,
23
+ "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": true,
24
+ "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": true,
25
+ "@aws-cdk/aws-iam:minimizePolicies": true,
26
+ "@aws-cdk/core:validateSnapshotRemovalPolicy": true,
27
+ "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": true,
28
+ "@aws-cdk/aws-s3:createDefaultLoggingPolicy": true,
29
+ "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true,
30
+ "@aws-cdk/aws-apigateway:disableCloudWatchRole": true,
31
+ "@aws-cdk/core:enablePartitionLiterals": true,
32
+ "@aws-cdk/aws-events:eventsTargetQueueSameAccount": true,
33
+ "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true,
34
+ "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true,
35
+ "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true,
36
+ "@aws-cdk/aws-route53-patters:useCertificate": true,
37
+ "@aws-cdk/customresources:installLatestAwsSdkDefault": false,
38
+ "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true,
39
+ "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": true,
40
+ "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": true,
41
+ "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": true,
42
+ "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": true,
43
+ "@aws-cdk/aws-redshift:columnId": true,
44
+ "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true,
45
+ "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true,
46
+ "@aws-cdk/aws-apigateway:requestValidatorUniqueId": true,
47
+ "@aws-cdk/aws-kms:aliasNameRef": true,
48
+ "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": true,
49
+ "@aws-cdk/core:includePrefixInUniqueNameGeneration": true,
50
+ "@aws-cdk/aws-efs:denyAnonymousAccess": true,
51
+ "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true,
52
+ "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true,
53
+ "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": true,
54
+ "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true,
55
+ "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true,
56
+ "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true,
57
+ "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true,
58
+ "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true,
59
+ "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true,
60
+ "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true,
61
+ "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true,
62
+ "@aws-cdk/aws-eks:nodegroupNameAttribute": true,
63
+ "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true,
64
+ "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": true,
65
+ "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false
66
+ }
67
+ }
@@ -0,0 +1,37 @@
1
+ import { CdkGraph, FilterPreset, Filters } from "@aws/pdk/cdk-graph";
2
+ import { CdkGraphDiagramPlugin } from "@aws/pdk/cdk-graph-plugin-diagram";
3
+ import { CdkGraphThreatComposerPlugin } from "@aws/pdk/cdk-graph-plugin-threat-composer";
4
+ import { AwsPrototypingChecks, PDKNag } from "@aws/pdk/pdk-nag";
5
+ import { ApplicationStack } from "./stacks/application-stack.js";
6
+
7
+ /* eslint-disable @typescript-eslint/no-floating-promises */
8
+ (async () => {
9
+ const app = PDKNag.app({
10
+ nagPacks: [new AwsPrototypingChecks()],
11
+ });
12
+
13
+ // Use this to deploy your own sandbox environment (assumes your CLI credentials)
14
+ new ApplicationStack(app, "<%= name %>-sandbox", {
15
+ env: {
16
+ account: process.env.CDK_DEFAULT_ACCOUNT,
17
+ region: process.env.CDK_DEFAULT_REGION,
18
+ },
19
+ });
20
+
21
+ const graph = new CdkGraph(app, {
22
+ plugins: [
23
+ new CdkGraphDiagramPlugin({
24
+ defaults: {
25
+ filterPlan: {
26
+ preset: FilterPreset.COMPACT,
27
+ filters: [{ store: Filters.pruneCustomResources() }],
28
+ },
29
+ },
30
+ }),
31
+ new CdkGraphThreatComposerPlugin(),
32
+ ],
33
+ });
34
+
35
+ app.synth();
36
+ await graph.report();
37
+ })();
@@ -0,0 +1,10 @@
1
+ import * as cdk from 'aws-cdk-lib';
2
+ import { Construct } from 'constructs';
3
+
4
+ export class ApplicationStack extends cdk.Stack {
5
+ constructor(scope: Construct, id: string, props?: cdk.StackProps) {
6
+ super(scope, id, props);
7
+
8
+ // The code that defines your stack goes here
9
+ }
10
+ }
@@ -0,0 +1,4 @@
1
+ import { Tree, GeneratorCallback } from '@nx/devkit';
2
+ import { InfraGeneratorSchema } from './schema';
3
+ export declare function infraGenerator(tree: Tree, schema: InfraGeneratorSchema): Promise<GeneratorCallback>;
4
+ export default infraGenerator;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ default: function() {
13
+ return _default;
14
+ },
15
+ infraGenerator: function() {
16
+ return infraGenerator;
17
+ }
18
+ });
19
+ const _extends = require("@swc/helpers/_/_extends");
20
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
21
+ const _devkit = require("@nx/devkit");
22
+ const _generator = /*#__PURE__*/ _interop_require_wildcard._(require("../../ts/lib/generator"));
23
+ const _versions = require("../../utils/versions");
24
+ async function infraGenerator(tree, schema) {
25
+ const lib = (0, _generator.getTsLibDetails)(tree, schema);
26
+ const tsLibGeneratorCallback = await (0, _generator.default)(tree, schema);
27
+ const synthDirFromRoot = `/dist/${lib.dir}/cdk.out`;
28
+ const synthDirFromProject = lib.dir.split('/').map(()=>'..').join('/') + synthDirFromRoot;
29
+ const projectConfig = (0, _devkit.readProjectConfiguration)(tree, lib.fullyQualifiedName);
30
+ const libraryRoot = projectConfig.root;
31
+ tree.delete((0, _devkit.joinPathFragments)(libraryRoot, 'src'));
32
+ (0, _devkit.generateFiles)(tree, (0, _devkit.joinPathFragments)(__dirname, './files'), libraryRoot, _extends._({
33
+ synthDir: synthDirFromProject
34
+ }, schema));
35
+ (0, _devkit.updateJson)(tree, `${libraryRoot}/project.json`, (config)=>{
36
+ config.projectType = 'application';
37
+ config.targets.build = {
38
+ cache: true,
39
+ executor: 'nx:run-commands',
40
+ outputs: [
41
+ `{workspaceRoot}${synthDirFromRoot}`
42
+ ],
43
+ dependsOn: [
44
+ '^build'
45
+ ],
46
+ options: {
47
+ cwd: libraryRoot,
48
+ command: 'cdk synth'
49
+ }
50
+ };
51
+ config.targets.deploy = {
52
+ executor: 'nx:run-commands',
53
+ options: {
54
+ cwd: libraryRoot,
55
+ command: `cdk deploy --require-approval=never --app ${synthDirFromProject}`
56
+ }
57
+ };
58
+ return config;
59
+ });
60
+ (0, _devkit.addDependenciesToPackageJson)(tree, (0, _versions.withVersions)([
61
+ "@aws/pdk",
62
+ "aws-cdk-lib",
63
+ "aws-cdk",
64
+ "esbuild",
65
+ "constructs",
66
+ "source-map-support"
67
+ ]), (0, _versions.withVersions)([
68
+ "tsx"
69
+ ]));
70
+ await (0, _devkit.formatFiles)(tree);
71
+ return tsLibGeneratorCallback;
72
+ }
73
+ const _default = infraGenerator;
74
+
75
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/infra/app/generator.ts"],"sourcesContent":["import {\n formatFiles,\n joinPathFragments,\n readProjectConfiguration,\n addDependenciesToPackageJson,\n generateFiles,\n Tree,\n updateJson,\n ProjectConfiguration,\n GeneratorCallback,\n} from '@nx/devkit';\nimport { InfraGeneratorSchema } from './schema';\nimport tsLibGenerator, { getTsLibDetails } from '../../ts/lib/generator';\nimport { withVersions } from '../../utils/versions';\n\nexport async function infraGenerator(tree: Tree, schema: InfraGeneratorSchema): Promise<GeneratorCallback> {\n const lib = getTsLibDetails(tree, schema);\n const tsLibGeneratorCallback = await tsLibGenerator(tree, schema);\n\n const synthDirFromRoot = `/dist/${lib.dir}/cdk.out`;\n const synthDirFromProject =\n lib.dir\n .split('/')\n .map(() => '..')\n .join('/') + synthDirFromRoot;\n const projectConfig = readProjectConfiguration(tree, lib.fullyQualifiedName);\n const libraryRoot = projectConfig.root;\n tree.delete(joinPathFragments(libraryRoot, 'src'));\n generateFiles(\n tree, // the virtual file system\n joinPathFragments(__dirname, './files'), // path to the file templates\n libraryRoot, // destination path of the files\n {\n synthDir: synthDirFromProject,\n ...schema,\n }\n );\n\n updateJson(\n tree,\n `${libraryRoot}/project.json`,\n (config: ProjectConfiguration) => {\n config.projectType = 'application';\n\n config.targets.build = {\n cache: true,\n executor: 'nx:run-commands',\n outputs: [`{workspaceRoot}${synthDirFromRoot}`],\n dependsOn: ['^build'],\n options: {\n cwd: libraryRoot,\n command: 'cdk synth',\n },\n };\n\n config.targets.deploy = {\n executor: 'nx:run-commands',\n options: {\n cwd: libraryRoot,\n command: `cdk deploy --require-approval=never --app ${synthDirFromProject}`,\n },\n };\n\n return config;\n }\n );\n\n addDependenciesToPackageJson(\n tree,\n withVersions([\n \"@aws/pdk\",\n \"aws-cdk-lib\",\n \"aws-cdk\",\n \"esbuild\",\n \"constructs\",\n \"source-map-support\",\n ]),\n withVersions([\n \"tsx\",\n ]),\n );\n\n await formatFiles(tree);\n\n return tsLibGeneratorCallback;\n}\n\nexport default infraGenerator;\n"],"names":["infraGenerator","tree","schema","lib","getTsLibDetails","tsLibGeneratorCallback","tsLibGenerator","synthDirFromRoot","dir","synthDirFromProject","split","map","join","projectConfig","readProjectConfiguration","fullyQualifiedName","libraryRoot","root","delete","joinPathFragments","generateFiles","__dirname","synthDir","updateJson","config","projectType","targets","build","cache","executor","outputs","dependsOn","options","cwd","command","deploy","addDependenciesToPackageJson","withVersions","formatFiles"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAuFA,OAA8B;eAA9B;;IAxEsBA,cAAc;eAAdA;;;;;wBALf;qEAEyC;0BACnB;AAEtB,eAAeA,eAAeC,IAAU,EAAEC,MAA4B;IAC3E,MAAMC,MAAMC,IAAAA,0BAAe,EAACH,MAAMC;IAClC,MAAMG,yBAAyB,MAAMC,IAAAA,kBAAc,EAACL,MAAMC;IAE1D,MAAMK,mBAAmB,CAAC,MAAM,EAAEJ,IAAIK,GAAG,CAAC,QAAQ,CAAC;IACnD,MAAMC,sBACJN,IAAIK,GAAG,CACJE,KAAK,CAAC,KACNC,GAAG,CAAC,IAAM,MACVC,IAAI,CAAC,OAAOL;IACjB,MAAMM,gBAAgBC,IAAAA,gCAAwB,EAACb,MAAME,IAAIY,kBAAkB;IAC3E,MAAMC,cAAcH,cAAcI,IAAI;IACtChB,KAAKiB,MAAM,CAACC,IAAAA,yBAAiB,EAACH,aAAa;IAC3CI,IAAAA,qBAAa,EACXnB,MACAkB,IAAAA,yBAAiB,EAACE,WAAW,YAC7BL,aACA;QACEM,UAAUb;OACPP;IAIPqB,IAAAA,kBAAU,EACRtB,MACA,CAAC,EAAEe,YAAY,aAAa,CAAC,EAC7B,CAACQ;QACCA,OAAOC,WAAW,GAAG;QAErBD,OAAOE,OAAO,CAACC,KAAK,GAAG;YACrBC,OAAO;YACPC,UAAU;YACVC,SAAS;gBAAC,CAAC,eAAe,EAAEvB,iBAAiB,CAAC;aAAC;YAC/CwB,WAAW;gBAAC;aAAS;YACrBC,SAAS;gBACPC,KAAKjB;gBACLkB,SAAS;YACX;QACF;QAEAV,OAAOE,OAAO,CAACS,MAAM,GAAG;YACtBN,UAAU;YACVG,SAAS;gBACPC,KAAKjB;gBACLkB,SAAS,CAAC,0CAA0C,EAAEzB,oBAAoB,CAAC;YAC7E;QACF;QAEA,OAAOe;IACT;IAGFY,IAAAA,oCAA4B,EAC1BnC,MACAoC,IAAAA,sBAAY,EAAC;QACX;QACA;QACA;QACA;QACA;QACA;KACD,GACDA,IAAAA,sBAAY,EAAC;QACX;KACD;IAGH,MAAMC,IAAAA,mBAAW,EAACrC;IAElB,OAAOI;AACT;MAEA,WAAeL"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+
6
+ //# sourceMappingURL=schema.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../packages/nx-plugin/src/infra/app/schema.d.ts"],"names":[],"rangeMappings":"","mappings":""}
@@ -0,0 +1,6 @@
1
+ export interface InfraGeneratorSchema {
2
+ name: string;
3
+ directory?: string;
4
+ unitTestRunner?: 'jest' | 'vitest' | 'none';
5
+ skipInstall?: boolean;
6
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema",
3
+ "$id": "Infra",
4
+ "title": "",
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "description": "The name of the application.",
9
+ "type": "string",
10
+ "$default": {
11
+ "$source": "argv",
12
+ "index": 0
13
+ },
14
+ "x-prompt": "What name would you like to use for the application?",
15
+ "pattern": "^[a-zA-Z][^:]*$"
16
+ },
17
+ "directory": {
18
+ "description": "The directory of the new application.",
19
+ "type": "string",
20
+ "alias": "dir",
21
+ "x-priority": "important",
22
+ "default": "packages",
23
+ "x-prompt": "What directory would you like to store your application in?"
24
+ },
25
+ "unitTestRunner": {
26
+ "type": "string",
27
+ "enum": ["jest", "vitest", "none"],
28
+ "x-priority": "important",
29
+ "x-prompt": "What unit test runner would you like to use?",
30
+ "description": "Test runner to use for unit tests.",
31
+ "default": "vitest"
32
+ }
33
+ },
34
+ "required": ["name"]
35
+ }