mirror of
https://github.com/aleleba/create-react-ssr.git
synced 2026-06-04 04:54:05 -06:00
Compare commits
13 Commits
f0d3e4df93
...
cc422e9048
| Author | SHA1 | Date | |
|---|---|---|---|
| cc422e9048 | |||
| c8454f2480 | |||
| 68660b9166 | |||
| 0ba8134095 | |||
| cfd1dedeb3 | |||
| f2c81bae19 | |||
| 57865573f3 | |||
| 2b23f4841f | |||
| dc268bb05b | |||
| 4bdea6aef0 | |||
| 3ce2839e49 | |||
| f11716cd9f | |||
| 8d81f885c2 |
10
README.md
10
README.md
@@ -6,12 +6,12 @@ It is not a project like create-react-app, create-react-app is used as a starter
|
||||
|
||||
Tech(Library or Framework) | Version |
|
||||
--- | --- |
|
||||
React (Render Library) | 19.1.0
|
||||
React (Render Library) | 19.2.7
|
||||
Redux (Global State Management) | 5.0.1
|
||||
React Router DOM (Routing) | 7.6.2
|
||||
Jest (Testing) | 29.7.0
|
||||
Cypress (E2E Testing) | 14.4.1
|
||||
Typescript | 5.8.3
|
||||
React Router DOM (Routing) | 7.16.0
|
||||
Jest (Testing) | 30.4.2
|
||||
Cypress (E2E Testing) | 15.16.0
|
||||
Typescript | 6.0.3
|
||||
|
||||
## Setup
|
||||
To create a new project run in the terminal:
|
||||
|
||||
@@ -67,7 +67,7 @@ if(!checkedOut) process.exit(-1);
|
||||
|
||||
const actualVersion = runCommandWithOutput(`cd ${repoName} && node -p "require('./package.json').version"`).toString().trim();
|
||||
|
||||
const installDepsCommand = `cd ${repoName} && npm i --legacy-peer-deps`;
|
||||
const installDepsCommand = `cd ${repoName} && npm i`;
|
||||
const cleanGitHistoryCommand = `cd ${repoName} && rm -rf .git && git init && git add --all -- ":!.github" ":!bin" && git commit -m "Initial commit"`;
|
||||
const cleanGitHistoryCommandWindows = `cd ${repoName} && rmdir .git /s /q && git init && git add --all -- ":!.github" ":!bin" && git commit -m "Initial commit"`;
|
||||
const deleteFoldersCommand = `cd ${repoName} && rm -rf .github && rm -rf bin`;
|
||||
|
||||
11
cypress/tsconfig.json
Normal file
11
cypress/tsconfig.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"extends": "../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"rootDir": ".",
|
||||
"types": ["cypress", "node"]
|
||||
},
|
||||
"include": [
|
||||
"**/*.ts",
|
||||
"**/*.tsx"
|
||||
]
|
||||
}
|
||||
25238
package-lock.json
generated
25238
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
136
package.json
136
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@aleleba/create-react-ssr",
|
||||
"version": "3.10.1",
|
||||
"version": "3.10.6",
|
||||
"description": "Starter Kit of server side render of react",
|
||||
"bin": "./bin/cli.js",
|
||||
"main": "src/server/index",
|
||||
@@ -13,7 +13,7 @@
|
||||
"lint:fix": "eslint ./ --ext .js --ext .ts --ext .jsx --ext .tsx --fix",
|
||||
"test": "jest",
|
||||
"test:watch": "jest --watch",
|
||||
"check-updates": "npx npm-check-updates -u && npm i --legacy-peer-deps",
|
||||
"check-updates": "npx npm-check-updates -u && npm i",
|
||||
"cy:open": "npx cypress open",
|
||||
"cy:run": "cypress run",
|
||||
"cy:run-component": "cypress run --headless --component"
|
||||
@@ -36,92 +36,90 @@
|
||||
},
|
||||
"homepage": "https://github.com/aleleba/create-react-ssr#readme",
|
||||
"dependencies": {
|
||||
"@babel/register": "^7.27.1",
|
||||
"dotenv": "^16.5.0",
|
||||
"express": "^5.1.0",
|
||||
"helmet": "^8.1.0",
|
||||
"@babel/register": "^7.29.7",
|
||||
"dotenv": "^17.4.2",
|
||||
"express": "^5.2.1",
|
||||
"helmet": "^8.2.0",
|
||||
"history": "^5.3.0",
|
||||
"ignore-styles": "^5.0.1",
|
||||
"react": "^19.1.0",
|
||||
"react-dom": "^19.1.0",
|
||||
"react-redux": "^9.2.0",
|
||||
"react-router-dom": "^7.6.2",
|
||||
"react": "^19.2.7",
|
||||
"react-dom": "^19.2.7",
|
||||
"react-redux": "^9.3.0",
|
||||
"react-router-dom": "^7.16.0",
|
||||
"react-router-hash-link": "^2.4.3",
|
||||
"redux": "^5.0.1",
|
||||
"webpack": "^5.99.9",
|
||||
"webpack-dev-server": "^5.2.2",
|
||||
"webpack-manifest-plugin": "^5.0.1",
|
||||
"workbox-background-sync": "^7.3.0",
|
||||
"workbox-broadcast-update": "^7.3.0",
|
||||
"workbox-cacheable-response": "^7.3.0",
|
||||
"workbox-core": "^7.3.0",
|
||||
"workbox-expiration": "^7.3.0",
|
||||
"workbox-google-analytics": "^7.3.0",
|
||||
"workbox-navigation-preload": "^7.3.0",
|
||||
"workbox-precaching": "^7.3.0",
|
||||
"workbox-range-requests": "^7.3.0",
|
||||
"workbox-routing": "^7.3.0",
|
||||
"workbox-strategies": "^7.3.0",
|
||||
"workbox-streams": "^7.3.0"
|
||||
"webpack": "^5.107.2",
|
||||
"webpack-dev-server": "^5.2.4",
|
||||
"webpack-manifest-plugin": "^6.0.1",
|
||||
"workbox-background-sync": "^7.4.1",
|
||||
"workbox-broadcast-update": "^7.4.1",
|
||||
"workbox-cacheable-response": "^7.4.1",
|
||||
"workbox-core": "^7.4.1",
|
||||
"workbox-expiration": "^7.4.1",
|
||||
"workbox-google-analytics": "^7.4.1",
|
||||
"workbox-navigation-preload": "^7.4.1",
|
||||
"workbox-precaching": "^7.4.1",
|
||||
"workbox-range-requests": "^7.4.1",
|
||||
"workbox-routing": "^7.4.1",
|
||||
"workbox-strategies": "^7.4.1",
|
||||
"workbox-streams": "^7.4.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.27.4",
|
||||
"@babel/preset-env": "^7.27.2",
|
||||
"@babel/preset-react": "^7.27.1",
|
||||
"@babel/preset-typescript": "^7.27.1",
|
||||
"@cypress/react": "^9.0.1",
|
||||
"@eslint/js": "^9.28.0",
|
||||
"@pmmmwh/react-refresh-webpack-plugin": "^0.6.0",
|
||||
"@babel/core": "^7.29.7",
|
||||
"@babel/preset-env": "^7.29.7",
|
||||
"@babel/preset-react": "^7.29.7",
|
||||
"@babel/preset-typescript": "^7.29.7",
|
||||
"@cypress/react": "^9.0.2",
|
||||
"@eslint/js": "^9.39.4",
|
||||
"@pmmmwh/react-refresh-webpack-plugin": "^0.6.2",
|
||||
"@redux-devtools/extension": "^3.3.0",
|
||||
"@testing-library/dom": "^10.4.0",
|
||||
"@testing-library/jest-dom": "^6.6.3",
|
||||
"@testing-library/react": "^16.3.0",
|
||||
"@testing-library/dom": "^10.4.1",
|
||||
"@testing-library/jest-dom": "^6.9.1",
|
||||
"@testing-library/react": "^16.3.2",
|
||||
"@testing-library/user-event": "^14.6.1",
|
||||
"@types/jest": "^29.5.14",
|
||||
"@types/node": "^22.15.30",
|
||||
"@types/react": "^19.1.6",
|
||||
"@types/react-dom": "^19.1.6",
|
||||
"@types/jest": "^30.0.0",
|
||||
"@types/node": "^25.9.1",
|
||||
"@types/react": "^19.2.16",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"@types/webpack": "^5.28.5",
|
||||
"@types/webpack-hot-middleware": "^2.25.9",
|
||||
"@types/webpack-hot-middleware": "^2.25.12",
|
||||
"@types/webpack-node-externals": "^3.0.4",
|
||||
"@typescript-eslint/eslint-plugin": "^8.33.1",
|
||||
"@typescript-eslint/parser": "^8.33.1",
|
||||
"babel-jest": "^29.7.0",
|
||||
"babel-loader": "^10.0.0",
|
||||
"babel-jest": "^30.4.1",
|
||||
"babel-loader": "^10.1.1",
|
||||
"clean-webpack-plugin": "^4.0.0",
|
||||
"compression-webpack-plugin": "^11.1.0",
|
||||
"copy-webpack-plugin": "^13.0.0",
|
||||
"css-loader": "^7.1.2",
|
||||
"css-minimizer-webpack-plugin": "^7.0.2",
|
||||
"cypress": "^14.4.1",
|
||||
"eslint": "^9.28.0",
|
||||
"compression-webpack-plugin": "^12.0.0",
|
||||
"copy-webpack-plugin": "^14.0.0",
|
||||
"css-loader": "^7.1.4",
|
||||
"css-minimizer-webpack-plugin": "^8.0.0",
|
||||
"cypress": "^15.16.0",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-plugin-react": "^7.37.5",
|
||||
"eslint-webpack-plugin": "^5.0.1",
|
||||
"eslint-webpack-plugin": "^6.0.0",
|
||||
"file-loader": "^6.2.0",
|
||||
"globals": "^16.2.0",
|
||||
"html-webpack-plugin": "^5.6.3",
|
||||
"globals": "^17.6.0",
|
||||
"html-webpack-plugin": "^5.6.7",
|
||||
"identity-obj-proxy": "^3.0.0",
|
||||
"jest": "^29.7.0",
|
||||
"jest-environment-jsdom": "^29.7.0",
|
||||
"jest": "^30.4.2",
|
||||
"jest-environment-jsdom": "^30.4.1",
|
||||
"jest-fetch-mock": "^3.0.3",
|
||||
"jiti": "^2.4.2",
|
||||
"mini-css-extract-plugin": "^2.9.2",
|
||||
"react-refresh": "^0.17.0",
|
||||
"jiti": "^2.7.0",
|
||||
"mini-css-extract-plugin": "^2.10.2",
|
||||
"react-refresh": "^0.18.0",
|
||||
"resolve-ts-aliases": "^1.0.1",
|
||||
"sass": "^1.89.1",
|
||||
"sass-loader": "^16.0.5",
|
||||
"sass": "^1.100.0",
|
||||
"sass-loader": "^17.0.0",
|
||||
"style-loader": "^4.0.0",
|
||||
"terser-webpack-plugin": "^5.3.14",
|
||||
"ts-jest": "^29.3.4",
|
||||
"typescript": "^5.8.3",
|
||||
"typescript-eslint": "^8.33.1",
|
||||
"terser-webpack-plugin": "^5.6.1",
|
||||
"ts-jest": "^29.4.11",
|
||||
"typescript": "^6.0.3",
|
||||
"typescript-eslint": "^8.60.1",
|
||||
"url-loader": "^4.1.1",
|
||||
"webpack-cli": "^6.0.1",
|
||||
"webpack-dev-middleware": "^7.4.2",
|
||||
"webpack-cli": "^7.0.3",
|
||||
"webpack-dev-middleware": "^8.0.3",
|
||||
"webpack-hot-middleware": "^2.26.1",
|
||||
"webpack-node-externals": "^3.0.0",
|
||||
"webpack-shell-plugin-next": "^2.3.2",
|
||||
"workbox-webpack-plugin": "^7.3.0",
|
||||
"workbox-window": "^7.3.0"
|
||||
"webpack-shell-plugin-next": "^2.3.3",
|
||||
"workbox-webpack-plugin": "^7.4.1",
|
||||
"workbox-window": "^7.4.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
"outDir": "build",
|
||||
"skipLibCheck": true,
|
||||
"noImplicitAny": false,
|
||||
"ignoreDeprecations": "6.0",
|
||||
"paths": {
|
||||
"@components/*": ["src/frontend/components/*"],
|
||||
"@components": ["src/frontend/components"],
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
import path from 'path';
|
||||
import fs from 'fs';
|
||||
import { config as envConfig } from './config';
|
||||
import { config as envConfig } from './config/index.ts';
|
||||
import webpack, { Configuration } from 'webpack';
|
||||
import MiniCssExtractPlugin from 'mini-css-extract-plugin';
|
||||
import ReactRefreshWebpackPlugin from '@pmmmwh/react-refresh-webpack-plugin';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import path from 'path';
|
||||
import fs from 'fs';
|
||||
import { config as envConfig } from './config';
|
||||
import { config as envConfig } from './config/index.ts';
|
||||
import webpack from 'webpack';
|
||||
import CompressionWebpackPlugin from 'compression-webpack-plugin';
|
||||
import MiniCssExtractPlugin from 'mini-css-extract-plugin';
|
||||
@@ -11,12 +11,12 @@ import { CleanWebpackPlugin } from 'clean-webpack-plugin';
|
||||
import ESLintPlugin from 'eslint-webpack-plugin';
|
||||
import CopyPlugin from 'copy-webpack-plugin';
|
||||
import { resolveTsAliases } from 'resolve-ts-aliases';
|
||||
import { InjectManifest } from 'workbox-webpack-plugin';
|
||||
import nodeExternals from 'webpack-node-externals';
|
||||
|
||||
const ROOT_DIR = path.resolve(__dirname);
|
||||
const resolvePath = (...args) => path.resolve(ROOT_DIR, ...args);
|
||||
const BUILD_DIR = resolvePath('build');
|
||||
const { InjectManifest } = require('workbox-webpack-plugin');
|
||||
const nodeExternals = require('webpack-node-externals');
|
||||
const alias = resolveTsAliases(path.resolve('tsconfig.json'));
|
||||
|
||||
const copyPatterns = [
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import path from 'path';
|
||||
import fs from 'fs';
|
||||
import { config as envConfig } from './config';
|
||||
import { config as envConfig } from './config/index.ts';
|
||||
import webpack from 'webpack';
|
||||
import HtmlWebpackPlugin from 'html-webpack-plugin';
|
||||
import MiniCssExtractPlugin from 'mini-css-extract-plugin';
|
||||
|
||||
Reference in New Issue
Block a user