Socket
Socket
Sign inDemoInstall

@amplication/data-service-generator

Package Overview
Dependencies
18
Maintainers
7
Versions
25
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @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.


Version published
Weekly downloads
2
decreased by-93.75%
Maintainers
7
Created
Weekly downloads
 

Readme

Source

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.js v14 or above

    node -v
    

    Should be: v14.0.0 or newer

  • npm v7 or above

    npm -v
    

    Should be: 7.0.0 or newer

  • Docker

    docker -v
    

    Should start with: Docker version

  • Git

    git version
    

    Should 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 bootstrap
    
  • Build the Data Service Generator and its dependencies:

    npm run build -- --scope @amplication/data-service-generator --include-dependencies
    
  • Open the data service generator directory

    cd packages/data-service-generator
    
  • Generate 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 format
    
  • Lint files (editors like VSCode come with integration to display those continuously)

    npm run lint
    
  • Run 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-service

E2E 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:e2e

Generated Application Dependency Management

Add a dependency to the server template

npx lerna add --scope server-template $NAME_OF_DEPENDENCY

Add a dependency to the client template

npx lerna add --scope admin-template $NAME_OF_DEPENDENCY

FAQs

Last updated on 24 Jan 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc