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": { "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 @",

View File

@@ -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
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",
]
}