3.0.0-alpha.1.0.1 • Published 6 years ago

code-template-generator v3.0.0-alpha.1.0.1

Weekly downloads
5
License
MIT
Repository
github
Last release
6 years ago

code-template-generator

Node.js version code-template-generator

Breaking changes in version 3

  • Removed classic React templates for both project and component. You can find them on the repo Build environment. We keep the app is lightweight and nothing is missing ;-).
  • New For both project and component:
    • Using only React Hooks.
    • Support both plain JavaScript and TypeScript.

Table of contents

  1. Introduction
  2. Main features
  3. Installation
  4. Usage
  5. Examples
  6. Tips and tricks for the project templates
  7. Thanks you!

1. Introduction

The application is a lightweight Node.js CLI tool that is most using for front-end web development with React. Main features:

  • Project generation that has a part of the Build environments project.
  • Component generation.
  • User asset generation.

You build your own and have more choices for your frontend development. It makes your life easier. (^_~)

Screenshot

Demo

2. Main features

  • Project generation:
    • Without running the git init command.
    • With running the git init command and generation of a .gitignore file while the project is generated from a chosen template.
  • React component generation and it can be:
    • A single React component that is a file *.js, *.jsx or *.tsx.
    • A full React component that is a directory with two files *.css and *.js (or *.jsx, *.tsx) are within.
  • .gitignore file generation.
  • Automatic update checking for the latest stable version.
  • Project templates:
    • It's simple for configuration and installation of only dependencies you need.
      • Fast and flexible.
      • Only the minimum needed dependencies are installed and preconfigured.
      • Easy to change to (or from) another build environment.
      • Compatibility with another project that is generated from create-react-app.
    • Code splitting.
    • Image handling.
    • Minification for production.
    • CSS, JS code injected automatic into the HTML template /src/index.html.
    • Hot Module Replacement (HMR) is enabled.
    • You don't need to care about the distribution directory /dist. The things you care are only the directory /src.
    • Anti-caching.
  • User asset generation -> You can retrieve your own assets from a local directory.

2.1 Project templates

TemplatesMain dependencies
react-hooksReact Hooks
react-sassReact Hooks and SASS
react-typescriptReact Hooks, TypeScript 3, awesome-typescript-loader
simple-express-serverExpress, cors

You can view more details about these project templates in the repository Build environments.

2.2 Component templates

ComponentSingle (*)Full (**)Description
Plain JavaScript.js, .jsx
TypeScript*.tsx

() Single component is a file with these supported extension .js, .jsx and .tsx.

(*) Full component is a directory with two files .css and .js (or .jsx, *.tsx) that are generated within.

2.3 User asset generation

You can retrieve your own assets from a local directory.

User asset generation

  1. Reasons
    • You may have your own libraries, code templates and many more like .gitignore, .editorconfig, .eslinttrc.json, .eslintignore, ect.
    • You don't want to do the same things as search-copy-paste the assets many times while you are coding or starting a new project.
  2. Details
    • The options, sub options and their respective aliases:
      • -cf, --config is used with its sub options:
        • --set-asset
        • --view-asset
      • -m, --my-asset
    • Syntaxes:
      • generate -cf --set-asset <local-path-to-your-asset-directory>
      • generate -cf --view-asset
      • generate -m

(You can view how to use and the examples are below for more details)

3. Installation

$ npm install --global code-template-generator

System requirements:

  • The minimum supported Node.js version is 8.3.0 (Node.js LTS version is a good choice for the stability).
  • Administrator permission is required by your operating system for:
    • Installation of code-template-generator on global by the option --global.
    • Running the command $ generate --update for the latest stable version updating.

4. Usage

$ generate [-option] [--sub-option] [project-name][component-name][path]

Tip! You can use the command gen instead of generate in version 2.2.x. It's more quickly when you enter a command line.

Examples:

  • generate --version -> Main command.
  • gen --version -> Short command.

4.1 Options

