refactor: migrate to typescript

This commit is contained in:
Elliot DeNolf
2020-11-20 13:39:18 -05:00
parent 38028dd36b
commit 551c249e39
451 changed files with 1240 additions and 593 deletions

13
.vscode/launch.json vendored
View File

@@ -55,6 +55,19 @@
"<node_internals>/**" "<node_internals>/**"
] ]
}, },
{
"type": "node",
"request": "launch",
"name": "Launch Program - Production",
"env": {
"PAYLOAD_CONFIG_PATH": "demo/payload.config.js",
"NODE_ENV": "production"
},
"program": "${workspaceFolder}/demo/server.js",
"skipFiles": [
"<node_internals>/**"
]
},
{ {
"type": "chrome", "type": "chrome",
"request": "launch", "request": "launch",

View File

@@ -1,20 +1,3 @@
module.exports = { const config = require('./src/babel.config');
presets: [
[ module.exports = config;
require.resolve('@babel/preset-env'),
{
targets: [
'defaults',
'not IE 11',
'not IE_Mob 11',
],
},
],
require.resolve('@babel/preset-react'),
],
plugins: [
require.resolve('@babel/plugin-transform-runtime'),
require.resolve('@babel/plugin-proposal-class-properties'),
require.resolve('@babel/plugin-proposal-optional-chaining'),
],
};

View File

@@ -1,30 +1,31 @@
const Admin = require('./collections/Admin'); const Admin = require('./collections/Admin');
const AllFields = require('./collections/AllFields'); // const AllFields = require('./collections/AllFields');
const Code = require('./collections/Code'); const AutoLabel = require('./collections/AutoLabel');
const Conditions = require('./collections/Conditions'); // const Code = require('./collections/Code');
const CustomComponents = require('./collections/CustomComponents'); // const Conditions = require('./collections/Conditions');
const File = require('./collections/File'); // const CustomComponents = require('./collections/CustomComponents');
const Blocks = require('./collections/Blocks'); // const File = require('./collections/File');
const DefaultValues = require('./collections/DefaultValues'); // const Blocks = require('./collections/Blocks');
const HiddenFields = require('./collections/HiddenFields'); // const DefaultValues = require('./collections/DefaultValues');
const Hooks = require('./collections/Hooks'); // const HiddenFields = require('./collections/HiddenFields');
const Localized = require('./collections/Localized'); // const Hooks = require('./collections/Hooks');
const LocalizedArray = require('./collections/LocalizedArray'); // const Localized = require('./collections/Localized');
const LocalOperations = require('./collections/LocalOperations'); // const LocalizedArray = require('./collections/LocalizedArray');
const Media = require('./collections/Media'); // const LocalOperations = require('./collections/LocalOperations');
const NestedArrays = require('./collections/NestedArrays'); // const Media = require('./collections/Media');
const Preview = require('./collections/Preview'); // const NestedArrays = require('./collections/NestedArrays');
const PublicUsers = require('./collections/PublicUsers'); // const Preview = require('./collections/Preview');
const RelationshipA = require('./collections/RelationshipA'); // const PublicUsers = require('./collections/PublicUsers');
const RelationshipB = require('./collections/RelationshipB'); // const RelationshipA = require('./collections/RelationshipA');
const RichText = require('./collections/RichText'); // const RelationshipB = require('./collections/RelationshipB');
const Select = require('./collections/Select'); // const RichText = require('./collections/RichText');
const StrictPolicies = require('./collections/StrictPolicies'); // const Select = require('./collections/Select');
const Validations = require('./collections/Validations'); // const StrictPolicies = require('./collections/StrictPolicies');
// const Validations = require('./collections/Validations');
const BlocksGlobal = require('./globals/BlocksGlobal'); // const BlocksGlobal = require('./globals/BlocksGlobal');
const NavigationArray = require('./globals/NavigationArray'); // const NavigationArray = require('./globals/NavigationArray');
const GlobalWithStrictAccess = require('./globals/GlobalWithStrictAccess'); // const GlobalWithStrictAccess = require('./globals/GlobalWithStrictAccess');
module.exports = { module.exports = {
admin: { admin: {
@@ -49,34 +50,35 @@ module.exports = {
}, },
collections: [ collections: [
Admin, Admin,
AllFields, // AllFields,
Code, AutoLabel,
Conditions, // Code,
CustomComponents, // Conditions,
File, // CustomComponents,
DefaultValues, // File,
Blocks, // DefaultValues,
HiddenFields, // Blocks,
Hooks, // HiddenFields,
Localized, // Hooks,
LocalizedArray, // Localized,
LocalOperations, // LocalizedArray,
Media, // LocalOperations,
NestedArrays, // Media,
Preview, // NestedArrays,
PublicUsers, // Preview,
RelationshipA, // PublicUsers,
RelationshipB, // RelationshipA,
RichText, // RelationshipB,
Select, // RichText,
StrictPolicies, // Select,
Validations, // StrictPolicies,
], // Validations,
globals: [
NavigationArray,
GlobalWithStrictAccess,
BlocksGlobal,
], ],
// globals: [
// NavigationArray,
// GlobalWithStrictAccess,
// BlocksGlobal,
// ],
cookiePrefix: 'payload', cookiePrefix: 'payload',
serverURL: 'http://localhost:3000', serverURL: 'http://localhost:3000',
cors: [ cors: [

View File

@@ -1,7 +1,20 @@
--- ---
title: Collection Configs title: Collection Configuration
label: Collections label: Collections
order: 20 order: 20
--- ---
Talk about how to write collection configs here. Talk about how to write collection configs here.
TODO: What collections are and what they represent
### Stand-alone file
```js
module.exports = {
slug: 'customer',
labels: {
singular: 'Customer',
plural: 'Customers',
}
}

View File

@@ -1,4 +1,4 @@
const { APIError, Forbidden } = require('./src/errors'); const { APIError, Forbidden } = require('./dist/errors');
module.exports = { module.exports = {
APIError, APIError,

View File

@@ -1,3 +1,3 @@
const logger = require('./src/utilities/logger'); const logger = require('./dist/utilities/logger');
module.exports = logger; module.exports = logger;

View File

@@ -5,7 +5,6 @@
"license": "ISC", "license": "ISC",
"author": "Payload CMS LLC", "author": "Payload CMS LLC",
"main": "index.js", "main": "index.js",
"typings": "types/index.d.ts",
"sideEffects": false, "sideEffects": false,
"bin": { "bin": {
"payload": "./src/bin/index.js" "payload": "./src/bin/index.js"
@@ -132,9 +131,68 @@
"webpack-hot-middleware": "^2.25.0" "webpack-hot-middleware": "^2.25.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/preset-typescript": "^7.12.1",
"@testing-library/jest-dom": "^5.11.4", "@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.0.4", "@testing-library/react": "^11.0.4",
"@trbl/eslint-config": "^1.2.4", "@trbl/eslint-config": "^1.2.4",
"@types/autoprefixer": "^9.7.2",
"@types/babel__core": "^7.1.12",
"@types/babel__plugin-transform-runtime": "^7.9.1",
"@types/babel__preset-env": "^7.9.1",
"@types/body-parser": "^1.19.0",
"@types/compression": "^1.7.0",
"@types/connect-history-api-fallback": "^1.3.3",
"@types/eslint": "^6.8.1",
"@types/express": "^4.17.9",
"@types/express-fileupload": "^1.1.5",
"@types/express-rate-limit": "^5.1.0",
"@types/extract-text-webpack-plugin": "^3.0.4",
"@types/file-loader": "^4.2.0",
"@types/html-webpack-plugin": "^3.2.4",
"@types/ignore-styles": "^5.0.0",
"@types/is-hotkey": "^0.1.2",
"@types/is-url": "^1.2.28",
"@types/isomorphic-fetch": "^0.0.35",
"@types/jsonwebtoken": "^8.5.0",
"@types/method-override": "^0.0.31",
"@types/mini-css-extract-plugin": "^1.2.1",
"@types/minimist": "^1.2.1",
"@types/mkdirp": "^1.0.1",
"@types/mongodb": "^3.5.34",
"@types/mongoose": "^5.10.1",
"@types/mongoose-paginate-v2": "^1.3.8",
"@types/node-sass": "^4.11.1",
"@types/nodemailer": "^6.4.0",
"@types/nodemon": "^1.19.0",
"@types/optimize-css-assets-webpack-plugin": "^5.0.1",
"@types/passport": "^0.4.7",
"@types/passport-anonymous": "^1.0.3",
"@types/passport-jwt": "^3.0.3",
"@types/passport-local": "^1.0.33",
"@types/passport-local-mongoose": "^4.0.13",
"@types/pino": "^6.3.4",
"@types/pluralize": "^0.0.29",
"@types/prismjs": "^1.16.2",
"@types/prop-types": "^15.7.3",
"@types/qs": "^6.9.5",
"@types/qs-middleware": "^1.0.1",
"@types/react": "^16.14.0",
"@types/react-beautiful-dnd": "^13.0.0",
"@types/react-datepicker": "^3.1.1",
"@types/react-document-meta": "^3.0.0",
"@types/react-dom": "^16.9.9",
"@types/react-helmet": "^6.1.0",
"@types/react-router-dom": "^5.1.6",
"@types/react-select": "^3.0.26",
"@types/sass": "^1.16.0",
"@types/sharp": "^0.26.1",
"@types/terser-webpack-plugin": "^5.0.2",
"@types/testing-library__jest-dom": "^5.9.5",
"@types/uuid": "^8.3.0",
"@types/webpack": "4.41.25",
"@types/webpack-bundle-analyzer": "^3.9.0",
"@types/webpack-dev-middleware": "^3.7.2",
"@types/webpack-hot-middleware": "^2.25.3",
"babel-eslint": "^10.0.1", "babel-eslint": "^10.0.1",
"cross-env": "^7.0.2", "cross-env": "^7.0.2",
"eslint": "^6.8.0", "eslint": "^6.8.0",
@@ -148,6 +206,7 @@
"graphql-request": "^2.0.0", "graphql-request": "^2.0.0",
"mongodb": "^3.6.2", "mongodb": "^3.6.2",
"nodemon": "^1.19.4", "nodemon": "^1.19.4",
"typescript": "^4.1.2",
"webpack-cli": "^4.1.0" "webpack-cli": "^4.1.0"
}, },
"files": [ "files": [

Some files were not shown because too many files have changed in this diff Show More