2.0.0-beta.18 • Published 4 years ago

create-react-prime v2.0.0-beta.18

Weekly downloads
2
License
MIT
Repository
-
Last release
4 years ago

This package allows you to easily install and setup react-prime, react-prime-ssr and react-prime-native. check their repositories for more information.

Create React Prime

Quick start

npx create-react-prime my-app
cd my-app
npm start

Options

Development

This project uses the Object Oriented Programming (OOP), Dependency Injection (DI) and Inversion of Control (IoC) principles.

When adding, modifying or extending installers, only OOP knowledge is relevant. DI and IoC is used outside of the installers.

When modifying the core code, however, it is important to have basic knowledge of these principles before starting.

Below is a very brief explanation of the principles.

Object Oriented Programming

Object Oriented Programming (OOP) is used for structuring this project. It uses class instances for modules to store and share data between other modules.

Dependency Injection

Dependency Injection (DI) is a principle where modules are injected independently into the constructor of other modules. This way you do not need to keep the module's dependencies in mind when instantiating. This project uses InversifyJS to achieve DI.

Inversion of Control

Inversion of Control (IoC) is used to decouple the implementation and the shape of a module. This is useful for testing, because this means we only care about the shape of the module and not about the implementation of the module, which in turn makes mocking easier. Coupling happens in core/ioc/container.ts This project uses InversifyJS to achieve IoC.

Modules

This CLI is built around modules. This allows developers to easily modify and even add their own installation flows to the CLI.

Add installer

To add a new installer, do the following:

  1. Navigate to modules/config.ts
  2. Add the installer to the installersConfig list, together with its name (used for the --boilerplate option), and the repository. The installer should be the default Installer, unless you need extra logic in the installation process.
  3. Add the new installer to the readme!

Add Custom installer

When the default installer does not satisfy the need of the installation process, you can create a custom installer. This will always need to be based off of the default installer.

To create a custom installer, do the following:

  1. Follow the steps of Adding installers.
  2. Extend the class with Installer
    • Note: when overriding any of the methods from Installer, make sure to always run the super method at some point in the override.
  3. In the installersConfig (from step 2 of Adding installers), use your custom installer instead of the default installer.

Installer Hooks

/** Executed after initialization of an installer instance */
afterInit(): void

/** Executed before initialization of the installer steps list */
beforeStepsInit(): void
/** Executed after initialization of the installer steps list */
afterStepsInit(): void

/** Executed before iterating the installation steps */
beforeInstall(): void
/** Executed after iterating the installation steps */
afterInstall(): void

/** Executed before every installation step. The first parameter returns the current step ID. */
async beforeExecuteStep(step: i.InstallStepIds): Promise<void> {}
/** Executed after every installation step. The first parameter returns the current step ID. */
async afterExecuteStep(step: i.InstallStepIds): Promise<void> {}

Installation Steps

⚠️ TODO

Prompt

⚠️ TODO

4.11.0-beta.1

1 year ago

4.11.0

1 year ago

4.10.0

1 year ago

4.9.0-beta.5

1 year ago

4.9.0-beta.4

2 years ago

4.9.0-beta.2

2 years ago

4.9.0-beta.3

2 years ago

4.9.0-beta.1

2 years ago

4.8.0-beta.3

2 years ago

4.8.0-beta.4

2 years ago

4.8.0

2 years ago

4.8.0-beta.1

2 years ago

4.8.0-beta.2

2 years ago

4.7.0

2 years ago

4.7.0-beta.1

2 years ago

4.7.0-beta.3

2 years ago

4.7.0-beta.2

2 years ago

4.7.0-rsc.1

2 years ago

4.6.0-dev.4

2 years ago

4.6.0-dev.3

2 years ago

4.6.0-dev.2

2 years ago

4.6.0-blazing.1

2 years ago

4.6.0-pwa.0

2 years ago

4.6.0-dev.1

2 years ago

4.5.8-dev.1

2 years ago

4.6.0-dev

2 years ago

4.6.0-beta

2 years ago

4.5.10-beta.0

2 years ago

4.5.9

2 years ago

4.5.8

3 years ago

4.5.9-beta.1

2 years ago

4.5.7-rc.1

3 years ago

4.5.7

3 years ago

4.5.4

3 years ago

4.5.6

3 years ago

4.5.5-beta.3

3 years ago

4.5.5-beta.4

3 years ago

4.5.7-beta.1

3 years ago

4.5.5-beta.1

3 years ago

4.5.5-beta.2

3 years ago

4.5.0-beta.4

3 years ago

4.5.0

3 years ago

4.5.2

3 years ago

4.5.1

3 years ago

4.5.3

3 years ago

4.4.2-beta.6

3 years ago

4.4.2-beta.5

3 years ago

4.4.2-beta.4

3 years ago

4.4.2-beta.3

3 years ago

4.4.2-beta.2

3 years ago

4.4.2-beta.1

3 years ago

4.4.2-beta.7

3 years ago

4.5.0-beta.1

3 years ago

4.5.0-beta.2

3 years ago

4.5.0-beta.3

3 years ago

4.1.1-dev.1

3 years ago

4.1.1-dev.3

3 years ago

4.1.1-dev.2

3 years ago

4.2.0-beta.4

3 years ago

4.2.0-beta.3

3 years ago

4.2.0-beta.2

3 years ago

4.2.0-beta.1

3 years ago

4.4.1-dev.1

3 years ago

4.0.10-beta.1

3 years ago

4.0.10-beta.2

3 years ago

4.0.10-beta.3

3 years ago

4.0.10-beta.4

3 years ago

4.1.1-beta.2

3 years ago

4.1.1-beta.1

3 years ago

4.1.1-beta.3

3 years ago

4.4.1

3 years ago

4.4.0

3 years ago

4.4.2

3 years ago

4.3.0

3 years ago

4.3.0-beta.1

3 years ago

4.4.0-beta.7

3 years ago

4.4.0-beta.8

3 years ago

4.4.0-beta.5

3 years ago

4.4.0-beta.6

3 years ago

4.4.0-beta.9

3 years ago

4.4.0-beta.3

3 years ago

4.4.0-beta.4

3 years ago

4.4.0-beta.1

3 years ago

4.4.0-beta.2

3 years ago

4.4.0-dev.1

3 years ago

4.4.0-dev.6

3 years ago

4.4.0-dev.7

3 years ago

4.4.0-dev.4

3 years ago

4.4.0-dev.5

3 years ago

4.4.0-dev.2

3 years ago

4.4.0-dev.3

3 years ago

4.0.10-test.1

3 years ago

4.1.0-beta.1

3 years ago

4.4.0-dev.10

3 years ago

4.4.0-dev.11

3 years ago

4.4.0-dev.12

3 years ago

4.4.0-dev.13

3 years ago

4.1.0-beta.4

3 years ago

4.4.0-dev.14

3 years ago

4.4.0-dev.15

3 years ago

4.1.0-beta.2

3 years ago

4.4.0-dev.16

3 years ago

4.1.0-beta.3

3 years ago

4.1.0

3 years ago

4.0.7

3 years ago

4.0.9

3 years ago

4.0.8

3 years ago

4.0.7-dev.0

3 years ago

4.0.9-beta.1

3 years ago

4.0.9-beta.2

3 years ago

4.0.7-beta.2

3 years ago

4.0.7-beta.1

3 years ago

4.0.7-beta.0

3 years ago

4.0.8-dev.0

3 years ago

4.0.5

3 years ago

4.0.6

3 years ago

4.0.1

3 years ago

4.0.0

3 years ago

4.0.3

3 years ago

4.0.2

3 years ago

4.0.0-beta.17

3 years ago

4.0.0-beta.16

3 years ago

4.0.0-beta.18

3 years ago

4.0.3-beta.1

3 years ago

4.0.0-dev.70

3 years ago

4.0.0-dev.73

3 years ago

4.0.0-dev.71

3 years ago

4.0.0-dev.72

3 years ago

4.0.0-dev.22

3 years ago

4.0.0-dev.23

3 years ago

4.0.0-dev.20

3 years ago

4.0.0-dev.21

3 years ago

4.0.0-dev.28

3 years ago

4.0.0-dev.29

3 years ago

4.0.0-dev.26

3 years ago

4.0.0-dev.27

3 years ago

4.0.0-dev.24

3 years ago

4.0.0-dev.25

3 years ago

4.0.0-dev.19

3 years ago

4.0.0-dev.17

3 years ago

4.0.0-dev.18

3 years ago

4.0.0-dev.15

