0.7.1 • Published 9 months ago

@pinnacle0/webpack-util v0.7.1

Weekly downloads
259
License
MIT
Repository
-
Last release
9 months ago

@pinnacle0/webpack-util

This project is to provide two helpers, based on webpack:

Following Convention Over Configuration, we provide two all-in-one tools for webpack development and build.

WebpackServerStarter

new WebpackServerStarter({
    projectDirectory: path.join(__dirname, ".."),
    port: 1234,
}).run();
  • Creates a webpack compiler instance (development mode) and runs it with webpack-dev-server.
  • Starts a localhost https server in 1234 port.

WebpackBuilder

new WebpackBuilder({
    projectDirectory: path.join(__dirname, ".."),
}).run();
  • Checks if the project structure complies to convention described below.
  • Checks if source files complies with project prettier / stylelint / eslint rules.
  • Run test if supported by package.json scripts.
  • Creates a webpack compiler instance (production mode) and bundle into an index.html with related CSS/JS/images etc.

Project Tech Stack Requirement

  • TypeScript/JavaScript

  • CSS/LESS

  • eslint

  • stylelint

  • prettier

Note: CSS/LESS only website also supported, without any JavaScript.

Project Folder Structure

The following structure can be used for a basic project setup.

<projectDirectory>
├── build/
│   └── dist/
│           (Output directory for build artifacts, content will be
│            overwritten by each build, should be ignored by git)
├── src/
│   ├── index.html
│   │       (HTML entry)
│   └── index.{ts,tsx,js,jsx,less,css}
│           (Main entry)
├── static/
│           (Directory to serve static files, e.g: robots.txt)
├── tsconfig.json
│           (TypeScript config)
├── .eslintrc.js
│           (ESLint config, can be moved to upper directories)
├── prettier.config.js
│           (Prettier config, can be moved to upper directories)
├── stylelint.config.js
│           (Stylelint config, can be moved to upper directories)
└── package.json
            (Project manifest file)

Monorepo Folder Structure

The following structure can be used for a npm/yarn/pnpm workspace setup.

<workspaceRootDirectory>
├── packages/
│   ├── project1/
│   │   ├── build/dist/
│   │   ├── config/
│   │   │   ├── tsconfig.script.json (extends: "../../../tsconfig.base.json", ...)
│   │   │   ├── tsconfig.src.json    (extends: "../../../tsconfig.base.json", ...)
│   │   │   └── tsconfig.test.json   (extends: "../../../tsconfig.base.json", ...)
│   │   ├── script/
│   │   │   ├── build.ts
│   │   │   └── start.ts
│   │   ├── src/
│   │   │   ├── index.html
│   │   │   └── index.{ts,tsx,js,jsx,less,css}
│   │   ├── static/
│   │   ├── tsconfig.json (files: [], references: [{path: "config/tsconfig.src.json"}, ...])
│   │   └── package.json
│   └── project2/
│       ├── build/dist/
│       ├── config/
│       │   ├── tsconfig.script.json (extends: "../../../tsconfig.base.json", ...)
│       │   ├── tsconfig.src.json    (extends: "../../../tsconfig.base.json", ...)
│       │   └── tsconfig.test.json   (extends: "../../../tsconfig.base.json", ...)
│       ├── script/
│       │   ├── build.ts
│       │   └── start.ts
│       ├── src/
│       │   ├── index.html
│       │   └── index.{ts,tsx,js,jsx,less,css}
│       ├── static/
│       ├── tsconfig.json (files: [], references: [{path: "config/tsconfig.src.json"}, ...])
│       └── package.json
├── tsconfig.base.json    (Define common options to be extended by other tsconfig files)
├── .eslintrc.js
├── prettier.config.js
├── stylelint.config.js
└── package.json    
0.7.1

9 months ago

0.7.0

9 months ago

0.7.0-beta.8

9 months ago

0.7.0-beta.9

9 months ago

0.7.0-beta.6

9 months ago

0.7.0-beta.7

9 months ago

0.7.0-beta.5

9 months ago

0.7.0-beta.2

9 months ago

0.7.0-beta.3

9 months ago

0.7.0-beta.4

9 months ago

0.7.0-beta.1

10 months ago

0.6.9

10 months ago

0.6.7

11 months ago

0.6.6

11 months ago

0.6.8

10 months ago

0.6.5

11 months ago

0.6.4

1 year ago

0.6.3

1 year ago

0.6.2

1 year ago

0.6.1

1 year ago

0.5.10

2 years ago

0.5.11

2 years ago

0.6.0-beta3

2 years ago

0.6.0-beta4

2 years ago

0.6.0-beta2

2 years ago

0.5.8

2 years ago

0.5.7

2 years ago

0.5.9

2 years ago

0.6.0-beta

2 years ago

0.5.4

2 years ago

0.5.3

2 years ago

0.5.6

2 years ago

0.5.5

2 years ago

0.5.2

2 years ago

0.5.1

2 years ago

0.6.0

2 years ago

0.5.0

2 years ago

0.4.60

2 years ago

0.4.59

2 years ago

0.4.58

2 years ago

0.4.57

2 years ago

0.4.48

2 years ago

0.4.49

2 years ago

0.4.47

2 years ago

0.4.55-beta.1

2 years ago

0.4.55-beta.2

2 years ago

0.4.55-beta.0

2 years ago

0.4.54-beta.0

2 years ago

0.4.52-beta.0

2 years ago

0.4.53

2 years ago

0.4.54

2 years ago

0.4.51

2 years ago

0.4.52

2 years ago

0.4.50

2 years ago

0.4.55

2 years ago

0.4.56

2 years ago

0.4.46

2 years ago

0.4.43

3 years ago

0.4.44

2 years ago

0.4.45

2 years ago

0.3.42

3 years ago

0.3.41

3 years ago

0.3.40

3 years ago

0.3.39

3 years ago

0.3.38

3 years ago

0.3.37

3 years ago

0.3.36

3 years ago

0.3.35

3 years ago

0.3.34

3 years ago

0.3.33

3 years ago

0.3.31

3 years ago

0.3.30

3 years ago

0.3.32

3 years ago

0.3.29

3 years ago

0.3.17-beta0

3 years ago

0.3.20

3 years ago

0.3.28

3 years ago

0.3.27

3 years ago

0.3.26

3 years ago

0.3.25

3 years ago

0.3.24

3 years ago

0.3.23

3 years ago

0.3.22

3 years ago

0.3.21

3 years ago

0.3.19

3 years ago

0.3.18

3 years ago

0.3.15-beta0

3 years ago

0.3.17

3 years ago

0.3.15

3 years ago

0.3.16-beta1

3 years ago

0.3.16-beta2

3 years ago

0.3.16-beta0

3 years ago

0.3.14

3 years ago

0.3.13

3 years ago

0.3.12

3 years ago

0.3.11

3 years ago

0.3.10

3 years ago

0.3.9

3 years ago

0.3.8

4 years ago

0.3.7

4 years ago

0.3.6

4 years ago

0.3.5

4 years ago

0.3.4

4 years ago

0.3.3

4 years ago

0.3.2

4 years ago

0.3.1

4 years ago

0.3.0

4 years ago

0.2.41

4 years ago

0.2.42

4 years ago

0.2.4

4 years ago

0.2.3

4 years ago

0.2.2

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.39

4 years ago

0.0.38

4 years ago

0.0.37

4 years ago

0.0.36

4 years ago

0.0.35

5 years ago

0.0.34

5 years ago

0.0.32

5 years ago

0.0.33

5 years ago

0.0.31

5 years ago

0.0.30

5 years ago

0.0.29-beta.1

5 years ago

0.0.29

5 years ago

0.0.28

5 years ago

0.0.27

5 years ago

0.0.26

5 years ago

0.0.25

5 years ago

0.0.24

5 years ago

0.0.23

5 years ago

0.0.21

5 years ago

0.0.22

5 years ago

0.0.20

5 years ago

0.0.18

5 years ago

0.0.19

5 years ago

0.0.17

5 years ago

0.0.16

5 years ago

0.0.15-beta.1

5 years ago

0.0.15-beta

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.5

5 years ago

0.0.6

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago