payload 3.0.0-alpha.54 → 3.0.0-alpha.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth.d.ts +1 -1
- package/auth.js +1 -1
- package/bin.js +1 -1
- package/database.d.ts +1 -1
- package/dist/admin/views/types.d.ts +1 -0
- package/dist/admin/views/types.d.ts.map +1 -1
- package/dist/admin/views/types.js.map +1 -1
- package/dist/auth/executeAuthStrategies.d.ts +3 -0
- package/dist/auth/executeAuthStrategies.d.ts.map +1 -0
- package/dist/auth/{getAuthenticatedUser.js → executeAuthStrategies.js} +2 -2
- package/dist/auth/executeAuthStrategies.js.map +1 -0
- package/dist/auth/operations/auth.d.ts +13 -0
- package/dist/auth/operations/auth.d.ts.map +1 -0
- package/dist/auth/operations/auth.js +35 -0
- package/dist/auth/operations/auth.js.map +1 -0
- package/dist/auth/operations/local/auth.d.ts +4 -0
- package/dist/auth/operations/local/auth.d.ts.map +1 -0
- package/dist/auth/operations/local/auth.js +13 -0
- package/dist/auth/operations/local/auth.js.map +1 -0
- package/dist/auth/operations/local/index.d.ts +1 -0
- package/dist/auth/operations/local/index.d.ts.map +1 -1
- package/dist/auth/operations/local/index.js +2 -0
- package/dist/auth/operations/local/index.js.map +1 -1
- package/dist/bin/loader/clientExtensions.d.ts.map +1 -0
- package/dist/bin/loader/clientExtensions.js.map +1 -0
- package/dist/bin/loader/compile.d.ts +5 -0
- package/dist/bin/loader/compile.d.ts.map +1 -0
- package/dist/bin/loader/compile.js +27 -0
- package/dist/bin/loader/compile.js.map +1 -0
- package/dist/bin/loader/index.d.ts.map +1 -0
- package/dist/bin/{register → loader}/index.js +22 -11
- package/dist/bin/loader/index.js.map +1 -0
- package/dist/bin/loader/read-default-tsconfig.d.ts.map +1 -0
- package/dist/bin/loader/read-default-tsconfig.js.map +1 -0
- package/dist/collections/config/client.d.ts +4 -2
- package/dist/collections/config/client.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +2 -2
- package/dist/collections/config/sanitize.js.map +1 -1
- package/dist/collections/config/schema.d.ts.map +1 -1
- package/dist/collections/config/schema.js +2 -5
- package/dist/collections/config/schema.js.map +1 -1
- package/dist/collections/config/types.d.ts +4 -1
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js.map +1 -1
- package/dist/collections/operations/local/create.js +1 -1
- package/dist/collections/operations/local/create.js.map +1 -1
- package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
- package/dist/collections/operations/local/duplicate.js +4 -1
- package/dist/collections/operations/local/duplicate.js.map +1 -1
- package/dist/collections/operations/local/index.d.ts +1 -0
- package/dist/collections/operations/local/index.d.ts.map +1 -1
- package/dist/config/client.d.ts +1 -1
- package/dist/config/client.d.ts.map +1 -1
- package/dist/config/client.js +2 -1
- package/dist/config/client.js.map +1 -1
- package/dist/config/types.d.ts +3 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/database/types.d.ts +4 -0
- package/dist/database/types.d.ts.map +1 -1
- package/dist/database/types.js.map +1 -1
- package/dist/errors/MissingEditorProp.d.ts +7 -0
- package/dist/errors/MissingEditorProp.d.ts.map +1 -0
- package/dist/errors/MissingEditorProp.js +10 -0
- package/dist/errors/MissingEditorProp.js.map +1 -0
- package/dist/exports/auth.d.ts +1 -1
- package/dist/exports/auth.d.ts.map +1 -1
- package/dist/exports/auth.js +1 -1
- package/dist/exports/auth.js.map +1 -1
- package/dist/exports/database.d.ts +1 -1
- package/dist/exports/database.d.ts.map +1 -1
- package/dist/exports/database.js.map +1 -1
- package/dist/exports/node.d.ts +4 -0
- package/dist/exports/node.d.ts.map +1 -0
- package/dist/exports/node.js +5 -0
- package/dist/exports/node.js.map +1 -0
- package/dist/exports/types.d.ts +1 -1
- package/dist/exports/types.d.ts.map +1 -1
- package/dist/exports/types.js.map +1 -1
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js.map +1 -1
- package/dist/exports/versions.d.ts +0 -1
- package/dist/exports/versions.d.ts.map +1 -1
- package/dist/exports/versions.js +0 -1
- package/dist/exports/versions.js.map +1 -1
- package/dist/fields/baseFields/baseBlockFields.d.ts +2 -2
- package/dist/fields/baseFields/baseBlockFields.d.ts.map +1 -1
- package/dist/fields/baseFields/baseBlockFields.js.map +1 -1
- package/dist/fields/baseFields/baseIDField.d.ts +2 -2
- package/dist/fields/baseFields/baseIDField.d.ts.map +1 -1
- package/dist/fields/baseFields/baseIDField.js.map +1 -1
- package/dist/fields/config/client.d.ts +5 -0
- package/dist/fields/config/client.d.ts.map +1 -1
- package/dist/fields/config/sanitize.d.ts +7 -1
- package/dist/fields/config/sanitize.d.ts.map +1 -1
- package/dist/fields/config/sanitize.js +11 -3
- package/dist/fields/config/sanitize.js.map +1 -1
- package/dist/fields/config/schema.d.ts.map +1 -1
- package/dist/fields/config/schema.js +5 -0
- package/dist/fields/config/schema.js.map +1 -1
- package/dist/fields/config/types.d.ts +33 -2
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js.map +1 -1
- package/dist/globals/config/schema.d.ts.map +1 -1
- package/dist/globals/config/schema.js +1 -0
- package/dist/globals/config/schema.js.map +1 -1
- package/dist/globals/config/types.d.ts +5 -0
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/config/types.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/uploads/getBaseFields.d.ts.map +1 -1
- package/dist/uploads/getBaseFields.js +25 -34
- package/dist/uploads/getBaseFields.js.map +1 -1
- package/dist/utilities/importConfig.d.ts +6 -0
- package/dist/utilities/importConfig.d.ts.map +1 -0
- package/dist/utilities/importConfig.js +32 -0
- package/dist/utilities/importConfig.js.map +1 -0
- package/dist/utilities/importWithoutClientFiles.d.ts +2 -0
- package/dist/utilities/importWithoutClientFiles.d.ts.map +1 -0
- package/dist/utilities/importWithoutClientFiles.js +13 -0
- package/dist/utilities/importWithoutClientFiles.js.map +1 -0
- package/node.d.ts +4 -0
- package/node.js +5 -0
- package/package.json +1 -2
- package/src/index.ts +12 -0
- package/types.d.ts +1 -1
- package/versions.d.ts +0 -1
- package/versions.js +0 -1
- package/dist/auth/getAuthenticatedUser.d.ts +0 -3
- package/dist/auth/getAuthenticatedUser.d.ts.map +0 -1
- package/dist/auth/getAuthenticatedUser.js.map +0 -1
- package/dist/bin/register/clientExtensions.d.ts.map +0 -1
- package/dist/bin/register/clientExtensions.js.map +0 -1
- package/dist/bin/register/index.d.ts.map +0 -1
- package/dist/bin/register/index.js.map +0 -1
- package/dist/bin/register/read-default-tsconfig.d.ts.map +0 -1
- package/dist/bin/register/read-default-tsconfig.js.map +0 -1
- package/dist/bin/register/register.d.ts +0 -15
- package/dist/bin/register/register.d.ts.map +0 -1
- package/dist/bin/register/register.js +0 -92
- package/dist/bin/register/register.js.map +0 -1
- package/dist/config/load.d.ts +0 -6
- package/dist/config/load.d.ts.map +0 -1
- package/dist/config/load.js +0 -31
- package/dist/config/load.js.map +0 -1
- package/dist/exports/uploads.d.ts +0 -2
- package/dist/exports/uploads.d.ts.map +0 -1
- package/dist/exports/uploads.js +0 -3
- package/dist/exports/uploads.js.map +0 -1
- package/dist/versions/getVersionsModelName.d.ts +0 -4
- package/dist/versions/getVersionsModelName.d.ts.map +0 -1
- package/dist/versions/getVersionsModelName.js +0 -3
- package/dist/versions/getVersionsModelName.js.map +0 -1
- package/uploads.d.ts +0 -2
- package/uploads.js +0 -3
- /package/dist/bin/{register → loader}/clientExtensions.d.ts +0 -0
- /package/dist/bin/{register → loader}/clientExtensions.js +0 -0
- /package/dist/bin/{register → loader}/index.d.ts +0 -0
- /package/dist/bin/{register → loader}/read-default-tsconfig.d.ts +0 -0
- /package/dist/bin/{register → loader}/read-default-tsconfig.js +0 -0
package/auth.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from './dist/auth/index.js';
|
|
2
2
|
export { default as executeAccess } from './dist/auth/executeAccess.js';
|
|
3
|
+
export { executeAuthStrategies } from './dist/auth/executeAuthStrategies.js';
|
|
3
4
|
export { getAccessResults } from './dist/auth/getAccessResults.js';
|
|
4
|
-
export { getAuthenticatedUser } from './dist/auth/getAuthenticatedUser.js';
|
|
5
5
|
export type { AuthStrategyFunction, AuthStrategyFunctionArgs, CollectionPermission, FieldPermissions, GlobalPermission, IncomingAuthType, Permission, Permissions, User, VerifyConfig, } from './dist/auth/types.js';
|
|
6
6
|
//# sourceMappingURL=auth.d.ts.map
|
package/auth.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from './dist/auth/index.js';
|
|
2
2
|
export { default as executeAccess } from './dist/auth/executeAccess.js';
|
|
3
|
+
export { executeAuthStrategies } from './dist/auth/executeAuthStrategies.js';
|
|
3
4
|
export { getAccessResults } from './dist/auth/getAccessResults.js';
|
|
4
|
-
export { getAuthenticatedUser } from './dist/auth/getAuthenticatedUser.js';
|
|
5
5
|
|
|
6
6
|
//# sourceMappingURL=auth.js.map
|
package/bin.js
CHANGED
package/database.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { BaseDatabaseAdapter, BeginTransaction, CommitTransaction, Connect, Create, CreateArgs, CreateGlobal, CreateGlobalArgs, CreateGlobalVersion, CreateGlobalVersionArgs, CreateMigration, CreateVersion, CreateVersionArgs, DatabaseAdapterResult as DatabaseAdapterObj, DeleteMany, DeleteManyArgs, DeleteOne, DeleteOneArgs, DeleteVersions, DeleteVersionsArgs, Destroy, Find, FindArgs, FindGlobal, FindGlobalArgs, FindGlobalVersions, FindGlobalVersionsArgs, FindOne, FindOneArgs, FindVersions, FindVersionsArgs, Init, Migration, MigrationData, PaginatedDocs, QueryDrafts, QueryDraftsArgs, RollbackTransaction, Transaction, TypeWithVersion, UpdateGlobal, UpdateGlobalArgs, UpdateGlobalVersion, UpdateGlobalVersionArgs, UpdateOne, UpdateOneArgs, UpdateVersion, UpdateVersionArgs, } from './dist/database/types.js';
|
|
1
|
+
export type { BaseDatabaseAdapter, BeginTransaction, CommitTransaction, Connect, Create, CreateArgs, CreateGlobal, CreateGlobalArgs, CreateGlobalVersion, CreateGlobalVersionArgs, CreateMigration, CreateVersion, CreateVersionArgs, DBIdentifierName, DatabaseAdapterResult as DatabaseAdapterObj, DeleteMany, DeleteManyArgs, DeleteOne, DeleteOneArgs, DeleteVersions, DeleteVersionsArgs, Destroy, Find, FindArgs, FindGlobal, FindGlobalArgs, FindGlobalVersions, FindGlobalVersionsArgs, FindOne, FindOneArgs, FindVersions, FindVersionsArgs, Init, Migration, MigrationData, PaginatedDocs, QueryDrafts, QueryDraftsArgs, RollbackTransaction, Transaction, TypeWithVersion, UpdateGlobal, UpdateGlobalArgs, UpdateGlobalVersion, UpdateGlobalVersionArgs, UpdateOne, UpdateOneArgs, UpdateVersion, UpdateVersionArgs, } from './dist/database/types.js';
|
|
2
2
|
export * from './dist/database/queryValidation/types.js';
|
|
3
3
|
export { combineQueries } from './dist/database/combineQueries.js';
|
|
4
4
|
export { createDatabaseAdapter } from './dist/database/createDatabaseAdapter.js';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Translations } from '@payloadcms/translations';
|
|
2
2
|
import type { Permissions } from '../../auth/index.js';
|
|
3
3
|
import type { SanitizedCollectionConfig } from '../../collections/config/types.js';
|
|
4
|
+
import type { Locale } from '../../config/types.js';
|
|
4
5
|
import type { SanitizedGlobalConfig } from '../../globals/config/types.js';
|
|
5
6
|
import type { PayloadRequest } from '../../types/index.js';
|
|
6
7
|
export type AdminViewConfig = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/admin/views/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,kBAAkB,CAAA;IAC7B,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;IACzD,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;AAEpE,MAAM,MAAM,SAAS,GAAG,kBAAkB,GAAG,eAAe,CAAA;AAE5D,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;IAChD,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,WAAW,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,YAAY,EAAE,YAAY,CAAA;IAC1B,eAAe,EAAE,eAAe,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;IACxD,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/admin/views/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,kBAAkB,CAAA;IAC7B,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;IACzD,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;AAEpE,MAAM,MAAM,SAAS,GAAG,kBAAkB,GAAG,eAAe,CAAA;AAE5D,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;IAChD,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAA;CACzC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,WAAW,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,YAAY,EAAE,YAAY,CAAA;IAC1B,eAAe,EAAE,eAAe,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,EAAE,cAAc,CAAA;IAC9B,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;IACxD,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;CAC/D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/admin/views/types.ts"],"sourcesContent":["import type { Translations } from '@payloadcms/translations'\n\nimport type { Permissions } from '../../auth/index.js'\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { SanitizedGlobalConfig } from '../../globals/config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\n\nexport type AdminViewConfig = {\n Component: AdminViewComponent\n /** Whether the path should be matched exactly or as a prefix */\n exact?: boolean\n path: string\n sensitive?: boolean\n strict?: boolean\n}\n\nexport type AdminViewProps = {\n initPageResult: InitPageResult\n params?: { [key: string]: string | string[] | undefined }\n searchParams: { [key: string]: string | string[] | undefined }\n}\n\nexport type AdminViewComponent = React.ComponentType<AdminViewProps>\n\nexport type AdminView = AdminViewComponent | AdminViewConfig\n\nexport type EditViewProps = {\n collectionSlug?: string\n globalSlug?: string\n}\n\nexport type VisibleEntities = {\n collections: SanitizedCollectionConfig['slug'][]\n globals: SanitizedGlobalConfig['slug'][]\n}\n\nexport type InitPageResult = {\n collectionConfig?: SanitizedCollectionConfig\n cookies: Map<string, string>\n docID?: string\n globalConfig?: SanitizedGlobalConfig\n locale: Locale\n permissions: Permissions\n req: PayloadRequest\n translations: Translations\n visibleEntities: VisibleEntities\n}\n\nexport type ServerSideEditViewProps = {\n initPageResult: InitPageResult\n params: { [key: string]: string | string[] | undefined }\n routeSegments: string[]\n searchParams: { [key: string]: string | string[] | undefined }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/admin/views/types.ts"],"sourcesContent":["import type { Translations } from '@payloadcms/translations'\n\nimport type { Permissions } from '../../auth/index.js'\nimport type { SanitizedCollectionConfig } from '../../collections/config/types.js'\nimport type { Locale } from '../../config/types.js'\nimport type { SanitizedGlobalConfig } from '../../globals/config/types.js'\nimport type { PayloadRequest } from '../../types/index.js'\n\nexport type AdminViewConfig = {\n Component: AdminViewComponent\n /** Whether the path should be matched exactly or as a prefix */\n exact?: boolean\n path: string\n sensitive?: boolean\n strict?: boolean\n}\n\nexport type AdminViewProps = {\n initPageResult: InitPageResult\n params?: { [key: string]: string | string[] | undefined }\n searchParams: { [key: string]: string | string[] | undefined }\n}\n\nexport type AdminViewComponent = React.ComponentType<AdminViewProps>\n\nexport type AdminView = AdminViewComponent | AdminViewConfig\n\nexport type EditViewProps = {\n collectionSlug?: string\n globalSlug?: string\n}\n\nexport type VisibleEntities = {\n collections: SanitizedCollectionConfig['slug'][]\n globals: SanitizedGlobalConfig['slug'][]\n}\n\nexport type InitPageResult = {\n collectionConfig?: SanitizedCollectionConfig\n cookies: Map<string, string>\n docID?: string\n globalConfig?: SanitizedGlobalConfig\n locale: Locale\n permissions: Permissions\n req: PayloadRequest\n translations: Translations\n visibleEntities: VisibleEntities\n}\n\nexport type ServerSideEditViewProps = {\n initPageResult: InitPageResult\n params: { [key: string]: string | string[] | undefined }\n routeSegments: string[]\n searchParams: { [key: string]: string | string[] | undefined }\n}\n"],"names":[],"mappings":"AAiDA,WAKC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeAuthStrategies.d.ts","sourceRoot":"","sources":["../../src/auth/executeAuthStrategies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEhE,eAAO,MAAM,qBAAqB,SAC1B,wBAAwB,KAC7B,QAAQ,IAAI,GAAG,IAAI,CAQrB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export const
|
|
1
|
+
export const executeAuthStrategies = async (args)=>{
|
|
2
2
|
return args.payload.authStrategies.reduce(async (accumulatorPromise, strategy)=>{
|
|
3
3
|
const authUser = await accumulatorPromise;
|
|
4
4
|
if (!authUser) {
|
|
@@ -8,4 +8,4 @@ export const getAuthenticatedUser = async (args)=>{
|
|
|
8
8
|
}, Promise.resolve(null));
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=executeAuthStrategies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/auth/executeAuthStrategies.ts"],"sourcesContent":["import type { AuthStrategyFunctionArgs, User } from './index.js'\n\nexport const executeAuthStrategies = async (\n args: AuthStrategyFunctionArgs,\n): Promise<User | null> => {\n return args.payload.authStrategies.reduce(async (accumulatorPromise, strategy) => {\n const authUser = await accumulatorPromise\n if (!authUser) {\n return strategy.authenticate(args)\n }\n return authUser\n }, Promise.resolve(null))\n}\n"],"names":["executeAuthStrategies","args","payload","authStrategies","reduce","accumulatorPromise","strategy","authUser","authenticate","Promise","resolve"],"mappings":"AAEA,OAAO,MAAMA,wBAAwB,OACnCC;IAEA,OAAOA,KAAKC,OAAO,CAACC,cAAc,CAACC,MAAM,CAAC,OAAOC,oBAAoBC;QACnE,MAAMC,WAAW,MAAMF;QACvB,IAAI,CAACE,UAAU;YACb,OAAOD,SAASE,YAAY,CAACP;QAC/B;QACA,OAAOM;IACT,GAAGE,QAAQC,OAAO,CAAC;AACrB,EAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { PayloadRequest } from '../../types/index.js';
|
|
2
|
+
import type { Permissions, User } from '../types.js';
|
|
3
|
+
export type AuthArgs = {
|
|
4
|
+
headers: Request['headers'];
|
|
5
|
+
req: Omit<PayloadRequest, 'user'>;
|
|
6
|
+
};
|
|
7
|
+
export type AuthResult = {
|
|
8
|
+
cookies: Map<string, string>;
|
|
9
|
+
permissions: Permissions;
|
|
10
|
+
user: User | null;
|
|
11
|
+
};
|
|
12
|
+
export declare const auth: (args: AuthArgs) => Promise<AuthResult>;
|
|
13
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/auth/operations/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AASpD,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC3B,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,WAAW,EAAE,WAAW,CAAA;IACxB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,IAAI,SAAgB,QAAQ,KAAG,QAAQ,UAAU,CAiC7D,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { commitTransaction } from '../../utilities/commitTransaction.js';
|
|
2
|
+
import { initTransaction } from '../../utilities/initTransaction.js';
|
|
3
|
+
import { killTransaction } from '../../utilities/killTransaction.js';
|
|
4
|
+
import { parseCookies } from '../cookies.js';
|
|
5
|
+
import { executeAuthStrategies } from '../executeAuthStrategies.js';
|
|
6
|
+
import { getAccessResults } from '../getAccessResults.js';
|
|
7
|
+
export const auth = async (args)=>{
|
|
8
|
+
const { headers } = args;
|
|
9
|
+
const req = args.req;
|
|
10
|
+
const { payload } = req;
|
|
11
|
+
const cookies = parseCookies(headers);
|
|
12
|
+
try {
|
|
13
|
+
const shouldCommit = await initTransaction(req);
|
|
14
|
+
const user = await executeAuthStrategies({
|
|
15
|
+
cookies,
|
|
16
|
+
headers,
|
|
17
|
+
payload
|
|
18
|
+
});
|
|
19
|
+
req.user = user;
|
|
20
|
+
const permissions = await getAccessResults({
|
|
21
|
+
req
|
|
22
|
+
});
|
|
23
|
+
if (shouldCommit) await commitTransaction(req);
|
|
24
|
+
return {
|
|
25
|
+
cookies,
|
|
26
|
+
permissions,
|
|
27
|
+
user
|
|
28
|
+
};
|
|
29
|
+
} catch (error) {
|
|
30
|
+
await killTransaction(req);
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/auth/operations/auth.ts"],"sourcesContent":["import type { PayloadRequest } from '../../types/index.js'\nimport type { Permissions, User } from '../types.js'\n\nimport { commitTransaction } from '../../utilities/commitTransaction.js'\nimport { initTransaction } from '../../utilities/initTransaction.js'\nimport { killTransaction } from '../../utilities/killTransaction.js'\nimport { parseCookies } from '../cookies.js'\nimport { executeAuthStrategies } from '../executeAuthStrategies.js'\nimport { getAccessResults } from '../getAccessResults.js'\n\nexport type AuthArgs = {\n headers: Request['headers']\n req: Omit<PayloadRequest, 'user'>\n}\n\nexport type AuthResult = {\n cookies: Map<string, string>\n permissions: Permissions\n user: User | null\n}\n\nexport const auth = async (args: AuthArgs): Promise<AuthResult> => {\n const { headers } = args\n const req = args.req as PayloadRequest\n const { payload } = req\n\n const cookies = parseCookies(headers)\n\n try {\n const shouldCommit = await initTransaction(req)\n\n const user = await executeAuthStrategies({\n cookies,\n headers,\n payload,\n })\n\n req.user = user\n\n const permissions = await getAccessResults({\n req,\n })\n\n if (shouldCommit) await commitTransaction(req)\n\n return {\n cookies,\n permissions,\n user,\n }\n } catch (error: unknown) {\n await killTransaction(req)\n throw error\n }\n}\n"],"names":["commitTransaction","initTransaction","killTransaction","parseCookies","executeAuthStrategies","getAccessResults","auth","args","headers","req","payload","cookies","shouldCommit","user","permissions","error"],"mappings":"AAGA,SAASA,iBAAiB,QAAQ,uCAAsC;AACxE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,YAAY,QAAQ,gBAAe;AAC5C,SAASC,qBAAqB,QAAQ,8BAA6B;AACnE,SAASC,gBAAgB,QAAQ,yBAAwB;AAazD,OAAO,MAAMC,OAAO,OAAOC;IACzB,MAAM,EAAEC,OAAO,EAAE,GAAGD;IACpB,MAAME,MAAMF,KAAKE,GAAG;IACpB,MAAM,EAAEC,OAAO,EAAE,GAAGD;IAEpB,MAAME,UAAUR,aAAaK;IAE7B,IAAI;QACF,MAAMI,eAAe,MAAMX,gBAAgBQ;QAE3C,MAAMI,OAAO,MAAMT,sBAAsB;YACvCO;YACAH;YACAE;QACF;QAEAD,IAAII,IAAI,GAAGA;QAEX,MAAMC,cAAc,MAAMT,iBAAiB;YACzCI;QACF;QAEA,IAAIG,cAAc,MAAMZ,kBAAkBS;QAE1C,OAAO;YACLE;YACAG;YACAD;QACF;IACF,EAAE,OAAOE,OAAgB;QACvB,MAAMb,gBAAgBO;QACtB,MAAMM;IACR;AACF,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAKtD,eAAO,MAAM,IAAI,8BAAqC,QAAQ,KAAG,QAAQ,UAAU,CAOlF,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createLocalReq } from '../../../utilities/createLocalReq.js';
|
|
2
|
+
import { auth as authOperation } from '../auth.js';
|
|
3
|
+
export const auth = async (payload, options)=>{
|
|
4
|
+
const { headers } = options;
|
|
5
|
+
return await authOperation({
|
|
6
|
+
headers,
|
|
7
|
+
req: createLocalReq({
|
|
8
|
+
req: options.req
|
|
9
|
+
}, payload)
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/auth/operations/local/auth.ts"],"sourcesContent":["import type { Payload } from '../../../index.js'\nimport type { PayloadRequest } from '../../../types/index.js'\nimport type { AuthArgs, AuthResult } from '../auth.js'\n\nimport { createLocalReq } from '../../../utilities/createLocalReq.js'\nimport { auth as authOperation } from '../auth.js'\n\nexport const auth = async (payload: Payload, options: AuthArgs): Promise<AuthResult> => {\n const { headers } = options\n\n return await authOperation({\n headers,\n req: createLocalReq({ req: options.req as PayloadRequest }, payload),\n })\n}\n"],"names":["createLocalReq","auth","authOperation","payload","options","headers","req"],"mappings":"AAIA,SAASA,cAAc,QAAQ,uCAAsC;AACrE,SAASC,QAAQC,aAAa,QAAQ,aAAY;AAElD,OAAO,MAAMD,OAAO,OAAOE,SAAkBC;IAC3C,MAAM,EAAEC,OAAO,EAAE,GAAGD;IAEpB,OAAO,MAAMF,cAAc;QACzBG;QACAC,KAAKN,eAAe;YAAEM,KAAKF,QAAQE,GAAG;QAAmB,GAAGH;IAC9D;AACF,EAAC"}
|
|
@@ -4,6 +4,7 @@ import resetPassword from './resetPassword.js';
|
|
|
4
4
|
import unlock from './unlock.js';
|
|
5
5
|
import verifyEmail from './verifyEmail.js';
|
|
6
6
|
declare const _default: {
|
|
7
|
+
auth: (payload: import("packages/payload/src/index.js").Payload, options: import("packages/payload/src/auth/operations/auth.js").AuthArgs) => Promise<import("packages/payload/src/auth/operations/auth.js").AuthResult>;
|
|
7
8
|
forgotPassword: typeof forgotPassword;
|
|
8
9
|
login: typeof login;
|
|
9
10
|
resetPassword: typeof resetPassword;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/auth/operations/local/index.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,WAAW,MAAM,kBAAkB,CAAA;;;;;;;;;AAE1C,wBAOC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { auth } from './auth.js';
|
|
1
2
|
import forgotPassword from './forgotPassword.js';
|
|
2
3
|
import login from './login.js';
|
|
3
4
|
import resetPassword from './resetPassword.js';
|
|
4
5
|
import unlock from './unlock.js';
|
|
5
6
|
import verifyEmail from './verifyEmail.js';
|
|
6
7
|
export default {
|
|
8
|
+
auth,
|
|
7
9
|
forgotPassword,
|
|
8
10
|
login,
|
|
9
11
|
resetPassword,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/auth/operations/local/index.ts"],"sourcesContent":["import forgotPassword from './forgotPassword.js'\nimport login from './login.js'\nimport resetPassword from './resetPassword.js'\nimport unlock from './unlock.js'\nimport verifyEmail from './verifyEmail.js'\n\nexport default {\n forgotPassword,\n login,\n resetPassword,\n unlock,\n verifyEmail,\n}\n"],"names":["forgotPassword","login","resetPassword","unlock","verifyEmail"],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/auth/operations/local/index.ts"],"sourcesContent":["import { auth } from './auth.js'\nimport forgotPassword from './forgotPassword.js'\nimport login from './login.js'\nimport resetPassword from './resetPassword.js'\nimport unlock from './unlock.js'\nimport verifyEmail from './verifyEmail.js'\n\nexport default {\n auth,\n forgotPassword,\n login,\n resetPassword,\n unlock,\n verifyEmail,\n}\n"],"names":["auth","forgotPassword","login","resetPassword","unlock","verifyEmail"],"mappings":"AAAA,SAASA,IAAI,QAAQ,YAAW;AAChC,OAAOC,oBAAoB,sBAAqB;AAChD,OAAOC,WAAW,aAAY;AAC9B,OAAOC,mBAAmB,qBAAoB;AAC9C,OAAOC,YAAY,cAAa;AAChC,OAAOC,iBAAiB,mBAAkB;AAE1C,eAAe;IACbL;IACAC;IACAC;IACAC;IACAC;IACAC;AACF,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientExtensions.d.ts","sourceRoot":"","sources":["../../../src/bin/loader/clientExtensions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,UAU7B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/bin/loader/clientExtensions.ts"],"sourcesContent":["export const CLIENT_EXTENSIONS = [\n '.scss',\n '.css',\n '.svg',\n '.png',\n '.jpg',\n '.eot',\n '.ttf',\n '.woff',\n '.woff2',\n]\n"],"names":["CLIENT_EXTENSIONS"],"mappings":"AAAA,OAAO,MAAMA,oBAAoB;IAC/B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;CACD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/bin/loader/compile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAyBrC,wBAAsB,OAAO,CAC3B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,EAAE,CAAC,eAAe,GAAG;IAAE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,GAC7E,OAAO,CAAC,MAAM,CAAC,CAUjB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { transform } from '@swc-node/core';
|
|
2
|
+
import { SourcemapMap } from '@swc-node/sourcemap-support';
|
|
3
|
+
import { tsCompilerOptionsToSwcConfig } from './read-default-tsconfig.js';
|
|
4
|
+
const injectInlineSourceMap = ({ code, filename, map })=>{
|
|
5
|
+
if (map) {
|
|
6
|
+
SourcemapMap.set(filename, map);
|
|
7
|
+
const base64Map = Buffer.from(map, 'utf8').toString('base64');
|
|
8
|
+
const sourceMapContent = `//# sourceMappingURL=data:application/json;charset=utf-8;base64,${base64Map}`;
|
|
9
|
+
return `${code}\n${sourceMapContent}`;
|
|
10
|
+
}
|
|
11
|
+
return code;
|
|
12
|
+
};
|
|
13
|
+
export async function compile(sourcecode, filename, options) {
|
|
14
|
+
if (filename.endsWith('.d.ts')) {
|
|
15
|
+
return '';
|
|
16
|
+
}
|
|
17
|
+
const swcRegisterConfig = tsCompilerOptionsToSwcConfig(options, filename);
|
|
18
|
+
return transform(sourcecode, filename, swcRegisterConfig).then(({ code, map })=>{
|
|
19
|
+
return injectInlineSourceMap({
|
|
20
|
+
code,
|
|
21
|
+
filename,
|
|
22
|
+
map
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=compile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/bin/loader/compile.ts"],"sourcesContent":["import type * as ts from 'typescript'\n\nimport { transform } from '@swc-node/core'\nimport { SourcemapMap } from '@swc-node/sourcemap-support'\n\nimport { tsCompilerOptionsToSwcConfig } from './read-default-tsconfig.js'\n\nconst injectInlineSourceMap = ({\n code,\n filename,\n map,\n}: {\n code: string\n filename: string\n map: string | undefined\n}): string => {\n if (map) {\n SourcemapMap.set(filename, map)\n const base64Map = Buffer.from(map, 'utf8').toString('base64')\n const sourceMapContent = `//# sourceMappingURL=data:application/json;charset=utf-8;base64,${base64Map}`\n return `${code}\\n${sourceMapContent}`\n }\n return code\n}\n\nexport async function compile(\n sourcecode: string,\n filename: string,\n options: ts.CompilerOptions & { fallbackToTs?: (filename: string) => boolean },\n): Promise<string> {\n if (filename.endsWith('.d.ts')) {\n return ''\n }\n\n const swcRegisterConfig = tsCompilerOptionsToSwcConfig(options, filename)\n\n return transform(sourcecode, filename, swcRegisterConfig).then(({ code, map }) => {\n return injectInlineSourceMap({ code, filename, map })\n })\n}\n"],"names":["transform","SourcemapMap","tsCompilerOptionsToSwcConfig","injectInlineSourceMap","code","filename","map","set","base64Map","Buffer","from","toString","sourceMapContent","compile","sourcecode","options","endsWith","swcRegisterConfig","then"],"mappings":"AAEA,SAASA,SAAS,QAAQ,iBAAgB;AAC1C,SAASC,YAAY,QAAQ,8BAA6B;AAE1D,SAASC,4BAA4B,QAAQ,6BAA4B;AAEzE,MAAMC,wBAAwB,CAAC,EAC7BC,IAAI,EACJC,QAAQ,EACRC,GAAG,EAKJ;IACC,IAAIA,KAAK;QACPL,aAAaM,GAAG,CAACF,UAAUC;QAC3B,MAAME,YAAYC,OAAOC,IAAI,CAACJ,KAAK,QAAQK,QAAQ,CAAC;QACpD,MAAMC,mBAAmB,CAAC,gEAAgE,EAAEJ,UAAU,CAAC;QACvG,OAAO,CAAC,EAAEJ,KAAK,EAAE,EAAEQ,iBAAiB,CAAC;IACvC;IACA,OAAOR;AACT;AAEA,OAAO,eAAeS,QACpBC,UAAkB,EAClBT,QAAgB,EAChBU,OAA8E;IAE9E,IAAIV,SAASW,QAAQ,CAAC,UAAU;QAC9B,OAAO;IACT;IAEA,MAAMC,oBAAoBf,6BAA6Ba,SAASV;IAEhE,OAAOL,UAAUc,YAAYT,UAAUY,mBAAmBC,IAAI,CAAC,CAAC,EAAEd,IAAI,EAAEE,GAAG,EAAE;QAC3E,OAAOH,sBAAsB;YAAEC;YAAMC;YAAUC;QAAI;IACrD;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bin/loader/index.ts"],"names":[],"mappings":"AASA,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B;AACD,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,EAAE,MAAM,CAAA;CACZ;AACD,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,MAAM;IACjB,OAAO,CAAC,EAAE,cAAc;IACxB,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,aAAa,CAAC;CAC/D,CAAA;AACD,KAAK,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;AA8B3E,eAAO,MAAM,OAAO,EAAE,SA4DrB,CAAA;AAED,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAA;CAClC;AACD,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,MAAM,EAAE,WAAW,GAAG,iBAAiB,GAAG,UAAU,GAAG,MAAM,CAAA;CAC9D;AACD,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,WAAW;IACpB,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,UAAU,CAAC;CACtD,CAAA;AACD,KAAK,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;AAelE,eAAO,MAAM,IAAI,EAAE,MAuBlB,CAAA"}
|
|
@@ -3,24 +3,28 @@ import path from 'path';
|
|
|
3
3
|
import ts from 'typescript';
|
|
4
4
|
import { fileURLToPath, pathToFileURL } from 'url';
|
|
5
5
|
import { CLIENT_EXTENSIONS } from './clientExtensions.js';
|
|
6
|
-
import { compile } from './
|
|
6
|
+
import { compile } from './compile.js';
|
|
7
7
|
const locatedConfig = getTsconfig();
|
|
8
8
|
const tsconfig = locatedConfig.config.compilerOptions;
|
|
9
9
|
tsconfig.module = ts.ModuleKind.ESNext;
|
|
10
|
-
|
|
10
|
+
// Specify bundler resolution for Next.js compatibility.
|
|
11
|
+
// We will use TS to resolve file paths for most flexibility
|
|
12
|
+
tsconfig.moduleResolution = ts.ModuleResolutionKind.Bundler;
|
|
13
|
+
// Don't resolve d.ts files, because we aren't type-checking
|
|
14
|
+
tsconfig.noDtsResolution = true;
|
|
11
15
|
const moduleResolutionCache = ts.createModuleResolutionCache(ts.sys.getCurrentDirectory(), (x)=>x, tsconfig);
|
|
12
16
|
const host = {
|
|
13
17
|
fileExists: ts.sys.fileExists,
|
|
14
18
|
readFile: ts.sys.readFile
|
|
15
19
|
};
|
|
16
|
-
const
|
|
20
|
+
const TS_EXTENSIONS = [
|
|
17
21
|
ts.Extension.Ts,
|
|
18
22
|
ts.Extension.Tsx,
|
|
19
23
|
ts.Extension.Dts,
|
|
20
24
|
ts.Extension.Mts
|
|
21
25
|
];
|
|
22
26
|
export const resolve = async (specifier, context, nextResolve)=>{
|
|
23
|
-
const isTS =
|
|
27
|
+
const isTS = TS_EXTENSIONS.some((ext)=>specifier.endsWith(ext));
|
|
24
28
|
const isClient = CLIENT_EXTENSIONS.some((ext)=>specifier.endsWith(ext));
|
|
25
29
|
if (isClient) {
|
|
26
30
|
const nextResult = await nextResolve(specifier, context, nextResolve);
|
|
@@ -45,12 +49,19 @@ export const resolve = async (specifier, context, nextResolve)=>{
|
|
|
45
49
|
}
|
|
46
50
|
const { resolvedModule } = ts.resolveModuleName(specifier, fileURLToPath(context.parentURL), tsconfig, host, moduleResolutionCache);
|
|
47
51
|
// import from local project to local project TS file
|
|
48
|
-
if (resolvedModule
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
if (resolvedModule) {
|
|
53
|
+
const resolvedIsNodeModule = resolvedModule.resolvedFileName.includes('/node_modules/');
|
|
54
|
+
const resolvedIsTS = TS_EXTENSIONS.includes(resolvedModule.extension);
|
|
55
|
+
if (!resolvedIsNodeModule && resolvedIsTS) {
|
|
56
|
+
return {
|
|
57
|
+
format: 'ts',
|
|
58
|
+
shortCircuit: true,
|
|
59
|
+
url: pathToFileURL(resolvedModule.resolvedFileName).href
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
// We want to use TS "Bundler" moduleResolution for just about all files
|
|
63
|
+
// so we pass the TS result here
|
|
64
|
+
return nextResolve(pathToFileURL(resolvedModule.resolvedFileName).href);
|
|
54
65
|
}
|
|
55
66
|
// import from local project to either:
|
|
56
67
|
// - something TS couldn't resolve
|
|
@@ -81,7 +92,7 @@ export const load = async (url, context, nextLoad)=>{
|
|
|
81
92
|
if (context.format === 'ts') {
|
|
82
93
|
const { source } = await nextLoad(url, context);
|
|
83
94
|
const code = typeof source === 'string' ? source : Buffer.from(source).toString();
|
|
84
|
-
const compiled = await compile(code, fileURLToPath(url), swcOptions
|
|
95
|
+
const compiled = await compile(code, fileURLToPath(url), swcOptions);
|
|
85
96
|
return {
|
|
86
97
|
format: 'module',
|
|
87
98
|
shortCircuit: true,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/bin/loader/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/unbound-method */\nimport { getTsconfig } from 'get-tsconfig'\nimport path from 'path'\nimport ts from 'typescript'\nimport { fileURLToPath, pathToFileURL } from 'url'\n\nimport { CLIENT_EXTENSIONS } from './clientExtensions.js'\nimport { compile } from './compile.js'\n\ninterface ResolveContext {\n conditions: string[]\n parentURL: string | undefined\n}\ninterface ResolveResult {\n format?: string\n shortCircuit?: boolean\n url: string\n}\ntype ResolveArgs = [\n specifier: string,\n context?: ResolveContext,\n nextResolve?: (...args: ResolveArgs) => Promise<ResolveResult>,\n]\ntype ResolveFn = (...args: Required<ResolveArgs>) => Promise<ResolveResult>\n\nconst locatedConfig = getTsconfig()\nconst tsconfig = locatedConfig.config.compilerOptions as unknown as ts.CompilerOptions\n\ntsconfig.module = ts.ModuleKind.ESNext\n\n// Specify bundler resolution for Next.js compatibility.\n// We will use TS to resolve file paths for most flexibility\ntsconfig.moduleResolution = ts.ModuleResolutionKind.Bundler\n\n// Don't resolve d.ts files, because we aren't type-checking\ntsconfig.noDtsResolution = true\n\nconst moduleResolutionCache = ts.createModuleResolutionCache(\n ts.sys.getCurrentDirectory(),\n (x) => x,\n tsconfig,\n)\nconst host: ts.ModuleResolutionHost = {\n fileExists: ts.sys.fileExists,\n readFile: ts.sys.readFile,\n}\nconst TS_EXTENSIONS: string[] = [\n ts.Extension.Ts,\n ts.Extension.Tsx,\n ts.Extension.Dts,\n ts.Extension.Mts,\n]\n\nexport const resolve: ResolveFn = async (specifier, context, nextResolve) => {\n const isTS = TS_EXTENSIONS.some((ext) => specifier.endsWith(ext))\n const isClient = CLIENT_EXTENSIONS.some((ext) => specifier.endsWith(ext))\n\n if (isClient) {\n const nextResult = await nextResolve(specifier, context, nextResolve)\n const specifierSegments = specifier.split('.')\n\n return {\n format: '.' + specifierSegments[specifierSegments.length - 1],\n shortCircuit: true,\n url: nextResult.url,\n }\n }\n\n // entrypoint\n if (!context.parentURL) {\n return {\n format: isTS ? 'ts' : undefined,\n shortCircuit: true,\n url: specifier,\n }\n }\n\n // import/require from external library\n if (context.parentURL.includes('/node_modules/') && !isTS) {\n return nextResolve(specifier)\n }\n\n const { resolvedModule } = ts.resolveModuleName(\n specifier,\n fileURLToPath(context.parentURL),\n tsconfig,\n host,\n moduleResolutionCache,\n )\n\n // import from local project to local project TS file\n if (resolvedModule) {\n const resolvedIsNodeModule = resolvedModule.resolvedFileName.includes('/node_modules/')\n const resolvedIsTS = TS_EXTENSIONS.includes(resolvedModule.extension)\n\n if (!resolvedIsNodeModule && resolvedIsTS) {\n return {\n format: 'ts',\n shortCircuit: true,\n url: pathToFileURL(resolvedModule.resolvedFileName).href,\n }\n }\n\n // We want to use TS \"Bundler\" moduleResolution for just about all files\n // so we pass the TS result here\n return nextResolve(pathToFileURL(resolvedModule.resolvedFileName).href)\n }\n\n // import from local project to either:\n // - something TS couldn't resolve\n // - external library\n // - local project non-TS file\n return nextResolve(specifier)\n}\n\ninterface LoadContext {\n conditions: string[]\n format: null | string | undefined\n}\ninterface LoadResult {\n format: string\n shortCircuit?: boolean\n source: ArrayBuffer | SharedArrayBuffer | Uint8Array | string\n}\ntype LoadArgs = [\n url: string,\n context: LoadContext,\n nextLoad?: (...args: LoadArgs) => Promise<LoadResult>,\n]\ntype LoadFn = (...args: Required<LoadArgs>) => Promise<LoadResult>\n\nconst swcOptions = {\n ...tsconfig,\n baseUrl: path.resolve(''),\n paths: undefined,\n}\n\nif (tsconfig.paths) {\n swcOptions.paths = tsconfig.paths\n if (tsconfig.baseUrl) {\n swcOptions.baseUrl = path.resolve(tsconfig.baseUrl)\n }\n}\n\nexport const load: LoadFn = async (url, context, nextLoad) => {\n if (CLIENT_EXTENSIONS.some((e) => context.format === e)) {\n const rawSource = '{}'\n\n return {\n format: 'json',\n shortCircuit: true,\n source: rawSource,\n }\n }\n\n if (context.format === 'ts') {\n const { source } = await nextLoad(url, context)\n const code = typeof source === 'string' ? source : Buffer.from(source).toString()\n const compiled = await compile(code, fileURLToPath(url), swcOptions)\n return {\n format: 'module',\n shortCircuit: true,\n source: compiled,\n }\n } else {\n return nextLoad(url, context)\n }\n}\n"],"names":["getTsconfig","path","ts","fileURLToPath","pathToFileURL","CLIENT_EXTENSIONS","compile","locatedConfig","tsconfig","config","compilerOptions","module","ModuleKind","ESNext","moduleResolution","ModuleResolutionKind","Bundler","noDtsResolution","moduleResolutionCache","createModuleResolutionCache","sys","getCurrentDirectory","x","host","fileExists","readFile","TS_EXTENSIONS","Extension","Ts","Tsx","Dts","Mts","resolve","specifier","context","nextResolve","isTS","some","ext","endsWith","isClient","nextResult","specifierSegments","split","format","length","shortCircuit","url","parentURL","undefined","includes","resolvedModule","resolveModuleName","resolvedIsNodeModule","resolvedFileName","resolvedIsTS","extension","href","swcOptions","baseUrl","paths","load","nextLoad","e","rawSource","source","code","Buffer","from","toString","compiled"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-default-tsconfig.d.ts","sourceRoot":"","sources":["../../../src/bin/loader/read-default-tsconfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAG7C,OAAO,EAAE,MAAM,YAAY,CAAA;AA+D3B,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,EAAE,CAAC,eAAe,EAC3B,QAAQ,EAAE,MAAM,GACf,OAAO,CAsCT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/bin/loader/read-default-tsconfig.ts"],"sourcesContent":["import type { Options } from '@swc-node/core'\n\nimport { resolve } from 'path'\nimport ts from 'typescript'\n\nfunction toTsTarget(target: ts.ScriptTarget): Options['target'] {\n switch (target) {\n case ts.ScriptTarget.ES3:\n return 'es3'\n case ts.ScriptTarget.ES5:\n return 'es5'\n case ts.ScriptTarget.ES2015:\n return 'es2015'\n case ts.ScriptTarget.ES2016:\n return 'es2016'\n case ts.ScriptTarget.ES2017:\n return 'es2017'\n case ts.ScriptTarget.ES2018:\n return 'es2018'\n case ts.ScriptTarget.ES2019:\n return 'es2019'\n case ts.ScriptTarget.ES2020:\n return 'es2020'\n case ts.ScriptTarget.ES2021:\n return 'es2021'\n case ts.ScriptTarget.ES2022:\n case ts.ScriptTarget.ESNext:\n case ts.ScriptTarget.Latest:\n return 'es2022'\n case ts.ScriptTarget.JSON:\n return 'es5'\n }\n}\n\nfunction toModule(moduleKind: ts.ModuleKind) {\n switch (moduleKind) {\n case ts.ModuleKind.CommonJS:\n return 'commonjs'\n case ts.ModuleKind.UMD:\n return 'umd'\n case ts.ModuleKind.AMD:\n return 'amd'\n case ts.ModuleKind.ES2015:\n case ts.ModuleKind.ES2020:\n case ts.ModuleKind.ES2022:\n case ts.ModuleKind.ESNext:\n case ts.ModuleKind.Node16:\n case ts.ModuleKind.NodeNext:\n case ts.ModuleKind.None:\n return 'es6'\n case ts.ModuleKind.System:\n throw new TypeError('Do not support system kind module')\n }\n}\n\n/**\n * The default value for useDefineForClassFields depends on the emit target\n * @see https://www.typescriptlang.org/tsconfig#useDefineForClassFields\n */\nfunction getUseDefineForClassFields(\n compilerOptions: ts.CompilerOptions,\n target: ts.ScriptTarget,\n): boolean {\n return compilerOptions.useDefineForClassFields ?? target >= ts.ScriptTarget.ES2022\n}\n\nexport function tsCompilerOptionsToSwcConfig(\n options: ts.CompilerOptions,\n filename: string,\n): Options {\n const isJsx = filename.endsWith('.tsx') || filename.endsWith('.jsx') || Boolean(options.jsx)\n const target = options.target ?? ts.ScriptTarget.ES2018\n return {\n baseUrl: options.baseUrl ? resolve(options.baseUrl) : undefined,\n dynamicImport: true,\n emitDecoratorMetadata: options.emitDecoratorMetadata ?? false,\n esModuleInterop: options.esModuleInterop ?? false,\n experimentalDecorators: options.experimentalDecorators ?? false,\n externalHelpers: Boolean(options.importHelpers),\n ignoreDynamic: Boolean(process.env.SWC_NODE_IGNORE_DYNAMIC),\n jsx: isJsx,\n keepClassNames: true,\n module: toModule(options.module ?? ts.ModuleKind.ES2015),\n paths: Object.fromEntries(\n Object.entries(options.paths ?? {}).map(([aliasKey, aliasPaths]) => [\n aliasKey,\n (aliasPaths ?? []).map((path) => resolve(options.baseUrl ?? './', path)),\n ]),\n ) as Options['paths'],\n react:\n options.jsxFactory ?? options.jsxFragmentFactory ?? options.jsx ?? options.jsxImportSource\n ? {\n importSource: options.jsxImportSource ?? 'react',\n pragma: options.jsxFactory,\n pragmaFrag: options.jsxFragmentFactory,\n runtime: (options.jsx ?? 0) >= ts.JsxEmit.ReactJSX ? 'automatic' : 'classic',\n useBuiltins: true,\n }\n : undefined,\n sourcemap: options.sourceMap && options.inlineSourceMap ? 'inline' : Boolean(options.sourceMap),\n swc: {\n inputSourceMap: options.inlineSourceMap,\n sourceRoot: options.sourceRoot,\n },\n target: toTsTarget(target),\n useDefineForClassFields: getUseDefineForClassFields(options, target),\n }\n}\n"],"names":["resolve","ts","toTsTarget","target","ScriptTarget","ES3","ES5","ES2015","ES2016","ES2017","ES2018","ES2019","ES2020","ES2021","ES2022","ESNext","Latest","JSON","toModule","moduleKind","ModuleKind","CommonJS","UMD","AMD","Node16","NodeNext","None","System","TypeError","getUseDefineForClassFields","compilerOptions","useDefineForClassFields","tsCompilerOptionsToSwcConfig","options","filename","isJsx","endsWith","Boolean","jsx","baseUrl","undefined","dynamicImport","emitDecoratorMetadata","esModuleInterop","experimentalDecorators","externalHelpers","importHelpers","ignoreDynamic","process","env","SWC_NODE_IGNORE_DYNAMIC","keepClassNames","module","paths","Object","fromEntries","entries","map","aliasKey","aliasPaths","path","react","jsxFactory","jsxFragmentFactory","jsxImportSource","importSource","pragma","pragmaFrag","runtime","JsxEmit","ReactJSX","useBuiltins","sourcemap","sourceMap","inlineSourceMap","swc","inputSourceMap","sourceRoot"],"mappings":"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"}
|
|
@@ -227,7 +227,6 @@ export declare const createClientCollectionConfig: (collection: SanitizedCollect
|
|
|
227
227
|
description: string | import("../../config/types.js").EntityDescriptionComponent | import("../../config/types.js").EntityDescriptionFunction | {
|
|
228
228
|
[x: string]: string;
|
|
229
229
|
};
|
|
230
|
-
disableDuplicate: boolean;
|
|
231
230
|
enableRichTextLink: boolean;
|
|
232
231
|
enableRichTextRelationship: boolean;
|
|
233
232
|
group: string | {
|
|
@@ -246,9 +245,11 @@ export declare const createClientCollectionConfig: (collection: SanitizedCollect
|
|
|
246
245
|
width: string | number;
|
|
247
246
|
}[];
|
|
248
247
|
url: string | ((args: {
|
|
248
|
+
collectionConfig?: SanitizedCollectionConfig;
|
|
249
249
|
data: Record<string, any>;
|
|
250
|
-
|
|
250
|
+
globalConfig?: import("packages/payload/src/exports/types.js").SanitizedGlobalConfig;
|
|
251
251
|
locale: import("../../config/types.js").Locale;
|
|
252
|
+
payload: import("packages/payload/src/index.js").Payload;
|
|
252
253
|
}) => string | Promise<string>);
|
|
253
254
|
};
|
|
254
255
|
pagination: {
|
|
@@ -296,6 +297,7 @@ export declare const createClientCollectionConfig: (collection: SanitizedCollect
|
|
|
296
297
|
update: import("../../config/types.js").Access;
|
|
297
298
|
};
|
|
298
299
|
defaultSort: string;
|
|
300
|
+
disableDuplicate: boolean;
|
|
299
301
|
labels: {
|
|
300
302
|
plural: string | {
|
|
301
303
|
[x: string]: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collections/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA;AAE/F,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,yBAAyB,EACzB,QAAQ,GAAG,WAAW,GAAG,OAAO,CACjC,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAC1D,yBAAyB,CAAC,OAAO,CAAC,EAClC,YAAY,GAAG,QAAQ,GAAG,SAAS,CACpC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,yBAAyB,EACzB,OAAO,GAAG,QAAQ,GAAG,8BAA8B,CACpD,GAAG;IACF,KAAK,EAAE,IAAI,CACT,yBAAyB,CAAC,OAAO,CAAC,EAClC,QAAQ,GAAG,aAAa,GAAG,mCAAmC,CAC/D,GAAG;QACF,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;KACvE,CAAA;IACD,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B,CAAA;AAED,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAI3D,eAAO,MAAM,4BAA4B,eAAgB,yBAAyB
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/collections/config/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAA;AAE/F,MAAM,MAAM,8BAA8B,GAAG,MAAM,IAAI,CACrD,yBAAyB,EACzB,QAAQ,GAAG,WAAW,GAAG,OAAO,CACjC,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG,MAAM,IAAI,CAC1D,yBAAyB,CAAC,OAAO,CAAC,EAClC,YAAY,GAAG,QAAQ,GAAG,SAAS,CACpC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,yBAAyB,EACzB,OAAO,GAAG,QAAQ,GAAG,8BAA8B,CACpD,GAAG;IACF,KAAK,EAAE,IAAI,CACT,yBAAyB,CAAC,OAAO,CAAC,EAClC,QAAQ,GAAG,aAAa,GAAG,mCAAmC,CAC/D,GAAG;QACF,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,+BAA+B,CAAC,CAAA;KACvE,CAAA;IACD,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B,CAAA;AAED,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAI3D,eAAO,MAAM,4BAA4B,eAAgB,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDjF,CAAA;AAED,eAAO,MAAM,6BAA6B,gBAC3B,yBAAyB,EAAE,KACvC,sBAAsB,EACkD,CAAA"}
|
|
@@ -85,7 +85,7 @@ const sanitizeCollection = (config, collection)=>{
|
|
|
85
85
|
if (sanitized.upload) {
|
|
86
86
|
if (sanitized.upload === true) sanitized.upload = {};
|
|
87
87
|
// disable duplicate for uploads by default
|
|
88
|
-
sanitized.
|
|
88
|
+
sanitized.disableDuplicate = sanitized.disableDuplicate || true;
|
|
89
89
|
sanitized.upload.staticDir = sanitized.upload.staticDir || sanitized.slug;
|
|
90
90
|
sanitized.admin.useAsTitle = sanitized.admin.useAsTitle && sanitized.admin.useAsTitle !== 'id' ? sanitized.admin.useAsTitle : 'filename';
|
|
91
91
|
const uploadFields = getBaseUploadFields({
|
|
@@ -113,7 +113,7 @@ const sanitizeCollection = (config, collection)=>{
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
// disable duplicate for auth enabled collections by default
|
|
116
|
-
sanitized.
|
|
116
|
+
sanitized.disableDuplicate = sanitized.disableDuplicate || true;
|
|
117
117
|
if (!sanitized.auth.strategies) {
|
|
118
118
|
sanitized.auth.strategies = [];
|
|
119
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/collections/config/sanitize.ts"],"sourcesContent":["import merge from 'deepmerge'\n\nimport type { Config } from '../../config/types.js'\nimport type { CollectionConfig, SanitizedCollectionConfig } from './types.js'\n\nimport baseAccountLockFields from '../../auth/baseFields/accountLock.js'\nimport baseAPIKeyFields from '../../auth/baseFields/apiKey.js'\nimport baseAuthFields from '../../auth/baseFields/auth.js'\nimport baseVerificationFields from '../../auth/baseFields/verification.js'\nimport TimestampsRequired from '../../errors/TimestampsRequired.js'\nimport { sanitizeFields } from '../../fields/config/sanitize.js'\nimport { fieldAffectsData } from '../../fields/config/types.js'\nimport mergeBaseFields from '../../fields/mergeBaseFields.js'\nimport { extractTranslations } from '../../translations/extractTranslations.js'\nimport { getBaseUploadFields } from '../../uploads/getBaseFields.js'\nimport { formatLabels } from '../../utilities/formatLabels.js'\nimport { isPlainObject } from '../../utilities/isPlainObject.js'\nimport baseVersionFields from '../../versions/baseFields.js'\nimport { authDefaults, defaults } from './defaults.js'\n\nconst translations = extractTranslations(['general:createdAt', 'general:updatedAt'])\n\nconst sanitizeCollection = (\n config: Config,\n collection: CollectionConfig,\n): SanitizedCollectionConfig => {\n // /////////////////////////////////\n // Make copy of collection config\n // /////////////////////////////////\n\n const sanitized: CollectionConfig = merge(defaults, collection, {\n isMergeableObject: isPlainObject,\n })\n\n if (sanitized.timestamps !== false) {\n // add default timestamps fields only as needed\n let hasUpdatedAt = null\n let hasCreatedAt = null\n sanitized.fields.some((field) => {\n if (fieldAffectsData(field)) {\n if (field.name === 'updatedAt') hasUpdatedAt = true\n if (field.name === 'createdAt') hasCreatedAt = true\n }\n return hasCreatedAt && hasUpdatedAt\n })\n if (!hasUpdatedAt) {\n sanitized.fields.push({\n name: 'updatedAt',\n type: 'date',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n label: translations['general:updatedAt'],\n })\n }\n if (!hasCreatedAt) {\n sanitized.fields.push({\n name: 'createdAt',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n // The default sort for list view is createdAt. Thus, enabling indexing by default, is a major performance improvement, especially for large or a large amount of collections.\n type: 'date',\n index: true,\n label: translations['general:createdAt'],\n })\n }\n }\n\n sanitized.labels = sanitized.labels || formatLabels(sanitized.slug)\n\n if (sanitized.versions) {\n if (sanitized.versions === true) sanitized.versions = { drafts: false }\n\n if (sanitized.timestamps === false) {\n throw new TimestampsRequired(collection)\n }\n\n if (sanitized.versions.drafts) {\n if (sanitized.versions.drafts === true) {\n sanitized.versions.drafts = {\n autosave: false,\n }\n }\n\n if (sanitized.versions.drafts.autosave === true) {\n sanitized.versions.drafts.autosave = {\n interval: 2000,\n }\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, baseVersionFields)\n }\n }\n\n if (sanitized.upload) {\n if (sanitized.upload === true) sanitized.upload = {}\n\n // disable duplicate for uploads by default\n sanitized.
|
|
1
|
+
{"version":3,"sources":["../../../src/collections/config/sanitize.ts"],"sourcesContent":["import merge from 'deepmerge'\n\nimport type { Config } from '../../config/types.js'\nimport type { CollectionConfig, SanitizedCollectionConfig } from './types.js'\n\nimport baseAccountLockFields from '../../auth/baseFields/accountLock.js'\nimport baseAPIKeyFields from '../../auth/baseFields/apiKey.js'\nimport baseAuthFields from '../../auth/baseFields/auth.js'\nimport baseVerificationFields from '../../auth/baseFields/verification.js'\nimport TimestampsRequired from '../../errors/TimestampsRequired.js'\nimport { sanitizeFields } from '../../fields/config/sanitize.js'\nimport { fieldAffectsData } from '../../fields/config/types.js'\nimport mergeBaseFields from '../../fields/mergeBaseFields.js'\nimport { extractTranslations } from '../../translations/extractTranslations.js'\nimport { getBaseUploadFields } from '../../uploads/getBaseFields.js'\nimport { formatLabels } from '../../utilities/formatLabels.js'\nimport { isPlainObject } from '../../utilities/isPlainObject.js'\nimport baseVersionFields from '../../versions/baseFields.js'\nimport { authDefaults, defaults } from './defaults.js'\n\nconst translations = extractTranslations(['general:createdAt', 'general:updatedAt'])\n\nconst sanitizeCollection = (\n config: Config,\n collection: CollectionConfig,\n): SanitizedCollectionConfig => {\n // /////////////////////////////////\n // Make copy of collection config\n // /////////////////////////////////\n\n const sanitized: CollectionConfig = merge(defaults, collection, {\n isMergeableObject: isPlainObject,\n })\n\n if (sanitized.timestamps !== false) {\n // add default timestamps fields only as needed\n let hasUpdatedAt = null\n let hasCreatedAt = null\n sanitized.fields.some((field) => {\n if (fieldAffectsData(field)) {\n if (field.name === 'updatedAt') hasUpdatedAt = true\n if (field.name === 'createdAt') hasCreatedAt = true\n }\n return hasCreatedAt && hasUpdatedAt\n })\n if (!hasUpdatedAt) {\n sanitized.fields.push({\n name: 'updatedAt',\n type: 'date',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n label: translations['general:updatedAt'],\n })\n }\n if (!hasCreatedAt) {\n sanitized.fields.push({\n name: 'createdAt',\n admin: {\n disableBulkEdit: true,\n hidden: true,\n },\n // The default sort for list view is createdAt. Thus, enabling indexing by default, is a major performance improvement, especially for large or a large amount of collections.\n type: 'date',\n index: true,\n label: translations['general:createdAt'],\n })\n }\n }\n\n sanitized.labels = sanitized.labels || formatLabels(sanitized.slug)\n\n if (sanitized.versions) {\n if (sanitized.versions === true) sanitized.versions = { drafts: false }\n\n if (sanitized.timestamps === false) {\n throw new TimestampsRequired(collection)\n }\n\n if (sanitized.versions.drafts) {\n if (sanitized.versions.drafts === true) {\n sanitized.versions.drafts = {\n autosave: false,\n }\n }\n\n if (sanitized.versions.drafts.autosave === true) {\n sanitized.versions.drafts.autosave = {\n interval: 2000,\n }\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, baseVersionFields)\n }\n }\n\n if (sanitized.upload) {\n if (sanitized.upload === true) sanitized.upload = {}\n\n // disable duplicate for uploads by default\n sanitized.disableDuplicate = sanitized.disableDuplicate || true\n\n sanitized.upload.staticDir = sanitized.upload.staticDir || sanitized.slug\n sanitized.admin.useAsTitle =\n sanitized.admin.useAsTitle && sanitized.admin.useAsTitle !== 'id'\n ? sanitized.admin.useAsTitle\n : 'filename'\n\n const uploadFields = getBaseUploadFields({\n collection: sanitized,\n config,\n })\n\n sanitized.fields = mergeBaseFields(sanitized.fields, uploadFields)\n }\n\n if (sanitized.auth) {\n sanitized.auth = merge(authDefaults, typeof sanitized.auth === 'object' ? sanitized.auth : {}, {\n isMergeableObject: isPlainObject,\n })\n\n let authFields = []\n\n if (sanitized.auth.useAPIKey) {\n authFields = authFields.concat(baseAPIKeyFields)\n }\n\n if (!sanitized.auth.disableLocalStrategy) {\n authFields = authFields.concat(baseAuthFields)\n\n if (sanitized.auth.verify) {\n if (sanitized.auth.verify === true) sanitized.auth.verify = {}\n authFields = authFields.concat(baseVerificationFields)\n }\n\n if (sanitized.auth.maxLoginAttempts > 0) {\n authFields = authFields.concat(baseAccountLockFields)\n }\n }\n\n // disable duplicate for auth enabled collections by default\n sanitized.disableDuplicate = sanitized.disableDuplicate || true\n\n if (!sanitized.auth.strategies) {\n sanitized.auth.strategies = []\n }\n\n sanitized.fields = mergeBaseFields(sanitized.fields, authFields)\n }\n\n // /////////////////////////////////\n // Sanitize fields\n // /////////////////////////////////\n\n const validRelationships = config.collections.map((c) => c.slug) || []\n sanitized.fields = sanitizeFields({\n config,\n fields: sanitized.fields,\n validRelationships,\n })\n\n return sanitized as SanitizedCollectionConfig\n}\n\nexport default sanitizeCollection\n"],"names":["merge","baseAccountLockFields","baseAPIKeyFields","baseAuthFields","baseVerificationFields","TimestampsRequired","sanitizeFields","fieldAffectsData","mergeBaseFields","extractTranslations","getBaseUploadFields","formatLabels","isPlainObject","baseVersionFields","authDefaults","defaults","translations","sanitizeCollection","config","collection","sanitized","isMergeableObject","timestamps","hasUpdatedAt","hasCreatedAt","fields","some","field","name","push","type","admin","disableBulkEdit","hidden","label","index","labels","slug","versions","drafts","autosave","interval","upload","disableDuplicate","staticDir","useAsTitle","uploadFields","auth","authFields","useAPIKey","concat","disableLocalStrategy","verify","maxLoginAttempts","strategies","validRelationships","collections","map","c"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/collections/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAcrB,QAAA,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/collections/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAcrB,QAAA,MAAM,gBAAgB,uBA8MpB,CAAA;AAEF,eAAe,gBAAgB,CAAA"}
|
|
@@ -44,7 +44,6 @@ const collectionSchema = joi.object().keys({
|
|
|
44
44
|
}),
|
|
45
45
|
defaultColumns: joi.array().items(joi.string()),
|
|
46
46
|
description: joi.alternatives().try(joi.string(), componentSchema),
|
|
47
|
-
disableDuplicate: joi.bool(),
|
|
48
47
|
enableRichTextLink: joi.boolean(),
|
|
49
48
|
enableRichTextRelationship: joi.boolean(),
|
|
50
49
|
group: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [
|
|
@@ -88,7 +87,9 @@ const collectionSchema = joi.object().keys({
|
|
|
88
87
|
}))
|
|
89
88
|
}), joi.boolean()),
|
|
90
89
|
custom: joi.object().pattern(joi.string(), joi.any()),
|
|
90
|
+
dbName: joi.alternatives().try(joi.string(), joi.func()),
|
|
91
91
|
defaultSort: joi.string(),
|
|
92
|
+
disableDuplicate: joi.bool(),
|
|
92
93
|
endpoints: endpointsSchema,
|
|
93
94
|
fields: joi.array(),
|
|
94
95
|
graphQL: joi.alternatives().try(joi.object().keys({
|
|
@@ -112,10 +113,6 @@ const collectionSchema = joi.object().keys({
|
|
|
112
113
|
beforeRead: joi.array().items(joi.func()),
|
|
113
114
|
beforeValidate: joi.array().items(joi.func())
|
|
114
115
|
}),
|
|
115
|
-
indexes: joi.array().items(joi.object().keys({
|
|
116
|
-
fields: joi.object().required(),
|
|
117
|
-
options: joi.object()
|
|
118
|
-
})),
|
|
119
116
|
labels: joi.object({
|
|
120
117
|
plural: joi.alternatives().try(joi.string(), joi.object().pattern(joi.string(), [
|
|
121
118
|
joi.string()
|