chore: restores webpack config, still broken

This commit is contained in:
James
2024-03-09 15:55:26 -05:00
parent 5b0d18bb3b
commit 7b62705cc0
4 changed files with 1908 additions and 24 deletions

View File

@@ -8,9 +8,10 @@
"@payloadcms/next": "./dist/bin/index.js"
},
"scripts": {
"build": "pnpm copyfiles && pnpm build:swc && pnpm build:types",
"build": "pnpm copyfiles && pnpm build:swc && pnpm build:types && pnpm build:webpack",
"build:swc": "swc ./src -d ./dist --config-file .swcrc",
"build:types": "tsc --emitDeclarationOnly --outDir dist",
"build:webpack": "webpack --config webpack.config.cjs",
"clean": "rimraf {dist,*.tsbuildinfo}",
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" \"src/app/api/**\" dist/ && pnpm copyfiles:api",
"copyfiles:api": "copyfiles -u 1 \"src/app/(payload)/**\" dist/template",
@@ -47,10 +48,23 @@
"devDependencies": {
"@next/eslint-plugin-next": "^14.1.0",
"@payloadcms/eslint-config": "workspace:*",
"@swc-node/loader": "^1.5.0",
"@types/react": "18.2.15",
"@types/react-dom": "18.2.7",
"@types/ws": "^8.5.10",
"payload": "workspace:*"
"css-loader": "^6.10.0",
"css-minimizer-webpack-plugin": "^6.0.0",
"mini-css-extract-plugin": "1.6.2",
"payload": "workspace:*",
"postcss-loader": "^8.1.1",
"postcss-preset-env": "^9.5.0",
"sass-loader": "^14.1.1",
"swc-loader": "^0.2.6",
"terser-webpack-plugin": "^5.3.10",
"ts-loader": "^9.5.1",
"url-loader": "^4.1.1",
"webpack": "^5.78.0",
"webpack-cli": "^5.1.4"
},
"dependencies": {
"@dnd-kit/core": "6.0.8",

View File

@@ -8,7 +8,7 @@
"rootDir": "./src" /* Specify the root folder within your source files. */,
"sourceMap": true,
"paths": {
"@payloadcms/ui": ["../ui/src/exports/index.ts"],
"@payloadcms/ui": ["../ui/src/exports/index.js"],
"@payloadcms/ui/*": ["../ui/src/exports/*"],
"@payloadcms/ui/scss": ["../ui/src/scss/styles.scss"],
"@payloadcms/ui/scss/app.scss": ["../ui/src/scss/app.scss"]

View File

@@ -0,0 +1,97 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const OptimizeCSSAssetsPlugin = require('css-minimizer-webpack-plugin')
const MiniCSSExtractPlugin = require('mini-css-extract-plugin')
const path = require('path')
const TerserJSPlugin = require('terser-webpack-plugin')
const componentWebpackConfig = {
entry: path.resolve(__dirname, './src/index.ts'),
externals: ['react', 'react-dom', /^payload.*/, /^next.*/, 'react-image-crop'],
// externalsType: 'commonjs',
mode: 'production',
module: {
rules: [
{
// exclude: /node_modules/,
test: /\.(t|j)sx?$/,
use: [
// {
// loader: 'swc-loader',
// options: {
// jsc: {
// parser: {
// dts: true,
// syntax: 'typescript',
// tsx: true,
// },
// },
// module: {
// type: 'es6',
// },
// },
// },
{
loader: '@swc-node/loader',
options: {
// compilerOptions: {
// esModuleInterop: true,
// jsx: true,
// module: 'esnext',
// moduleResolution: 'NodeNext',
// target: 'ES5',
// sourceMap: false,
// },
include: ['../**/*.ts', '../**/*.tsx'],
// absolute path for tsconfig.json
configFile: path.join(__dirname, '../../tsconfig.json'),
},
},
],
},
{
sideEffects: true,
test: /\.(scss|css)$/,
use: [
MiniCSSExtractPlugin.loader,
'css-loader',
{
loader: 'postcss-loader',
options: {
postcssOptions: {
plugins: ['postcss-preset-env'],
},
},
},
'sass-loader',
],
},
],
},
optimization: {
minimizer: [
new TerserJSPlugin({
extractComments: false,
}),
new OptimizeCSSAssetsPlugin({}),
],
},
output: {
filename: 'index.js',
libraryTarget: 'commonjs2',
path: path.resolve(__dirname, './dist'),
publicPath: '/',
},
plugins: [
new MiniCSSExtractPlugin({
filename: 'styles.css',
ignoreOrder: true,
}),
],
resolve: {
extensions: ['.tsx', '.ts', '.js', '.jsx'],
modules: ['node_modules', path.resolve(__dirname, '../../node_modules')],
},
stats: 'errors-only',
}
module.exports = componentWebpackConfig

1815
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff