chore: vite in production

This commit is contained in:
James
2023-10-01 18:42:47 -04:00
parent 44b10cc9b4
commit 8f837f99ae
6 changed files with 12 additions and 133 deletions

View File

@@ -18,16 +18,13 @@
"build:types": "tsc --emitDeclarationOnly --outDir dist"
},
"dependencies": {
"@rollup/plugin-commonjs": "^25.0.4",
"@rollup/plugin-image": "^3.0.2",
"@vitejs/plugin-react": "^4.0.4",
"compression": "1.7.4",
"connect-history-api-fallback": "1.6.0",
"get-port": "5.1.1",
"path-browserify": "1.0.1",
"rollup-plugin-scss": "^4.0.0",
"vite": "^4.4.9",
"vite-plugin-commonjs": "^0.8.2",
"vite-plugin-virtual": "^0.2.0"
},
"devDependencies": {

View File

@@ -3,12 +3,10 @@ import type { SanitizedConfig } from 'payload/config'
// @ts-expect-error
import type { InlineConfig } from 'vite'
import rollupCommonJS from '@rollup/plugin-commonjs'
import image from '@rollup/plugin-image'
import react from '@vitejs/plugin-react'
import getPort from 'get-port'
import path from 'path'
import scss from 'rollup-plugin-scss'
import virtual from 'vite-plugin-virtual'
const bundlerPath = path.resolve(__dirname, './')
@@ -65,39 +63,16 @@ export const getViteConfig = async (payloadConfig: SanitizedConfig): Promise<Inl
return {
base: payloadConfig.routes.admin,
build: {
commonjsOptions: {
include: [/payload/],
transformMixedEsModules: true,
},
chunkSizeWarningLimit: 4000,
outDir: payloadConfig.admin.buildPath,
rollupOptions: {
// output: {
// manualChunks: {
// jsonWorker: ['monaco-editor/esm/vs/language/json/json.worker'],
// cssWorker: ['monaco-editor/esm/vs/language/css/css.worker'],
// htmlWorker: ['monaco-editor/esm/vs/language/html/html.worker'],
// tsWorker: ['monaco-editor/esm/vs/language/typescript/ts.worker'],
// editorWorker: ['monaco-editor/esm/vs/editor/editor.worker'],
// },
// },
input: {
main: path.resolve(__dirname, './index.html'),
},
plugins: [
image(),
rollupCommonJS(),
scss({
output: path.resolve(payloadConfig.admin.buildPath, 'styles.css'),
outputStyle: 'compressed',
// include: [`${relativeAdminPath}/**/*.scss`],
}),
],
plugins: [image()],
treeshake: true,
},
},
customLogger: logger,
define: {
__dirname: '""',
__dirname: '"/"',
'module.hot': 'undefined',
'process.argv': '[]',
'process.cwd': '() => ""',
@@ -108,18 +83,6 @@ export const getViteConfig = async (payloadConfig: SanitizedConfig): Promise<Inl
// Dependencies that need aliases should be excluded
// from pre-bundling
],
include: [
// 'payload/**/*.tsx',
// 'payload/**/*.ts',
// 'payload/**/*.js',
// 'payload/*.js',
// 'slate',
// 'slate-react',
// 'slate-history',
// 'is-hotkey',
// 'slate-hyperscript',
// '@monaco-editor/react',
],
},
plugins: [
{

View File

@@ -10,7 +10,7 @@ const router = express.Router()
type ServeAdminType = (options: { payload: Payload }) => Promise<PayloadHandler>
export const serveAdmin: ServeAdminType = async ({ payload }) => {
router.use(payload.config.routes.admin, history())
router.use(history())
router.get('*', (req, res, next) => {
if (req.path.substr(-1) === '/' && req.path.length > 1) {

View File

@@ -80,5 +80,6 @@ export const getBaseConfig = (payloadConfig: SanitizedConfig): Configuration =>
http: false,
https: false,
},
modules: ['node_modules', nodeModulesPath, path.resolve(__dirname, '../../node_modules')],
},
})

View File

@@ -10,6 +10,8 @@ import { useAuth } from '../../utilities/Auth'
import { useConfig } from '../../utilities/Config'
import { DocumentInfoProvider } from '../../utilities/DocumentInfo'
import { useLocale } from '../../utilities/Locale'
import NotFound from '../NotFound'
import Unauthorized from '../Unauthorized'
import { collectionRoutes } from './collections'
import { customRoutes } from './custom'
import { globalRoutes } from './globals'
@@ -23,16 +25,12 @@ const Login = lazy(() => import('../Login'))
// @ts-expect-error Just TypeScript being broken // TODO: Open TypeScript issue
const Logout = lazy(() => import('../Logout'))
// @ts-expect-error Just TypeScript being broken // TODO: Open TypeScript issue
const NotFound = lazy(() => import('../NotFound'))
// @ts-expect-error Just TypeScript being broken // TODO: Open TypeScript issue
const Verify = lazy(() => import('../Verify'))
// @ts-expect-error Just TypeScript being broken // TODO: Open TypeScript issue
const CreateFirstUser = lazy(() => import('../CreateFirstUser'))
// @ts-expect-error Just TypeScript being broken // TODO: Open TypeScript issue
const ResetPassword = lazy(() => import('../ResetPassword'))
// @ts-expect-error Just TypeScript being broken // TODO: Open TypeScript issue
const Unauthorized = lazy(() => import('../Unauthorized'))
// @ts-expect-error Just TypeScript being broken // TODO: Open TypeScript issue
const Account = lazy(() => import('../Account'))
export const Routes: React.FC = () => {

90
pnpm-lock.yaml generated
View File

@@ -117,9 +117,6 @@ importers:
packages/bundler-vite:
dependencies:
'@rollup/plugin-commonjs':
specifier: ^25.0.4
version: 25.0.4
'@rollup/plugin-image':
specifier: ^3.0.2
version: 3.0.2
@@ -141,15 +138,9 @@ importers:
react-dom:
specifier: 18.2.0
version: 18.2.0(react@18.2.0)
rollup-plugin-scss:
specifier: ^4.0.0
version: 4.0.0
vite:
specifier: ^4.4.9
version: 4.4.9(@types/node@20.5.7)
vite-plugin-commonjs:
specifier: ^0.8.2
version: 0.8.2
version: 4.4.9
vite-plugin-virtual:
specifier: ^0.2.0
version: 0.2.0(vite@4.4.9)
@@ -3481,23 +3472,6 @@ packages:
semver: 7.5.1
dev: true
/@rollup/plugin-commonjs@25.0.4:
resolution: {integrity: sha512-L92Vz9WUZXDnlQQl3EwbypJR4+DM2EbsO+/KOcEkP4Mc6Ct453EeDB2uH9lgRwj4w5yflgNpq9pHOiY8aoUXBQ==}
engines: {node: '>=14.0.0'}
peerDependencies:
rollup: ^2.68.0||^3.0.0
peerDependenciesMeta:
rollup:
optional: true
dependencies:
'@rollup/pluginutils': 5.0.4
commondir: 1.0.1
estree-walker: 2.0.2
glob: 8.1.0
is-reference: 1.2.1
magic-string: 0.27.0
dev: false
/@rollup/plugin-image@3.0.2:
resolution: {integrity: sha512-eGVrD6lummWH5ENo9LWX3JY62uBb9okUNQ2htXkugrG6WjACrMUVhWvss+0wW3fwJWmFYpoEny3yL4spEdh15g==}
engines: {node: '>=14.0.0'}
@@ -5060,7 +5034,7 @@ packages:
'@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.20)
'@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.20)
react-refresh: 0.14.0
vite: 4.4.9(@types/node@20.5.7)
vite: 4.4.9
transitivePeerDependencies:
- supports-color
dev: false
@@ -6226,6 +6200,7 @@ packages:
/commondir@1.0.1:
resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
dev: true
/compare-func@2.0.0:
resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
@@ -7964,10 +7939,6 @@ packages:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
/estree-walker@0.6.1:
resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
dev: false
/estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
dev: false
@@ -9479,12 +9450,6 @@ packages:
resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
dev: false
/is-reference@1.2.1:
resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
dependencies:
'@types/estree': 1.0.1
dev: false
/is-regex@1.1.4:
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
engines: {node: '>= 0.4'}
@@ -10639,20 +10604,6 @@ packages:
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dev: true
/magic-string@0.27.0:
resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
engines: {node: '>=12'}
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
dev: false
/magic-string@0.30.3:
resolution: {integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==}
engines: {node: '>=12'}
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
dev: false
/make-dir@3.1.0:
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
engines: {node: '>=8'}
@@ -13464,18 +13415,6 @@ packages:
dependencies:
glob: 7.2.3
/rollup-plugin-scss@4.0.0:
resolution: {integrity: sha512-wxasNXDYC2m+fDxCMgK00WebVWYmeFvShyNABmjvSJZ6D1/SepwqFeaMFMQromveI79gfvb64yJjiZZxSZxEIA==}
dependencies:
rollup-pluginutils: 2.8.2
dev: false
/rollup-pluginutils@2.8.2:
resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
dependencies:
estree-walker: 0.6.1
dev: false
/rollup@3.29.2:
resolution: {integrity: sha512-CJouHoZ27v6siztc21eEQGo0kIcE5D1gVPA571ez0mMYb25LGYGKnVNXpEj5MGlepmDWGXNjDB5q7uNiPHC11A==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
@@ -14969,33 +14908,15 @@ packages:
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
engines: {node: '>= 0.8'}
/vite-plugin-commonjs@0.8.2:
resolution: {integrity: sha512-UJlvuioutS7Tno3p3Dqxkr0G4xXt8ILYsJzOiyvFlEsyAxFRofsBGHN/Sl15q0Y4vtvvC7+QZCc6GuUxOM6Cmg==}
dependencies:
acorn: 8.10.0
fast-glob: 3.3.1
magic-string: 0.30.3
vite-plugin-dynamic-import: 1.5.0
dev: false
/vite-plugin-dynamic-import@1.5.0:
resolution: {integrity: sha512-Qp85c+AVJmLa8MLni74U4BDiWpUeFNx7NJqbGZyR2XJOU7mgW0cb7nwlAMucFyM4arEd92Nfxp4j44xPi6Fu7g==}
dependencies:
acorn: 8.10.0
es-module-lexer: 1.3.1
fast-glob: 3.3.1
magic-string: 0.30.3
dev: false
/vite-plugin-virtual@0.2.0(vite@4.4.9):
resolution: {integrity: sha512-mUzoGq08YHyx7dW4WyZeNb1GPJIEEDrcjuDNiLP0om0g05/ODgjl8BQeZlH2iWJWVu1izLWfQHcpPMcMSaWnRg==}
peerDependencies:
vite: ^2.0.0 || ^3.0.0 || ^4.0.0
dependencies:
vite: 4.4.9(@types/node@20.5.7)
vite: 4.4.9
dev: false
/vite@4.4.9(@types/node@20.5.7):
/vite@4.4.9:
resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
@@ -15023,7 +14944,6 @@ packages:
terser:
optional: true
dependencies:
'@types/node': 20.5.7
esbuild: 0.18.20
postcss: 8.4.27
rollup: 3.29.2