OptionUsed withDescription
-<project-name>Generate a new project from a chosen template without running the git init command
-g<project-name>Run automatically the git init command and generate a .gitignore file on the root of project directory during the generation
-c<component-name.js>Generate a single React component (*.js or *.jsx) in the current directory
-f<component-name>Generate a full React component that is a directory with *.js, *.css files in the current directory
-i-A .gitignore file will be generated in the current directory
-v-View the installed version
-help-View help documentation
-u-Automatic update checking and installation for the latest stable version (*)
-cf(**)Using with one of these sub options: --set-asset, --view-asset
-m-Show a list to retrieve chosen asset(s) into the current work directory

(*) Administrator permission is required by your operating system. Here are the examples for MacOS and Ubuntu systems by using sudo:

  • $ sudo generate -u
  • $ sudo generate --update (Using alias)

(**) View how to use with its sub options that are below.

4.2 Sub options

  • --no-install (No install dependencies)
  • --set-asset (Set a local path to the asset directory)
  • --view-asset (View the current local path to the asset directory)
  • --jsx
  • --tsx
OptionSub optionUsed withDescription
---no-install<project-name>Generate a project without running the git init command and installation of dependencies
-g--no-install<project-name>Generate a project with running the git init command but without installation of dependencies
-cf--set-asset<local-path>Store a local path to the asset directory into the application config file
-cf--view-asset-View the current asset path
-f--jsx<component-name>() The application creates a `.jsxfile instead of a*.js` file that is default when it generates a full component
-f--tsx<component-name>() The application creates a `.tsxfile instead of a*.js` file that is default when it generates a full component

4.3 Aliases

OptionAlias
-g--git
-c--component
-f--full-component
-i--gitignore
-v--version
-help--help
-u--update
-cf--config
-m--my-asset

5. Examples

// Project generation
$ generate first-project             // Standar and without any options

$ generate -g secondproject          // With running the `git init` command
$ generate --git ThirdProject        // Using alias --git instead of -g
$ generate -g --no-install OtherProject
$ generate --no-install LastProject  // No install dependencies

// Single component -> A file
$ generate -c SearchComponent.js
$ generate -c ReviewComponent.jsx
$ generate -c Count.tsx

// Full component -> A directory
$ generate -f ProductComponent
$ generate -f --jsx CartComponent
$ generate -f --tsx Counter

// Asset generation
$ generate -cf --set-asset "C:\Users\name\myassets"  // Windows
$ generate -cf --set-asset "/Users/name/myassets"    // MacOS
$ generate -cf --set-asset "/home/name/myassets"     // Ubuntu
$ generate -cf --view-asset   // View the current asset location
$ generate -m                 // Show the asset list and retrieve them

// Others
$ generate --gitignore  // Generate a .gitignore file
$ generate --version    // View the installed version
$ generate --help       // View help documentation
$ generate --update     // Install the latest stable version

6. Thank you!

Special thanks to Harriet Ryder!

Many thanks to Commander.js for the inspiration.

3.0.15

5 years ago

3.0.14

5 years ago

3.0.13

5 years ago

3.0.12

5 years ago

3.0.11

5 years ago

3.0.10

5 years ago

3.0.9

5 years ago

3.0.8

6 years ago

3.0.7

6 years ago

3.0.6

6 years ago

3.0.5

6 years ago

3.0.4

6 years ago

3.0.3

6 years ago

3.0.2

6 years ago

3.0.1

6 years ago

3.0.0

6 years ago

3.0.0-beta.1.0.0

6 years ago

2.4.20

6 years ago

2.4.19

6 years ago

2.4.18

6 years ago

2.4.17

6 years ago

2.4.16

6 years ago

2.4.15

6 years ago

2.4.14

6 years ago

2.4.13

6 years ago

2.4.12

6 years ago

2.4.11

6 years ago

2.4.10

6 years ago

2.4.9

6 years ago

2.4.8

6 years ago

2.4.7

6 years ago

2.4.6

6 years ago

2.4.5