3 years ago

4.0.0-dev.16

3 years ago

4.0.0-dev.13

3 years ago

4.0.0-dev.14

3 years ago

4.0.0-dev.44

3 years ago

4.0.0-dev.45

3 years ago

4.0.0-dev.42

3 years ago

4.0.0-dev.43

3 years ago

4.0.0-dev.40

3 years ago

4.0.0-dev.41

3 years ago

4.0.0-dev.48

3 years ago

4.0.0-dev.49

3 years ago

4.0.0-dev.46

3 years ago

4.0.0-dev.47

3 years ago

4.0.0-beta.15

3 years ago

4.0.0-beta.14

3 years ago

4.0.0-beta.11

3 years ago

4.0.0-beta.10

3 years ago

4.0.0-beta.13

3 years ago

4.0.0-beta.12

3 years ago

4.0.0-dev.33

3 years ago

4.0.0-dev.34

3 years ago

4.0.0-dev.31

3 years ago

4.0.0-dev.32

3 years ago

4.0.0-dev.30

3 years ago

4.0.0-dev.39

3 years ago

4.0.0-dev.37

3 years ago

4.0.0-dev.38

3 years ago

4.0.0-dev.35

3 years ago

4.0.0-dev.36

3 years ago

4.0.0-dev.60

3 years ago

4.0.0-beta.8

3 years ago

4.0.0-beta.7

3 years ago

4.0.0-beta.6

3 years ago

4.0.0-beta.5

3 years ago

4.0.0-beta.4

3 years ago

4.0.0-dev.55

3 years ago

4.0.0-dev.56

3 years ago

4.0.0-dev.53

3 years ago

4.0.0-dev.54

3 years ago

4.0.0-dev.51

3 years ago

4.0.0-dev.52

3 years ago

4.0.0-dev.50

3 years ago

4.0.0-beta.9

3 years ago

4.0.0-dev.6

3 years ago

4.0.0-dev.7

3 years ago

4.0.0-dev.8

3 years ago

4.0.0-dev.9

3 years ago

4.0.0-dev.0

3 years ago

4.0.0-dev.1

3 years ago

4.0.0-dev.2

3 years ago

4.0.0-dev.3

3 years ago

4.0.0-dev.4

3 years ago

4.0.0-dev.5

3 years ago

4.0.0-beta.3

3 years ago

4.0.0-beta.2

3 years ago

4.0.0-beta.1

3 years ago

4.0.0-dev.11

3 years ago

4.0.0-beta.0

3 years ago

4.0.0-dev.12

3 years ago

4.0.0-dev.10

3 years ago

2.3.0-beta.0

4 years ago

2.3.1

4 years ago

2.2.0-beta.0

4 years ago

2.2.0-beta.1

4 years ago

2.2.0

4 years ago

2.1.2

4 years ago

2.1.1

4 years ago

2.1.0

4 years ago

2.0.0

4 years ago

2.0.0-beta.26

4 years ago

2.0.0-beta.25

4 years ago

2.0.0-beta.24

4 years ago

2.0.0-beta.23

4 years ago

2.0.0-beta.22

4 years ago

2.0.0-beta.21

4 years ago

2.0.0-beta.20

4 years ago

2.0.0-beta.19

4 years ago

2.0.0-beta.18

4 years ago

2.0.0-beta.17

4 years ago

2.0.0-beta.15

4 years ago

2.0.0-beta.16

4 years ago

2.0.0-beta.14

5 years ago

2.0.0-beta.13

5 years ago

2.0.0-beta.12

5 years ago

2.0.0-beta.11

5 years ago

2.0.0-beta.10

5 years ago

2.0.0-beta.9

5 years ago

2.0.0-beta.8

5 years ago

2.0.0-beta.7

5 years ago

2.0.0-beta.6

5 years ago

2.0.0-beta.5

5 years ago

2.0.0-beta.4

5 years ago

2.0.0-beta.2

5 years ago

2.0.0-beta.1

5 years ago

2.0.0-beta.3

5 years ago

2.0.0-beta.0

5 years ago

1.3.6

5 years ago

1.3.5

5 years ago

1.3.4

5 years ago

1.3.2

5 years ago

1.3.1

5 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.4.1

6 years ago

0.4.0

6 years ago

0.3.0

7 years ago

0.2.1

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago