Skip to content

Commit cfa9eb8

Browse files
committed
fix whole project
- update versions - fix errors - update dev server
1 parent df64ba6 commit cfa9eb8

File tree

17 files changed

+18779
-115
lines changed

17 files changed

+18779
-115
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
node_modules
1+
node_modules
2+
generator-webpack-preact-*

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ projects$ yo
8787
If promt a call
8888

8989
```
90-
? 'Allo Tarim,! What would you like to do? (Use arrow keys)
90+
? 'Hi prod3v3loper,! What would you like to do? (Use arrow keys)
9191
Run a generator
9292
> webpack-preact
9393
```
@@ -115,7 +115,7 @@ projects$ yo
115115
If promt a call
116116

117117
```
118-
? 'Allo Tarim,! What would you like to do? (Use arrow keys)
118+
? 'Hi prod3v3loper,! What would you like to do? (Use arrow keys)
119119
Run a generator
120120
> webpack-preact
121121
```

app/index.js

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
// DEFAULTS
22
const createGLOBALSjson = require("./settings/defaults/global");
33
const createPackageJson = require("./settings/defaults/package-json");
4-
const createDevTsconfig = require("./settings/defaults/ts-dev-json");
5-
const createProTsconfig = require("./settings/defaults/ts-pro-json");
4+
const createTsconfig = require("./settings/defaults/tsconfig-json");
65
// Yeoman
76
const Generator = require("yeoman-generator");
87
// Helper for create empty folders
@@ -18,10 +17,10 @@ const createDevConfig = require("./settings/configs/dev");
1817
/**
1918
* Webpack Scaffolding by prod3v3loper
2019
*
21-
* @author Samet Tarim
20+
* @author Samet Tarim aka prod3v3loper
2221
* @copyright Copyright (C) 2021 Samet Tarim - All rights reserved
2322
* @license MIT
24-
* @version 1.3.0
23+
* @version 1.3.1
2524
* @since 1.0
2625
* @package MELABUAI
2726
* @subpackage Webpack Scaffold
@@ -40,6 +39,7 @@ module.exports = class WebpackGenerator extends Generator {
4039
* @param {*} opts
4140
*/
4241
constructor(args, opts) {
42+
4343
super(args, opts);
4444

4545
this.answers = {};
@@ -48,6 +48,7 @@ module.exports = class WebpackGenerator extends Generator {
4848
install: false,
4949
root: "",
5050
};
51+
5152
// This method adds support for a `--coffee` flag
5253
// this.option("coffee");
5354

@@ -102,7 +103,7 @@ module.exports = class WebpackGenerator extends Generator {
102103
type: "input",
103104
name: "year",
104105
message: "Project year?",
105-
default: "2019",
106+
default: "2023",
106107
},
107108
{
108109
type: "input",
@@ -113,7 +114,7 @@ module.exports = class WebpackGenerator extends Generator {
113114
{
114115
type: "input",
115116
name: "components",
116-
message: "Components you want to use? (counter, todolist, clock)",
117+
message: "Components you want to import? (counter, todolist, clock)",
117118
default: ["clock"],
118119
},
119120
{
@@ -167,7 +168,7 @@ module.exports = class WebpackGenerator extends Generator {
167168
this.answers
168169
);
169170
this.options.env.configuration.pro.merge = "common";
170-
this.options.env.configuration.pro.configName = "pro";
171+
this.options.env.configuration.pro.configName = "prod";
171172

172173
// Define root folder
173174
this.settings.root =
@@ -212,12 +213,8 @@ module.exports = class WebpackGenerator extends Generator {
212213

213214
// tsconfig.json
214215
this.fs.extendJSON(
215-
this.destinationPath("tsconfig.dev.json"),
216-
createDevTsconfig(this.answers)
217-
);
218-
this.fs.extendJSON(
219-
this.destinationPath("tsconfig.pro.json"),
220-
createProTsconfig(this.answers)
216+
this.destinationPath("tsconfig.json"),
217+
createTsconfig(this.answers)
221218
);
222219

223220
// Used components

app/settings/configs/common.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const comPlugins = require("../plugins/common");
77
module.exports = function createComConfig(answer) {
88
let comConf = {
99
entry: {
10-
index: answer.entry ? "'" + answer.entry + "'" : "'./src/index.tsx'",
10+
index: answer.entry ? "'" + answer.entry + "'" : "'./src/index.jsx'",
1111
},
1212
// path in single quotes to work
1313
output: {

app/settings/configs/dev.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ module.exports = function createDevConfig(answer) {
1212
},
1313
devtool: "'inline-source-map'",
1414
devServer: {
15-
contentBase: "'./dist'",
1615
hot: true,
1716
compress: false,
1817
},
@@ -47,11 +46,7 @@ module.exports = function createDevConfig(answer) {
4746
test: "/\\.(tsx?|jsx?)$/",
4847
loader: "'ts-loader'",
4948
// include: 'path.resolve(__dirname, "src")',
50-
exclude: "/node_modules/",
51-
// Load ts dev config
52-
options: {
53-
configFile: "'tsconfig.dev.json'",
54-
},
49+
exclude: "/node_modules/"
5550
},
5651
],
5752
},

app/settings/configs/pro.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,7 @@ module.exports = function createProConfig(answer) {
4242
test: "/\\.(tsx?|jsx?)?$/",
4343
loader: "'ts-loader'",
4444
// include: 'path.resolve(__dirname, "src")',
45-
exclude: "/node_modules/",
46-
// Load ts pro config
47-
options: {
48-
configFile: "'tsconfig.pro.json'",
49-
},
45+
exclude: "/node_modules/"
5046
},
5147
],
5248
},

app/settings/defaults/package-json.js

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -38,35 +38,35 @@ module.exports = function createPackageJson(answer) {
3838
: "https://github.com/prod3v3loper/generator-webpack-preact.git",
3939
},
4040
scripts: {
41-
dev: "webpack-dev-server --open --config webpack.dev.js",
42-
release: "webpack --config webpack.pro.js",
41+
dev: "webpack serve --open --config webpack.dev.js",
42+
prod: "webpack --config webpack.prod.js",
4343
},
4444
devDependencies: {
45-
webpack: "^4.33.0",
46-
"webpack-cli": "^3.3.2",
47-
"webpack-dev-server": "^3.6.0",
48-
"webpack-merge": "^4.2.1",
49-
"css-loader": "^2.1.1",
50-
"node-sass": "^4.12.0",
51-
"sass-loader": "^7.1.0",
52-
"style-loader": "^0.23.1",
53-
"file-loader": "^3.0.1",
54-
"ts-loader": "^6.0.2",
55-
typescript: "^3.5.1",
56-
"clean-webpack-plugin": "^1.0.1",
57-
"html-webpack-plugin": "^3.2.0",
58-
"@babel/core": "^7.2.2",
59-
"@babel/plugin-transform-react-jsx": "^7.3.0",
60-
"@babel/plugin-proposal-class-properties": "^7.3.0",
61-
"@babel/plugin-proposal-object-rest-spread": "^7.3.2",
62-
"@babel/preset-env": "^7.3.1",
63-
"@babel/preset-typescript": "^7.1.0",
64-
"babel-loader": "^8.0.6",
45+
"webpack": "^5.81.0",
46+
"webpack-cli": "^5.0.2",
47+
"webpack-dev-server": "^4.13.3",
48+
"webpack-merge": "^5.8.0",
49+
"css-loader": "^6.7.3",
50+
"node-sass": "^8.0.0",
51+
"sass-loader": "^13.2.2",
52+
"style-loader": "^3.3.2",
53+
"file-loader": "^6.2.0",
54+
"ts-loader": "^9.4.2",
55+
"typescript": "^5.0.4",
56+
"clean-webpack-plugin": "^4.0.0",
57+
"html-webpack-plugin": "^5.5.1",
58+
"@babel/core": "^7.21.5",
59+
"@babel/plugin-transform-react-jsx": "^7.21.5",
60+
"@babel/plugin-proposal-class-properties": "^7.18.6",
61+
"@babel/plugin-proposal-object-rest-spread": "^7.20.7",
62+
"@babel/preset-env": "^7.21.5",
63+
"@babel/preset-typescript": "^7.21.5",
64+
"babel-loader": "^9.1.2"
6565
},
6666
dependencies: {
67-
preact: "^8.4.2",
68-
"redux-zero": "^5.0.4",
69-
},
67+
"preact": "^10.13.2",
68+
"redux-zero": "^5.1.7"
69+
}
7070
};
7171

7272
return pkgJsonConf;

app/settings/defaults/ts-dev-json.js

Lines changed: 0 additions & 37 deletions
This file was deleted.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ module.exports = function createTsconfigJson(answer) {
3030
// "dom"
3131
// ]
3232
},
33-
include: ["src/*.ts", "src/*.tsx"],
33+
include: ["src/*.js", "src/*.jsx", "src/*.ts", "src/*.tsx"],
3434
};
3535

3636
return tsJsonConf;

app/settings/plugins/common.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,18 @@
77

88
module.exports = function commonPlugins(answer) {
99
return [
10-
"new CleanWebpackPlugin(['dist'])",
10+
/**
11+
* All files inside webpack's output.path directory will be removed once, but the
12+
* directory itself will not be. If using webpack 4+'s default configuration,
13+
* everything under <PROJECT_DIR>/dist/ will be removed.
14+
* Use cleanOnceBeforeBuildPatterns to override this behavior.
15+
*
16+
* During rebuilds, all webpack assets that are not used anymore
17+
* will be removed automatically.
18+
*
19+
* See `Options and Defaults` for information
20+
*/
21+
"new CleanWebpackPlugin()",
1122
"new HtmlWebpackPlugin({title:'WebPack - Preact', template: './public/index.html', inlineSource: '.(js|css)$', minify: { collapseWhitespace: true, removeComments: true } })",
1223
];
1324
};

0 commit comments

Comments
 (0)