feat: splits tsconfig between admin and server

This commit is contained in:
James
2020-12-27 21:02:20 -05:00
parent db135129d8
commit efe0b40aca
4 changed files with 26 additions and 6 deletions

View File

@@ -12,9 +12,11 @@
},
"scripts": {
"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": "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",
"build": "yarn copyfiles && tsc && yarn build:components",
"dev": "cross-env PAYLOAD_CONFIG_PATH=demo/payload.config.ts nodemon",
"test": "yarn test:int && yarn test:client",
"pretest": "tsc-silent --project tsconfig.json --suppress @",

View File

@@ -1,4 +1,3 @@
import { Data } from '../admin/components/forms/Form/types';
import validationPromise from './validationPromise';
import accessPromise from './accessPromise';
import hookPromise from './hookPromise';
@@ -128,7 +127,7 @@ const traverseFields = (args: Arguments): void => {
});
} else if (fieldIsArrayType(field)) {
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];
traverseFields({
...args,
@@ -143,7 +142,7 @@ const traverseFields = (args: Arguments): void => {
traverseFields({
...args,
fields: field.fields,
data: data[field.name] as Data,
data: data[field.name] as Record<string, unknown>,
originalDoc: originalDoc[field.name],
path: `${path}${field.name}.`,
});
@@ -152,7 +151,7 @@ const traverseFields = (args: Arguments): void => {
if (fieldIsBlockType(field)) {
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 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') {
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
if (data[field.name] === '0' || data[field.name] === 0 || data[field.name] === null) {

12
tsconfig.admin.json Normal file
View File

@@ -0,0 +1,12 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"module": "esnext"
},
"include": [
"src/admin"
],
"exclude": [
"**/*.spec.js",
]
}

7
tsconfig.server.json Normal file
View File

@@ -0,0 +1,7 @@
{
"extends": "./tsconfig.json",
"exclude": [
"src/admin",
"**/*.spec.js",
]
}