feat: splits tsconfig between admin and server
This commit is contained in:
@@ -12,9 +12,11 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"copyfiles": "copyfiles -u 1 src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png} dist/",
|
"copyfiles": "copyfiles -u 1 src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png} dist/",
|
||||||
|
"build:tsc": "tsc --p tsconfig.admin.json && tsc --p tsconfig.server.json",
|
||||||
"build:components": "webpack --config dist/webpack/components.config.js",
|
"build:components": "webpack --config dist/webpack/components.config.js",
|
||||||
|
"build": "yarn copyfiles && yarn build:tsc && yarn build:components",
|
||||||
|
"demo:build:analyze": "cross-env PAYLOAD_CONFIG_PATH=demo/payload.config.ts PAYLOAD_ANALYZE_BUNDLE=true node dist/bin/build",
|
||||||
"demo:build": "cross-env PAYLOAD_CONFIG_PATH=demo/payload.config.ts node dist/bin/build",
|
"demo:build": "cross-env PAYLOAD_CONFIG_PATH=demo/payload.config.ts node dist/bin/build",
|
||||||
"build": "yarn copyfiles && tsc && yarn build:components",
|
|
||||||
"dev": "cross-env PAYLOAD_CONFIG_PATH=demo/payload.config.ts nodemon",
|
"dev": "cross-env PAYLOAD_CONFIG_PATH=demo/payload.config.ts nodemon",
|
||||||
"test": "yarn test:int && yarn test:client",
|
"test": "yarn test:int && yarn test:client",
|
||||||
"pretest": "tsc-silent --project tsconfig.json --suppress @",
|
"pretest": "tsc-silent --project tsconfig.json --suppress @",
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import { Data } from '../admin/components/forms/Form/types';
|
|
||||||
import validationPromise from './validationPromise';
|
import validationPromise from './validationPromise';
|
||||||
import accessPromise from './accessPromise';
|
import accessPromise from './accessPromise';
|
||||||
import hookPromise from './hookPromise';
|
import hookPromise from './hookPromise';
|
||||||
@@ -128,7 +127,7 @@ const traverseFields = (args: Arguments): void => {
|
|||||||
});
|
});
|
||||||
} else if (fieldIsArrayType(field)) {
|
} else if (fieldIsArrayType(field)) {
|
||||||
if (Array.isArray(data[field.name])) {
|
if (Array.isArray(data[field.name])) {
|
||||||
(data[field.name] as Data[]).forEach((rowData, i) => {
|
(data[field.name] as Record<string, unknown>[]).forEach((rowData, i) => {
|
||||||
const originalDocRow = originalDoc && originalDoc[field.name] && originalDoc[field.name][i];
|
const originalDocRow = originalDoc && originalDoc[field.name] && originalDoc[field.name][i];
|
||||||
traverseFields({
|
traverseFields({
|
||||||
...args,
|
...args,
|
||||||
@@ -143,7 +142,7 @@ const traverseFields = (args: Arguments): void => {
|
|||||||
traverseFields({
|
traverseFields({
|
||||||
...args,
|
...args,
|
||||||
fields: field.fields,
|
fields: field.fields,
|
||||||
data: data[field.name] as Data,
|
data: data[field.name] as Record<string, unknown>,
|
||||||
originalDoc: originalDoc[field.name],
|
originalDoc: originalDoc[field.name],
|
||||||
path: `${path}${field.name}.`,
|
path: `${path}${field.name}.`,
|
||||||
});
|
});
|
||||||
@@ -152,7 +151,7 @@ const traverseFields = (args: Arguments): void => {
|
|||||||
|
|
||||||
if (fieldIsBlockType(field)) {
|
if (fieldIsBlockType(field)) {
|
||||||
if (Array.isArray(data[field.name])) {
|
if (Array.isArray(data[field.name])) {
|
||||||
(data[field.name] as Data[]).forEach((rowData, i) => {
|
(data[field.name] as Record<string, unknown>[]).forEach((rowData, i) => {
|
||||||
const block = field.blocks.find((blockType) => blockType.slug === rowData.blockType);
|
const block = field.blocks.find((blockType) => blockType.slug === rowData.blockType);
|
||||||
const originalDocRow = originalDoc && originalDoc[field.name] && originalDoc[field.name][i];
|
const originalDocRow = originalDoc && originalDoc[field.name] && originalDoc[field.name][i];
|
||||||
|
|
||||||
@@ -178,7 +177,7 @@ const traverseFields = (args: Arguments): void => {
|
|||||||
|
|
||||||
if (field.type === 'array' || field.type === 'blocks') {
|
if (field.type === 'array' || field.type === 'blocks') {
|
||||||
const hasRowsOfNewData = Array.isArray(data[field.name]);
|
const hasRowsOfNewData = Array.isArray(data[field.name]);
|
||||||
const newRowCount = hasRowsOfNewData ? (data[field.name] as Data[]).length : 0;
|
const newRowCount = hasRowsOfNewData ? (data[field.name] as Record<string, unknown>[]).length : 0;
|
||||||
|
|
||||||
// Handle cases of arrays being intentionally set to 0
|
// Handle cases of arrays being intentionally set to 0
|
||||||
if (data[field.name] === '0' || data[field.name] === 0 || data[field.name] === null) {
|
if (data[field.name] === '0' || data[field.name] === 0 || data[field.name] === null) {
|
||||||
|
|||||||
12
tsconfig.admin.json
Normal file
12
tsconfig.admin.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"extends": "./tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"module": "esnext"
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"src/admin"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"**/*.spec.js",
|
||||||
|
]
|
||||||
|
}
|
||||||
7
tsconfig.server.json
Normal file
7
tsconfig.server.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"extends": "./tsconfig.json",
|
||||||
|
"exclude": [
|
||||||
|
"src/admin",
|
||||||
|
"**/*.spec.js",
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user