mirror of
https://github.com/aljazceru/landscape-template.git
synced 2025-12-17 06:14:27 +01:00
refactor: migrate project to react18, tailwind3, storybook6
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -7,7 +7,7 @@ environments/.dev.preview-server.env
|
|||||||
|
|
||||||
# dependencies
|
# dependencies
|
||||||
/node_modules
|
/node_modules
|
||||||
/node_modules2
|
/node_modules_t
|
||||||
/.pnp
|
/.pnp
|
||||||
.pnp.js
|
.pnp.js
|
||||||
|
|
||||||
|
|||||||
@@ -1,41 +1,19 @@
|
|||||||
const path = require("path");
|
const path = require("path");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
stories: ["../src/**/*.stories.mdx", "../src/**/*.stories.@(js|jsx|ts|tsx)"],
|
"stories": [
|
||||||
addons: [
|
"../src/**/*.stories.mdx",
|
||||||
|
"../src/**/*.stories.@(js|jsx|ts|tsx)"
|
||||||
|
],
|
||||||
|
"addons": [
|
||||||
"@storybook/addon-links",
|
"@storybook/addon-links",
|
||||||
"@storybook/addon-essentials",
|
"@storybook/addon-essentials",
|
||||||
"@storybook/preset-create-react-app",
|
"@storybook/addon-interactions",
|
||||||
|
"@storybook/preset-create-react-app"
|
||||||
],
|
],
|
||||||
webpackFinal: async (config) => {
|
"framework": "@storybook/react",
|
||||||
config.module.rules.push({
|
"core": {
|
||||||
test: /\.css$/,
|
"builder": "@storybook/builder-webpack5"
|
||||||
use: [
|
}
|
||||||
{
|
}
|
||||||
loader: "postcss-loader",
|
|
||||||
options: {
|
|
||||||
ident: "postcss",
|
|
||||||
plugins: [require("tailwindcss"), require("autoprefixer")],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
include: path.resolve(__dirname, "../"),
|
|
||||||
});
|
|
||||||
config.module.rules.push({
|
|
||||||
type: "javascript/auto",
|
|
||||||
test: /\.mjs$/,
|
|
||||||
include: /node_modules/,
|
|
||||||
});
|
|
||||||
|
|
||||||
config.resolve.alias = {
|
|
||||||
...config.resolve.alias,
|
|
||||||
|
|
||||||
"@/SB": path.resolve(__dirname),
|
|
||||||
"@/Components": path.resolve(__dirname, "../src/Components"),
|
|
||||||
"@/Api": path.resolve(__dirname, "../src/api"),
|
|
||||||
"@/Utils": path.resolve(__dirname, "../src/utils"),
|
|
||||||
};
|
|
||||||
|
|
||||||
return config;
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|||||||
@@ -11,9 +11,7 @@ export const parameters = {
|
|||||||
date: /Date$/,
|
date: /Date$/,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
addDecorator(AppDecorator);
|
addDecorator(AppDecorator);
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
style: {
|
|
||||||
postcss: {
|
|
||||||
plugins: [require("tailwindcss"), require("autoprefixer")],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
webpack: {
|
|
||||||
configure: {
|
|
||||||
module: {
|
|
||||||
rules: [
|
|
||||||
{
|
|
||||||
type: "javascript/auto",
|
|
||||||
test: /\.mjs$/,
|
|
||||||
include: /node_modules/,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
62145
package-lock.json
generated
62145
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
126
package.json
126
package.json
@@ -1,67 +1,67 @@
|
|||||||
{
|
{
|
||||||
"name": "makers.bolt.fun",
|
"name": "my-app",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@apollo/client": "^3.5.5",
|
"@apollo/client": "^3.5.10",
|
||||||
"@prisma/client": "3.5.0",
|
"@prisma/client": "^3.12.0",
|
||||||
"@react-hookz/web": "^13.1.0",
|
"@react-hookz/web": "^13.2.1",
|
||||||
"@react-spring/web": "^9.4.2",
|
"@react-spring/web": "^9.4.4",
|
||||||
"@reduxjs/toolkit": "^1.6.2",
|
"@reduxjs/toolkit": "^1.8.1",
|
||||||
"@testing-library/jest-dom": "^5.15.0",
|
"@testing-library/jest-dom": "^5.16.4",
|
||||||
"@testing-library/react": "^11.2.7",
|
"@testing-library/react": "^13.1.1",
|
||||||
"@testing-library/user-event": "^12.8.3",
|
"@testing-library/user-event": "^13.5.0",
|
||||||
"@types/jest": "^26.0.24",
|
"@types/jest": "^27.4.1",
|
||||||
"@types/node": "^12.20.36",
|
"@types/node": "^16.11.27",
|
||||||
"@types/react": "^17.0.33",
|
"@types/react": "^18.0.5",
|
||||||
"@types/react-dom": "^17.0.10",
|
"@types/react-dom": "^18.0.1",
|
||||||
"@use-gesture/react": "^10.2.5",
|
"@use-gesture/react": "^10.2.11",
|
||||||
"apollo-server": "^3.5.0",
|
"apollo-server": "^3.6.7",
|
||||||
"apollo-server-lambda": "^3.5.0",
|
"apollo-server-lambda": "^3.6.7",
|
||||||
"axios": "^0.24.0",
|
"axios": "^0.26.1",
|
||||||
"chance": "^1.1.8",
|
"chance": "^1.1.8",
|
||||||
"dayjs": "^1.11.1",
|
"dayjs": "^1.11.1",
|
||||||
"env-cmd": "^10.1.0",
|
"env-cmd": "^10.1.0",
|
||||||
"framer-motion": "^5.3.0",
|
"framer-motion": "^6.3.0",
|
||||||
"graphql": "^16.0.1",
|
"graphql": "^16.3.0",
|
||||||
"invoices": "^2.0.2",
|
"invoices": "^2.0.6",
|
||||||
"linkify-html": "^3.0.5",
|
"linkify-html": "^3.0.5",
|
||||||
"linkifyjs": "^3.0.5",
|
"linkifyjs": "^3.0.5",
|
||||||
"lodash.debounce": "^4.0.8",
|
"lodash.debounce": "^4.0.8",
|
||||||
"lodash.throttle": "^4.1.1",
|
"lodash.throttle": "^4.1.1",
|
||||||
"marked": "^4.0.14",
|
"marked": "^4.0.14",
|
||||||
"nexus": "^1.3.0",
|
"nexus": "^1.3.0",
|
||||||
"prisma": "3.5.0",
|
"prisma": "^3.12.0",
|
||||||
"react": "^17.0.2",
|
"react": "^18.0.0",
|
||||||
"react-confetti": "^6.0.1",
|
"react-confetti": "^6.0.1",
|
||||||
"react-copy-to-clipboard": "^5.0.4",
|
"react-copy-to-clipboard": "^5.1.0",
|
||||||
"react-datepicker": "^4.7.0",
|
"react-datepicker": "^4.7.0",
|
||||||
"react-dom": "^17.0.2",
|
"react-dom": "^18.0.0",
|
||||||
"react-icons": "^4.3.1",
|
"react-icons": "^4.3.1",
|
||||||
"react-image-lightbox": "^5.1.4",
|
"react-image-lightbox": "^5.1.4",
|
||||||
"react-loader-spinner": "^6.0.0-0",
|
"react-loader-spinner": "^6.0.0-0",
|
||||||
"react-loading-skeleton": "^3.0.2",
|
"react-loading-skeleton": "^3.1.0",
|
||||||
"react-multi-carousel": "^2.6.5",
|
"react-multi-carousel": "^2.8.0",
|
||||||
"react-query": "^3.32.3",
|
"react-query": "^3.35.0",
|
||||||
"react-redux": "^7.2.6",
|
"react-redux": "^8.0.0",
|
||||||
"react-responsive-carousel": "^3.2.22",
|
"react-responsive-carousel": "^3.2.23",
|
||||||
"react-router-dom": "^6.2.2",
|
"react-router-dom": "^6.3.0",
|
||||||
"react-scripts": "4.0.3",
|
"react-scripts": "5.0.1",
|
||||||
"react-topbar-progress-indicator": "^4.1.1",
|
"react-topbar-progress-indicator": "^4.1.1",
|
||||||
"typescript": "^4.4.4",
|
"typescript": "^4.6.3",
|
||||||
"web-vitals": "^1.1.2",
|
"web-vitals": "^2.1.4",
|
||||||
"webln": "^0.2.2"
|
"webln": "^0.3.0"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"client:prod-server": "env-cmd -f ./environments/.dev.prod-server.env craco start",
|
"client:prod-server": "env-cmd -f ./environments/.dev.prod-server.env react-scripts start",
|
||||||
"client:preview-server": "env-cmd -f ./environments/.dev.preview-server.env craco start",
|
"client:preview-server": "env-cmd -f ./environments/.dev.preview-server.env react-scripts start",
|
||||||
"client:mocks": "env-cmd -f ./environments/.dev.mock-server.env craco start",
|
"client:mocks": "env-cmd -f ./environments/.dev.mock-server.env react-scripts start",
|
||||||
"client:dev-server": "env-cmd -f ./environments/.dev.server.env craco start",
|
"client:dev-server": "env-cmd -f ./environments/.dev.server.env react-scripts start",
|
||||||
"server:dev": "serverless offline",
|
"server:dev": "serverless offline",
|
||||||
"generate-graphql": "graphql-codegen",
|
"generate-graphql": "graphql-codegen",
|
||||||
"build": "craco build",
|
"build": "react-scripts build",
|
||||||
"build:mocks": "env-cmd -f ./environments/.prod.mock-server.env craco build",
|
"build:mocks": "env-cmd -f ./environments/.prod.mock-server.env react-scripts build",
|
||||||
"test": "craco test",
|
"test": "react-scripts test",
|
||||||
"eject": "react-scripts eject",
|
"eject": "react-scripts eject",
|
||||||
"predeploy": "env-cmd -f ./environments/.prod.github.env npm run build",
|
"predeploy": "env-cmd -f ./environments/.prod.github.env npm run build",
|
||||||
"deploy": "gh-pages -d build",
|
"deploy": "gh-pages -d build",
|
||||||
@@ -109,32 +109,36 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@craco/craco": "^6.4.0",
|
"@graphql-codegen/cli": "^2.6.2",
|
||||||
"@graphql-codegen/cli": "2.3.0",
|
|
||||||
"@graphql-codegen/typed-document-node": "^2.2.8",
|
"@graphql-codegen/typed-document-node": "^2.2.8",
|
||||||
"@graphql-codegen/typescript": "^2.4.1",
|
"@graphql-codegen/typescript": "^2.4.8",
|
||||||
"@graphql-codegen/typescript-operations": "^2.2.1",
|
"@graphql-codegen/typescript-operations": "^2.3.5",
|
||||||
"@graphql-codegen/typescript-react-apollo": "3.2.2",
|
"@graphql-codegen/typescript-react-apollo": "^3.2.11",
|
||||||
"@storybook/addon-actions": "^6.3.12",
|
"@storybook/addon-actions": "^6.4.22",
|
||||||
"@storybook/addon-essentials": "^6.3.12",
|
"@storybook/addon-essentials": "^6.4.22",
|
||||||
"@storybook/addon-links": "^6.3.12",
|
"@storybook/addon-interactions": "^6.4.22",
|
||||||
"@storybook/addon-postcss": "^2.0.0",
|
"@storybook/addon-links": "^6.4.22",
|
||||||
"@storybook/node-logger": "^6.3.12",
|
"@storybook/builder-webpack5": "^6.4.22",
|
||||||
"@storybook/preset-create-react-app": "^3.2.0",
|
"@storybook/manager-webpack5": "^6.4.22",
|
||||||
"@storybook/react": "^6.3.12",
|
"@storybook/node-logger": "^6.4.22",
|
||||||
|
"@storybook/preset-create-react-app": "^4.1.0",
|
||||||
|
"@storybook/react": "^6.4.22",
|
||||||
|
"@storybook/testing-library": "^0.0.10",
|
||||||
|
"@tailwindcss/forms": "^0.5.0",
|
||||||
"@types/chance": "^1.1.3",
|
"@types/chance": "^1.1.3",
|
||||||
"@types/lodash.debounce": "^4.0.6",
|
"@types/lodash.debounce": "^4.0.7",
|
||||||
"@types/lodash.throttle": "^4.1.6",
|
"@types/lodash.throttle": "^4.1.7",
|
||||||
"@types/marked": "^4.0.3",
|
"@types/marked": "^4.0.3",
|
||||||
"@types/react-copy-to-clipboard": "^5.0.2",
|
"@types/react-copy-to-clipboard": "^5.0.2",
|
||||||
"@types/react-datepicker": "^4.4.0",
|
"@types/react-datepicker": "^4.4.0",
|
||||||
"autoprefixer": "^9.8.8",
|
"autoprefixer": "^10.4.4",
|
||||||
"gh-pages": "^3.2.3",
|
"gh-pages": "^3.2.3",
|
||||||
"msw": "^0.39.1",
|
"msw": "^0.39.2",
|
||||||
"netlify-cli": "^8.15.0",
|
"netlify-cli": "^10.0.0",
|
||||||
"postcss": "^7.0.39",
|
"postcss": "^8.4.12",
|
||||||
"serverless-offline": "^8.5.0",
|
"serverless-offline": "^8.7.0",
|
||||||
"tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.2.17"
|
"tailwindcss": "^3.0.24",
|
||||||
|
"webpack": "^5.72.0"
|
||||||
},
|
},
|
||||||
"msw": {
|
"msw": {
|
||||||
"workerDirectory": "public"
|
"workerDirectory": "public"
|
||||||
|
|||||||
6
postcss.config.js
Normal file
6
postcss.config.js
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
module.exports = {
|
||||||
|
plugins: {
|
||||||
|
tailwindcss: {},
|
||||||
|
autoprefixer: {},
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.input-wrapper {
|
.input-wrapper {
|
||||||
@apply w-full relative border border-gray-300 rounded-lg shadow-xs flex focus-within:outline-primary;
|
@apply w-full relative border border-gray-300 rounded-lg shadow-xs flex focus-within:outline-primary-400;
|
||||||
}
|
}
|
||||||
|
|
||||||
.input-field {
|
.input-field {
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import ReactDOM from 'react-dom';
|
import ReactDOM from 'react-dom/client';
|
||||||
import Wrapper from './utils/Wrapper';
|
import Wrapper from './utils/Wrapper';
|
||||||
import './index.css';
|
import './index.css';
|
||||||
import App from './App';
|
import App from './App';
|
||||||
import reportWebVitals from './reportWebVitals';
|
|
||||||
|
|
||||||
|
|
||||||
if (process.env.REACT_APP_ENABLE_MOCKS) {
|
if (process.env.REACT_APP_ENABLE_MOCKS) {
|
||||||
@@ -14,17 +13,14 @@ if (process.env.REACT_APP_ENABLE_MOCKS) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const root = ReactDOM.createRoot(
|
||||||
ReactDOM.render(
|
document.getElementById('root') as HTMLElement
|
||||||
|
);
|
||||||
|
root.render(
|
||||||
<React.StrictMode>
|
<React.StrictMode>
|
||||||
<Wrapper>
|
<Wrapper>
|
||||||
<App />
|
<App />
|
||||||
</Wrapper>
|
</Wrapper>
|
||||||
</React.StrictMode>,
|
</React.StrictMode>
|
||||||
document.getElementById('root')
|
|
||||||
);
|
);
|
||||||
|
|
||||||
// If you want to start measuring performance in your app, pass a function
|
|
||||||
// to log results (for example: reportWebVitals(console.log))
|
|
||||||
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
|
|
||||||
reportWebVitals();
|
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
const THEME = require('./src/utils/theme')
|
const THEME = require('./src/utils/theme')
|
||||||
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
mode: "jit",
|
content: [
|
||||||
purge: [
|
|
||||||
"./src/features/**/*.{html,js,ts,tsx,jsx}",
|
"./src/features/**/*.{html,js,ts,tsx,jsx}",
|
||||||
"./src/pages/**/*.{html,js,ts,tsx,jsx}",
|
"./src/pages/**/*.{html,js,ts,tsx,jsx}",
|
||||||
"./src/Components/**/*.{html,js,ts,tsx,jsx}",
|
"./src/Components/**/*.{html,js,ts,tsx,jsx}",
|
||||||
"./src/layouts/**/*.{html,js,ts,tsx,jsx}",
|
"./src/layouts/**/*.{html,js,ts,tsx,jsx}",
|
||||||
"./src/index.html",
|
"./src/index.html",
|
||||||
],
|
],
|
||||||
darkMode: false, // or 'media' or 'class'
|
|
||||||
theme: {
|
theme: {
|
||||||
extend: {
|
extend: {
|
||||||
colors: THEME.colors,
|
colors: THEME.colors,
|
||||||
@@ -100,4 +99,4 @@ module.exports = {
|
|||||||
plugins: [
|
plugins: [
|
||||||
require('@tailwindcss/forms'),
|
require('@tailwindcss/forms'),
|
||||||
],
|
],
|
||||||
};
|
}
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
|
|
||||||
"target": "es5",
|
"target": "es5",
|
||||||
"lib": ["dom", "dom.iterable", "esnext"],
|
"lib": [
|
||||||
|
"dom",
|
||||||
|
"dom.iterable",
|
||||||
|
"esnext"
|
||||||
|
],
|
||||||
"baseUrl": ".",
|
"baseUrl": ".",
|
||||||
"allowJs": true,
|
"allowJs": true,
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
@@ -18,5 +21,7 @@
|
|||||||
"noEmit": true,
|
"noEmit": true,
|
||||||
"jsx": "react-jsx"
|
"jsx": "react-jsx"
|
||||||
},
|
},
|
||||||
"include": ["src","./src/utils/types/assets.d.ts"]
|
"include": [
|
||||||
|
"src"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user