mirror of https://github.com/abpframework/abp.git
19 changed files with 242 additions and 6 deletions
@ -0,0 +1,25 @@ |
|||
{ |
|||
"extends": ["../../.eslintrc.json"], |
|||
"ignorePatterns": ["!**/*"], |
|||
"overrides": [ |
|||
{ |
|||
"files": ["*.ts", "*.tsx", "*.js", "*.jsx"], |
|||
"rules": {} |
|||
}, |
|||
{ |
|||
"files": ["*.ts", "*.tsx"], |
|||
"rules": {} |
|||
}, |
|||
{ |
|||
"files": ["*.js", "*.jsx"], |
|||
"rules": {} |
|||
}, |
|||
{ |
|||
"files": ["./package.json", "./generators.json"], |
|||
"parser": "jsonc-eslint-parser", |
|||
"rules": { |
|||
"@nx/nx-plugin-checks": "error" |
|||
} |
|||
} |
|||
] |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
# generators |
|||
|
|||
This library was generated with [Nx](https://nx.dev). |
|||
|
|||
## Building |
|||
|
|||
Run `nx build generators` to build the library. |
|||
|
|||
## Running unit tests |
|||
|
|||
Run `nx test generators` to execute the unit tests via [Jest](https://jestjs.io). |
|||
@ -0,0 +1,9 @@ |
|||
{ |
|||
"generators": { |
|||
"generate-proxy": { |
|||
"factory": "./src/generators/generate-proxy/generator", |
|||
"schema": "./src/generators/generate-proxy/schema.json", |
|||
"description": "generate-proxy generator" |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,10 @@ |
|||
/* eslint-disable */ |
|||
export default { |
|||
displayName: 'generators', |
|||
preset: '../../jest.preset.js', |
|||
transform: { |
|||
'^.+\\.[tj]s$': ['ts-jest', { tsconfig: '<rootDir>/tsconfig.spec.json' }], |
|||
}, |
|||
moduleFileExtensions: ['ts', 'js', 'html'], |
|||
coverageDirectory: '../../coverage/packages/generators', |
|||
}; |
|||
@ -0,0 +1,6 @@ |
|||
{ |
|||
"name": "@abp/generators", |
|||
"version": "0.0.1", |
|||
"type": "commonjs", |
|||
"generators": "./generators.json" |
|||
} |
|||
@ -0,0 +1,66 @@ |
|||
{ |
|||
"name": "generators", |
|||
"$schema": "../../node_modules/nx/schemas/project-schema.json", |
|||
"sourceRoot": "packages/generators/src", |
|||
"projectType": "library", |
|||
"targets": { |
|||
"build": { |
|||
"executor": "@nx/js:tsc", |
|||
"outputs": ["{options.outputPath}"], |
|||
"options": { |
|||
"outputPath": "dist/packages/generators", |
|||
"main": "packages/generators/src/index.ts", |
|||
"tsConfig": "packages/generators/tsconfig.lib.json", |
|||
"assets": [ |
|||
"packages/generators/*.md", |
|||
{ |
|||
"input": "./packages/generators/src", |
|||
"glob": "**/!(*.ts)", |
|||
"output": "./src" |
|||
}, |
|||
{ |
|||
"input": "./packages/generators/src", |
|||
"glob": "**/*.d.ts", |
|||
"output": "./src" |
|||
}, |
|||
{ |
|||
"input": "./packages/generators", |
|||
"glob": "generators.json", |
|||
"output": "." |
|||
}, |
|||
{ |
|||
"input": "./packages/generators", |
|||
"glob": "executors.json", |
|||
"output": "." |
|||
} |
|||
] |
|||
} |
|||
}, |
|||
"lint": { |
|||
"executor": "@nx/linter:eslint", |
|||
"outputs": ["{options.outputFile}"], |
|||
"options": { |
|||
"lintFilePatterns": [ |
|||
"packages/generators/**/*.ts", |
|||
"packages/generators/package.json", |
|||
"packages/generators/generators.json" |
|||
] |
|||
} |
|||
}, |
|||
"test": { |
|||
"executor": "@nx/jest:jest", |
|||
"outputs": ["{workspaceRoot}/coverage/{projectRoot}"], |
|||
"options": { |
|||
"jestConfig": "packages/generators/jest.config.ts", |
|||
"passWithNoTests": true |
|||
}, |
|||
"configurations": { |
|||
"ci": { |
|||
"ci": true, |
|||
"codeCoverage": true |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
"tags": [] |
|||
} |
|||
@ -0,0 +1 @@ |
|||
const variable = "<%= name %>"; |
|||
@ -0,0 +1,20 @@ |
|||
import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; |
|||
import { Tree, readProjectConfiguration } from '@nx/devkit'; |
|||
|
|||
import { generateProxyGenerator } from './generator'; |
|||
import { GenerateProxyGeneratorSchema } from './schema'; |
|||
|
|||
describe('generate-proxy generator', () => { |
|||
let tree: Tree; |
|||
const options: GenerateProxyGeneratorSchema = { name: 'test' }; |
|||
|
|||
beforeEach(() => { |
|||
tree = createTreeWithEmptyWorkspace(); |
|||
}); |
|||
|
|||
it('should run successfully', async () => { |
|||
await generateProxyGenerator(tree, options); |
|||
const config = readProjectConfiguration(tree, 'test'); |
|||
expect(config).toBeDefined(); |
|||
}); |
|||
}); |
|||
@ -0,0 +1,17 @@ |
|||
import { addProjectConfiguration, formatFiles, generateFiles, Tree } from '@nx/devkit'; |
|||
import * as path from 'path'; |
|||
import { GenerateProxyGeneratorSchema } from './schema'; |
|||
|
|||
export async function generateProxyGenerator(tree: Tree, options: GenerateProxyGeneratorSchema) { |
|||
const projectRoot = `libs/${options.name}`; |
|||
addProjectConfiguration(tree, options.name, { |
|||
root: projectRoot, |
|||
projectType: 'library', |
|||
sourceRoot: `${projectRoot}/src`, |
|||
targets: {}, |
|||
}); |
|||
generateFiles(tree, path.join(__dirname, 'files'), projectRoot, options); |
|||
await formatFiles(tree); |
|||
} |
|||
|
|||
export default generateProxyGenerator; |
|||
@ -0,0 +1,3 @@ |
|||
export interface GenerateProxyGeneratorSchema { |
|||
name: string; |
|||
} |
|||
@ -0,0 +1,18 @@ |
|||
{ |
|||
"$schema": "http://json-schema.org/schema", |
|||
"$id": "GenerateProxy", |
|||
"title": "", |
|||
"type": "object", |
|||
"properties": { |
|||
"name": { |
|||
"type": "string", |
|||
"description": "", |
|||
"$default": { |
|||
"$source": "argv", |
|||
"index": 0 |
|||
}, |
|||
"x-prompt": "What name would you like to use?" |
|||
} |
|||
}, |
|||
"required": ["name"] |
|||
} |
|||
@ -0,0 +1,16 @@ |
|||
{ |
|||
"extends": "../../tsconfig.base.json", |
|||
"compilerOptions": { |
|||
"module": "commonjs" |
|||
}, |
|||
"files": [], |
|||
"include": [], |
|||
"references": [ |
|||
{ |
|||
"path": "./tsconfig.lib.json" |
|||
}, |
|||
{ |
|||
"path": "./tsconfig.spec.json" |
|||
} |
|||
] |
|||
} |
|||
@ -0,0 +1,10 @@ |
|||
{ |
|||
"extends": "./tsconfig.json", |
|||
"compilerOptions": { |
|||
"outDir": "../../dist/out-tsc", |
|||
"declaration": true, |
|||
"types": ["node"] |
|||
}, |
|||
"include": ["src/**/*.ts"], |
|||
"exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"] |
|||
} |
|||
@ -0,0 +1,9 @@ |
|||
{ |
|||
"extends": "./tsconfig.json", |
|||
"compilerOptions": { |
|||
"outDir": "../../dist/out-tsc", |
|||
"module": "commonjs", |
|||
"types": ["jest", "node"] |
|||
}, |
|||
"include": ["jest.config.ts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.d.ts"] |
|||
} |
|||
Loading…
Reference in new issue