mirror of
				https://github.com/aleleba/create-react-ssr.git
				synced 2025-10-30 13:40:45 -06:00 
			
		
		
		
	PR-753737: Se agrega soporte para typescript.
This commit is contained in:
		| @@ -1,6 +1,8 @@ | |||||||
| { | { | ||||||
|     "presets": [ |     "presets": [ | ||||||
|         "@babel/preset-env", |         "@babel/preset-env", | ||||||
|         "@babel/preset-react" |         "@babel/preset-react", | ||||||
|  |         "@babel/preset-typescript" | ||||||
|  |         // "@babel/preset-flow" | ||||||
|     ] |     ] | ||||||
| } | } | ||||||
| @@ -9,3 +9,6 @@ const PRName = function () { | |||||||
| }; | }; | ||||||
|  |  | ||||||
| console.log(PRName()); | console.log(PRName()); | ||||||
|  |  | ||||||
|  | export default PRName | ||||||
|  |    | ||||||
| @@ -1,72 +0,0 @@ | |||||||
| import React from 'react'; |  | ||||||
| import { hydrateRoot } from 'react-dom/client'; |  | ||||||
| // Router |  | ||||||
| import { BrowserRouter as Router } from 'react-router-dom'; |  | ||||||
| // History |  | ||||||
| import { createBrowserHistory } from 'history'; |  | ||||||
| // Redux |  | ||||||
| import { createStore } from 'redux'; //, applyMiddleware |  | ||||||
| import { Provider } from 'react-redux'; |  | ||||||
| import { composeWithDevTools as composeWithDevToolsWeb } from 'redux-devtools-extension'; |  | ||||||
| import { config } from '../config'; |  | ||||||
| import reducer from './reducers'; |  | ||||||
|  |  | ||||||
| import App from './components/App'; |  | ||||||
| import './styles/global.sass'; |  | ||||||
|  |  | ||||||
| // Redux DevTools |  | ||||||
| /* declare global { |  | ||||||
|     interface Window { |  | ||||||
|         __REDUX_DEVTOOLS_EXTENSION_COMPOSE__?: typeof compose; |  | ||||||
|     } |  | ||||||
| } */ |  | ||||||
|  |  | ||||||
| const { env } = config; |  | ||||||
|  |  | ||||||
| const composeEnhancers = composeWithDevToolsWeb({ |  | ||||||
| 	// Specify here name, actionsBlacklist, actionsCreators and other options |  | ||||||
| }); |  | ||||||
|  |  | ||||||
| const preloadedState = window.__PRELOADED_STATE__; |  | ||||||
|  |  | ||||||
| const store = env === 'development' ? createStore( |  | ||||||
| 	reducer, |  | ||||||
| 	preloadedState, |  | ||||||
| 	composeEnhancers(), |  | ||||||
| ) : createStore( |  | ||||||
| 	reducer, |  | ||||||
| 	preloadedState, |  | ||||||
| ); |  | ||||||
|  |  | ||||||
| delete window.__PRELOADED_STATE__; |  | ||||||
|  |  | ||||||
| const container = document.getElementById('app'); |  | ||||||
| const history = createBrowserHistory(); |  | ||||||
|  |  | ||||||
| // add "const root" to be able to rerender. |  | ||||||
| hydrateRoot(container, |  | ||||||
| 	<Provider store={store}> |  | ||||||
| 		<Router history={history}> |  | ||||||
| 			<App /> |  | ||||||
| 		</Router> |  | ||||||
| 	</Provider>, |  | ||||||
| 	// Add this comment to update later app and remove warning |  | ||||||
| 	/* {  |  | ||||||
|         onRecoverableError: (error) => { |  | ||||||
|           console.error("recoverable", error); |  | ||||||
|         } |  | ||||||
|     }, */ |  | ||||||
| ); |  | ||||||
|  |  | ||||||
| // Use root.render to update later the app |  | ||||||
| /* root.render( |  | ||||||
|     <Provider store={store}> |  | ||||||
|         <Router history={history}> |  | ||||||
|             <App /> |  | ||||||
|         </Router> |  | ||||||
|     </Provider> |  | ||||||
| ); */ |  | ||||||
|  |  | ||||||
| if (module.hot) { |  | ||||||
| 	module.hot.accept(); |  | ||||||
| } |  | ||||||
							
								
								
									
										62
									
								
								src/frontend/index.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								src/frontend/index.tsx
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,62 @@ | |||||||
|  | import React from 'react'; | ||||||
|  | import { hydrateRoot } from 'react-dom/client'; | ||||||
|  | // Router | ||||||
|  | import { BrowserRouter as Router } from 'react-router-dom'; | ||||||
|  | // Redux | ||||||
|  | import { Provider } from 'react-redux'; | ||||||
|  | import { IInitialState } from './reducers/index.js'; | ||||||
|  | import setStore from './setStore.js'; | ||||||
|  |  | ||||||
|  | import App from './components/App'; | ||||||
|  | import './styles/global.sass'; | ||||||
|  |  | ||||||
|  | declare global { | ||||||
|  | 	interface Window { | ||||||
|  | 		__PRELOADED_STATE__?: IInitialState; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | declare global { | ||||||
|  | 	interface NodeModule { | ||||||
|  | 		hot?: IHot; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | interface IHot { | ||||||
|  | 	accept: any | ||||||
|  | } | ||||||
|  |  | ||||||
|  | const preloadedState = window.__PRELOADED_STATE__; | ||||||
|  | const store = setStore({ initialState: preloadedState }); | ||||||
|  |  | ||||||
|  | delete window.__PRELOADED_STATE__; | ||||||
|  |  | ||||||
|  | const container = document.getElementById('app')!; | ||||||
|  |  | ||||||
|  | // add "const root" to be able to rerender. | ||||||
|  | hydrateRoot(container, | ||||||
|  | 	<Provider store={store}> | ||||||
|  | 		<Router> | ||||||
|  | 			<App /> | ||||||
|  | 		</Router> | ||||||
|  | 	</Provider>, | ||||||
|  | 	// Add this comment to update later app and remove warning | ||||||
|  | 	/* {  | ||||||
|  |         onRecoverableError: (error) => { | ||||||
|  |           console.error("recoverable", error); | ||||||
|  |         } | ||||||
|  |     }, */ | ||||||
|  | ); | ||||||
|  |  | ||||||
|  | // Use root.render to update later the app | ||||||
|  | /* root.render( | ||||||
|  |     <Provider store={store}> | ||||||
|  |         <Router> | ||||||
|  |             <App /> | ||||||
|  |         </Router> | ||||||
|  |     </Provider> | ||||||
|  | ); */ | ||||||
|  |  | ||||||
|  | if(module.hot){ | ||||||
|  | 	module.hot.accept(); | ||||||
|  | }; | ||||||
| @@ -1,5 +1,9 @@ | |||||||
| import { combineReducers } from 'redux'; | import { combineReducers } from 'redux'; | ||||||
| import testReducer from './testReducer'; | import testReducer, { ITestReducer } from './testReducer'; | ||||||
|  | 
 | ||||||
|  | export interface IInitialState { | ||||||
|  | 	testReducer?: ITestReducer | undefined | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| const rootReducer = combineReducers({ | const rootReducer = combineReducers({ | ||||||
| 	// Here comes the reducers
 | 	// Here comes the reducers
 | ||||||
| @@ -1,3 +1,2 @@ | |||||||
| let initialState = {}; | let initialState = {}; | ||||||
|  |  | ||||||
| export default  initialState; | export default  initialState; | ||||||
|   | |||||||
| @@ -1,8 +1,12 @@ | |||||||
|  | export interface ITestReducer { | ||||||
|  | 	hello: any | undefined | ||||||
|  | } | ||||||
|  | 
 | ||||||
| const initialState = { | const initialState = { | ||||||
| 	hello: 'world' | 	hello: 'world' | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| let testReducer = (state = initialState, action) => { | let testReducer = (state = initialState, action: { type: any; payload: { hello: any; }; }) => { | ||||||
| 	switch (action.type){ | 	switch (action.type){ | ||||||
| 	case 'CHANGE_HELLO': { | 	case 'CHANGE_HELLO': { | ||||||
| 		let newHello = action.payload.hello; | 		let newHello = action.payload.hello; | ||||||
							
								
								
									
										26
									
								
								src/frontend/setStore.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								src/frontend/setStore.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | |||||||
|  | // Redux | ||||||
|  | import { createStore } from 'redux'; //, applyMiddleware | ||||||
|  | // import { Provider } from 'react-redux'; | ||||||
|  | import { composeWithDevTools as composeWithDevToolsWeb } from 'redux-devtools-extension'; | ||||||
|  | import { config } from '../config'; | ||||||
|  | import reducer from './reducers'; | ||||||
|  |  | ||||||
|  | const { env } = config; | ||||||
|  |  | ||||||
|  | const composeEnhancers = composeWithDevToolsWeb({ | ||||||
|  | 	// Specify here name, actionsBlacklist, actionsCreators and other options | ||||||
|  | }); | ||||||
|  |  | ||||||
|  | const setStore = ({ initialState }) => { | ||||||
|  | 	const store = env === 'development' ? createStore( | ||||||
|  | 		reducer, | ||||||
|  | 		initialState, | ||||||
|  | 		composeEnhancers(), | ||||||
|  | 	) : createStore( | ||||||
|  | 		reducer, | ||||||
|  | 		initialState, | ||||||
|  | 	); | ||||||
|  | 	return store; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | export default setStore; | ||||||
							
								
								
									
										512
									
								
								src/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										512
									
								
								src/package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -14,7 +14,6 @@ | |||||||
|         "dotenv": "^16.0.0", |         "dotenv": "^16.0.0", | ||||||
|         "express": "^4.17.3", |         "express": "^4.17.3", | ||||||
|         "helmet": "^5.0.2", |         "helmet": "^5.0.2", | ||||||
|         "history": "^5.3.0", |  | ||||||
|         "ignore-styles": "^5.0.1", |         "ignore-styles": "^5.0.1", | ||||||
|         "react": "^18.0.0", |         "react": "^18.0.0", | ||||||
|         "react-dom": "^18.0.0", |         "react-dom": "^18.0.0", | ||||||
| @@ -22,14 +21,21 @@ | |||||||
|         "react-router-dom": "^6.3.0", |         "react-router-dom": "^6.3.0", | ||||||
|         "react-router-hash-link": "^2.4.3", |         "react-router-hash-link": "^2.4.3", | ||||||
|         "redux": "^4.1.2", |         "redux": "^4.1.2", | ||||||
|  |         "ts-node": "^10.7.0", | ||||||
|         "webpack": "^5.72.0", |         "webpack": "^5.72.0", | ||||||
|         "webpack-manifest-plugin": "^5.0.0" |         "webpack-manifest-plugin": "^5.0.0" | ||||||
|       }, |       }, | ||||||
|       "devDependencies": { |       "devDependencies": { | ||||||
|         "@babel/core": "^7.17.9", |         "@babel/core": "^7.17.9", | ||||||
|         "@babel/preset-env": "^7.16.11", |         "@babel/preset-env": "^7.16.11", | ||||||
|  |         "@babel/preset-flow": "^7.16.7", | ||||||
|         "@babel/preset-react": "^7.16.7", |         "@babel/preset-react": "^7.16.7", | ||||||
|  |         "@babel/preset-typescript": "^7.16.7", | ||||||
|         "@pmmmwh/react-refresh-webpack-plugin": "^0.5.5", |         "@pmmmwh/react-refresh-webpack-plugin": "^0.5.5", | ||||||
|  |         "@types/node": "^17.0.25", | ||||||
|  |         "@types/react": "^18.0.5", | ||||||
|  |         "@types/react-dom": "^18.0.1", | ||||||
|  |         "@types/webpack-hot-middleware": "^2.25.6", | ||||||
|         "@typescript-eslint/eslint-plugin": "^5.20.0", |         "@typescript-eslint/eslint-plugin": "^5.20.0", | ||||||
|         "@typescript-eslint/parser": "^5.20.0", |         "@typescript-eslint/parser": "^5.20.0", | ||||||
|         "babel-loader": "^8.2.4", |         "babel-loader": "^8.2.4", | ||||||
| @@ -48,6 +54,7 @@ | |||||||
|         "sass-loader": "^12.6.0", |         "sass-loader": "^12.6.0", | ||||||
|         "style-loader": "^3.3.1", |         "style-loader": "^3.3.1", | ||||||
|         "terser-webpack-plugin": "^5.3.1", |         "terser-webpack-plugin": "^5.3.1", | ||||||
|  |         "typescript": "^4.6.3", | ||||||
|         "webpack-cli": "^4.9.2", |         "webpack-cli": "^4.9.2", | ||||||
|         "webpack-dev-middleware": "^5.3.1", |         "webpack-dev-middleware": "^5.3.1", | ||||||
|         "webpack-dev-server": "^4.8.1", |         "webpack-dev-server": "^4.8.1", | ||||||
| @@ -807,6 +814,21 @@ | |||||||
|         "@babel/core": "^7.0.0-0" |         "@babel/core": "^7.0.0-0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@babel/plugin-syntax-flow": { | ||||||
|  |       "version": "7.16.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz", | ||||||
|  |       "integrity": "sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@babel/helper-plugin-utils": "^7.16.7" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=6.9.0" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "@babel/core": "^7.0.0-0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@babel/plugin-syntax-json-strings": { |     "node_modules/@babel/plugin-syntax-json-strings": { | ||||||
|       "version": "7.8.3", |       "version": "7.8.3", | ||||||
|       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", |       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", | ||||||
| @@ -936,6 +958,21 @@ | |||||||
|         "@babel/core": "^7.0.0-0" |         "@babel/core": "^7.0.0-0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@babel/plugin-syntax-typescript": { | ||||||
|  |       "version": "7.16.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", | ||||||
|  |       "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@babel/helper-plugin-utils": "^7.16.7" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=6.9.0" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "@babel/core": "^7.0.0-0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@babel/plugin-transform-arrow-functions": { |     "node_modules/@babel/plugin-transform-arrow-functions": { | ||||||
|       "version": "7.16.7", |       "version": "7.16.7", | ||||||
|       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", |       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", | ||||||
| @@ -1097,6 +1134,22 @@ | |||||||
|         "@babel/core": "^7.0.0-0" |         "@babel/core": "^7.0.0-0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@babel/plugin-transform-flow-strip-types": { | ||||||
|  |       "version": "7.16.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz", | ||||||
|  |       "integrity": "sha512-mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@babel/helper-plugin-utils": "^7.16.7", | ||||||
|  |         "@babel/plugin-syntax-flow": "^7.16.7" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=6.9.0" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "@babel/core": "^7.0.0-0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@babel/plugin-transform-for-of": { |     "node_modules/@babel/plugin-transform-for-of": { | ||||||
|       "version": "7.16.7", |       "version": "7.16.7", | ||||||
|       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", |       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", | ||||||
| @@ -1476,6 +1529,23 @@ | |||||||
|         "@babel/core": "^7.0.0-0" |         "@babel/core": "^7.0.0-0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@babel/plugin-transform-typescript": { | ||||||
|  |       "version": "7.16.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz", | ||||||
|  |       "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@babel/helper-create-class-features-plugin": "^7.16.7", | ||||||
|  |         "@babel/helper-plugin-utils": "^7.16.7", | ||||||
|  |         "@babel/plugin-syntax-typescript": "^7.16.7" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=6.9.0" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "@babel/core": "^7.0.0-0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@babel/plugin-transform-unicode-escapes": { |     "node_modules/@babel/plugin-transform-unicode-escapes": { | ||||||
|       "version": "7.16.7", |       "version": "7.16.7", | ||||||
|       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", |       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", | ||||||
| @@ -1595,6 +1665,23 @@ | |||||||
|         "@babel/core": "^7.0.0-0" |         "@babel/core": "^7.0.0-0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@babel/preset-flow": { | ||||||
|  |       "version": "7.16.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.16.7.tgz", | ||||||
|  |       "integrity": "sha512-6ceP7IyZdUYQ3wUVqyRSQXztd1YmFHWI4Xv11MIqAlE4WqxBSd/FZ61V9k+TS5Gd4mkHOtQtPp9ymRpxH4y1Ug==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@babel/helper-plugin-utils": "^7.16.7", | ||||||
|  |         "@babel/helper-validator-option": "^7.16.7", | ||||||
|  |         "@babel/plugin-transform-flow-strip-types": "^7.16.7" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=6.9.0" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "@babel/core": "^7.0.0-0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@babel/preset-modules": { |     "node_modules/@babel/preset-modules": { | ||||||
|       "version": "0.1.5", |       "version": "0.1.5", | ||||||
|       "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", |       "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", | ||||||
| @@ -1631,6 +1718,23 @@ | |||||||
|         "@babel/core": "^7.0.0-0" |         "@babel/core": "^7.0.0-0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@babel/preset-typescript": { | ||||||
|  |       "version": "7.16.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz", | ||||||
|  |       "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@babel/helper-plugin-utils": "^7.16.7", | ||||||
|  |         "@babel/helper-validator-option": "^7.16.7", | ||||||
|  |         "@babel/plugin-transform-typescript": "^7.16.7" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=6.9.0" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "@babel/core": "^7.0.0-0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@babel/register": { |     "node_modules/@babel/register": { | ||||||
|       "version": "7.17.7", |       "version": "7.17.7", | ||||||
|       "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz", |       "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz", | ||||||
| @@ -1791,6 +1895,25 @@ | |||||||
|         "node": ">=6.9.0" |         "node": ">=6.9.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@cspotcode/source-map-consumer": { | ||||||
|  |       "version": "0.8.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", | ||||||
|  |       "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 12" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@cspotcode/source-map-support": { | ||||||
|  |       "version": "0.7.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", | ||||||
|  |       "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", | ||||||
|  |       "dependencies": { | ||||||
|  |         "@cspotcode/source-map-consumer": "0.8.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=12" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@discoveryjs/json-ext": { |     "node_modules/@discoveryjs/json-ext": { | ||||||
|       "version": "0.5.7", |       "version": "0.5.7", | ||||||
|       "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", |       "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", | ||||||
| @@ -1847,6 +1970,18 @@ | |||||||
|         "url": "https://github.com/sponsors/sindresorhus" |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@eslint/eslintrc/node_modules/type-fest": { | ||||||
|  |       "version": "0.20.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", | ||||||
|  |       "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@humanwhocodes/config-array": { |     "node_modules/@humanwhocodes/config-array": { | ||||||
|       "version": "0.9.5", |       "version": "0.9.5", | ||||||
|       "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", |       "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", | ||||||
| @@ -2098,6 +2233,26 @@ | |||||||
|         "node": ">=10.13.0" |         "node": ">=10.13.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@tsconfig/node10": { | ||||||
|  |       "version": "1.0.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", | ||||||
|  |       "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" | ||||||
|  |     }, | ||||||
|  |     "node_modules/@tsconfig/node12": { | ||||||
|  |       "version": "1.0.9", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", | ||||||
|  |       "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" | ||||||
|  |     }, | ||||||
|  |     "node_modules/@tsconfig/node14": { | ||||||
|  |       "version": "1.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", | ||||||
|  |       "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" | ||||||
|  |     }, | ||||||
|  |     "node_modules/@tsconfig/node16": { | ||||||
|  |       "version": "1.0.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", | ||||||
|  |       "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" | ||||||
|  |     }, | ||||||
|     "node_modules/@types/body-parser": { |     "node_modules/@types/body-parser": { | ||||||
|       "version": "1.19.2", |       "version": "1.19.2", | ||||||
|       "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", |       "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", | ||||||
| @@ -2228,9 +2383,9 @@ | |||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "node_modules/@types/node": { |     "node_modules/@types/node": { | ||||||
|       "version": "17.0.23", |       "version": "17.0.25", | ||||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", |       "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.25.tgz", | ||||||
|       "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" |       "integrity": "sha512-wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==" | ||||||
|     }, |     }, | ||||||
|     "node_modules/@types/prop-types": { |     "node_modules/@types/prop-types": { | ||||||
|       "version": "15.7.5", |       "version": "15.7.5", | ||||||
| @@ -2259,6 +2414,15 @@ | |||||||
|         "csstype": "^3.0.2" |         "csstype": "^3.0.2" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@types/react-dom": { | ||||||
|  |       "version": "18.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.1.tgz", | ||||||
|  |       "integrity": "sha512-jCwTXvHtRLiyVvKm9aEdHXs8rflVOGd5Sl913JZrPshfXjn8NYsTNZOz70bCsA31IR0TOqwi3ad+X4tSCBoMTw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@types/react": "*" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@types/retry": { |     "node_modules/@types/retry": { | ||||||
|       "version": "0.12.1", |       "version": "0.12.1", | ||||||
|       "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", |       "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", | ||||||
| @@ -2303,6 +2467,17 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", |       "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", | ||||||
|       "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" |       "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/@types/webpack-hot-middleware": { | ||||||
|  |       "version": "2.25.6", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/webpack-hot-middleware/-/webpack-hot-middleware-2.25.6.tgz", | ||||||
|  |       "integrity": "sha512-1Q9ClNvZR30HIsEAHYQL3bXJK1K7IsrqjGMTfIureFjphsGOZ3TkbeoCupbCmi26pSLjVTPHp+pFrJNpOkBSVg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "@types/connect": "*", | ||||||
|  |         "tapable": "^2.2.0", | ||||||
|  |         "webpack": "^5" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@types/ws": { |     "node_modules/@types/ws": { | ||||||
|       "version": "8.5.3", |       "version": "8.5.3", | ||||||
|       "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", |       "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", | ||||||
| @@ -2802,6 +2977,14 @@ | |||||||
|         "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" |         "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/acorn-walk": { | ||||||
|  |       "version": "8.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", | ||||||
|  |       "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.4.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/ajv": { |     "node_modules/ajv": { | ||||||
|       "version": "6.12.6", |       "version": "6.12.6", | ||||||
|       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", |       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", | ||||||
| @@ -2918,6 +3101,11 @@ | |||||||
|         "node": ">= 8" |         "node": ">= 8" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/arg": { | ||||||
|  |       "version": "4.1.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", | ||||||
|  |       "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" | ||||||
|  |     }, | ||||||
|     "node_modules/argparse": { |     "node_modules/argparse": { | ||||||
|       "version": "2.0.1", |       "version": "2.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", |       "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", | ||||||
| @@ -3293,6 +3481,18 @@ | |||||||
|         "node": ">=8" |         "node": ">=8" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/boxen/node_modules/type-fest": { | ||||||
|  |       "version": "0.20.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", | ||||||
|  |       "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/brace-expansion": { |     "node_modules/brace-expansion": { | ||||||
|       "version": "1.1.11", |       "version": "1.1.11", | ||||||
|       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", |       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||||||
| @@ -3862,6 +4062,11 @@ | |||||||
|       "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", |       "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/create-require": { | ||||||
|  |       "version": "1.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", | ||||||
|  |       "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" | ||||||
|  |     }, | ||||||
|     "node_modules/cross-spawn": { |     "node_modules/cross-spawn": { | ||||||
|       "version": "7.0.3", |       "version": "7.0.3", | ||||||
|       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", |       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", | ||||||
| @@ -4324,6 +4529,14 @@ | |||||||
|       "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", |       "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/diff": { | ||||||
|  |       "version": "4.0.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", | ||||||
|  |       "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.3.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/dir-glob": { |     "node_modules/dir-glob": { | ||||||
|       "version": "3.0.1", |       "version": "3.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", |       "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", | ||||||
| @@ -4983,6 +5196,18 @@ | |||||||
|         "node": ">=8" |         "node": ">=8" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/eslint/node_modules/type-fest": { | ||||||
|  |       "version": "0.20.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", | ||||||
|  |       "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=10" | ||||||
|  |       }, | ||||||
|  |       "funding": { | ||||||
|  |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/espree": { |     "node_modules/espree": { | ||||||
|       "version": "9.3.1", |       "version": "9.3.1", | ||||||
|       "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", |       "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", | ||||||
| @@ -6666,6 +6891,11 @@ | |||||||
|         "url": "https://github.com/sponsors/sindresorhus" |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/make-error": { | ||||||
|  |       "version": "1.3.6", | ||||||
|  |       "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", | ||||||
|  |       "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" | ||||||
|  |     }, | ||||||
|     "node_modules/mdn-data": { |     "node_modules/mdn-data": { | ||||||
|       "version": "2.0.14", |       "version": "2.0.14", | ||||||
|       "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", |       "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", | ||||||
| @@ -9374,6 +9604,48 @@ | |||||||
|         "nodetouch": "bin/nodetouch.js" |         "nodetouch": "bin/nodetouch.js" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/ts-node": { | ||||||
|  |       "version": "10.7.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", | ||||||
|  |       "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", | ||||||
|  |       "dependencies": { | ||||||
|  |         "@cspotcode/source-map-support": "0.7.0", | ||||||
|  |         "@tsconfig/node10": "^1.0.7", | ||||||
|  |         "@tsconfig/node12": "^1.0.7", | ||||||
|  |         "@tsconfig/node14": "^1.0.0", | ||||||
|  |         "@tsconfig/node16": "^1.0.2", | ||||||
|  |         "acorn": "^8.4.1", | ||||||
|  |         "acorn-walk": "^8.1.1", | ||||||
|  |         "arg": "^4.1.0", | ||||||
|  |         "create-require": "^1.1.0", | ||||||
|  |         "diff": "^4.0.1", | ||||||
|  |         "make-error": "^1.1.1", | ||||||
|  |         "v8-compile-cache-lib": "^3.0.0", | ||||||
|  |         "yn": "3.1.1" | ||||||
|  |       }, | ||||||
|  |       "bin": { | ||||||
|  |         "ts-node": "dist/bin.js", | ||||||
|  |         "ts-node-cwd": "dist/bin-cwd.js", | ||||||
|  |         "ts-node-esm": "dist/bin-esm.js", | ||||||
|  |         "ts-node-script": "dist/bin-script.js", | ||||||
|  |         "ts-node-transpile-only": "dist/bin-transpile.js", | ||||||
|  |         "ts-script": "dist/bin-script-deprecated.js" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "@swc/core": ">=1.2.50", | ||||||
|  |         "@swc/wasm": ">=1.2.50", | ||||||
|  |         "@types/node": "*", | ||||||
|  |         "typescript": ">=2.7" | ||||||
|  |       }, | ||||||
|  |       "peerDependenciesMeta": { | ||||||
|  |         "@swc/core": { | ||||||
|  |           "optional": true | ||||||
|  |         }, | ||||||
|  |         "@swc/wasm": { | ||||||
|  |           "optional": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/tslib": { |     "node_modules/tslib": { | ||||||
|       "version": "1.14.1", |       "version": "1.14.1", | ||||||
|       "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", |       "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", | ||||||
| @@ -9408,12 +9680,14 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/type-fest": { |     "node_modules/type-fest": { | ||||||
|       "version": "0.20.2", |       "version": "2.12.2", | ||||||
|       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", |       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.12.2.tgz", | ||||||
|       "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", |       "integrity": "sha512-qt6ylCGpLjZ7AaODxbpyBZSs9fCI9SkL3Z9q2oxMBQhs/uyY+VD8jHA8ULCGmWQJlBgqvO3EJeAngOHD8zQCrQ==", | ||||||
|       "dev": true, |       "dev": true, | ||||||
|  |       "optional": true, | ||||||
|  |       "peer": true, | ||||||
|       "engines": { |       "engines": { | ||||||
|         "node": ">=10" |         "node": ">=12.20" | ||||||
|       }, |       }, | ||||||
|       "funding": { |       "funding": { | ||||||
|         "url": "https://github.com/sponsors/sindresorhus" |         "url": "https://github.com/sponsors/sindresorhus" | ||||||
| @@ -9444,8 +9718,6 @@ | |||||||
|       "version": "4.6.3", |       "version": "4.6.3", | ||||||
|       "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", |       "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", | ||||||
|       "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", |       "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", | ||||||
|       "dev": true, |  | ||||||
|       "peer": true, |  | ||||||
|       "bin": { |       "bin": { | ||||||
|         "tsc": "bin/tsc", |         "tsc": "bin/tsc", | ||||||
|         "tsserver": "bin/tsserver" |         "tsserver": "bin/tsserver" | ||||||
| @@ -9717,6 +9989,11 @@ | |||||||
|       "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", |       "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/v8-compile-cache-lib": { | ||||||
|  |       "version": "3.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", | ||||||
|  |       "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" | ||||||
|  |     }, | ||||||
|     "node_modules/vary": { |     "node_modules/vary": { | ||||||
|       "version": "1.1.2", |       "version": "1.1.2", | ||||||
|       "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", |       "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | ||||||
| @@ -10303,6 +10580,14 @@ | |||||||
|         "node": ">= 6" |         "node": ">= 6" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/yn": { | ||||||
|  |       "version": "3.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", | ||||||
|  |       "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=6" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/yocto-queue": { |     "node_modules/yocto-queue": { | ||||||
|       "version": "0.1.0", |       "version": "0.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", |       "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", | ||||||
| @@ -10841,6 +11126,15 @@ | |||||||
|         "@babel/helper-plugin-utils": "^7.8.3" |         "@babel/helper-plugin-utils": "^7.8.3" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "@babel/plugin-syntax-flow": { | ||||||
|  |       "version": "7.16.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz", | ||||||
|  |       "integrity": "sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@babel/helper-plugin-utils": "^7.16.7" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "@babel/plugin-syntax-json-strings": { |     "@babel/plugin-syntax-json-strings": { | ||||||
|       "version": "7.8.3", |       "version": "7.8.3", | ||||||
|       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", |       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", | ||||||
| @@ -10931,6 +11225,15 @@ | |||||||
|         "@babel/helper-plugin-utils": "^7.14.5" |         "@babel/helper-plugin-utils": "^7.14.5" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "@babel/plugin-syntax-typescript": { | ||||||
|  |       "version": "7.16.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", | ||||||
|  |       "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@babel/helper-plugin-utils": "^7.16.7" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "@babel/plugin-transform-arrow-functions": { |     "@babel/plugin-transform-arrow-functions": { | ||||||
|       "version": "7.16.7", |       "version": "7.16.7", | ||||||
|       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", |       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", | ||||||
| @@ -11032,6 +11335,16 @@ | |||||||
|         "@babel/helper-plugin-utils": "^7.16.7" |         "@babel/helper-plugin-utils": "^7.16.7" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "@babel/plugin-transform-flow-strip-types": { | ||||||
|  |       "version": "7.16.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz", | ||||||
|  |       "integrity": "sha512-mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@babel/helper-plugin-utils": "^7.16.7", | ||||||
|  |         "@babel/plugin-syntax-flow": "^7.16.7" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "@babel/plugin-transform-for-of": { |     "@babel/plugin-transform-for-of": { | ||||||
|       "version": "7.16.7", |       "version": "7.16.7", | ||||||
|       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", |       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", | ||||||
| @@ -11267,6 +11580,17 @@ | |||||||
|         "@babel/helper-plugin-utils": "^7.16.7" |         "@babel/helper-plugin-utils": "^7.16.7" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "@babel/plugin-transform-typescript": { | ||||||
|  |       "version": "7.16.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz", | ||||||
|  |       "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@babel/helper-create-class-features-plugin": "^7.16.7", | ||||||
|  |         "@babel/helper-plugin-utils": "^7.16.7", | ||||||
|  |         "@babel/plugin-syntax-typescript": "^7.16.7" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "@babel/plugin-transform-unicode-escapes": { |     "@babel/plugin-transform-unicode-escapes": { | ||||||
|       "version": "7.16.7", |       "version": "7.16.7", | ||||||
|       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", |       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", | ||||||
| @@ -11368,6 +11692,17 @@ | |||||||
|         "semver": "^6.3.0" |         "semver": "^6.3.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "@babel/preset-flow": { | ||||||
|  |       "version": "7.16.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.16.7.tgz", | ||||||
|  |       "integrity": "sha512-6ceP7IyZdUYQ3wUVqyRSQXztd1YmFHWI4Xv11MIqAlE4WqxBSd/FZ61V9k+TS5Gd4mkHOtQtPp9ymRpxH4y1Ug==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@babel/helper-plugin-utils": "^7.16.7", | ||||||
|  |         "@babel/helper-validator-option": "^7.16.7", | ||||||
|  |         "@babel/plugin-transform-flow-strip-types": "^7.16.7" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "@babel/preset-modules": { |     "@babel/preset-modules": { | ||||||
|       "version": "0.1.5", |       "version": "0.1.5", | ||||||
|       "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", |       "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", | ||||||
| @@ -11395,6 +11730,17 @@ | |||||||
|         "@babel/plugin-transform-react-pure-annotations": "^7.16.7" |         "@babel/plugin-transform-react-pure-annotations": "^7.16.7" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "@babel/preset-typescript": { | ||||||
|  |       "version": "7.16.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz", | ||||||
|  |       "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@babel/helper-plugin-utils": "^7.16.7", | ||||||
|  |         "@babel/helper-validator-option": "^7.16.7", | ||||||
|  |         "@babel/plugin-transform-typescript": "^7.16.7" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "@babel/register": { |     "@babel/register": { | ||||||
|       "version": "7.17.7", |       "version": "7.17.7", | ||||||
|       "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz", |       "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.17.7.tgz", | ||||||
| @@ -11515,6 +11861,19 @@ | |||||||
|         "to-fast-properties": "^2.0.0" |         "to-fast-properties": "^2.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "@cspotcode/source-map-consumer": { | ||||||
|  |       "version": "0.8.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", | ||||||
|  |       "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==" | ||||||
|  |     }, | ||||||
|  |     "@cspotcode/source-map-support": { | ||||||
|  |       "version": "0.7.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", | ||||||
|  |       "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", | ||||||
|  |       "requires": { | ||||||
|  |         "@cspotcode/source-map-consumer": "0.8.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "@discoveryjs/json-ext": { |     "@discoveryjs/json-ext": { | ||||||
|       "version": "0.5.7", |       "version": "0.5.7", | ||||||
|       "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", |       "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", | ||||||
| @@ -11552,6 +11911,12 @@ | |||||||
|           "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", |           "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", | ||||||
|           "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", |           "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", | ||||||
|           "dev": true |           "dev": true | ||||||
|  |         }, | ||||||
|  |         "type-fest": { | ||||||
|  |           "version": "0.20.2", | ||||||
|  |           "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", | ||||||
|  |           "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", | ||||||
|  |           "dev": true | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
| @@ -11717,6 +12082,26 @@ | |||||||
|       "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", |       "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "@tsconfig/node10": { | ||||||
|  |       "version": "1.0.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", | ||||||
|  |       "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" | ||||||
|  |     }, | ||||||
|  |     "@tsconfig/node12": { | ||||||
|  |       "version": "1.0.9", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", | ||||||
|  |       "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" | ||||||
|  |     }, | ||||||
|  |     "@tsconfig/node14": { | ||||||
|  |       "version": "1.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", | ||||||
|  |       "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" | ||||||
|  |     }, | ||||||
|  |     "@tsconfig/node16": { | ||||||
|  |       "version": "1.0.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", | ||||||
|  |       "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" | ||||||
|  |     }, | ||||||
|     "@types/body-parser": { |     "@types/body-parser": { | ||||||
|       "version": "1.19.2", |       "version": "1.19.2", | ||||||
|       "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", |       "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", | ||||||
| @@ -11847,9 +12232,9 @@ | |||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "@types/node": { |     "@types/node": { | ||||||
|       "version": "17.0.23", |       "version": "17.0.25", | ||||||
|       "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", |       "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.25.tgz", | ||||||
|       "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" |       "integrity": "sha512-wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==" | ||||||
|     }, |     }, | ||||||
|     "@types/prop-types": { |     "@types/prop-types": { | ||||||
|       "version": "15.7.5", |       "version": "15.7.5", | ||||||
| @@ -11878,6 +12263,15 @@ | |||||||
|         "csstype": "^3.0.2" |         "csstype": "^3.0.2" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "@types/react-dom": { | ||||||
|  |       "version": "18.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.1.tgz", | ||||||
|  |       "integrity": "sha512-jCwTXvHtRLiyVvKm9aEdHXs8rflVOGd5Sl913JZrPshfXjn8NYsTNZOz70bCsA31IR0TOqwi3ad+X4tSCBoMTw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@types/react": "*" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "@types/retry": { |     "@types/retry": { | ||||||
|       "version": "0.12.1", |       "version": "0.12.1", | ||||||
|       "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", |       "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", | ||||||
| @@ -11922,6 +12316,17 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", |       "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", | ||||||
|       "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" |       "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" | ||||||
|     }, |     }, | ||||||
|  |     "@types/webpack-hot-middleware": { | ||||||
|  |       "version": "2.25.6", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/webpack-hot-middleware/-/webpack-hot-middleware-2.25.6.tgz", | ||||||
|  |       "integrity": "sha512-1Q9ClNvZR30HIsEAHYQL3bXJK1K7IsrqjGMTfIureFjphsGOZ3TkbeoCupbCmi26pSLjVTPHp+pFrJNpOkBSVg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "@types/connect": "*", | ||||||
|  |         "tapable": "^2.2.0", | ||||||
|  |         "webpack": "^5" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "@types/ws": { |     "@types/ws": { | ||||||
|       "version": "8.5.3", |       "version": "8.5.3", | ||||||
|       "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", |       "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", | ||||||
| @@ -12283,6 +12688,11 @@ | |||||||
|       "dev": true, |       "dev": true, | ||||||
|       "requires": {} |       "requires": {} | ||||||
|     }, |     }, | ||||||
|  |     "acorn-walk": { | ||||||
|  |       "version": "8.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", | ||||||
|  |       "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" | ||||||
|  |     }, | ||||||
|     "ajv": { |     "ajv": { | ||||||
|       "version": "6.12.6", |       "version": "6.12.6", | ||||||
|       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", |       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", | ||||||
| @@ -12368,6 +12778,11 @@ | |||||||
|         "picomatch": "^2.0.4" |         "picomatch": "^2.0.4" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "arg": { | ||||||
|  |       "version": "4.1.3", | ||||||
|  |       "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", | ||||||
|  |       "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" | ||||||
|  |     }, | ||||||
|     "argparse": { |     "argparse": { | ||||||
|       "version": "2.0.1", |       "version": "2.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", |       "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", | ||||||
| @@ -12661,6 +13076,12 @@ | |||||||
|           "requires": { |           "requires": { | ||||||
|             "has-flag": "^4.0.0" |             "has-flag": "^4.0.0" | ||||||
|           } |           } | ||||||
|  |         }, | ||||||
|  |         "type-fest": { | ||||||
|  |           "version": "0.20.2", | ||||||
|  |           "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", | ||||||
|  |           "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", | ||||||
|  |           "dev": true | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
| @@ -13081,6 +13502,11 @@ | |||||||
|       "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", |       "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "create-require": { | ||||||
|  |       "version": "1.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", | ||||||
|  |       "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" | ||||||
|  |     }, | ||||||
|     "cross-spawn": { |     "cross-spawn": { | ||||||
|       "version": "7.0.3", |       "version": "7.0.3", | ||||||
|       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", |       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", | ||||||
| @@ -13406,6 +13832,11 @@ | |||||||
|       "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", |       "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "diff": { | ||||||
|  |       "version": "4.0.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", | ||||||
|  |       "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" | ||||||
|  |     }, | ||||||
|     "dir-glob": { |     "dir-glob": { | ||||||
|       "version": "3.0.1", |       "version": "3.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", |       "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", | ||||||
| @@ -13773,6 +14204,12 @@ | |||||||
|           "requires": { |           "requires": { | ||||||
|             "has-flag": "^4.0.0" |             "has-flag": "^4.0.0" | ||||||
|           } |           } | ||||||
|  |         }, | ||||||
|  |         "type-fest": { | ||||||
|  |           "version": "0.20.2", | ||||||
|  |           "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", | ||||||
|  |           "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", | ||||||
|  |           "dev": true | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
| @@ -15145,6 +15582,11 @@ | |||||||
|         "semver": "^6.0.0" |         "semver": "^6.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "make-error": { | ||||||
|  |       "version": "1.3.6", | ||||||
|  |       "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", | ||||||
|  |       "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" | ||||||
|  |     }, | ||||||
|     "mdn-data": { |     "mdn-data": { | ||||||
|       "version": "2.0.14", |       "version": "2.0.14", | ||||||
|       "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", |       "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", | ||||||
| @@ -17062,6 +17504,26 @@ | |||||||
|         "nopt": "~1.0.10" |         "nopt": "~1.0.10" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "ts-node": { | ||||||
|  |       "version": "10.7.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", | ||||||
|  |       "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", | ||||||
|  |       "requires": { | ||||||
|  |         "@cspotcode/source-map-support": "0.7.0", | ||||||
|  |         "@tsconfig/node10": "^1.0.7", | ||||||
|  |         "@tsconfig/node12": "^1.0.7", | ||||||
|  |         "@tsconfig/node14": "^1.0.0", | ||||||
|  |         "@tsconfig/node16": "^1.0.2", | ||||||
|  |         "acorn": "^8.4.1", | ||||||
|  |         "acorn-walk": "^8.1.1", | ||||||
|  |         "arg": "^4.1.0", | ||||||
|  |         "create-require": "^1.1.0", | ||||||
|  |         "diff": "^4.0.1", | ||||||
|  |         "make-error": "^1.1.1", | ||||||
|  |         "v8-compile-cache-lib": "^3.0.0", | ||||||
|  |         "yn": "3.1.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "tslib": { |     "tslib": { | ||||||
|       "version": "1.14.1", |       "version": "1.14.1", | ||||||
|       "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", |       "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", | ||||||
| @@ -17087,10 +17549,12 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "type-fest": { |     "type-fest": { | ||||||
|       "version": "0.20.2", |       "version": "2.12.2", | ||||||
|       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", |       "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.12.2.tgz", | ||||||
|       "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", |       "integrity": "sha512-qt6ylCGpLjZ7AaODxbpyBZSs9fCI9SkL3Z9q2oxMBQhs/uyY+VD8jHA8ULCGmWQJlBgqvO3EJeAngOHD8zQCrQ==", | ||||||
|       "dev": true |       "dev": true, | ||||||
|  |       "optional": true, | ||||||
|  |       "peer": true | ||||||
|     }, |     }, | ||||||
|     "type-is": { |     "type-is": { | ||||||
|       "version": "1.6.18", |       "version": "1.6.18", | ||||||
| @@ -17113,9 +17577,7 @@ | |||||||
|     "typescript": { |     "typescript": { | ||||||
|       "version": "4.6.3", |       "version": "4.6.3", | ||||||
|       "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", |       "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", | ||||||
|       "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", |       "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==" | ||||||
|       "dev": true, |  | ||||||
|       "peer": true |  | ||||||
|     }, |     }, | ||||||
|     "unbox-primitive": { |     "unbox-primitive": { | ||||||
|       "version": "1.0.1", |       "version": "1.0.1", | ||||||
| @@ -17314,6 +17776,11 @@ | |||||||
|       "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", |       "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "v8-compile-cache-lib": { | ||||||
|  |       "version": "3.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", | ||||||
|  |       "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" | ||||||
|  |     }, | ||||||
|     "vary": { |     "vary": { | ||||||
|       "version": "1.1.2", |       "version": "1.1.2", | ||||||
|       "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", |       "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | ||||||
| @@ -17732,6 +18199,11 @@ | |||||||
|       "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", |       "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "yn": { | ||||||
|  |       "version": "3.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", | ||||||
|  |       "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" | ||||||
|  |     }, | ||||||
|     "yocto-queue": { |     "yocto-queue": { | ||||||
|       "version": "0.1.0", |       "version": "0.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", |       "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", | ||||||
|   | |||||||
| @@ -4,7 +4,8 @@ | |||||||
|   "description": "Starter Kit de server side render de react", |   "description": "Starter Kit de server side render de react", | ||||||
|   "main": "index.js", |   "main": "index.js", | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "start": "nodemon server/index", |     "start": "ts-node server", | ||||||
|  |     "start:dev": "nodemon --exec 'ts-node' server/index -e js,json,ts,tsx,jsx", | ||||||
|     "build": "webpack-cli --config webpack.config.js", |     "build": "webpack-cli --config webpack.config.js", | ||||||
|     "lint": "eslint ./ --ext .js --ext .ts --ext .jsx --ext .tsx", |     "lint": "eslint ./ --ext .js --ext .ts --ext .jsx --ext .tsx", | ||||||
|     "lint:fix": "eslint ./ --ext .js --ext .ts --ext .jsx --ext .tsx --fix", |     "lint:fix": "eslint ./ --ext .js --ext .ts --ext .jsx --ext .tsx --fix", | ||||||
| @@ -30,7 +31,6 @@ | |||||||
|     "dotenv": "^16.0.0", |     "dotenv": "^16.0.0", | ||||||
|     "express": "^4.17.3", |     "express": "^4.17.3", | ||||||
|     "helmet": "^5.0.2", |     "helmet": "^5.0.2", | ||||||
|     "history": "^5.3.0", |  | ||||||
|     "ignore-styles": "^5.0.1", |     "ignore-styles": "^5.0.1", | ||||||
|     "react": "^18.0.0", |     "react": "^18.0.0", | ||||||
|     "react-dom": "^18.0.0", |     "react-dom": "^18.0.0", | ||||||
| @@ -38,14 +38,21 @@ | |||||||
|     "react-router-dom": "^6.3.0", |     "react-router-dom": "^6.3.0", | ||||||
|     "react-router-hash-link": "^2.4.3", |     "react-router-hash-link": "^2.4.3", | ||||||
|     "redux": "^4.1.2", |     "redux": "^4.1.2", | ||||||
|  |     "ts-node": "^10.7.0", | ||||||
|     "webpack": "^5.72.0", |     "webpack": "^5.72.0", | ||||||
|     "webpack-manifest-plugin": "^5.0.0" |     "webpack-manifest-plugin": "^5.0.0" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "@babel/core": "^7.17.9", |     "@babel/core": "^7.17.9", | ||||||
|     "@babel/preset-env": "^7.16.11", |     "@babel/preset-env": "^7.16.11", | ||||||
|  |     "@babel/preset-flow": "^7.16.7", | ||||||
|     "@babel/preset-react": "^7.16.7", |     "@babel/preset-react": "^7.16.7", | ||||||
|  |     "@babel/preset-typescript": "^7.16.7", | ||||||
|     "@pmmmwh/react-refresh-webpack-plugin": "^0.5.5", |     "@pmmmwh/react-refresh-webpack-plugin": "^0.5.5", | ||||||
|  |     "@types/node": "^17.0.25", | ||||||
|  |     "@types/react": "^18.0.5", | ||||||
|  |     "@types/react-dom": "^18.0.1", | ||||||
|  |     "@types/webpack-hot-middleware": "^2.25.6", | ||||||
|     "@typescript-eslint/eslint-plugin": "^5.20.0", |     "@typescript-eslint/eslint-plugin": "^5.20.0", | ||||||
|     "@typescript-eslint/parser": "^5.20.0", |     "@typescript-eslint/parser": "^5.20.0", | ||||||
|     "babel-loader": "^8.2.4", |     "babel-loader": "^8.2.4", | ||||||
| @@ -64,6 +71,7 @@ | |||||||
|     "sass-loader": "^12.6.0", |     "sass-loader": "^12.6.0", | ||||||
|     "style-loader": "^3.3.1", |     "style-loader": "^3.3.1", | ||||||
|     "terser-webpack-plugin": "^5.3.1", |     "terser-webpack-plugin": "^5.3.1", | ||||||
|  |     "typescript": "^4.6.3", | ||||||
|     "webpack-cli": "^4.9.2", |     "webpack-cli": "^4.9.2", | ||||||
|     "webpack-dev-middleware": "^5.3.1", |     "webpack-dev-middleware": "^5.3.1", | ||||||
|     "webpack-dev-server": "^4.8.1", |     "webpack-dev-server": "^4.8.1", | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ import InitialComponent from '../frontend/components/InitialComponent'; | |||||||
| import OtherComponent from '../frontend/components/OtherComponent'; | import OtherComponent from '../frontend/components/OtherComponent'; | ||||||
|  |  | ||||||
| const OTHER_COMPONENT = { | const OTHER_COMPONENT = { | ||||||
| 	path: 'other-component', | 	path: '/other-component', | ||||||
| 	element: <OtherComponent /> | 	element: <OtherComponent /> | ||||||
| }; | }; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -2,10 +2,14 @@ require('dotenv').config(); | |||||||
|  |  | ||||||
| require('ignore-styles'); | require('ignore-styles'); | ||||||
|  |  | ||||||
|  | //require('webpack-node-externals')(); | ||||||
|  |  | ||||||
| require('@babel/register')({ | require('@babel/register')({ | ||||||
| 	'presets': [ | 	'presets': [ | ||||||
| 		'@babel/preset-env', | 		'@babel/preset-env', | ||||||
| 		'@babel/preset-react' | 		'@babel/preset-react', | ||||||
|  | 		"@babel/preset-typescript", | ||||||
|  | 		// '@babel/preset-flow', | ||||||
| 	] | 	] | ||||||
| }); | }); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -14,10 +14,10 @@ import React from 'react'; | |||||||
| import { renderToString } from 'react-dom/server'; | import { renderToString } from 'react-dom/server'; | ||||||
| //Router | //Router | ||||||
| import { StaticRouter } from 'react-router-dom/server'; | import { StaticRouter } from 'react-router-dom/server'; | ||||||
|  | import routes from '../routes'; | ||||||
| //Redux | //Redux | ||||||
| import { createStore } from 'redux'; //, applyMiddleware |  | ||||||
| import { Provider } from 'react-redux'; | import { Provider } from 'react-redux'; | ||||||
| import reducer from '../frontend/reducers'; | import setStore from '../frontend/setStore.js'; | ||||||
| import initialState from '../frontend/reducers/initialState'; | import initialState from '../frontend/reducers/initialState'; | ||||||
| //Get Hashes | //Get Hashes | ||||||
| import getHashManifest from './getHashManifest'; | import getHashManifest from './getHashManifest'; | ||||||
| @@ -26,6 +26,8 @@ import App from '../frontend/components/App'; | |||||||
|  |  | ||||||
| const { env, port } = config; | const { env, port } = config; | ||||||
|  |  | ||||||
|  | const routesUrls = routes.map( route => route.path) | ||||||
|  |  | ||||||
| const app = express(); | const app = express(); | ||||||
|  |  | ||||||
| if(env === 'development'){ | if(env === 'development'){ | ||||||
| @@ -88,20 +90,25 @@ const setResponse = (html, preloadedState, manifest) => { | |||||||
|     `); |     `); | ||||||
| }; | }; | ||||||
|  |  | ||||||
| const renderApp = (req, res) => { | const renderApp = (req, res, next) => { | ||||||
| 	const store = createStore(reducer, initialState); | 	if(routesUrls.includes(req.url)){ | ||||||
| 	const preloadedState = store.getState(); | 		const store = setStore({ initialState }); | ||||||
| 	const html = renderToString( | 		const preloadedState = store.getState(); | ||||||
| 		<Provider store={store}> | 		const html = renderToString( | ||||||
| 			<StaticRouter location={req.url}> | 			<Provider store={store}> | ||||||
| 				<App /> | 				<StaticRouter location={req.url}> | ||||||
| 			</StaticRouter> | 					<App /> | ||||||
| 		</Provider> | 				</StaticRouter> | ||||||
| 	); | 			</Provider> | ||||||
| 	res.send(setResponse(html, preloadedState, req.hashManifest)); | 		); | ||||||
|  | 		res.send(setResponse(html, preloadedState, req.hashManifest)) | ||||||
|  | 	} | ||||||
|  | 	next() | ||||||
| }; | }; | ||||||
|  |  | ||||||
| app.get('*', renderApp); | app | ||||||
|  | 	.get('*', renderApp); | ||||||
|  |  | ||||||
|  |  | ||||||
| app.listen(port, (err) => { | app.listen(port, (err) => { | ||||||
| 	if(err) console.error(err); | 	if(err) console.error(err); | ||||||
|   | |||||||
							
								
								
									
										24
									
								
								src/tsconfig-reference.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								src/tsconfig-reference.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | |||||||
|  | { | ||||||
|  |   "compilerOptions": { | ||||||
|  |     "target": "ES5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, | ||||||
|  |     "module": "ESNext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, | ||||||
|  |     "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ /* Type declaration files to be included in compilation. */, | ||||||
|  |     "lib": [ | ||||||
|  |       "DOM", | ||||||
|  |       "ESNext" | ||||||
|  |     ] /* Specify library files to be included in the compilation. */, | ||||||
|  |     "jsx": "preserve" /* Specify JSX code generation: 'preserve', 'react-native', 'react' or 'react-jsx'. */, | ||||||
|  |     "noEmit": false /* Do not emit outputs. */, | ||||||
|  |     "isolatedModules": true /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */, | ||||||
|  |     "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, | ||||||
|  |     "strict": true /* Enable all strict type-checking options. */, | ||||||
|  |     "skipLibCheck": true /* Skip type checking of declaration files. */, | ||||||
|  |     "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */, | ||||||
|  |     "resolveJsonModule": true, | ||||||
|  |     "allowJs": true /* Allow javascript files to be compiled. Useful when migrating JS to TS */, | ||||||
|  |     // "checkJs": true /* Report errors in .js files. Works in tandem with allowJs. */, | ||||||
|  |     "types": ["react/next", "react-dom/next"], | ||||||
|  |     "sourceMap": true | ||||||
|  |   }, | ||||||
|  |   "include": ["**/*"] | ||||||
|  | } | ||||||
							
								
								
									
										46
									
								
								src/tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								src/tsconfig.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,46 @@ | |||||||
|  | { | ||||||
|  |   "extends": "ts-node/node12/tsconfig.json", | ||||||
|  |   "ts-node": { | ||||||
|  |     // It is faster to skip typechecking. | ||||||
|  |     // Remove if you want ts-node to do typechecking. | ||||||
|  |     "transpileOnly": true, | ||||||
|  |     "compilerOptions": { | ||||||
|  |       "module": "commonjs", | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   "compilerOptions": { | ||||||
|  |     "target": "es5", | ||||||
|  |     "lib": [ | ||||||
|  |       "dom", | ||||||
|  |       "dom.iterable", | ||||||
|  |       "esnext" | ||||||
|  |     ], | ||||||
|  |     "allowJs": true, | ||||||
|  |     "skipLibCheck": true, | ||||||
|  |     "esModuleInterop": true, | ||||||
|  |     "allowSyntheticDefaultImports": true, | ||||||
|  |     "strict": true, | ||||||
|  |     "forceConsistentCasingInFileNames": true, | ||||||
|  |     "noFallthroughCasesInSwitch": true, | ||||||
|  |     "module": "esnext", | ||||||
|  |     "moduleResolution": "node", | ||||||
|  |     "resolveJsonModule": true, | ||||||
|  |     "isolatedModules": true, | ||||||
|  |     "noEmit": false, | ||||||
|  |     "jsx": "react-jsx", | ||||||
|  |     "experimentalDecorators": true, | ||||||
|  |     "types": [ | ||||||
|  |       "react/next",  | ||||||
|  |       "react-dom/next",  | ||||||
|  |       "node" | ||||||
|  |     ], | ||||||
|  |     "sourceMap": true, | ||||||
|  |     "baseUrl": "**/*", | ||||||
|  |   }, | ||||||
|  |   "include": [ | ||||||
|  |     "**/*" | ||||||
|  |   ], | ||||||
|  |   "exclude": [ | ||||||
|  |    "node_modules"  | ||||||
|  |   ] | ||||||
|  | } | ||||||
| @@ -6,28 +6,31 @@ const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin' | |||||||
| const ESLintPlugin = require('eslint-webpack-plugin'); | const ESLintPlugin = require('eslint-webpack-plugin'); | ||||||
|  |  | ||||||
| module.exports = { | module.exports = { | ||||||
| 	entry: ['webpack-hot-middleware/client?path=/reload_wss&timeout=2000&overlay=false&reload=true', './frontend/index.js'], | 	entry: ['webpack-hot-middleware/client?path=/reload_wss&timeout=2000&reload=true&autoConnect=true', './frontend/index.tsx'], | ||||||
| 	output: { | 	output: { | ||||||
| 		path: path.resolve(__dirname, 'build'), | 		path: path.resolve(__dirname, 'build'), | ||||||
| 		filename: 'assets/app.js', | 		filename: 'assets/app.js', | ||||||
|  | 		publicPath: '/', | ||||||
| 	}, | 	}, | ||||||
| 	resolve: { | 	resolve: { | ||||||
| 		extensions: ['.js', '.jsx'], | 		extensions: ['.js', '.jsx','.ts','.tsx', '.json'], | ||||||
| 		alias: { | 		alias: { | ||||||
| 			'@components': path.resolve(__dirname, 'frontend/components/'), | 			'@components': path.resolve(__dirname, 'frontend/components/'), | ||||||
| 			'@styles': path.resolve(__dirname, 'frontend/styles/'), | 			'@styles': path.resolve(__dirname, 'frontend/styles/'), | ||||||
| 		} | 		} | ||||||
| 	}, | 	}, | ||||||
|  | 	devtool: 'inline-source-map', | ||||||
| 	mode: 'development', | 	mode: 'development', | ||||||
|  | 	context: __dirname, | ||||||
| 	module: { | 	module: { | ||||||
| 		rules: [ | 		rules: [ | ||||||
| 			{ | 			{ | ||||||
| 				test: /\.(js|jsx|tsx)$/, | 				test: /\.(js|jsx|ts|tsx)$/, | ||||||
| 				exclude: /node_modules/, |  | ||||||
| 				use: { | 				use: { | ||||||
| 					loader: 'babel-loader', | 					loader: 'babel-loader', | ||||||
| 					options: { plugins: ['react-refresh/babel'] } | 					options: { plugins: ['react-refresh/babel'] } | ||||||
| 				}, | 				}, | ||||||
|  | 				exclude: /node_modules/, | ||||||
| 			}, | 			}, | ||||||
| 			{ | 			{ | ||||||
| 				test: /\.(css|sass|scss)$/, | 				test: /\.(css|sass|scss)$/, | ||||||
|   | |||||||
| @@ -10,14 +10,14 @@ const { CleanWebpackPlugin } = require('clean-webpack-plugin'); | |||||||
| const ESLintPlugin = require('eslint-webpack-plugin'); | const ESLintPlugin = require('eslint-webpack-plugin'); | ||||||
|  |  | ||||||
| module.exports = { | module.exports = { | ||||||
| 	entry: './frontend/index.js', | 	entry: './frontend/index.tsx', | ||||||
| 	output: { | 	output: { | ||||||
| 		path: path.resolve(__dirname, 'build'), | 		path: path.resolve(__dirname, 'build'), | ||||||
| 		filename: 'assets/app-[fullhash].js', | 		filename: 'assets/app-[fullhash].js', | ||||||
| 		publicPath: '/', | 		publicPath: '/', | ||||||
| 	}, | 	}, | ||||||
| 	resolve: { | 	resolve: { | ||||||
| 		extensions: ['.js', '.jsx'], | 		extensions: ['.js', '.jsx','.ts','.tsx', '.json'], | ||||||
| 		alias: { | 		alias: { | ||||||
| 			'@components': path.resolve(__dirname, 'frontend/components/'), | 			'@components': path.resolve(__dirname, 'frontend/components/'), | ||||||
| 			'@styles': path.resolve(__dirname, 'frontend/styles/'), | 			'@styles': path.resolve(__dirname, 'frontend/styles/'), | ||||||
| @@ -27,7 +27,7 @@ module.exports = { | |||||||
| 	module: { | 	module: { | ||||||
| 		rules: [ | 		rules: [ | ||||||
| 			{ | 			{ | ||||||
| 				test: /\.(js|jsx|tsx)$/, | 				test: /\.(js|jsx|ts|tsx)$/, | ||||||
| 				exclude: /node_modules/, | 				exclude: /node_modules/, | ||||||
| 				use: { | 				use: { | ||||||
| 					loader: 'babel-loader', | 					loader: 'babel-loader', | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user