create-enchilada 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/index.js +54 -53
- package/package.json +5 -4
- package/templates/node-express/package.json +2 -2
- package/templates/react-dev/package.json +3 -3
- package/templates/react-dev-typescript/package.json +6 -6
- package/templates/react-dev-webpack/package.json +4 -4
- package/templates/react-rspack/biome.json +34 -0
- package/templates/react-rspack/index.html +11 -0
- package/templates/react-rspack/package.json +25 -0
- package/templates/react-rspack/rspack.config.mjs +70 -0
- package/templates/react-rspack/src/App.css +6 -0
- package/templates/{react-experimental → react-rspack}/src/App.jsx +4 -5
- package/templates/{react-experimental → react-rspack}/src/index.css +12 -17
- package/templates/react-rspack/src/main.jsx +10 -0
- package/templates/react-typescript/package.json +3 -3
- package/templates/react-webpack/.babelrc +1 -0
- package/templates/react-webpack/package.json +2 -1
- package/templates/react-experimental/farm.config.ts +0 -5
- package/templates/react-experimental/index.html +0 -12
- package/templates/react-experimental/oxlintrc.json +0 -12
- package/templates/react-experimental/package.json +0 -28
- package/templates/react-experimental/src/App.css +0 -3
- package/templates/react-experimental/src/main.jsx +0 -10
- package/templates/react-experimental/tsconfig.json +0 -25
- package/templates/react-experimental/tsconfig.node.json +0 -11
- /package/templates/{react-experimental → react-rspack}/_gitignore +0 -0
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-enchilada",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A quick way to start your web applications.",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"lint": "eslint .",
|
|
9
9
|
"build": "rollup --config",
|
|
10
|
+
"dev": "rollup --config --watch",
|
|
10
11
|
"cov:clean": "rimraf .nyc_output && rimraf coverage",
|
|
11
12
|
"cov:unit": "NODE_OPTIONS=--experimental-vm-modules jest --forceExit --colors --detectOpenHandles -c jest.config.unit.js",
|
|
12
13
|
"test:unit": "npm-run-all cov:clean cov:unit",
|
|
@@ -41,7 +42,7 @@
|
|
|
41
42
|
},
|
|
42
43
|
"preferGlobal": true,
|
|
43
44
|
"engines": {
|
|
44
|
-
"node": "
|
|
45
|
+
"node": ">=20.19.0"
|
|
45
46
|
},
|
|
46
47
|
"files": [
|
|
47
48
|
"index.js",
|
|
@@ -55,12 +56,12 @@
|
|
|
55
56
|
},
|
|
56
57
|
"homepage": "https://github.com/Sharmaz/enchilada#readme",
|
|
57
58
|
"devDependencies": {
|
|
58
|
-
"@eslint/js": "^
|
|
59
|
+
"@eslint/js": "^10.0.0",
|
|
59
60
|
"@jest/globals": "^30.0.2",
|
|
60
61
|
"@rollup/plugin-commonjs": "^28.0.6",
|
|
61
62
|
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
62
63
|
"cli-prompts-test": "^0.3.0",
|
|
63
|
-
"eslint": "^
|
|
64
|
+
"eslint": "^10.0.0",
|
|
64
65
|
"execa": "^9.2.0",
|
|
65
66
|
"globals": "^16.2.0",
|
|
66
67
|
"jest": "^30.0.2",
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
"uuid": "^10.0.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@eslint/js": "^9.
|
|
35
|
+
"@eslint/js": "^9.26.0",
|
|
36
36
|
"@jest/globals": "^29.7.0",
|
|
37
|
-
"eslint": "^9.
|
|
37
|
+
"eslint": "^9.26.0",
|
|
38
38
|
"globals": "^15.9.0",
|
|
39
39
|
"jest": "^29.7.0",
|
|
40
40
|
"nodemon": "^3.1.7",
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"react-dom": "^19.1.0"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
20
|
-
"@babel/preset-env": "^7.
|
|
21
|
-
"@babel/preset-react": "^7.
|
|
19
|
+
"@babel/plugin-transform-runtime": "^7.26.10",
|
|
20
|
+
"@babel/preset-env": "^7.26.10",
|
|
21
|
+
"@babel/preset-react": "^7.26.10",
|
|
22
22
|
"@eslint/js": "^9.26.0",
|
|
23
23
|
"@tailwindcss/postcss": "^4.1.5",
|
|
24
24
|
"@testing-library/dom": "^10.1.0",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "react-
|
|
2
|
+
"name": "react-dev-typescript",
|
|
3
3
|
"private": true,
|
|
4
4
|
"version": "0.0.0",
|
|
5
5
|
"type": "module",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"react-dom": "^19.1.0"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
20
|
-
"@babel/preset-env": "^7.
|
|
21
|
-
"@babel/preset-react": "^7.
|
|
22
|
-
"@babel/preset-typescript": "^7.
|
|
19
|
+
"@babel/plugin-transform-runtime": "^7.26.10",
|
|
20
|
+
"@babel/preset-env": "^7.26.10",
|
|
21
|
+
"@babel/preset-react": "^7.26.10",
|
|
22
|
+
"@babel/preset-typescript": "^7.26.10",
|
|
23
23
|
"@eslint/js": "^9.26.0",
|
|
24
24
|
"@tailwindcss/postcss": "^4.1.5",
|
|
25
25
|
"@testing-library/dom": "^10.3.1",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"jest-environment-jsdom": "^30.0.0",
|
|
38
38
|
"postcss": "^8.5.3",
|
|
39
39
|
"tailwindcss": "^4.1.5",
|
|
40
|
-
"typescript": "5.
|
|
40
|
+
"typescript": "^5.8.3",
|
|
41
41
|
"typescript-eslint": "^8.31.1",
|
|
42
42
|
"vite": "npm:rolldown-vite@latest"
|
|
43
43
|
}
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
"react-dom": "^19.1.0"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@babel/core": "^7.
|
|
18
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
19
|
-
"@babel/preset-env": "^7.
|
|
20
|
-
"@babel/preset-react": "^7.
|
|
17
|
+
"@babel/core": "^7.26.10",
|
|
18
|
+
"@babel/plugin-transform-runtime": "^7.26.10",
|
|
19
|
+
"@babel/preset-env": "^7.26.10",
|
|
20
|
+
"@babel/preset-react": "^7.26.10",
|
|
21
21
|
"@eslint/js": "^9.26.0",
|
|
22
22
|
"@tailwindcss/postcss": "^4.1.5",
|
|
23
23
|
"@testing-library/dom": "^10.3.1",
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.0.0/schema.json",
|
|
3
|
+
"assist": {
|
|
4
|
+
"actions": {
|
|
5
|
+
"source": {
|
|
6
|
+
"organizeImports": "on"
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
},
|
|
10
|
+
"vcs": {
|
|
11
|
+
"enabled": true,
|
|
12
|
+
"clientKind": "git",
|
|
13
|
+
"useIgnoreFile": true
|
|
14
|
+
},
|
|
15
|
+
"formatter": {
|
|
16
|
+
"indentStyle": "space"
|
|
17
|
+
},
|
|
18
|
+
"javascript": {
|
|
19
|
+
"formatter": {
|
|
20
|
+
"quoteStyle": "single"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"css": {
|
|
24
|
+
"parser": {
|
|
25
|
+
"cssModules": true
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"linter": {
|
|
29
|
+
"enabled": true,
|
|
30
|
+
"rules": {
|
|
31
|
+
"recommended": true
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "react-rspack",
|
|
3
|
+
"private": true,
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"build": "rspack build",
|
|
7
|
+
"check": "biome check --write",
|
|
8
|
+
"dev": "rspack dev",
|
|
9
|
+
"format": "biome format --write",
|
|
10
|
+
"preview": "rspack preview"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"react": "^19.1.0",
|
|
14
|
+
"react-dom": "^19.1.0"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@biomejs/biome": "2.0.0",
|
|
18
|
+
"@rspack/cli": "^1.4.1",
|
|
19
|
+
"@rspack/core": "^1.4.1",
|
|
20
|
+
"@rspack/plugin-react-refresh": "^1.4.3",
|
|
21
|
+
"@types/react": "^19.1.7",
|
|
22
|
+
"@types/react-dom": "^19.1.6",
|
|
23
|
+
"react-refresh": "^0.17.0"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { dirname } from "node:path";
|
|
2
|
+
import { fileURLToPath } from "node:url";
|
|
3
|
+
import { defineConfig } from "@rspack/cli";
|
|
4
|
+
import { rspack } from "@rspack/core";
|
|
5
|
+
import { ReactRefreshRspackPlugin } from "@rspack/plugin-react-refresh";
|
|
6
|
+
|
|
7
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
const isDev = process.env.NODE_ENV === "development";
|
|
9
|
+
|
|
10
|
+
// Target browsers, see: https://github.com/browserslist/browserslist
|
|
11
|
+
const targets = ["last 2 versions", "> 0.2%", "not dead", "Firefox ESR"];
|
|
12
|
+
|
|
13
|
+
export default defineConfig({
|
|
14
|
+
context: __dirname,
|
|
15
|
+
entry: {
|
|
16
|
+
main: "./src/main.jsx"
|
|
17
|
+
},
|
|
18
|
+
resolve: {
|
|
19
|
+
extensions: ["...", ".ts", ".tsx", ".jsx"]
|
|
20
|
+
},
|
|
21
|
+
module: {
|
|
22
|
+
rules: [
|
|
23
|
+
{
|
|
24
|
+
test: /\.svg$/,
|
|
25
|
+
type: "asset"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
test: /\.(jsx?|tsx?)$/,
|
|
29
|
+
use: [
|
|
30
|
+
{
|
|
31
|
+
loader: "builtin:swc-loader",
|
|
32
|
+
options: {
|
|
33
|
+
jsc: {
|
|
34
|
+
parser: {
|
|
35
|
+
syntax: "typescript",
|
|
36
|
+
tsx: true
|
|
37
|
+
},
|
|
38
|
+
transform: {
|
|
39
|
+
react: {
|
|
40
|
+
runtime: "automatic",
|
|
41
|
+
development: isDev,
|
|
42
|
+
refresh: isDev
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
env: { targets }
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
plugins: [
|
|
54
|
+
new rspack.HtmlRspackPlugin({
|
|
55
|
+
template: "./index.html"
|
|
56
|
+
}),
|
|
57
|
+
isDev ? new ReactRefreshRspackPlugin() : null
|
|
58
|
+
].filter(Boolean),
|
|
59
|
+
optimization: {
|
|
60
|
+
minimizer: [
|
|
61
|
+
new rspack.SwcJsMinimizerRspackPlugin(),
|
|
62
|
+
new rspack.LightningCssMinimizerRspackPlugin({
|
|
63
|
+
minimizerOptions: { targets }
|
|
64
|
+
})
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
experiments: {
|
|
68
|
+
css: true
|
|
69
|
+
}
|
|
70
|
+
});
|
|
@@ -5,15 +5,14 @@ function App() {
|
|
|
5
5
|
const [count, setCount] = useState(0)
|
|
6
6
|
|
|
7
7
|
return (
|
|
8
|
-
|
|
9
|
-
<
|
|
10
|
-
<h1>React</h1>
|
|
8
|
+
<div className="container">
|
|
9
|
+
<img src="https://raw.githubusercontent.com/Sharmaz/enchilada/refs/heads/main/media/enchilada-js-logo.svg" width="250" alt="enchiladajs logo"/>
|
|
11
10
|
<div className="card">
|
|
12
11
|
<button onClick={() => setCount((count) => count + 1)}>
|
|
13
|
-
|
|
12
|
+
Enchiladas {count}
|
|
14
13
|
</button>
|
|
15
14
|
</div>
|
|
16
|
-
|
|
15
|
+
</div>
|
|
17
16
|
)
|
|
18
17
|
}
|
|
19
18
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
|
|
3
|
-
line-height:
|
|
3
|
+
line-height: 24px;
|
|
4
4
|
font-weight: 400;
|
|
5
5
|
|
|
6
6
|
color-scheme: light dark;
|
|
7
7
|
color: rgba(255, 255, 255, 0.87);
|
|
8
|
-
background-color: #
|
|
8
|
+
background-color: #262626;
|
|
9
9
|
|
|
10
10
|
font-synthesis: none;
|
|
11
11
|
text-rendering: optimizeLegibility;
|
|
@@ -28,30 +28,25 @@ h1 {
|
|
|
28
28
|
button {
|
|
29
29
|
border-radius: 8px;
|
|
30
30
|
border: 1px solid transparent;
|
|
31
|
-
padding:
|
|
31
|
+
padding: 8px 16px;
|
|
32
32
|
font-size: 1em;
|
|
33
|
-
font-weight:
|
|
33
|
+
font-weight: 400;
|
|
34
34
|
font-family: inherit;
|
|
35
|
-
background-color: #
|
|
35
|
+
background-color: #171717;
|
|
36
|
+
line-height: 24px;
|
|
36
37
|
cursor: pointer;
|
|
37
38
|
transition: border-color 0.25s;
|
|
39
|
+
width: 160px;
|
|
38
40
|
}
|
|
39
41
|
button:hover {
|
|
40
|
-
border-color: #
|
|
42
|
+
border-color: #FF9811;
|
|
41
43
|
}
|
|
42
44
|
button:focus,
|
|
43
45
|
button:focus-visible {
|
|
44
46
|
outline: 4px auto -webkit-focus-ring-color;
|
|
45
47
|
}
|
|
46
|
-
|
|
47
|
-
:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
a:hover {
|
|
52
|
-
color: #747bff;
|
|
53
|
-
}
|
|
54
|
-
button {
|
|
55
|
-
background-color: #f9f9f9;
|
|
56
|
-
}
|
|
48
|
+
.card {
|
|
49
|
+
display: flex;
|
|
50
|
+
justify-content: center;
|
|
51
|
+
padding: 2em;
|
|
57
52
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "react-
|
|
2
|
+
"name": "react-typescript",
|
|
3
3
|
"private": true,
|
|
4
4
|
"version": "0.0.0",
|
|
5
5
|
"type": "module",
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
"react-dom": "^19.1.0"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"@eslint/js": "^9.
|
|
18
|
+
"@eslint/js": "^9.26.0",
|
|
19
19
|
"@types/react": "^19.1.2",
|
|
20
20
|
"@types/react-dom": "^19.1.2",
|
|
21
21
|
"@vitejs/plugin-react-oxc": "^0.2.2",
|
|
22
|
-
"eslint": "^9.
|
|
22
|
+
"eslint": "^9.26.0",
|
|
23
23
|
"eslint-plugin-react": "^7.37.5",
|
|
24
24
|
"globals": "^16.0.0",
|
|
25
25
|
"typescript": "^5.8.3",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
2
|
+
"name": "react-webpack",
|
|
3
3
|
"private": true,
|
|
4
4
|
"version": "0.0.0",
|
|
5
5
|
"scripts": {
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"devDependencies": {
|
|
14
14
|
"@babel/core": "^7.26.10",
|
|
15
15
|
"@babel/plugin-transform-runtime": "^7.26.10",
|
|
16
|
+
"@babel/preset-env": "^7.26.10",
|
|
16
17
|
"@babel/preset-react": "^7.26.3",
|
|
17
18
|
"babel-loader": "^10.0.0",
|
|
18
19
|
"css-loader": "^7.1.2",
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<link rel="icon" type="image/svg+xml" href="#" />
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
-
</head>
|
|
8
|
-
<body>
|
|
9
|
-
<div id="root"></div>
|
|
10
|
-
<script type="module" src="/src/main.jsx"></script>
|
|
11
|
-
</body>
|
|
12
|
-
</html>
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "react-experimental",
|
|
3
|
-
"private": true,
|
|
4
|
-
"version": "0.0.0",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"dev": "farm start",
|
|
8
|
-
"start": "farm start",
|
|
9
|
-
"build": "farm build",
|
|
10
|
-
"preview": "farm preview",
|
|
11
|
-
"clean": "farm clean",
|
|
12
|
-
"lint": "oxlint -c oxlintrc.json ./src"
|
|
13
|
-
},
|
|
14
|
-
"dependencies": {
|
|
15
|
-
"react": "^19.1.0",
|
|
16
|
-
"react-dom": "^19.1.0"
|
|
17
|
-
},
|
|
18
|
-
"devDependencies": {
|
|
19
|
-
"@farmfe/cli": "^1.0.4",
|
|
20
|
-
"@farmfe/core": "^1.7.4",
|
|
21
|
-
"@farmfe/plugin-react": "^1.2.6",
|
|
22
|
-
"@types/react": "^19.1.2",
|
|
23
|
-
"@types/react-dom": "^19.1.3",
|
|
24
|
-
"core-js": "^3.42.0",
|
|
25
|
-
"oxlint": "^0.16.9",
|
|
26
|
-
"react-refresh": "^0.17.0"
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2020",
|
|
4
|
-
"useDefineForClassFields": true,
|
|
5
|
-
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
|
6
|
-
"module": "ESNext",
|
|
7
|
-
"skipLibCheck": true,
|
|
8
|
-
|
|
9
|
-
/* Bundler mode */
|
|
10
|
-
"moduleResolution": "bundler",
|
|
11
|
-
"allowImportingTsExtensions": true,
|
|
12
|
-
"resolveJsonModule": true,
|
|
13
|
-
"isolatedModules": true,
|
|
14
|
-
"noEmit": true,
|
|
15
|
-
"jsx": "react-jsx",
|
|
16
|
-
|
|
17
|
-
/* Linting */
|
|
18
|
-
"strict": true,
|
|
19
|
-
"noUnusedLocals": true,
|
|
20
|
-
"noUnusedParameters": true,
|
|
21
|
-
"noFallthroughCasesInSwitch": true
|
|
22
|
-
},
|
|
23
|
-
"include": ["src"],
|
|
24
|
-
"references": [{ "path": "./tsconfig.node.json" }]
|
|
25
|
-
}
|
|
File without changes
|