@amplication/data-service-generator v1.1.13
Amplication Data Service Generator
DSG (Data Service Generator) is the component responsible for the generation of source code by Amplication, and allows the integration of plugins into the code generation process.
Technologies
- Node.js: the generated code is human-editable Node.js code.
- TypeScript: the generator code and the generated code are both strictly typed TypeScript code.
- Nest.js: is used for defining the API.
- Express: is used as the base web framework for Nest.js.
- Passport: is used for providing Basic authentication.
- AccessControl: is used for providing ABAC and RBAC authorization.
- PostgreSQL: is used for storing the application data.
- Prisma: is used to interact with Postgres and define data migrations.
- Docker: the generated code includes a Dockerfile for building containers.
- Morgan: is used for logging calls to the API.
- Recast: is used for generating the TypeScript code.
- Jest: is used for testing the generator code and for testing in the generated code.
Development
:bulb: Before you begin, make sure you have all the below installed:
node -vShould be:
v14.0.0or newernpm -vShould be:
7.0.0or newerdocker -vShould start with:
Docker versiongit versionShould start with:
git version
One time set up
After cloning the repository open its root directory and run the following commands:
Install dependencies of the monorepo (execute in root directory):
npm install npm run bootstrapBuild the Data Service Generator and its dependencies:
npm run build -- --scope @amplication/data-service-generator --include-dependenciesOpen the data service generator directory
cd packages/data-service-generatorGenerate the test data service app
npm run generate-test-data-service
Workflow
Make sure you are in the data service generator directory (packages/data-service-generator).
Once you are done making changes, run the following commands:
Format files (editors like VSCode can do it for you automatically)
npm run formatLint files (editors like VSCode come with integration to display those continuously)
npm run lintRun unit tests
npm test(Optional) Rebuild the package
npm run build
Testing
Generate test data service application
Generate an application according to the test data definitions. Once generated you can install its dependencies and start it with npm and spin a database with Docker.
npm run generate-test-data-serviceE2E test data service application creation
The test will generate code according to the test data definitions, run a Docker container with it, run a database docker container, and try to call the API endpoints. Make sure to build the library before executing it.
npm run test:e2eGenerated Application Dependency Management
Add a dependency to the server template
npx lerna add --scope server-template $NAME_OF_DEPENDENCYAdd a dependency to the client template
npx lerna add --scope admin-template $NAME_OF_DEPENDENCY3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago