2.70.0 • Published 5 months ago

@platformatic/generators v2.70.0

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
5 months ago

Platformatic Generator

Generates a Platformatic app programmatically.

Extending default class

The base class BaseGenerator is basically a file writer with some default behaviours.

It should be instantiated with an options object having this properties

  • type: "db" | "service" | "composer"
  • logger: A pino-like logger object. If not provided a fake logger with no output will be used
  • questions: An array of custom questions object to provide to inquirer. Default to []

The setConfig({...}) function should be called to set the config generator. BaseGenerator supports the bare minumium set of options which are common to all types of apps

  • targetDirectory Where in the local filesystem the app will be created
  • port: The port where the app should listen
  • hostname: The hostname where the app should listen
  • plugin: Whether to create or not a sample plugin file structure
  • typescript: true|false
  • initGitRepository: Inits the git repository
  • dependencies: A key value object to add dependencies in package.json file
  • devDependencies: A key value object to add dev-dependencies in package.json file
  • env: A key/value object that will be automatically appended to the generated .env file

Usage

This is the simplest example to create a Platformatic Service app into /path/to/app

const { BaseGenerator } = require('@platformatic/generators')

async function main() {
  const gen = new BaseGenerator({
    type: 'service'    
  })
  gen.setConfig({
    targetDirectory: '/path/to/app'
  })
  await gen.run()
}

main()

The run() function will call the prepare() function which prepare all files in memory, which will be written by the writeFiles() function.

Hooks

In order to customize the behavior of a subclass there are some functions that may be implemented

_getConfigFileContents

Returns an object that will be serialized with JSON.stringify method. It will be saved in the platformatic.${TYPE}.json file

_beforePrepare

Called from prepare function. You have already access to the current fastify version (this.fastifyVersion) and platformatic version (this.platformaticVersion)

_afterPrepare

Called at the end of prepare function body

2.69.0

5 months ago

2.46.0

8 months ago

2.11.0

12 months ago

2.34.0

10 months ago

2.19.0

11 months ago

2.57.0

7 months ago

2.45.0

8 months ago

2.22.0

11 months ago

2.60.0

7 months ago

2.19.0-alpha.10

11 months ago

2.19.0-alpha.1

11 months ago

2.19.0-alpha.2

11 months ago

2.19.0-alpha.3

11 months ago

2.19.0-alpha.4

11 months ago

2.19.0-alpha.5

11 months ago

2.19.0-alpha.6

11 months ago

2.68.0

5 months ago

2.56.0

7 months ago

2.33.0

10 months ago

2.10.0

12 months ago

2.67.0-alpha.1

5 months ago

2.67.0-alpha.0

5 months ago

2.67.0-alpha.2

5 months ago

2.18.0

11 months ago

2.21.0

11 months ago

2.44.1

9 months ago

2.67.0

5 months ago

2.44.0

9 months ago

2.21.1

11 months ago

2.8.2-alpha.1

12 months ago

2.21.0-alpha.1

11 months ago

2.21.0-alpha.2

11 months ago

2.20.0-alpha.1

11 months ago

2.20.0-alpha.2

11 months ago

2.29.0

10 months ago

2.67.1

5 months ago

2.44.3

9 months ago

2.44.2

9 months ago

2.44.5

9 months ago

2.44.4

9 months ago

2.32.0

10 months ago

2.55.0

7 months ago

2.70.0

5 months ago

2.17.0

11 months ago

2.43.0

9 months ago

2.66.0

5 months ago

2.20.0

11 months ago

2.66.1

5 months ago

2.28.0

10 months ago

2.54.0

7 months ago

2.31.0

10 months ago

2.9.0

12 months ago

2.39.1

9 months ago

2.39.0

9 months ago

2.30.1-alpha.1

10 months ago

2.16.0

11 months ago

2.65.0

5 months ago

2.42.0

9 months ago

2.65.1

5 months ago

2.30.1-alpha.0

10 months ago

2.27.1

10 months ago

2.27.0

10 months ago

2.53.0

8 months ago

2.30.2

10 months ago

2.53.1

8 months ago

2.30.1

10 months ago

2.53.2

7 months ago

2.30.0

10 months ago

2.8.1

12 months ago

2.8.0

12 months ago

2.9.1

12 months ago

2.15.0

11 months ago

2.38.0

9 months ago

2.64.0

5 months ago

2.41.0

9 months ago

2.28.1-alpha.1

10 months ago

2.26.2

10 months ago

2.26.1

10 months ago

2.49.0

8 months ago

2.26.0

10 months ago

2.52.0

8 months ago

2.37.1

9 months ago

2.37.0

9 months ago

2.14.0

12 months ago

2.63.1

6 months ago

2.63.2

6 months ago

2.63.3

6 months ago

2.63.4

6 months ago

2.63.0

6 months ago

2.40.0

9 months ago

2.25.0

11 months ago

2.48.0

8 months ago

2.51.0

8 months ago

2.26.0-alpha.1

10 months ago

2.59.0

7 months ago

2.36.2

9 months ago

2.13.0

12 months ago

2.59.1

7 months ago

2.36.1

10 months ago

2.62.0

6 months ago

2.62.1

6 months ago

2.19.0-alpha.7

11 months ago

2.19.0-alpha.8

11 months ago

2.19.0-alpha.9

11 months ago

2.51.1-alpha.0

8 months ago

2.52.1-alpha.0

8 months ago

2.47.0

8 months ago

2.24.0

11 months ago

2.16.0-alpha.1

11 months ago

2.12.0

12 months ago

2.50.0

8 months ago

2.35.1

10 months ago

2.58.0

7 months ago

2.35.0

10 months ago

2.23.0

11 months ago

2.61.0

6 months ago

2.7.1-alpha.2

12 months ago

2.8.0-alpha.2

12 months ago

2.7.0

12 months ago

2.6.1

12 months ago

2.6.0

12 months ago

2.7.1-alpha.1

12 months ago

2.5.6-alpha.2

12 months ago

2.8.0-alpha.1

12 months ago

2.4.0

1 year ago

2.5.5

1 year ago

1.53.4

1 year ago

2.2.2-alpha.1

1 year ago

2.3.0

1 year ago

2.3.1

1 year ago

2.2.1

1 year ago

2.2.0

1 year ago

2.5.5-alpha.3

1 year ago

2.5.5-alpha.1

1 year ago

2.5.5-alpha.2

1 year ago

3.4.1

1 year ago

2.1.1

1 year ago

2.5.0

1 year ago

2.5.2

1 year ago

2.5.1

1 year ago

2.5.4

1 year ago

2.5.3

1 year ago

2.1.0

1 year ago

2.0.2

1 year ago

2.0.1

1 year ago

2.0.0

1 year ago

2.0.0-alpha.26

1 year ago

2.0.0-alpha.25

1 year ago

2.0.0-alpha.22

1 year ago

2.0.0-alpha.21

1 year ago

2.0.0-alpha.20

1 year ago

2.0.0-alpha.24

1 year ago

2.0.0-alpha.23

1 year ago

2.0.0-alpha.11

1 year ago

2.0.0-alpha.10

1 year ago

2.0.0-alpha.19

1 year ago

2.0.0-alpha.18

1 year ago

2.0.0-alpha.17

1 year ago

2.0.0-alpha.16

1 year ago

2.0.0-alpha.15

1 year ago

2.0.0-alpha.14

1 year ago

2.0.0-alpha.13

1 year ago

2.0.0-alpha.12

1 year ago

2.0.0-alpha.8

1 year ago

2.0.0-alpha.9

1 year ago

1.53.0

1 year ago

1.53.1

1 year ago

1.53.3

1 year ago

1.52.3

1 year ago

2.0.0-alpha.7

1 year ago

2.0.0-alpha.3

1 year ago

2.0.0-alpha.4

1 year ago

2.0.0-alpha.5

1 year ago

2.0.0-alpha.6

1 year ago

2.0.0-alpha.1

1 year ago

2.0.0-alpha.2

1 year ago

1.42.0

1 year ago

1.44.0

1 year ago

1.46.0

1 year ago

1.48.0

1 year ago

1.51.8

1 year ago

1.41.1

1 year ago

1.41.0

1 year ago

1.43.0

1 year ago

1.45.1

1 year ago

1.45.0

1 year ago

1.47.0

1 year ago

1.49.1

1 year ago

1.49.0

1 year ago

1.50.0

1 year ago

1.52.1

1 year ago

1.52.0

1 year ago

1.52.2

1 year ago

1.40.0

1 year ago

1.39.0

1 year ago

1.38.0

1 year ago

1.37.1

1 year ago

1.37.0

1 year ago

1.36.2

2 years ago

1.36.1

2 years ago

1.36.0

2 years ago

1.35.5

2 years ago

1.35.3

2 years ago

1.35.4

2 years ago

1.35.1

2 years ago

1.35.2

2 years ago

1.35.0

2 years ago

1.32.0

2 years ago

1.33.0

2 years ago

1.31.1

2 years ago

1.31.0

2 years ago

1.30.0

2 years ago

1.29.0

2 years ago

1.28.1

2 years ago

1.28.0

2 years ago

1.27.0

2 years ago

1.26.0

2 years ago

1.25.0

2 years ago

1.24.0

2 years ago

1.23.0

2 years ago

1.22.0

2 years ago

1.21.0

2 years ago

1.21.1

2 years ago

1.20.3

2 years ago

1.20.2

2 years ago

1.20.1

2 years ago

1.20.0

2 years ago

1.19.0

2 years ago

1.18.0

2 years ago

1.17.0

2 years ago

1.16.0

2 years ago

1.15.1

2 years ago

1.15.0

2 years ago

1.14.4

2 years ago

1.14.3

2 years ago

1.14.2

2 years ago

1.14.1

2 years ago

1.14.0

2 years ago

1.13.7

2 years ago

1.13.6

2 years ago

1.13.5

2 years ago

1.13.4

2 years ago

1.13.3

2 years ago

1.13.2

2 years ago

1.13.1

2 years ago

1.13.0

2 years ago