2.7.0 • Published 8 months ago

@platformatic/generators v2.7.0

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
8 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.7.1-alpha.2

8 months ago

2.8.0-alpha.2

8 months ago

2.7.0

8 months ago

2.6.1

8 months ago

2.6.0

8 months ago

2.7.1-alpha.1

8 months ago

2.5.6-alpha.2

8 months ago

2.8.0-alpha.1

8 months ago

2.4.0

9 months ago

2.5.5

9 months ago

1.53.4

9 months ago

2.2.2-alpha.1

9 months ago

2.3.0

9 months ago

2.3.1

9 months ago

2.2.1

10 months ago

2.2.0

10 months ago

2.5.5-alpha.3

9 months ago

2.5.5-alpha.1

9 months ago

2.5.5-alpha.2

9 months ago

3.4.1

9 months ago

2.1.1

10 months ago

2.5.0

9 months ago

2.5.2

9 months ago

2.5.1

9 months ago

2.5.4

9 months ago

2.5.3

9 months ago

2.1.0

10 months ago

2.0.2

10 months ago

2.0.1

10 months ago

2.0.0

10 months ago

2.0.0-alpha.26

10 months ago

2.0.0-alpha.25

10 months ago

2.0.0-alpha.22

10 months ago

2.0.0-alpha.21

10 months ago

2.0.0-alpha.20

10 months ago

2.0.0-alpha.24

10 months ago

2.0.0-alpha.23

10 months ago

2.0.0-alpha.11

10 months ago

2.0.0-alpha.10

10 months ago

2.0.0-alpha.19

10 months ago

2.0.0-alpha.18

10 months ago

2.0.0-alpha.17

10 months ago

2.0.0-alpha.16

10 months ago

2.0.0-alpha.15

10 months ago

2.0.0-alpha.14

10 months ago

2.0.0-alpha.13

10 months ago

2.0.0-alpha.12

10 months ago

2.0.0-alpha.8

10 months ago

2.0.0-alpha.9

10 months ago

1.53.0

10 months ago

1.53.1

10 months ago

1.53.3

10 months ago

1.52.3

10 months ago

2.0.0-alpha.7

11 months ago

2.0.0-alpha.3

11 months ago

2.0.0-alpha.4

11 months ago

2.0.0-alpha.5

11 months ago

2.0.0-alpha.6

11 months ago

2.0.0-alpha.1

12 months ago

2.0.0-alpha.2

12 months 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

12 months 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

12 months ago

1.49.0

1 year ago

1.50.0

12 months ago

1.52.1

12 months ago

1.52.0

12 months ago

1.52.2

12 months 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

1 year ago

1.36.1

1 year ago

1.36.0

1 year ago

1.35.5

1 year ago

1.35.3

1 year ago

1.35.4

1 year ago

1.35.1

1 year ago

1.35.2

1 year ago

1.35.0

1 year ago

1.32.0

1 year ago

1.33.0

1 year ago

1.31.1

1 year ago

1.31.0

1 year ago

1.30.0

1 year ago

1.29.0

1 year ago

1.28.1

1 year ago

1.28.0

1 year ago

1.27.0

1 year ago

1.26.0

1 year ago

1.25.0

1 year ago

1.24.0

1 year ago

1.23.0

1 year ago

1.22.0

1 year ago

1.21.0

1 year ago

1.21.1

1 year ago

1.20.3

1 year ago

1.20.2

1 year ago

1.20.1

1 year ago

1.20.0

1 year ago

1.19.0

1 year ago

1.18.0

1 year 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