6 years ago

2.4.4

6 years ago

2.4.3

6 years ago

2.4.2

6 years ago

2.4.1

6 years ago

2.4.1-beta.1.2.7

6 years ago

2.4.1-beta.1.2.6

6 years ago

2.4.1-beta.1.2.5

6 years ago

2.4.1-beta.1.2.4

6 years ago

2.4.1-beta.1.2.3

6 years ago

2.4.1-beta.1.2.2

6 years ago

2.4.1-beta.1.2.1

6 years ago

2.4.1-beta.1.2.0

6 years ago

2.4.1-beta.1.1.1

6 years ago

2.4.1-beta.1.1.0

6 years ago

2.4.1-beta.1.0.0

6 years ago

2.4.0

6 years ago

2.4.0-beta.1.0.0

6 years ago

2.3.7

6 years ago

2.3.6

6 years ago

2.3.5

6 years ago

2.3.4

6 years ago

2.3.3

6 years ago

2.3.2

6 years ago

2.3.1

6 years ago

2.3.0

6 years ago

2.3.0-beta.1.0.0

6 years ago

2.2.11

6 years ago

2.2.10

6 years ago

2.2.9

6 years ago

2.2.8

6 years ago

2.2.7

6 years ago

2.2.7-beta.1.0.0

6 years ago

2.2.6

6 years ago

2.2.5

6 years ago

2.2.4

6 years ago

2.2.3

6 years ago

2.2.2

6 years ago

2.2.1

6 years ago

2.2.0

6 years ago

2.2.0-beta.1.0.1

6 years ago

2.2.0-beta.1.0.0

6 years ago

2.1.11

6 years ago

2.1.10

6 years ago

2.1.9

6 years ago

2.1.8

6 years ago

2.1.7

6 years ago

2.1.6

6 years ago

2.1.5

6 years ago

2.1.4

6 years ago

2.1.3

6 years ago

2.1.2

6 years ago

2.1.1

6 years ago

2.1.0

6 years ago

2.1.0-beta.1.0.0

6 years ago

2.0.3

6 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

2.0.0-beta.1.0.7

6 years ago

2.0.0-beta.1.0.6

6 years ago

2.0.0-beta.1.0.5

6 years ago

2.0.0-beta.1.0.4

6 years ago

2.0.0-beta.1.0.3

6 years ago

2.0.0-beta.1.0.2

6 years ago

2.0.0-beta.1.0.1

6 years ago

2.0.0-beta.1.0.0

7 years ago

1.4.6

7 years ago

1.4.5

7 years ago

1.4.4

7 years ago

1.4.3

7 years ago

1.4.2

7 years ago

1.4.1

7 years ago

1.4.0

7 years ago

1.3.23

7 years ago

1.3.22

7 years ago

1.3.21

7 years ago

1.3.20

7 years ago

1.3.19

7 years ago

1.3.18

7 years ago

1.3.17

7 years ago

1.3.16

7 years ago

1.3.15

7 years ago

1.3.14

7 years ago

1.3.13

7 years ago

1.3.12

7 years ago

1.3.11

7 years ago

1.3.10

7 years ago

1.3.9

7 years ago

1.3.8

7 years ago

1.3.7-next

7 years ago

1.3.6-next

7 years ago

1.3.5-next

7 years ago

1.3.4-next

7 years ago

1.3.3-next

7 years ago

1.3.2-next

7 years ago

1.2.1

7 years ago

1.3.1-next

7 years ago

1.3.0-next

7 years ago

1.2.0

7 years ago

1.1.15

7 years ago

1.1.14

7 years ago

1.1.13

7 years ago

1.1.12

7 years ago

1.1.11

7 years ago

1.1.10

7 years ago

1.1.9

7 years ago

1.1.8

7 years ago

1.1.7

7 years ago

1.1.6

7 years ago

1.1.5

7 years ago

1.1.4

7 years ago

1.1.3

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.12

7 years ago

1.0.11

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago