payload 4.0.0-internal.c2b57ce → 4.0.0-internal.ccea85d
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/LICENSE.md +1 -1
- package/bin.js +11 -0
- package/dist/__testing__/predefinedMigration.d.ts +4 -3
- package/dist/__testing__/predefinedMigration.d.ts.map +1 -1
- package/dist/admin/RichText.d.ts +3 -11
- package/dist/admin/RichText.d.ts.map +1 -1
- package/dist/admin/RichText.js.map +1 -1
- package/dist/admin/adapters/devReload.d.ts +9 -0
- package/dist/admin/adapters/devReload.d.ts.map +1 -0
- package/dist/admin/adapters/devReload.js +6 -0
- package/dist/admin/adapters/devReload.js.map +1 -0
- package/dist/admin/adapters/index.d.ts +3 -0
- package/dist/admin/adapters/index.d.ts.map +1 -1
- package/dist/admin/adapters/index.js.map +1 -1
- package/dist/admin/adapters/render.d.ts +16 -0
- package/dist/admin/adapters/render.d.ts.map +1 -0
- package/dist/admin/adapters/render.js +7 -0
- package/dist/admin/adapters/render.js.map +1 -0
- package/dist/admin/adapters/router.d.ts +8 -0
- package/dist/admin/adapters/router.d.ts.map +1 -1
- package/dist/admin/adapters/router.js.map +1 -1
- package/dist/admin/adapters/views.d.ts +36 -0
- package/dist/admin/adapters/views.d.ts.map +1 -0
- package/dist/admin/adapters/views.js +7 -0
- package/dist/admin/adapters/views.js.map +1 -0
- package/dist/admin/fields/Row.d.ts +2 -2
- package/dist/admin/fields/Row.d.ts.map +1 -1
- package/dist/admin/fields/Row.js.map +1 -1
- package/dist/admin/forms/Description.d.ts +2 -2
- package/dist/admin/forms/Description.d.ts.map +1 -1
- package/dist/admin/forms/Description.js.map +1 -1
- package/dist/admin/forms/Field.d.ts +10 -5
- package/dist/admin/forms/Field.d.ts.map +1 -1
- package/dist/admin/forms/Field.js.map +1 -1
- package/dist/admin/functions/index.d.ts +10 -1
- package/dist/admin/functions/index.d.ts.map +1 -1
- package/dist/admin/functions/index.js.map +1 -1
- package/dist/admin/types.d.ts +3 -2
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/admin/types.js.map +1 -1
- package/dist/admin/views/dashboard.d.ts +7 -0
- package/dist/admin/views/dashboard.d.ts.map +1 -1
- package/dist/admin/views/dashboard.js.map +1 -1
- package/dist/admin/views/document.d.ts +5 -3
- package/dist/admin/views/document.d.ts.map +1 -1
- package/dist/admin/views/document.js.map +1 -1
- package/dist/admin/views/list.d.ts +10 -1
- package/dist/admin/views/list.d.ts.map +1 -1
- package/dist/admin/views/list.js.map +1 -1
- package/dist/auth/baseFields/apiKey.d.ts +10 -2
- package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
- package/dist/auth/baseFields/apiKey.js +35 -24
- package/dist/auth/baseFields/apiKey.js.map +1 -1
- package/dist/auth/cookies.d.ts +2 -2
- package/dist/auth/cookies.d.ts.map +1 -1
- package/dist/auth/defaultAccess.d.ts +1 -1
- package/dist/auth/defaultAccess.d.ts.map +1 -1
- package/dist/auth/defaultAccess.js +1 -1
- package/dist/auth/defaultAccess.js.map +1 -1
- package/dist/auth/defaultUser.d.ts.map +1 -1
- package/dist/auth/defaultUser.js +2 -1
- package/dist/auth/defaultUser.js.map +1 -1
- package/dist/auth/ensureUsernameOrEmail.d.ts.map +1 -1
- package/dist/auth/executeAccess.d.ts.map +1 -1
- package/dist/auth/executeAuthStrategies.d.ts.map +1 -1
- package/dist/auth/extractAccessFromPermission.d.ts.map +1 -1
- package/dist/auth/extractJWT.d.ts +1 -1
- package/dist/auth/extractJWT.d.ts.map +1 -1
- package/dist/auth/getAuthFields.d.ts.map +1 -1
- package/dist/auth/getAuthFields.js +2 -2
- package/dist/auth/getAuthFields.js.map +1 -1
- package/dist/auth/getFieldsToSign.d.ts +1 -1
- package/dist/auth/getFieldsToSign.d.ts.map +1 -1
- package/dist/auth/getLoginOptions.d.ts +1 -1
- package/dist/auth/getLoginOptions.d.ts.map +1 -1
- package/dist/auth/isUserLocked.d.ts.map +1 -1
- package/dist/auth/jwt.d.ts.map +1 -1
- package/dist/auth/operations/access.d.ts.map +1 -1
- package/dist/auth/operations/auth.d.ts +2 -2
- package/dist/auth/operations/auth.d.ts.map +1 -1
- package/dist/auth/operations/auth.js.map +1 -1
- package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
- package/dist/auth/operations/init.d.ts.map +1 -1
- package/dist/auth/operations/local/auth.d.ts.map +1 -1
- package/dist/auth/operations/login.d.ts +2 -1
- package/dist/auth/operations/login.d.ts.map +1 -1
- package/dist/auth/operations/login.js.map +1 -1
- package/dist/auth/operations/logout.d.ts.map +1 -1
- package/dist/auth/operations/me.d.ts +2 -2
- package/dist/auth/operations/me.d.ts.map +1 -1
- package/dist/auth/operations/me.js.map +1 -1
- package/dist/auth/operations/refresh.d.ts.map +1 -1
- package/dist/auth/operations/refresh.js +9 -3
- package/dist/auth/operations/refresh.js.map +1 -1
- package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
- package/dist/auth/operations/resetPassword.d.ts.map +1 -1
- package/dist/auth/operations/resetPassword.js.map +1 -1
- package/dist/auth/operations/unlock.d.ts.map +1 -1
- package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
- package/dist/auth/sendVerificationEmail.d.ts +2 -2
- package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
- package/dist/auth/sendVerificationEmail.js +1 -1
- package/dist/auth/sendVerificationEmail.js.map +1 -1
- package/dist/auth/sessions.d.ts +4 -5
- package/dist/auth/sessions.d.ts.map +1 -1
- package/dist/auth/sessions.js +5 -3
- package/dist/auth/sessions.js.map +1 -1
- package/dist/auth/strategies/apiKey.d.ts.map +1 -1
- package/dist/auth/strategies/apiKey.js.map +1 -1
- package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
- package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
- package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +2 -2
- package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
- package/dist/auth/strategies/local/incrementLoginAttempts.js +1 -1
- package/dist/auth/strategies/local/incrementLoginAttempts.js.map +1 -1
- package/dist/auth/strategies/local/register.d.ts.map +1 -1
- package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
- package/dist/auth/types.d.ts +25 -21
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/auth/types.js.map +1 -1
- package/dist/bin/build.d.ts +49 -0
- package/dist/bin/build.d.ts.map +1 -0
- package/dist/bin/build.js +226 -0
- package/dist/bin/build.js.map +1 -0
- package/dist/bin/build.spec.js +594 -0
- package/dist/bin/build.spec.js.map +1 -0
- package/dist/bin/frameworkConventions.d.ts +8 -0
- package/dist/bin/frameworkConventions.d.ts.map +1 -0
- package/dist/bin/frameworkConventions.js +8 -0
- package/dist/bin/frameworkConventions.js.map +1 -0
- package/dist/bin/generateImportMap/index.d.ts.map +1 -1
- package/dist/bin/generateImportMap/index.js +8 -5
- package/dist/bin/generateImportMap/index.js.map +1 -1
- package/dist/bin/generateImportMap/iterateCollections.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateCollections.js +11 -0
- package/dist/bin/generateImportMap/iterateCollections.js.map +1 -1
- package/dist/bin/generateImportMap/iterateConfig.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateConfig.js +12 -0
- package/dist/bin/generateImportMap/iterateConfig.js.map +1 -1
- package/dist/bin/generateImportMap/iterateFields.d.ts.map +1 -1
- package/dist/bin/generateImportMap/iterateFields.js +4 -1
- package/dist/bin/generateImportMap/iterateFields.js.map +1 -1
- package/dist/bin/generateImportMap/utilities/getFromImportMap.d.ts.map +1 -1
- package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.d.ts +5 -1
- package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.d.ts.map +1 -1
- package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.js +33 -18
- package/dist/bin/generateImportMap/utilities/resolveImportMapFilePath.js.map +1 -1
- package/dist/bin/generateTypes.d.ts +3 -2
- package/dist/bin/generateTypes.d.ts.map +1 -1
- package/dist/bin/generateTypes.js +11 -1
- package/dist/bin/generateTypes.js.map +1 -1
- package/dist/bin/index.d.ts.map +1 -1
- package/dist/bin/index.js +9 -0
- package/dist/bin/index.js.map +1 -1
- package/dist/bin/loadEnv.d.ts +3 -1
- package/dist/bin/loadEnv.d.ts.map +1 -1
- package/dist/bin/loadEnv.js +40 -10
- package/dist/bin/loadEnv.js.map +1 -1
- package/dist/bin/migrate.d.ts.map +1 -1
- package/dist/collections/config/client.d.ts +3 -3
- package/dist/collections/config/client.d.ts.map +1 -1
- package/dist/collections/config/client.js +1 -0
- package/dist/collections/config/client.js.map +1 -1
- package/dist/collections/config/defaults.d.ts +0 -4
- package/dist/collections/config/defaults.d.ts.map +1 -1
- package/dist/collections/config/defaults.js +2 -17
- package/dist/collections/config/defaults.js.map +1 -1
- package/dist/collections/config/defaults.spec.js +47 -0
- package/dist/collections/config/defaults.spec.js.map +1 -0
- package/dist/collections/config/sanitize.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +1 -11
- package/dist/collections/config/sanitize.js.map +1 -1
- package/dist/collections/config/sanitizeCompoundIndexes.d.ts.map +1 -1
- package/dist/collections/config/types.d.ts +13 -9
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js.map +1 -1
- package/dist/collections/config/useAsTitle.d.ts.map +1 -1
- package/dist/collections/dataloader.d.ts +1 -1
- package/dist/collections/dataloader.d.ts.map +1 -1
- package/dist/collections/endpoints/create.d.ts.map +1 -1
- package/dist/collections/endpoints/create.js +0 -2
- package/dist/collections/endpoints/create.js.map +1 -1
- package/dist/collections/endpoints/updateByID.d.ts.map +1 -1
- package/dist/collections/endpoints/updateByID.js +1 -2
- package/dist/collections/endpoints/updateByID.js.map +1 -1
- package/dist/collections/operations/count.d.ts.map +1 -1
- package/dist/collections/operations/count.js +1 -0
- package/dist/collections/operations/count.js.map +1 -1
- package/dist/collections/operations/countVersions.d.ts.map +1 -1
- package/dist/collections/operations/create.d.ts +0 -1
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +15 -6
- package/dist/collections/operations/create.js.map +1 -1
- package/dist/collections/operations/delete.d.ts.map +1 -1
- package/dist/collections/operations/delete.js +3 -0
- package/dist/collections/operations/delete.js.map +1 -1
- package/dist/collections/operations/deleteByID.d.ts.map +1 -1
- package/dist/collections/operations/duplicate.d.ts.map +1 -1
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findDistinct.d.ts.map +1 -1
- package/dist/collections/operations/findDistinct.js +1 -0
- package/dist/collections/operations/findDistinct.js.map +1 -1
- package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/local/count.d.ts +3 -3
- package/dist/collections/operations/local/count.d.ts.map +1 -1
- package/dist/collections/operations/local/count.js.map +1 -1
- package/dist/collections/operations/local/countVersions.d.ts +3 -3
- package/dist/collections/operations/local/countVersions.d.ts.map +1 -1
- package/dist/collections/operations/local/countVersions.js.map +1 -1
- package/dist/collections/operations/local/create.d.ts +3 -3
- package/dist/collections/operations/local/create.d.ts.map +1 -1
- package/dist/collections/operations/local/create.js.map +1 -1
- package/dist/collections/operations/local/delete.d.ts +3 -3
- package/dist/collections/operations/local/delete.d.ts.map +1 -1
- package/dist/collections/operations/local/delete.js.map +1 -1
- package/dist/collections/operations/local/duplicate.d.ts +3 -3
- package/dist/collections/operations/local/duplicate.d.ts.map +1 -1
- package/dist/collections/operations/local/duplicate.js.map +1 -1
- package/dist/collections/operations/local/find.d.ts +3 -3
- package/dist/collections/operations/local/find.d.ts.map +1 -1
- package/dist/collections/operations/local/find.js.map +1 -1
- package/dist/collections/operations/local/findByID.d.ts +3 -3
- package/dist/collections/operations/local/findByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findByID.js.map +1 -1
- package/dist/collections/operations/local/findDistinct.d.ts +2 -2
- package/dist/collections/operations/local/findDistinct.d.ts.map +1 -1
- package/dist/collections/operations/local/findDistinct.js.map +1 -1
- package/dist/collections/operations/local/findVersionByID.d.ts +3 -3
- package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findVersionByID.js.map +1 -1
- package/dist/collections/operations/local/findVersions.d.ts +3 -3
- package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/local/findVersions.js.map +1 -1
- package/dist/collections/operations/local/restoreVersion.d.ts +3 -3
- package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/local/restoreVersion.js.map +1 -1
- package/dist/collections/operations/local/update.d.ts +7 -11
- package/dist/collections/operations/local/update.d.ts.map +1 -1
- package/dist/collections/operations/local/update.js +1 -2
- package/dist/collections/operations/local/update.js.map +1 -1
- package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/update.d.ts +0 -1
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js +8 -4
- package/dist/collections/operations/update.js.map +1 -1
- package/dist/collections/operations/updateByID.d.ts +0 -1
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.js +1 -5
- package/dist/collections/operations/updateByID.js.map +1 -1
- package/dist/collections/operations/utilities/buildAfterOperation.d.ts +1 -1
- package/dist/collections/operations/utilities/buildAfterOperation.d.ts.map +1 -1
- package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.d.ts +9 -0
- package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.d.ts.map +1 -0
- package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.js +170 -0
- package/dist/collections/operations/utilities/copyDataWithFreshRowIDs.js.map +1 -0
- package/dist/collections/operations/utilities/sanitizeSortQuery.d.ts.map +1 -1
- package/dist/collections/operations/utilities/types.d.ts +20 -29
- package/dist/collections/operations/utilities/types.d.ts.map +1 -1
- package/dist/collections/operations/utilities/types.js.map +1 -1
- package/dist/collections/operations/utilities/update.d.ts +1 -2
- package/dist/collections/operations/utilities/update.d.ts.map +1 -1
- package/dist/collections/operations/utilities/update.js +64 -65
- package/dist/collections/operations/utilities/update.js.map +1 -1
- package/dist/config/client.d.ts +2 -2
- package/dist/config/client.d.ts.map +1 -1
- package/dist/config/client.js.map +1 -1
- package/dist/config/defaults.d.ts +0 -4
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +0 -78
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/definePlugin.d.ts +10 -10
- package/dist/config/definePlugin.d.ts.map +1 -1
- package/dist/config/definePlugin.js +7 -11
- package/dist/config/definePlugin.js.map +1 -1
- package/dist/config/orderable/fractional-indexing.d.ts +23 -23
- package/dist/config/orderable/fractional-indexing.d.ts.map +1 -1
- package/dist/config/orderable/index.d.ts.map +1 -1
- package/dist/config/orderable/index.js +23 -0
- package/dist/config/orderable/index.js.map +1 -1
- package/dist/config/sanitize.d.ts.map +1 -1
- package/dist/config/sanitize.js +137 -13
- package/dist/config/sanitize.js.map +1 -1
- package/dist/config/types.d.ts +67 -20
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +2 -0
- package/dist/config/types.js.map +1 -1
- package/dist/database/combineQueries.d.ts.map +1 -1
- package/dist/database/getLocalizedPaths.d.ts.map +1 -1
- package/dist/database/getLocalizedPaths.js +1 -1
- package/dist/database/getLocalizedPaths.js.map +1 -1
- package/dist/database/migrations/findMigrationDir.d.ts.map +1 -1
- package/dist/database/migrations/getPredefinedMigration.d.ts.map +1 -1
- package/dist/database/migrations/migrationsCollection.d.ts.map +1 -1
- package/dist/database/migrations/migrationsCollection.js +2 -1
- package/dist/database/migrations/migrationsCollection.js.map +1 -1
- package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
- package/dist/database/migrations/writeMigrationIndex.d.ts.map +1 -1
- package/dist/database/sanitizeJoinQuery.d.ts.map +1 -1
- package/dist/database/sanitizeWhereQuery.d.ts.map +1 -1
- package/dist/database/types.d.ts +1 -5
- package/dist/database/types.d.ts.map +1 -1
- package/dist/database/types.js.map +1 -1
- package/dist/duplicateDocument/index.d.ts.map +1 -1
- package/dist/email/getStringifiedToAddress.d.ts.map +1 -1
- package/dist/errors/APIError.d.ts.map +1 -1
- package/dist/errors/AuthenticationError.d.ts.map +1 -1
- package/dist/errors/DuplicateCollection.d.ts.map +1 -1
- package/dist/errors/DuplicateFieldName.d.ts.map +1 -1
- package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
- package/dist/errors/ErrorDeletingFile.d.ts.map +1 -1
- package/dist/errors/FileRetrievalError.d.ts.map +1 -1
- package/dist/errors/FileUploadError.d.ts.map +1 -1
- package/dist/errors/Forbidden.d.ts.map +1 -1
- package/dist/errors/InvalidConfiguration.d.ts.map +1 -1
- package/dist/errors/InvalidFieldJoin.d.ts.map +1 -1
- package/dist/errors/InvalidFieldName.d.ts.map +1 -1
- package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
- package/dist/errors/InvalidSchema.d.ts.map +1 -1
- package/dist/errors/Locked.d.ts.map +1 -1
- package/dist/errors/LockedAuth.d.ts.map +1 -1
- package/dist/errors/MissingCollectionLabel.d.ts.map +1 -1
- package/dist/errors/MissingEditorProp.d.ts.map +1 -1
- package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
- package/dist/errors/MissingFieldType.d.ts.map +1 -1
- package/dist/errors/MissingFile.d.ts.map +1 -1
- package/dist/errors/NotFound.d.ts.map +1 -1
- package/dist/errors/QueryError.d.ts.map +1 -1
- package/dist/errors/ReservedFieldName.d.ts.map +1 -1
- package/dist/errors/TimestampsRequired.d.ts.map +1 -1
- package/dist/errors/UnauthorizedError.d.ts.map +1 -1
- package/dist/errors/UnverifiedEmail.d.ts.map +1 -1
- package/dist/errors/ValidationError.d.ts +1 -0
- package/dist/errors/ValidationError.d.ts.map +1 -1
- package/dist/errors/ValidationError.js.map +1 -1
- package/dist/exports/internal.d.ts +2 -0
- package/dist/exports/internal.d.ts.map +1 -1
- package/dist/exports/internal.js +2 -0
- package/dist/exports/internal.js.map +1 -1
- package/dist/exports/migrations.d.ts +5 -13
- package/dist/exports/migrations.d.ts.map +1 -1
- package/dist/exports/migrations.js +5 -13
- package/dist/exports/migrations.js.map +1 -1
- package/dist/exports/shared.d.ts +23 -2
- package/dist/exports/shared.d.ts.map +1 -1
- package/dist/exports/shared.js +22 -1
- package/dist/exports/shared.js.map +1 -1
- package/dist/fields/baseFields/slug/countVersions.d.ts.map +1 -1
- package/dist/fields/baseFields/slug/countVersions.js +6 -8
- package/dist/fields/baseFields/slug/countVersions.js.map +1 -1
- package/dist/fields/baseFields/slug/generateSlug.d.ts +14 -7
- package/dist/fields/baseFields/slug/generateSlug.d.ts.map +1 -1
- package/dist/fields/baseFields/slug/generateSlug.js +53 -73
- package/dist/fields/baseFields/slug/generateSlug.js.map +1 -1
- package/dist/fields/baseFields/slug/types.d.ts +14 -0
- package/dist/fields/baseFields/slug/types.d.ts.map +1 -0
- package/dist/fields/baseFields/slug/types.js +6 -0
- package/dist/fields/baseFields/slug/types.js.map +1 -0
- package/dist/fields/config/client.d.ts +6 -6
- package/dist/fields/config/client.d.ts.map +1 -1
- package/dist/fields/config/client.js +14 -14
- package/dist/fields/config/client.js.map +1 -1
- package/dist/fields/config/sanitize.d.ts.map +1 -1
- package/dist/fields/config/sanitize.js +40 -4
- package/dist/fields/config/sanitize.js.map +1 -1
- package/dist/fields/config/sanitizeJoinField.d.ts.map +1 -1
- package/dist/fields/config/types.d.ts +80 -76
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js.map +1 -1
- package/dist/fields/getDefaultValue.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/promise.js +1 -1
- package/dist/fields/hooks/afterChange/promise.js.map +1 -1
- package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/promise.js +13 -3
- package/dist/fields/hooks/afterRead/promise.js.map +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/virtualFieldPopulationPromise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/getExistingRowDoc.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.js +3 -3
- package/dist/fields/hooks/beforeChange/promise.js.map +1 -1
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeDuplicate/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeDuplicate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeDuplicate/promise.js +2 -2
- package/dist/fields/hooks/beforeDuplicate/promise.js.map +1 -1
- package/dist/fields/hooks/beforeDuplicate/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.js +16 -5
- package/dist/fields/hooks/beforeValidate/promise.js.map +1 -1
- package/dist/fields/hooks/beforeValidate/stripNullRows.d.ts +10 -0
- package/dist/fields/hooks/beforeValidate/stripNullRows.d.ts.map +1 -0
- package/dist/fields/hooks/beforeValidate/stripNullRows.js +18 -0
- package/dist/fields/hooks/beforeValidate/stripNullRows.js.map +1 -0
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
- package/dist/fields/isFieldDisabled.d.ts.map +1 -1
- package/dist/fields/mergeBaseFields.d.ts.map +1 -1
- package/dist/fields/setDefaultBeforeDuplicate.d.ts.map +1 -1
- package/dist/fields/setDefaultBeforeDuplicate.js +1 -0
- package/dist/fields/setDefaultBeforeDuplicate.js.map +1 -1
- package/dist/fields/sortableFieldTypes.d.ts.map +1 -1
- package/dist/fields/sortableFieldTypes.js +1 -0
- package/dist/fields/sortableFieldTypes.js.map +1 -1
- package/dist/fields/validations.d.ts +4 -1
- package/dist/fields/validations.d.ts.map +1 -1
- package/dist/fields/validations.js +12 -4
- package/dist/fields/validations.js.map +1 -1
- package/dist/globals/config/client.d.ts +4 -4
- package/dist/globals/config/client.d.ts.map +1 -1
- package/dist/globals/config/sanitize.d.ts.map +1 -1
- package/dist/globals/config/sanitize.js +2 -6
- package/dist/globals/config/sanitize.js.map +1 -1
- package/dist/globals/config/sanitize.spec.js +43 -0
- package/dist/globals/config/sanitize.spec.js.map +1 -0
- package/dist/globals/endpoints/update.d.ts.map +1 -1
- package/dist/globals/endpoints/update.js +0 -2
- package/dist/globals/endpoints/update.js.map +1 -1
- package/dist/globals/operations/countGlobalVersions.d.ts.map +1 -1
- package/dist/globals/operations/docAccess.d.ts.map +1 -1
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/local/countVersions.d.ts +3 -3
- package/dist/globals/operations/local/countVersions.d.ts.map +1 -1
- package/dist/globals/operations/local/countVersions.js.map +1 -1
- package/dist/globals/operations/local/findOne.d.ts +3 -3
- package/dist/globals/operations/local/findOne.d.ts.map +1 -1
- package/dist/globals/operations/local/findOne.js.map +1 -1
- package/dist/globals/operations/local/findVersionByID.d.ts +3 -3
- package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/local/findVersionByID.js.map +1 -1
- package/dist/globals/operations/local/findVersions.d.ts +3 -3
- package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/local/findVersions.js.map +1 -1
- package/dist/globals/operations/local/restoreVersion.d.ts +3 -3
- package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/local/restoreVersion.js.map +1 -1
- package/dist/globals/operations/local/update.d.ts +7 -9
- package/dist/globals/operations/local/update.d.ts.map +1 -1
- package/dist/globals/operations/local/update.js +1 -2
- package/dist/globals/operations/local/update.js.map +1 -1
- package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/update.d.ts +0 -1
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +52 -58
- package/dist/globals/operations/update.js.map +1 -1
- package/dist/hierarchy/addHierarchyToCollection.d.ts.map +1 -1
- package/dist/hierarchy/buildParentField.d.ts.map +1 -1
- package/dist/hierarchy/constants.d.ts.map +1 -1
- package/dist/hierarchy/getInitialTreeData.d.ts.map +1 -1
- package/dist/hierarchy/hooks/collectionAfterDelete.d.ts.map +1 -1
- package/dist/hierarchy/hooks/collectionAfterRead.d.ts.map +1 -1
- package/dist/hierarchy/hooks/collectionBeforeChange.d.ts.map +1 -1
- package/dist/hierarchy/hooks/collectionBeforeDelete.d.ts.map +1 -1
- package/dist/hierarchy/hooks/collectionBeforeOperation.d.ts.map +1 -1
- package/dist/hierarchy/hooks/ensureSafeCollectionsChange.d.ts.map +1 -1
- package/dist/hierarchy/injectHierarchyButton.d.ts.map +1 -1
- package/dist/hierarchy/resolveHierarchyCollections.d.ts.map +1 -1
- package/dist/hierarchy/resolveHierarchyCollections.js +1 -1
- package/dist/hierarchy/resolveHierarchyCollections.js.map +1 -1
- package/dist/hierarchy/sanitizeHierarchyCollection.d.ts.map +1 -1
- package/dist/hierarchy/sanitizeHierarchyCollection.js +3 -1
- package/dist/hierarchy/sanitizeHierarchyCollection.js.map +1 -1
- package/dist/hierarchy/types.d.ts +8 -1
- package/dist/hierarchy/types.d.ts.map +1 -1
- package/dist/hierarchy/types.js.map +1 -1
- package/dist/index.bundled.d.ts +675 -408
- package/dist/index.d.ts +79 -34
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -37
- package/dist/index.js.map +1 -1
- package/dist/kv/adapters/DatabaseKVAdapter.d.ts.map +1 -1
- package/dist/kv/adapters/DatabaseKVAdapter.js +1 -0
- package/dist/kv/adapters/DatabaseKVAdapter.js.map +1 -1
- package/dist/kv/adapters/InMemoryKVAdapter.d.ts.map +1 -1
- package/dist/locked-documents/config.d.ts.map +1 -1
- package/dist/locked-documents/config.js +2 -1
- package/dist/locked-documents/config.js.map +1 -1
- package/dist/preferences/config.d.ts.map +1 -1
- package/dist/preferences/config.js +2 -1
- package/dist/preferences/config.js.map +1 -1
- package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
- package/dist/preferences/keys.d.ts +8 -4
- package/dist/preferences/keys.d.ts.map +1 -1
- package/dist/preferences/keys.js +4 -1
- package/dist/preferences/keys.js.map +1 -1
- package/dist/preferences/types.d.ts +15 -0
- package/dist/preferences/types.d.ts.map +1 -1
- package/dist/preferences/types.js +3 -1
- package/dist/preferences/types.js.map +1 -1
- package/dist/query-presets/access.d.ts.map +1 -1
- package/dist/query-presets/config.d.ts.map +1 -1
- package/dist/query-presets/config.js +77 -37
- package/dist/query-presets/config.js.map +1 -1
- package/dist/query-presets/constraints.d.ts.map +1 -1
- package/dist/query-presets/constraints.js +3 -2
- package/dist/query-presets/constraints.js.map +1 -1
- package/dist/query-presets/types.d.ts +1 -1
- package/dist/query-presets/types.d.ts.map +1 -1
- package/dist/queues/config/collection.d.ts.map +1 -1
- package/dist/queues/config/collection.js +2 -1
- package/dist/queues/config/collection.js.map +1 -1
- package/dist/queues/config/generateJobsJSONSchemas.d.ts +1 -1
- package/dist/queues/config/generateJobsJSONSchemas.d.ts.map +1 -1
- package/dist/queues/config/generateJobsJSONSchemas.js +33 -12
- package/dist/queues/config/generateJobsJSONSchemas.js.map +1 -1
- package/dist/queues/config/global.d.ts.map +1 -1
- package/dist/queues/config/global.js +2 -1
- package/dist/queues/config/global.js.map +1 -1
- package/dist/queues/endpoints/run.d.ts.map +1 -1
- package/dist/queues/errors/index.d.ts.map +1 -1
- package/dist/queues/localAPI.d.ts +8 -8
- package/dist/queues/localAPI.d.ts.map +1 -1
- package/dist/queues/operations/handleSchedules/getQueuesWithSchedules.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/index.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/runJSONJob/index.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/runJob/getRunTaskFunction.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/runJob/importHandlerPath.d.ts +1 -1
- package/dist/queues/operations/runJobs/runJob/importHandlerPath.d.ts.map +1 -1
- package/dist/queues/operations/runJobs/runJob/index.d.ts.map +1 -1
- package/dist/queues/utilities/getCurrentDate.d.ts.map +1 -1
- package/dist/queues/utilities/getJobTaskStatus.d.ts.map +1 -1
- package/dist/translations/getLocalI18n.d.ts.map +1 -1
- package/dist/types/constants.d.ts +2 -2
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/index.d.ts +8 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/uploads/checkFileAccess.d.ts.map +1 -1
- package/dist/uploads/checkFileRestrictions.d.ts.map +1 -1
- package/dist/uploads/cropImage.d.ts.map +1 -1
- package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
- package/dist/uploads/fetchAPI-multipart/isEligibleRequest.d.ts.map +1 -1
- package/dist/uploads/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
- package/dist/uploads/fetchAPI-multipart/processMultipart.js +4 -0
- package/dist/uploads/fetchAPI-multipart/processMultipart.js.map +1 -1
- package/dist/uploads/fetchAPI-multipart/processNested.d.ts.map +1 -1
- package/dist/uploads/fetchAPI-multipart/utilities.d.ts.map +1 -1
- package/dist/uploads/fileExists.d.ts.map +1 -1
- package/dist/uploads/generateFileData.d.ts +2 -1
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js +5 -2
- package/dist/uploads/generateFileData.js.map +1 -1
- package/dist/uploads/getBaseFields.d.ts.map +1 -1
- package/dist/uploads/getExternalFile.d.ts.map +1 -1
- package/dist/uploads/getFileByPath.d.ts +1 -1
- package/dist/uploads/getFileByPath.d.ts.map +1 -1
- package/dist/uploads/getFileTypeFallback.d.ts.map +1 -1
- package/dist/uploads/getSafeFilename.d.ts.map +1 -1
- package/dist/uploads/image-resizing/createImageSize.d.ts.map +1 -1
- package/dist/uploads/image-resizing/generateImageSizeFilename.d.ts.map +1 -1
- package/dist/uploads/image-resizing/getImageResizeAction.d.ts +1 -1
- package/dist/uploads/image-resizing/getImageResizeAction.d.ts.map +1 -1
- package/dist/uploads/image-resizing/parseFilename.d.ts.map +1 -1
- package/dist/uploads/image-resizing/sanitizeResizeConfig.d.ts.map +1 -1
- package/dist/uploads/matchMimeType.d.ts +8 -0
- package/dist/uploads/matchMimeType.d.ts.map +1 -0
- package/dist/uploads/matchMimeType.js +19 -0
- package/dist/uploads/matchMimeType.js.map +1 -0
- package/dist/uploads/matchMimeType.spec.js +66 -0
- package/dist/uploads/matchMimeType.spec.js.map +1 -0
- package/dist/uploads/mimeTypeValidator.d.ts.map +1 -1
- package/dist/uploads/safeFetch.d.ts.map +1 -1
- package/dist/uploads/safeFetch.js +11 -5
- package/dist/uploads/safeFetch.js.map +1 -1
- package/dist/uploads/saveBufferToFile.d.ts.map +1 -1
- package/dist/uploads/tempFile.d.ts.map +1 -1
- package/dist/uploads/types.d.ts +21 -0
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/uploads/types.js.map +1 -1
- package/dist/uploads/uploadFiles.d.ts.map +1 -1
- package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -1
- package/dist/utilities/addDataAndFileToRequest.js +6 -0
- package/dist/utilities/addDataAndFileToRequest.js.map +1 -1
- package/dist/utilities/addLocalesToRequest.d.ts.map +1 -1
- package/dist/utilities/addSelectGenericsToGeneretedTypes.d.ts.map +1 -1
- package/dist/utilities/appendDateTimezoneSelectFields.d.ts.map +1 -1
- package/dist/utilities/appendDateTimezoneSelectFields.js +2 -2
- package/dist/utilities/appendDateTimezoneSelectFields.js.map +1 -1
- package/dist/utilities/appendNonTrashedFilter.d.ts.map +1 -1
- package/dist/utilities/appendUploadSelectFields.d.ts.map +1 -1
- package/dist/utilities/canAccessAdmin.d.ts.map +1 -1
- package/dist/utilities/checkDocumentLockStatus.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.d.ts +68 -16
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +312 -117
- package/dist/utilities/configToJSONSchema.js.map +1 -1
- package/dist/utilities/configToJSONSchema.spec.js +656 -85
- package/dist/utilities/configToJSONSchema.spec.js.map +1 -1
- package/dist/utilities/createLocalReq.d.ts +2 -2
- package/dist/utilities/createLocalReq.d.ts.map +1 -1
- package/dist/utilities/createLocalReq.js.map +1 -1
- package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
- package/dist/utilities/createPayloadRequest.js +1 -0
- package/dist/utilities/createPayloadRequest.js.map +1 -1
- package/dist/utilities/deepCopyObject.d.ts.map +1 -1
- package/dist/utilities/deepCopyObject.js +8 -0
- package/dist/utilities/deepCopyObject.js.map +1 -1
- package/dist/utilities/dependencies/dependencyChecker.js +1 -1
- package/dist/utilities/dependencies/dependencyChecker.js.map +1 -1
- package/dist/utilities/dependencies/getDependencies.d.ts.map +1 -1
- package/dist/utilities/dependencies/getDependencies.js +5 -5
- package/dist/utilities/dependencies/getDependencies.js.map +1 -1
- package/dist/utilities/dependencies/resolveFrom.d.ts.map +1 -1
- package/dist/utilities/dynamicImport.js +1 -1
- package/dist/utilities/dynamicImport.js.map +1 -1
- package/dist/utilities/escapeRegExp.d.ts.map +1 -1
- package/dist/utilities/extractID.d.ts.map +1 -1
- package/dist/utilities/filterDataToSelectedLocales.d.ts.map +1 -1
- package/dist/utilities/filterDataToSelectedLocales.js +5 -12
- package/dist/utilities/filterDataToSelectedLocales.js.map +1 -1
- package/dist/utilities/filterDataToSelectedLocales.spec.js +1 -2
- package/dist/utilities/filterDataToSelectedLocales.spec.js.map +1 -1
- package/dist/utilities/flattenAllFields.d.ts.map +1 -1
- package/dist/utilities/flattenAllFields.js +7 -22
- package/dist/utilities/flattenAllFields.js.map +1 -1
- package/dist/utilities/formatAdminURL.d.ts.map +1 -1
- package/dist/utilities/formatErrors.d.ts.map +1 -1
- package/dist/utilities/formatErrors.js +3 -1
- package/dist/utilities/formatErrors.js.map +1 -1
- package/dist/utilities/formatLabels.d.ts.map +1 -1
- package/dist/utilities/getBestFitFromSizes.d.ts.map +1 -1
- package/dist/utilities/getBlockSelect.d.ts.map +1 -1
- package/dist/utilities/getDataByPath.d.ts.map +1 -1
- package/dist/utilities/getEntityPermissions/getEntityPermissions.d.ts.map +1 -1
- package/dist/utilities/getEntityPermissions/getEntityPermissions.js +2 -0
- package/dist/utilities/getEntityPermissions/getEntityPermissions.js.map +1 -1
- package/dist/utilities/getEntityPermissions/populateFieldPermissions.d.ts +7 -1
- package/dist/utilities/getEntityPermissions/populateFieldPermissions.d.ts.map +1 -1
- package/dist/utilities/getEntityPermissions/populateFieldPermissions.js +24 -7
- package/dist/utilities/getEntityPermissions/populateFieldPermissions.js.map +1 -1
- package/dist/utilities/getFieldByPath.d.ts.map +1 -1
- package/dist/utilities/getFieldByPath.js +1 -1
- package/dist/utilities/getFieldByPath.js.map +1 -1
- package/dist/utilities/getFieldPermissions.d.ts.map +1 -1
- package/dist/utilities/getObjectDotNotation.d.ts.map +1 -1
- package/dist/utilities/getRequestEntity.d.ts.map +1 -1
- package/dist/utilities/getRequestLanguage.d.ts +2 -2
- package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
- package/dist/utilities/getRequestLanguage.js.map +1 -1
- package/dist/utilities/getRequestOrigin.d.ts +2 -2
- package/dist/utilities/getRequestOrigin.d.ts.map +1 -1
- package/dist/utilities/getSafeRedirect.d.ts.map +1 -1
- package/dist/utilities/getSelectMode.d.ts.map +1 -1
- package/dist/utilities/getSiblingData.d.ts.map +1 -1
- package/dist/utilities/getTranslatedLabel.d.ts.map +1 -1
- package/dist/utilities/getVersionsConfig.d.ts +1 -1
- package/dist/utilities/getVersionsConfig.d.ts.map +1 -1
- package/dist/utilities/getVersionsConfig.js.map +1 -1
- package/dist/utilities/handleEndpoints.d.ts.map +1 -1
- package/dist/utilities/handleEndpoints.js +7 -3
- package/dist/utilities/handleEndpoints.js.map +1 -1
- package/dist/utilities/headersWithCors.d.ts.map +1 -1
- package/dist/utilities/isEntityHidden.d.ts +2 -2
- package/dist/utilities/isEntityHidden.d.ts.map +1 -1
- package/dist/utilities/isURLAllowed.d.ts.map +1 -1
- package/dist/utilities/isURLAllowed.js +9 -3
- package/dist/utilities/isURLAllowed.js.map +1 -1
- package/dist/utilities/isURLAllowed.spec.js +78 -0
- package/dist/utilities/isURLAllowed.spec.js.map +1 -0
- package/dist/utilities/isValidID.d.ts +1 -1
- package/dist/utilities/isValidID.d.ts.map +1 -1
- package/dist/utilities/logError.d.ts.map +1 -1
- package/dist/utilities/logger.d.ts +1 -1
- package/dist/utilities/logger.d.ts.map +1 -1
- package/dist/utilities/mergeHeaders.d.ts.map +1 -1
- package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -1
- package/dist/utilities/mergeLocalizedData.d.ts +14 -4
- package/dist/utilities/mergeLocalizedData.d.ts.map +1 -1
- package/dist/utilities/mergeLocalizedData.js +54 -46
- package/dist/utilities/mergeLocalizedData.js.map +1 -1
- package/dist/utilities/mergeLocalizedData.spec.js +23 -23
- package/dist/utilities/mergeLocalizedData.spec.js.map +1 -1
- package/dist/utilities/miniChalk.d.ts.map +1 -1
- package/dist/utilities/optionsAreEqual.d.ts.map +1 -1
- package/dist/utilities/parseBooleanString.d.ts.map +1 -1
- package/dist/utilities/parseCookies.d.ts +1 -1
- package/dist/utilities/parseCookies.d.ts.map +1 -1
- package/dist/utilities/parseParams/index.d.ts +2 -5
- package/dist/utilities/parseParams/index.d.ts.map +1 -1
- package/dist/utilities/parseParams/index.js.map +1 -1
- package/dist/utilities/parseParams/index.spec.js +0 -9
- package/dist/utilities/parseParams/index.spec.js.map +1 -1
- package/dist/utilities/profiling.d.ts.map +1 -1
- package/dist/utilities/reduceFieldsToValues.d.ts.map +1 -1
- package/dist/utilities/resolveSelect.d.ts.map +1 -1
- package/dist/utilities/routeError.d.ts.map +1 -1
- package/dist/utilities/sanitizeFallbackLocale.d.ts.map +1 -1
- package/dist/utilities/sanitizeInternalFields.d.ts.map +1 -1
- package/dist/utilities/sanitizeJoinParams.d.ts.map +1 -1
- package/dist/utilities/sanitizePopulateParam.d.ts.map +1 -1
- package/dist/utilities/sanitizeSelect.d.ts.map +1 -1
- package/dist/utilities/sanitizeSelectParam.d.ts.map +1 -1
- package/dist/utilities/sanitizeSortParams.d.ts.map +1 -1
- package/dist/utilities/setsAreEqual.d.ts.map +1 -1
- package/dist/utilities/slugify.d.ts.map +1 -1
- package/dist/utilities/stripUnselectedFields.d.ts.map +1 -1
- package/dist/utilities/telemetry/conf/index.d.ts.map +1 -1
- package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
- package/dist/utilities/telemetry/events/adminInit.js +2 -3
- package/dist/utilities/telemetry/events/adminInit.js.map +1 -1
- package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
- package/dist/utilities/telemetry/events/serverInit.js +2 -3
- package/dist/utilities/telemetry/events/serverInit.js.map +1 -1
- package/dist/utilities/telemetry/index.d.ts +15 -4
- package/dist/utilities/telemetry/index.d.ts.map +1 -1
- package/dist/utilities/telemetry/index.js +6 -1
- package/dist/utilities/telemetry/index.js.map +1 -1
- package/dist/utilities/telemetry/index.spec.js +43 -0
- package/dist/utilities/telemetry/index.spec.js.map +1 -0
- package/dist/utilities/telemetry/oneWayHash.d.ts.map +1 -1
- package/dist/utilities/timestamp.d.ts.map +1 -1
- package/dist/utilities/toKebabCase.d.ts.map +1 -1
- package/dist/utilities/transformColumnPreferences.d.ts.map +1 -1
- package/dist/utilities/transformColumnPreferences.js +4 -2
- package/dist/utilities/transformColumnPreferences.js.map +1 -1
- package/dist/utilities/transformWhereQuery.d.ts.map +1 -1
- package/dist/utilities/traverseFields.d.ts.map +1 -1
- package/dist/utilities/traverseFields.js +2 -4
- package/dist/utilities/traverseFields.js.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.d.ts.map +1 -1
- package/dist/utilities/traverseForLocalizedFields.js +3 -0
- package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
- package/dist/utilities/unflatten.d.ts.map +1 -1
- package/dist/utilities/validateMimeType.d.ts.map +1 -1
- package/dist/utilities/validateTimezones.d.ts.map +1 -1
- package/dist/utilities/validateWhereQuery.d.ts.map +1 -1
- package/dist/utilities/wordBoundariesRegex.d.ts.map +1 -1
- package/dist/utilities/wrapInternalEndpoints.d.ts.map +1 -1
- package/dist/versions/baseFields.d.ts +1 -2
- package/dist/versions/baseFields.d.ts.map +1 -1
- package/dist/versions/baseFields.js +0 -13
- package/dist/versions/baseFields.js.map +1 -1
- package/dist/versions/buildCollectionFields.d.ts.map +1 -1
- package/dist/versions/buildCollectionFields.js +0 -2
- package/dist/versions/buildCollectionFields.js.map +1 -1
- package/dist/versions/buildGlobalFields.d.ts.map +1 -1
- package/dist/versions/buildGlobalFields.js +0 -2
- package/dist/versions/buildGlobalFields.js.map +1 -1
- package/dist/versions/buildSingleLocalePublishData.d.ts +32 -0
- package/dist/versions/buildSingleLocalePublishData.d.ts.map +1 -0
- package/dist/versions/buildSingleLocalePublishData.js +37 -0
- package/dist/versions/buildSingleLocalePublishData.js.map +1 -0
- package/dist/versions/buildVersionCompoundIndexes.d.ts.map +1 -1
- package/dist/versions/defaults.d.ts.map +1 -1
- package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
- package/dist/versions/deleteScheduledPublishJobs.d.ts.map +1 -1
- package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
- package/dist/versions/drafts/getQueryDraftsSelect.d.ts.map +1 -1
- package/dist/versions/drafts/getQueryDraftsSort.d.ts.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
- package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
- package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
- package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
- package/dist/versions/migrations/localizeStatus/shared.d.ts.map +1 -1
- package/dist/versions/payloadPackageList.d.ts.map +1 -1
- package/dist/versions/payloadPackageList.js +0 -1
- package/dist/versions/payloadPackageList.js.map +1 -1
- package/dist/versions/saveVersion.d.ts +0 -2
- package/dist/versions/saveVersion.d.ts.map +1 -1
- package/dist/versions/saveVersion.js +12 -17
- package/dist/versions/saveVersion.js.map +1 -1
- package/dist/versions/schedule/job.d.ts.map +1 -1
- package/dist/versions/schedule/job.js +6 -10
- package/dist/versions/schedule/job.js.map +1 -1
- package/dist/versions/types.d.ts +2 -15
- package/dist/versions/types.d.ts.map +1 -1
- package/dist/versions/types.js.map +1 -1
- package/package.json +9 -6
- package/dist/database/migrations/templates/localizeStatus.d.ts +0 -10
- package/dist/database/migrations/templates/localizeStatus.d.ts.map +0 -1
- package/dist/database/migrations/templates/localizeStatus.js +0 -54
- package/dist/database/migrations/templates/localizeStatus.js.map +0 -1
- package/dist/fields/baseFields/slug/index.d.ts +0 -89
- package/dist/fields/baseFields/slug/index.d.ts.map +0 -1
- package/dist/fields/baseFields/slug/index.js +0 -81
- package/dist/fields/baseFields/slug/index.js.map +0 -1
- package/dist/versions/migrations/localizeStatus/index.d.ts +0 -12
- package/dist/versions/migrations/localizeStatus/index.d.ts.map +0 -1
- package/dist/versions/migrations/localizeStatus/index.js +0 -33
- package/dist/versions/migrations/localizeStatus/index.js.map +0 -1
- package/dist/versions/migrations/localizeStatus/mongo/down.d.ts +0 -9
- package/dist/versions/migrations/localizeStatus/mongo/down.d.ts.map +0 -1
- package/dist/versions/migrations/localizeStatus/mongo/down.js +0 -112
- package/dist/versions/migrations/localizeStatus/mongo/down.js.map +0 -1
- package/dist/versions/migrations/localizeStatus/mongo/index.d.ts +0 -8
- package/dist/versions/migrations/localizeStatus/mongo/index.d.ts.map +0 -1
- package/dist/versions/migrations/localizeStatus/mongo/index.js +0 -8
- package/dist/versions/migrations/localizeStatus/mongo/index.js.map +0 -1
- package/dist/versions/migrations/localizeStatus/mongo/up.d.ts +0 -9
- package/dist/versions/migrations/localizeStatus/mongo/up.d.ts.map +0 -1
- package/dist/versions/migrations/localizeStatus/mongo/up.js +0 -220
- package/dist/versions/migrations/localizeStatus/mongo/up.js.map +0 -1
- package/dist/versions/migrations/localizeStatus/sql/down.d.ts +0 -11
- package/dist/versions/migrations/localizeStatus/sql/down.d.ts.map +0 -1
- package/dist/versions/migrations/localizeStatus/sql/down.js +0 -213
- package/dist/versions/migrations/localizeStatus/sql/down.js.map +0 -1
- package/dist/versions/migrations/localizeStatus/sql/index.d.ts +0 -8
- package/dist/versions/migrations/localizeStatus/sql/index.d.ts.map +0 -1
- package/dist/versions/migrations/localizeStatus/sql/index.js +0 -8
- package/dist/versions/migrations/localizeStatus/sql/index.js.map +0 -1
- package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.d.ts +0 -13
- package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.d.ts.map +0 -1
- package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.js +0 -51
- package/dist/versions/migrations/localizeStatus/sql/migrateMainCollection.js.map +0 -1
- package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.d.ts +0 -13
- package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.d.ts.map +0 -1
- package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.js +0 -54
- package/dist/versions/migrations/localizeStatus/sql/migrateMainGlobal.js.map +0 -1
- package/dist/versions/migrations/localizeStatus/sql/up.d.ts +0 -11
- package/dist/versions/migrations/localizeStatus/sql/up.d.ts.map +0 -1
- package/dist/versions/migrations/localizeStatus/sql/up.js +0 -277
- package/dist/versions/migrations/localizeStatus/sql/up.js.map +0 -1
- package/dist/versions/saveSnapshot.d.ts +0 -18
- package/dist/versions/saveSnapshot.d.ts.map +0 -1
- package/dist/versions/saveSnapshot.js +0 -38
- package/dist/versions/saveSnapshot.js.map +0 -1
|
@@ -0,0 +1,594 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, mkdtempSync, realpathSync, rmSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import os from 'node:os';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { describe, expect, it, vi, beforeEach, afterEach } from 'vitest';
|
|
5
|
+
// Default fake child auto-fires `exit(0)` synchronously so ordering/generation
|
|
6
|
+
// tests resolve. Specific tests override via `mockReturnValueOnce` to drive the
|
|
7
|
+
// exit/error handlers manually.
|
|
8
|
+
const spawnMock = vi.fn(()=>({
|
|
9
|
+
on (event, cb) {
|
|
10
|
+
if (event === 'exit') {
|
|
11
|
+
cb(0);
|
|
12
|
+
}
|
|
13
|
+
return this;
|
|
14
|
+
}
|
|
15
|
+
}));
|
|
16
|
+
const generateImportMapMock = vi.fn(async ()=>{});
|
|
17
|
+
const generateTypesMock = vi.fn(async ()=>{});
|
|
18
|
+
vi.mock('node:child_process', ()=>({
|
|
19
|
+
spawn: spawnMock
|
|
20
|
+
}));
|
|
21
|
+
vi.mock('./generateImportMap/index.js', ()=>({
|
|
22
|
+
generateImportMap: generateImportMapMock
|
|
23
|
+
}));
|
|
24
|
+
vi.mock('./generateTypes.js', ()=>({
|
|
25
|
+
generateTypes: generateTypesMock
|
|
26
|
+
}));
|
|
27
|
+
// Imported after mocks are registered
|
|
28
|
+
const { build, detectFramework, getForwardedArgs, resolveBuildCommand, resolveNextBin, resolveViteBin } = await import('./build.js');
|
|
29
|
+
const fakeConfig = {};
|
|
30
|
+
describe('getForwardedArgs', ()=>{
|
|
31
|
+
it('returns args after the build token and strips --no-types', ()=>{
|
|
32
|
+
expect(getForwardedArgs([
|
|
33
|
+
'build',
|
|
34
|
+
'--turbopack',
|
|
35
|
+
'--no-types',
|
|
36
|
+
'foo'
|
|
37
|
+
])).toEqual([
|
|
38
|
+
'--turbopack',
|
|
39
|
+
'foo'
|
|
40
|
+
]);
|
|
41
|
+
});
|
|
42
|
+
it('returns empty array when only build is present', ()=>{
|
|
43
|
+
expect(getForwardedArgs([
|
|
44
|
+
'build'
|
|
45
|
+
])).toEqual([]);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
describe('resolveNextBin', ()=>{
|
|
49
|
+
it('resolves next bin from the current project', ()=>{
|
|
50
|
+
// next is installed at the repo root; resolving from cwd must succeed
|
|
51
|
+
const binPath = resolveNextBin(process.cwd());
|
|
52
|
+
expect(binPath).toMatch(/next[\\/].*bin[\\/]next$/);
|
|
53
|
+
expect(existsSync(binPath)).toBe(true);
|
|
54
|
+
});
|
|
55
|
+
it('throws a clear error when next cannot be resolved', ()=>{
|
|
56
|
+
expect(()=>resolveNextBin('/nonexistent-project-root')).toThrow(/next/i);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
describe('resolveViteBin', ()=>{
|
|
60
|
+
it('resolves the vite bin from the current project', ()=>{
|
|
61
|
+
// vite is installed at the repo root; resolving from cwd must succeed
|
|
62
|
+
const binPath = resolveViteBin(process.cwd());
|
|
63
|
+
expect(binPath).toMatch(/vite[\\/].*bin[\\/]vite\.js$/);
|
|
64
|
+
expect(existsSync(binPath)).toBe(true);
|
|
65
|
+
});
|
|
66
|
+
it('throws a clear error when vite cannot be resolved', async ()=>{
|
|
67
|
+
// Vitest injects its own transitive `vite` dep onto NODE_PATH, so resolving
|
|
68
|
+
// "vite" from any cwd would otherwise succeed in this test process even
|
|
69
|
+
// when the project under test has no vite installed. Mock module
|
|
70
|
+
// resolution itself to simulate a real "vite not installed" project.
|
|
71
|
+
vi.resetModules();
|
|
72
|
+
vi.doMock('node:module', async (importOriginal)=>{
|
|
73
|
+
const actual = await importOriginal();
|
|
74
|
+
return {
|
|
75
|
+
...actual,
|
|
76
|
+
createRequire: ()=>({
|
|
77
|
+
resolve: ()=>{
|
|
78
|
+
throw new Error('Cannot find module');
|
|
79
|
+
}
|
|
80
|
+
})
|
|
81
|
+
};
|
|
82
|
+
});
|
|
83
|
+
const { resolveViteBin: resolveViteBinWithoutVite } = await import('./build.js');
|
|
84
|
+
expect(()=>resolveViteBinWithoutVite('/nonexistent-project-root')).toThrow(/vite/i);
|
|
85
|
+
vi.doUnmock('node:module');
|
|
86
|
+
vi.resetModules();
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
describe('resolveBuildCommand', ()=>{
|
|
90
|
+
it('maps next to the next bin and build args', ()=>{
|
|
91
|
+
const { args, bin } = resolveBuildCommand({
|
|
92
|
+
cwd: process.cwd(),
|
|
93
|
+
forwardedArgs: [
|
|
94
|
+
'--turbopack'
|
|
95
|
+
],
|
|
96
|
+
framework: 'next'
|
|
97
|
+
});
|
|
98
|
+
expect(bin).toMatch(/next[\\/].*bin[\\/]next$/);
|
|
99
|
+
expect(args).toEqual([
|
|
100
|
+
'build',
|
|
101
|
+
'--turbopack'
|
|
102
|
+
]);
|
|
103
|
+
});
|
|
104
|
+
it('maps tanstack-start to the vite bin and build args', ()=>{
|
|
105
|
+
const { args, bin } = resolveBuildCommand({
|
|
106
|
+
cwd: process.cwd(),
|
|
107
|
+
forwardedArgs: [
|
|
108
|
+
'--mode',
|
|
109
|
+
'staging'
|
|
110
|
+
],
|
|
111
|
+
framework: 'tanstack-start'
|
|
112
|
+
});
|
|
113
|
+
expect(bin).toMatch(/vite[\\/].*bin[\\/]vite\.js$/);
|
|
114
|
+
expect(args).toEqual([
|
|
115
|
+
'build',
|
|
116
|
+
'--mode',
|
|
117
|
+
'staging'
|
|
118
|
+
]);
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
// Resolution against isolated fixture projects, complementing the cwd/real-install
|
|
122
|
+
// checks above. Installing a fake package into a real temp node_modules proves
|
|
123
|
+
// `createRequire` walks the consumer's node_modules rather than repo hoisting or
|
|
124
|
+
// vitest's ambient NODE_PATH, and exercises bin-field shapes the real installs don't.
|
|
125
|
+
describe('bin resolution walks the consumer project node_modules', ()=>{
|
|
126
|
+
const binFixtureDirs = [];
|
|
127
|
+
/**
|
|
128
|
+
* Build a throwaway project with a fake installed package whose package.json
|
|
129
|
+
* carries the given `bin` field. Returns the project root to pass as `cwd`. The
|
|
130
|
+
* bin target file is created so existsSync assertions are meaningful.
|
|
131
|
+
*/ const makeProjectWithPackage = ({ binField, binRelPath, packageName })=>{
|
|
132
|
+
// realpath so exact path comparisons hold on macOS, where /var symlinks to
|
|
133
|
+
// /private/var and require.resolve returns the resolved path.
|
|
134
|
+
const root = realpathSync(mkdtempSync(path.join(os.tmpdir(), 'payload-build-bin-')));
|
|
135
|
+
binFixtureDirs.push(root);
|
|
136
|
+
writeFileSync(path.join(root, 'package.json'), JSON.stringify({
|
|
137
|
+
name: 'fixture-app'
|
|
138
|
+
}));
|
|
139
|
+
const pkgDir = path.join(root, 'node_modules', packageName);
|
|
140
|
+
mkdirSync(pkgDir, {
|
|
141
|
+
recursive: true
|
|
142
|
+
});
|
|
143
|
+
writeFileSync(path.join(pkgDir, 'package.json'), JSON.stringify({
|
|
144
|
+
bin: binField,
|
|
145
|
+
name: packageName,
|
|
146
|
+
version: '0.0.0'
|
|
147
|
+
}));
|
|
148
|
+
if (binRelPath) {
|
|
149
|
+
const binFull = path.join(pkgDir, binRelPath);
|
|
150
|
+
mkdirSync(path.dirname(binFull), {
|
|
151
|
+
recursive: true
|
|
152
|
+
});
|
|
153
|
+
writeFileSync(binFull, '');
|
|
154
|
+
}
|
|
155
|
+
return root;
|
|
156
|
+
};
|
|
157
|
+
afterEach(()=>{
|
|
158
|
+
for (const dir of binFixtureDirs){
|
|
159
|
+
rmSync(dir, {
|
|
160
|
+
force: true,
|
|
161
|
+
recursive: true
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
binFixtureDirs.length = 0;
|
|
165
|
+
});
|
|
166
|
+
it('resolves the next bin from an isolated project using the object-form bin field', ()=>{
|
|
167
|
+
const root = makeProjectWithPackage({
|
|
168
|
+
binField: {
|
|
169
|
+
next: './dist/bin/next'
|
|
170
|
+
},
|
|
171
|
+
binRelPath: 'dist/bin/next',
|
|
172
|
+
packageName: 'next'
|
|
173
|
+
});
|
|
174
|
+
const binPath = resolveNextBin(root);
|
|
175
|
+
expect(binPath).toBe(path.join(root, 'node_modules', 'next', 'dist', 'bin', 'next'));
|
|
176
|
+
expect(existsSync(binPath)).toBe(true);
|
|
177
|
+
});
|
|
178
|
+
it('resolves the vite bin from an isolated project using the object-form bin field', ()=>{
|
|
179
|
+
const root = makeProjectWithPackage({
|
|
180
|
+
binField: {
|
|
181
|
+
vite: 'bin/vite.js'
|
|
182
|
+
},
|
|
183
|
+
binRelPath: 'bin/vite.js',
|
|
184
|
+
packageName: 'vite'
|
|
185
|
+
});
|
|
186
|
+
const binPath = resolveViteBin(root);
|
|
187
|
+
expect(binPath).toBe(path.join(root, 'node_modules', 'vite', 'bin', 'vite.js'));
|
|
188
|
+
expect(existsSync(binPath)).toBe(true);
|
|
189
|
+
});
|
|
190
|
+
it('resolves a string-form bin field', ()=>{
|
|
191
|
+
const root = makeProjectWithPackage({
|
|
192
|
+
binField: './cli.js',
|
|
193
|
+
binRelPath: 'cli.js',
|
|
194
|
+
packageName: 'vite'
|
|
195
|
+
});
|
|
196
|
+
const binPath = resolveViteBin(root);
|
|
197
|
+
expect(binPath).toBe(path.join(root, 'node_modules', 'vite', 'cli.js'));
|
|
198
|
+
expect(existsSync(binPath)).toBe(true);
|
|
199
|
+
});
|
|
200
|
+
it('throws a clear error when the package declares no bin field', ()=>{
|
|
201
|
+
const root = makeProjectWithPackage({
|
|
202
|
+
binField: undefined,
|
|
203
|
+
packageName: 'vite'
|
|
204
|
+
});
|
|
205
|
+
expect(()=>resolveViteBin(root)).toThrow(/binary path/i);
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
describe('build', ()=>{
|
|
209
|
+
let exitMock;
|
|
210
|
+
let originalArgv;
|
|
211
|
+
let originalFrameworkEnv;
|
|
212
|
+
let cwdSpy;
|
|
213
|
+
const buildTempDirs = [];
|
|
214
|
+
beforeEach(()=>{
|
|
215
|
+
spawnMock.mockClear();
|
|
216
|
+
generateImportMapMock.mockClear();
|
|
217
|
+
generateTypesMock.mockClear();
|
|
218
|
+
originalArgv = process.argv;
|
|
219
|
+
process.argv = [
|
|
220
|
+
'node',
|
|
221
|
+
'payload',
|
|
222
|
+
'build'
|
|
223
|
+
];
|
|
224
|
+
exitMock = vi.spyOn(process, 'exit').mockImplementation(()=>undefined);
|
|
225
|
+
originalFrameworkEnv = process.env.PAYLOAD_FRAMEWORK;
|
|
226
|
+
// Force next for the legacy tests so they don't depend on the repo-root
|
|
227
|
+
// package.json's ambient `next` dependency for auto-detection.
|
|
228
|
+
process.env.PAYLOAD_FRAMEWORK = 'next';
|
|
229
|
+
});
|
|
230
|
+
afterEach(()=>{
|
|
231
|
+
process.argv = originalArgv;
|
|
232
|
+
exitMock.mockRestore();
|
|
233
|
+
if (originalFrameworkEnv === undefined) {
|
|
234
|
+
delete process.env.PAYLOAD_FRAMEWORK;
|
|
235
|
+
} else {
|
|
236
|
+
process.env.PAYLOAD_FRAMEWORK = originalFrameworkEnv;
|
|
237
|
+
}
|
|
238
|
+
if (cwdSpy) {
|
|
239
|
+
cwdSpy.mockRestore();
|
|
240
|
+
cwdSpy = undefined;
|
|
241
|
+
}
|
|
242
|
+
for (const dir of buildTempDirs){
|
|
243
|
+
rmSync(dir, {
|
|
244
|
+
force: true,
|
|
245
|
+
recursive: true
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
buildTempDirs.length = 0;
|
|
249
|
+
});
|
|
250
|
+
it('generates the import map before spawning, and generates types by default', async ()=>{
|
|
251
|
+
await build({
|
|
252
|
+
config: fakeConfig
|
|
253
|
+
});
|
|
254
|
+
expect(generateImportMapMock).toHaveBeenCalledTimes(1);
|
|
255
|
+
expect(generateTypesMock).toHaveBeenCalledTimes(1);
|
|
256
|
+
expect(spawnMock).toHaveBeenCalledTimes(1);
|
|
257
|
+
expect(generateImportMapMock.mock.invocationCallOrder[0]).toBeLessThan(spawnMock.mock.invocationCallOrder[0]);
|
|
258
|
+
});
|
|
259
|
+
it('skips type generation with --no-types', async ()=>{
|
|
260
|
+
process.argv = [
|
|
261
|
+
'node',
|
|
262
|
+
'payload',
|
|
263
|
+
'build',
|
|
264
|
+
'--no-types'
|
|
265
|
+
];
|
|
266
|
+
await build({
|
|
267
|
+
config: fakeConfig
|
|
268
|
+
});
|
|
269
|
+
expect(generateImportMapMock).toHaveBeenCalledTimes(1);
|
|
270
|
+
expect(generateTypesMock).not.toHaveBeenCalled();
|
|
271
|
+
expect(spawnMock).toHaveBeenCalledTimes(1);
|
|
272
|
+
});
|
|
273
|
+
it('exits 1 and does not spawn when generation fails', async ()=>{
|
|
274
|
+
generateImportMapMock.mockRejectedValueOnce(new Error('boom'));
|
|
275
|
+
await build({
|
|
276
|
+
config: fakeConfig
|
|
277
|
+
});
|
|
278
|
+
expect(exitMock).toHaveBeenCalledWith(1);
|
|
279
|
+
expect(spawnMock).not.toHaveBeenCalled();
|
|
280
|
+
});
|
|
281
|
+
it('spawns next build with forwarded args and propagates the child exit code', async ()=>{
|
|
282
|
+
process.argv = [
|
|
283
|
+
'node',
|
|
284
|
+
'payload',
|
|
285
|
+
'build',
|
|
286
|
+
'--turbopack'
|
|
287
|
+
];
|
|
288
|
+
let exitCb;
|
|
289
|
+
spawnMock.mockReturnValueOnce({
|
|
290
|
+
on (event, cb) {
|
|
291
|
+
if (event === 'exit') {
|
|
292
|
+
exitCb = cb;
|
|
293
|
+
}
|
|
294
|
+
return this;
|
|
295
|
+
}
|
|
296
|
+
});
|
|
297
|
+
const buildPromise = build({
|
|
298
|
+
config: fakeConfig
|
|
299
|
+
});
|
|
300
|
+
// generation awaits before spawn; let those microtasks settle
|
|
301
|
+
await vi.waitFor(()=>expect(spawnMock).toHaveBeenCalledTimes(1));
|
|
302
|
+
const [execPath, spawnArgs, opts] = spawnMock.mock.calls[0];
|
|
303
|
+
expect(execPath).toBe(process.execPath);
|
|
304
|
+
expect(spawnArgs[1]).toBe('build');
|
|
305
|
+
expect(spawnArgs).toContain('--turbopack');
|
|
306
|
+
expect(opts).toEqual({
|
|
307
|
+
stdio: 'inherit'
|
|
308
|
+
});
|
|
309
|
+
// Simulate the child exiting with a non-zero code
|
|
310
|
+
exitCb?.(2);
|
|
311
|
+
await buildPromise;
|
|
312
|
+
expect(exitMock).toHaveBeenCalledWith(2);
|
|
313
|
+
});
|
|
314
|
+
it('does not exit until the spawned child exits, then propagates its code', async ()=>{
|
|
315
|
+
let exitCb;
|
|
316
|
+
spawnMock.mockReturnValueOnce({
|
|
317
|
+
on (event, cb) {
|
|
318
|
+
if (event === 'exit') {
|
|
319
|
+
exitCb = cb;
|
|
320
|
+
}
|
|
321
|
+
return this;
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
let resolved = false;
|
|
325
|
+
const buildPromise = build({
|
|
326
|
+
config: fakeConfig
|
|
327
|
+
}).then(()=>{
|
|
328
|
+
resolved = true;
|
|
329
|
+
});
|
|
330
|
+
// Wait for generation to settle and the child to be spawned. build() must
|
|
331
|
+
// still be pending because the child has not exited yet.
|
|
332
|
+
await vi.waitFor(()=>expect(exitCb).toBeDefined());
|
|
333
|
+
// Flush all pending microtasks; the OLD (buggy) build() resolved here
|
|
334
|
+
// without awaiting the child, so this assertion catches the race.
|
|
335
|
+
await new Promise((r)=>setTimeout(r, 0));
|
|
336
|
+
expect(resolved).toBe(false);
|
|
337
|
+
expect(exitMock).not.toHaveBeenCalled();
|
|
338
|
+
// Child exits non-zero -> build() must exit with that exact code
|
|
339
|
+
exitCb?.(3);
|
|
340
|
+
await buildPromise;
|
|
341
|
+
expect(resolved).toBe(true);
|
|
342
|
+
expect(exitMock).toHaveBeenCalledWith(3);
|
|
343
|
+
});
|
|
344
|
+
it('spawns vite build for a detected tanstack project', async ()=>{
|
|
345
|
+
delete process.env.PAYLOAD_FRAMEWORK;
|
|
346
|
+
process.argv = [
|
|
347
|
+
'node',
|
|
348
|
+
'payload',
|
|
349
|
+
'build',
|
|
350
|
+
'--mode',
|
|
351
|
+
'staging'
|
|
352
|
+
];
|
|
353
|
+
const tanstackDir = mkdtempSync(path.join(os.tmpdir(), 'payload-build-ts-'));
|
|
354
|
+
buildTempDirs.push(tanstackDir);
|
|
355
|
+
writeFileSync(path.join(tanstackDir, 'package.json'), JSON.stringify({
|
|
356
|
+
dependencies: {
|
|
357
|
+
'@tanstack/react-start': '1.168.26'
|
|
358
|
+
}
|
|
359
|
+
}));
|
|
360
|
+
cwdSpy = vi.spyOn(process, 'cwd').mockReturnValue(tanstackDir);
|
|
361
|
+
await build({
|
|
362
|
+
config: fakeConfig
|
|
363
|
+
});
|
|
364
|
+
expect(spawnMock).toHaveBeenCalledTimes(1);
|
|
365
|
+
const [, spawnArgs] = spawnMock.mock.calls[0];
|
|
366
|
+
expect(spawnArgs[0]).toMatch(/vite[\\/].*bin[\\/]vite\.js$/);
|
|
367
|
+
expect(spawnArgs.slice(1)).toEqual([
|
|
368
|
+
'build',
|
|
369
|
+
'--mode',
|
|
370
|
+
'staging'
|
|
371
|
+
]);
|
|
372
|
+
});
|
|
373
|
+
it('exits 1 and does not spawn when the framework cannot be detected', async ()=>{
|
|
374
|
+
delete process.env.PAYLOAD_FRAMEWORK;
|
|
375
|
+
const emptyDir = mkdtempSync(path.join(os.tmpdir(), 'payload-build-empty-'));
|
|
376
|
+
buildTempDirs.push(emptyDir);
|
|
377
|
+
writeFileSync(path.join(emptyDir, 'package.json'), JSON.stringify({}));
|
|
378
|
+
cwdSpy = vi.spyOn(process, 'cwd').mockReturnValue(emptyDir);
|
|
379
|
+
await build({
|
|
380
|
+
config: fakeConfig
|
|
381
|
+
});
|
|
382
|
+
expect(exitMock).toHaveBeenCalledWith(1);
|
|
383
|
+
expect(spawnMock).not.toHaveBeenCalled();
|
|
384
|
+
});
|
|
385
|
+
});
|
|
386
|
+
describe('detectFramework', ()=>{
|
|
387
|
+
const createdDirs = [];
|
|
388
|
+
let originalFrameworkEnv;
|
|
389
|
+
const makeProject = (files)=>{
|
|
390
|
+
const dir = mkdtempSync(path.join(os.tmpdir(), 'payload-build-'));
|
|
391
|
+
createdDirs.push(dir);
|
|
392
|
+
for (const file of files){
|
|
393
|
+
const full = path.join(dir, file.path);
|
|
394
|
+
mkdirSync(path.dirname(full), {
|
|
395
|
+
recursive: true
|
|
396
|
+
});
|
|
397
|
+
writeFileSync(full, file.contents ?? '');
|
|
398
|
+
}
|
|
399
|
+
return dir;
|
|
400
|
+
};
|
|
401
|
+
const pkg = (deps)=>JSON.stringify({
|
|
402
|
+
dependencies: deps
|
|
403
|
+
});
|
|
404
|
+
beforeEach(()=>{
|
|
405
|
+
originalFrameworkEnv = process.env.PAYLOAD_FRAMEWORK;
|
|
406
|
+
delete process.env.PAYLOAD_FRAMEWORK;
|
|
407
|
+
});
|
|
408
|
+
afterEach(()=>{
|
|
409
|
+
if (originalFrameworkEnv === undefined) {
|
|
410
|
+
delete process.env.PAYLOAD_FRAMEWORK;
|
|
411
|
+
} else {
|
|
412
|
+
process.env.PAYLOAD_FRAMEWORK = originalFrameworkEnv;
|
|
413
|
+
}
|
|
414
|
+
for (const dir of createdDirs){
|
|
415
|
+
rmSync(dir, {
|
|
416
|
+
force: true,
|
|
417
|
+
recursive: true
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
createdDirs.length = 0;
|
|
421
|
+
});
|
|
422
|
+
it('honors PAYLOAD_FRAMEWORK=tanstack-start over auto-detection', ()=>{
|
|
423
|
+
process.env.PAYLOAD_FRAMEWORK = 'tanstack-start';
|
|
424
|
+
const dir = makeProject([
|
|
425
|
+
{
|
|
426
|
+
contents: pkg({
|
|
427
|
+
next: '15.0.0'
|
|
428
|
+
}),
|
|
429
|
+
path: 'package.json'
|
|
430
|
+
}
|
|
431
|
+
]);
|
|
432
|
+
expect(detectFramework(dir)).toBe('tanstack-start');
|
|
433
|
+
});
|
|
434
|
+
it('honors PAYLOAD_FRAMEWORK=next over auto-detection', ()=>{
|
|
435
|
+
process.env.PAYLOAD_FRAMEWORK = 'next';
|
|
436
|
+
const dir = makeProject([
|
|
437
|
+
{
|
|
438
|
+
contents: pkg({
|
|
439
|
+
'@tanstack/react-start': '1.168.26'
|
|
440
|
+
}),
|
|
441
|
+
path: 'package.json'
|
|
442
|
+
}
|
|
443
|
+
]);
|
|
444
|
+
expect(detectFramework(dir)).toBe('next');
|
|
445
|
+
});
|
|
446
|
+
it('throws when PAYLOAD_FRAMEWORK is an unsupported value', ()=>{
|
|
447
|
+
process.env.PAYLOAD_FRAMEWORK = 'svelte';
|
|
448
|
+
const dir = makeProject([
|
|
449
|
+
{
|
|
450
|
+
contents: pkg({
|
|
451
|
+
next: '15.0.0'
|
|
452
|
+
}),
|
|
453
|
+
path: 'package.json'
|
|
454
|
+
}
|
|
455
|
+
]);
|
|
456
|
+
expect(()=>detectFramework(dir)).toThrow(/PAYLOAD_FRAMEWORK/);
|
|
457
|
+
});
|
|
458
|
+
it('detects next from the next dependency', ()=>{
|
|
459
|
+
const dir = makeProject([
|
|
460
|
+
{
|
|
461
|
+
contents: pkg({
|
|
462
|
+
next: '15.0.0'
|
|
463
|
+
}),
|
|
464
|
+
path: 'package.json'
|
|
465
|
+
}
|
|
466
|
+
]);
|
|
467
|
+
expect(detectFramework(dir)).toBe('next');
|
|
468
|
+
});
|
|
469
|
+
it('detects tanstack-start from the @tanstack/react-start dependency', ()=>{
|
|
470
|
+
const dir = makeProject([
|
|
471
|
+
{
|
|
472
|
+
contents: pkg({
|
|
473
|
+
'@tanstack/react-start': '1.168.26'
|
|
474
|
+
}),
|
|
475
|
+
path: 'package.json'
|
|
476
|
+
}
|
|
477
|
+
]);
|
|
478
|
+
expect(detectFramework(dir)).toBe('tanstack-start');
|
|
479
|
+
});
|
|
480
|
+
it('falls back to next.config when deps are inconclusive', ()=>{
|
|
481
|
+
const dir = makeProject([
|
|
482
|
+
{
|
|
483
|
+
contents: pkg({}),
|
|
484
|
+
path: 'package.json'
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
path: 'next.config.ts'
|
|
488
|
+
}
|
|
489
|
+
]);
|
|
490
|
+
expect(detectFramework(dir)).toBe('next');
|
|
491
|
+
});
|
|
492
|
+
it('falls back to vite.config when deps are inconclusive', ()=>{
|
|
493
|
+
const dir = makeProject([
|
|
494
|
+
{
|
|
495
|
+
contents: pkg({}),
|
|
496
|
+
path: 'package.json'
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
path: 'vite.config.ts'
|
|
500
|
+
}
|
|
501
|
+
]);
|
|
502
|
+
expect(detectFramework(dir)).toBe('tanstack-start');
|
|
503
|
+
});
|
|
504
|
+
it('falls back to the (payload) folder convention', ()=>{
|
|
505
|
+
const dir = makeProject([
|
|
506
|
+
{
|
|
507
|
+
path: 'app/(payload)/admin/page.tsx'
|
|
508
|
+
}
|
|
509
|
+
]);
|
|
510
|
+
expect(detectFramework(dir)).toBe('next');
|
|
511
|
+
});
|
|
512
|
+
it('falls back to the _payload folder convention', ()=>{
|
|
513
|
+
const dir = makeProject([
|
|
514
|
+
{
|
|
515
|
+
path: 'app/_payload/route.tsx'
|
|
516
|
+
}
|
|
517
|
+
]);
|
|
518
|
+
expect(detectFramework(dir)).toBe('tanstack-start');
|
|
519
|
+
});
|
|
520
|
+
it('resolves ambiguous deps using the config-file layer', ()=>{
|
|
521
|
+
const dir = makeProject([
|
|
522
|
+
{
|
|
523
|
+
contents: pkg({
|
|
524
|
+
'@tanstack/react-start': '1.168.26',
|
|
525
|
+
next: '15.0.0'
|
|
526
|
+
}),
|
|
527
|
+
path: 'package.json'
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
path: 'next.config.ts'
|
|
531
|
+
}
|
|
532
|
+
]);
|
|
533
|
+
expect(detectFramework(dir)).toBe('next');
|
|
534
|
+
});
|
|
535
|
+
it('resolves ambiguous deps to tanstack-start via the config-file layer', ()=>{
|
|
536
|
+
const dir = makeProject([
|
|
537
|
+
{
|
|
538
|
+
contents: pkg({
|
|
539
|
+
'@tanstack/react-start': '1.168.26',
|
|
540
|
+
next: '15.0.0'
|
|
541
|
+
}),
|
|
542
|
+
path: 'package.json'
|
|
543
|
+
},
|
|
544
|
+
{
|
|
545
|
+
path: 'vite.config.ts'
|
|
546
|
+
}
|
|
547
|
+
]);
|
|
548
|
+
expect(detectFramework(dir)).toBe('tanstack-start');
|
|
549
|
+
});
|
|
550
|
+
it('resolves ambiguous deps and configs via the folder-convention layer', ()=>{
|
|
551
|
+
const dir = makeProject([
|
|
552
|
+
{
|
|
553
|
+
contents: pkg({
|
|
554
|
+
'@tanstack/react-start': '1.168.26',
|
|
555
|
+
next: '15.0.0'
|
|
556
|
+
}),
|
|
557
|
+
path: 'package.json'
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
path: 'app/_payload/route.tsx'
|
|
561
|
+
}
|
|
562
|
+
]);
|
|
563
|
+
expect(detectFramework(dir)).toBe('tanstack-start');
|
|
564
|
+
});
|
|
565
|
+
it('throws a no-framework error when nothing is detected', ()=>{
|
|
566
|
+
const dir = makeProject([
|
|
567
|
+
{
|
|
568
|
+
contents: pkg({}),
|
|
569
|
+
path: 'package.json'
|
|
570
|
+
}
|
|
571
|
+
]);
|
|
572
|
+
expect(()=>detectFramework(dir)).toThrow(/Could not determine your framework/);
|
|
573
|
+
});
|
|
574
|
+
it('throws a conflict error when signals stay ambiguous', ()=>{
|
|
575
|
+
const dir = makeProject([
|
|
576
|
+
{
|
|
577
|
+
contents: pkg({
|
|
578
|
+
'@tanstack/react-start': '1.168.26',
|
|
579
|
+
next: '15.0.0'
|
|
580
|
+
}),
|
|
581
|
+
path: 'package.json'
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
path: 'next.config.ts'
|
|
585
|
+
},
|
|
586
|
+
{
|
|
587
|
+
path: 'vite.config.ts'
|
|
588
|
+
}
|
|
589
|
+
]);
|
|
590
|
+
expect(()=>detectFramework(dir)).toThrow(/conflicting signals/);
|
|
591
|
+
});
|
|
592
|
+
});
|
|
593
|
+
|
|
594
|
+
//# sourceMappingURL=build.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/bin/build.spec.ts"],"sourcesContent":["import { existsSync, mkdirSync, mkdtempSync, realpathSync, rmSync, writeFileSync } from 'node:fs'\nimport os from 'node:os'\nimport path from 'node:path'\n\nimport { describe, expect, it, vi, beforeEach, afterEach } from 'vitest'\n\n// Default fake child auto-fires `exit(0)` synchronously so ordering/generation\n// tests resolve. Specific tests override via `mockReturnValueOnce` to drive the\n// exit/error handlers manually.\nconst spawnMock = vi.fn(() => ({\n on(event: string, cb: (arg?: never) => void) {\n if (event === 'exit') {\n cb(0 as never)\n }\n return this\n },\n}))\nconst generateImportMapMock = vi.fn(async () => {})\nconst generateTypesMock = vi.fn(async () => {})\n\nvi.mock('node:child_process', () => ({ spawn: spawnMock }))\nvi.mock('./generateImportMap/index.js', () => ({ generateImportMap: generateImportMapMock }))\nvi.mock('./generateTypes.js', () => ({ generateTypes: generateTypesMock }))\n\n// Imported after mocks are registered\nconst {\n build,\n detectFramework,\n getForwardedArgs,\n resolveBuildCommand,\n resolveNextBin,\n resolveViteBin,\n} = await import('./build.js')\n\nconst fakeConfig = {} as never\n\ndescribe('getForwardedArgs', () => {\n it('returns args after the build token and strips --no-types', () => {\n expect(getForwardedArgs(['build', '--turbopack', '--no-types', 'foo'])).toEqual([\n '--turbopack',\n 'foo',\n ])\n })\n\n it('returns empty array when only build is present', () => {\n expect(getForwardedArgs(['build'])).toEqual([])\n })\n})\n\ndescribe('resolveNextBin', () => {\n it('resolves next bin from the current project', () => {\n // next is installed at the repo root; resolving from cwd must succeed\n const binPath = resolveNextBin(process.cwd())\n expect(binPath).toMatch(/next[\\\\/].*bin[\\\\/]next$/)\n expect(existsSync(binPath)).toBe(true)\n })\n\n it('throws a clear error when next cannot be resolved', () => {\n expect(() => resolveNextBin('/nonexistent-project-root')).toThrow(/next/i)\n })\n})\n\ndescribe('resolveViteBin', () => {\n it('resolves the vite bin from the current project', () => {\n // vite is installed at the repo root; resolving from cwd must succeed\n const binPath = resolveViteBin(process.cwd())\n expect(binPath).toMatch(/vite[\\\\/].*bin[\\\\/]vite\\.js$/)\n expect(existsSync(binPath)).toBe(true)\n })\n\n it('throws a clear error when vite cannot be resolved', async () => {\n // Vitest injects its own transitive `vite` dep onto NODE_PATH, so resolving\n // \"vite\" from any cwd would otherwise succeed in this test process even\n // when the project under test has no vite installed. Mock module\n // resolution itself to simulate a real \"vite not installed\" project.\n vi.resetModules()\n vi.doMock('node:module', async (importOriginal) => {\n const actual = await importOriginal<typeof import('node:module')>()\n return {\n ...actual,\n createRequire: () => ({\n resolve: () => {\n throw new Error('Cannot find module')\n },\n }),\n }\n })\n\n const { resolveViteBin: resolveViteBinWithoutVite } = await import('./build.js')\n expect(() => resolveViteBinWithoutVite('/nonexistent-project-root')).toThrow(/vite/i)\n\n vi.doUnmock('node:module')\n vi.resetModules()\n })\n})\n\ndescribe('resolveBuildCommand', () => {\n it('maps next to the next bin and build args', () => {\n const { args, bin } = resolveBuildCommand({\n cwd: process.cwd(),\n forwardedArgs: ['--turbopack'],\n framework: 'next',\n })\n expect(bin).toMatch(/next[\\\\/].*bin[\\\\/]next$/)\n expect(args).toEqual(['build', '--turbopack'])\n })\n\n it('maps tanstack-start to the vite bin and build args', () => {\n const { args, bin } = resolveBuildCommand({\n cwd: process.cwd(),\n forwardedArgs: ['--mode', 'staging'],\n framework: 'tanstack-start',\n })\n expect(bin).toMatch(/vite[\\\\/].*bin[\\\\/]vite\\.js$/)\n expect(args).toEqual(['build', '--mode', 'staging'])\n })\n})\n\n// Resolution against isolated fixture projects, complementing the cwd/real-install\n// checks above. Installing a fake package into a real temp node_modules proves\n// `createRequire` walks the consumer's node_modules rather than repo hoisting or\n// vitest's ambient NODE_PATH, and exercises bin-field shapes the real installs don't.\ndescribe('bin resolution walks the consumer project node_modules', () => {\n const binFixtureDirs: string[] = []\n\n /**\n * Build a throwaway project with a fake installed package whose package.json\n * carries the given `bin` field. Returns the project root to pass as `cwd`. The\n * bin target file is created so existsSync assertions are meaningful.\n */\n const makeProjectWithPackage = ({\n binField,\n binRelPath,\n packageName,\n }: {\n binField: unknown\n binRelPath?: string\n packageName: string\n }): string => {\n // realpath so exact path comparisons hold on macOS, where /var symlinks to\n // /private/var and require.resolve returns the resolved path.\n const root = realpathSync(mkdtempSync(path.join(os.tmpdir(), 'payload-build-bin-')))\n binFixtureDirs.push(root)\n writeFileSync(path.join(root, 'package.json'), JSON.stringify({ name: 'fixture-app' }))\n\n const pkgDir = path.join(root, 'node_modules', packageName)\n mkdirSync(pkgDir, { recursive: true })\n writeFileSync(\n path.join(pkgDir, 'package.json'),\n JSON.stringify({ bin: binField, name: packageName, version: '0.0.0' }),\n )\n\n if (binRelPath) {\n const binFull = path.join(pkgDir, binRelPath)\n mkdirSync(path.dirname(binFull), { recursive: true })\n writeFileSync(binFull, '')\n }\n\n return root\n }\n\n afterEach(() => {\n for (const dir of binFixtureDirs) {\n rmSync(dir, { force: true, recursive: true })\n }\n binFixtureDirs.length = 0\n })\n\n it('resolves the next bin from an isolated project using the object-form bin field', () => {\n const root = makeProjectWithPackage({\n binField: { next: './dist/bin/next' },\n binRelPath: 'dist/bin/next',\n packageName: 'next',\n })\n\n const binPath = resolveNextBin(root)\n\n expect(binPath).toBe(path.join(root, 'node_modules', 'next', 'dist', 'bin', 'next'))\n expect(existsSync(binPath)).toBe(true)\n })\n\n it('resolves the vite bin from an isolated project using the object-form bin field', () => {\n const root = makeProjectWithPackage({\n binField: { vite: 'bin/vite.js' },\n binRelPath: 'bin/vite.js',\n packageName: 'vite',\n })\n\n const binPath = resolveViteBin(root)\n\n expect(binPath).toBe(path.join(root, 'node_modules', 'vite', 'bin', 'vite.js'))\n expect(existsSync(binPath)).toBe(true)\n })\n\n it('resolves a string-form bin field', () => {\n const root = makeProjectWithPackage({\n binField: './cli.js',\n binRelPath: 'cli.js',\n packageName: 'vite',\n })\n\n const binPath = resolveViteBin(root)\n\n expect(binPath).toBe(path.join(root, 'node_modules', 'vite', 'cli.js'))\n expect(existsSync(binPath)).toBe(true)\n })\n\n it('throws a clear error when the package declares no bin field', () => {\n const root = makeProjectWithPackage({ binField: undefined, packageName: 'vite' })\n\n expect(() => resolveViteBin(root)).toThrow(/binary path/i)\n })\n})\n\ndescribe('build', () => {\n let exitMock: ReturnType<typeof vi.spyOn>\n let originalArgv: string[]\n let originalFrameworkEnv: string | undefined\n let cwdSpy: ReturnType<typeof vi.spyOn> | undefined\n const buildTempDirs: string[] = []\n\n beforeEach(() => {\n spawnMock.mockClear()\n generateImportMapMock.mockClear()\n generateTypesMock.mockClear()\n originalArgv = process.argv\n process.argv = ['node', 'payload', 'build']\n exitMock = vi.spyOn(process, 'exit').mockImplementation((() => undefined) as never)\n originalFrameworkEnv = process.env.PAYLOAD_FRAMEWORK\n // Force next for the legacy tests so they don't depend on the repo-root\n // package.json's ambient `next` dependency for auto-detection.\n process.env.PAYLOAD_FRAMEWORK = 'next'\n })\n\n afterEach(() => {\n process.argv = originalArgv\n exitMock.mockRestore()\n if (originalFrameworkEnv === undefined) {\n delete process.env.PAYLOAD_FRAMEWORK\n } else {\n process.env.PAYLOAD_FRAMEWORK = originalFrameworkEnv\n }\n if (cwdSpy) {\n cwdSpy.mockRestore()\n cwdSpy = undefined\n }\n for (const dir of buildTempDirs) {\n rmSync(dir, { force: true, recursive: true })\n }\n buildTempDirs.length = 0\n })\n\n it('generates the import map before spawning, and generates types by default', async () => {\n await build({ config: fakeConfig })\n\n expect(generateImportMapMock).toHaveBeenCalledTimes(1)\n expect(generateTypesMock).toHaveBeenCalledTimes(1)\n expect(spawnMock).toHaveBeenCalledTimes(1)\n expect(generateImportMapMock.mock.invocationCallOrder[0]).toBeLessThan(\n spawnMock.mock.invocationCallOrder[0],\n )\n })\n\n it('skips type generation with --no-types', async () => {\n process.argv = ['node', 'payload', 'build', '--no-types']\n\n await build({ config: fakeConfig })\n\n expect(generateImportMapMock).toHaveBeenCalledTimes(1)\n expect(generateTypesMock).not.toHaveBeenCalled()\n expect(spawnMock).toHaveBeenCalledTimes(1)\n })\n\n it('exits 1 and does not spawn when generation fails', async () => {\n generateImportMapMock.mockRejectedValueOnce(new Error('boom'))\n\n await build({ config: fakeConfig })\n\n expect(exitMock).toHaveBeenCalledWith(1)\n expect(spawnMock).not.toHaveBeenCalled()\n })\n\n it('spawns next build with forwarded args and propagates the child exit code', async () => {\n process.argv = ['node', 'payload', 'build', '--turbopack']\n let exitCb: ((code: number | null) => void) | undefined\n spawnMock.mockReturnValueOnce({\n on(event: string, cb: (code: number | null) => void) {\n if (event === 'exit') {\n exitCb = cb\n }\n return this\n },\n })\n\n const buildPromise = build({ config: fakeConfig })\n\n // generation awaits before spawn; let those microtasks settle\n await vi.waitFor(() => expect(spawnMock).toHaveBeenCalledTimes(1))\n const [execPath, spawnArgs, opts] = spawnMock.mock.calls[0]\n expect(execPath).toBe(process.execPath)\n expect(spawnArgs[1]).toBe('build')\n expect(spawnArgs).toContain('--turbopack')\n expect(opts).toEqual({ stdio: 'inherit' })\n\n // Simulate the child exiting with a non-zero code\n exitCb?.(2)\n await buildPromise\n expect(exitMock).toHaveBeenCalledWith(2)\n })\n\n it('does not exit until the spawned child exits, then propagates its code', async () => {\n let exitCb: ((code: number | null) => void) | undefined\n spawnMock.mockReturnValueOnce({\n on(event: string, cb: (code: number | null) => void) {\n if (event === 'exit') {\n exitCb = cb\n }\n return this\n },\n })\n\n let resolved = false\n const buildPromise = build({ config: fakeConfig }).then(() => {\n resolved = true\n })\n\n // Wait for generation to settle and the child to be spawned. build() must\n // still be pending because the child has not exited yet.\n await vi.waitFor(() => expect(exitCb).toBeDefined())\n // Flush all pending microtasks; the OLD (buggy) build() resolved here\n // without awaiting the child, so this assertion catches the race.\n await new Promise((r) => setTimeout(r, 0))\n expect(resolved).toBe(false)\n expect(exitMock).not.toHaveBeenCalled()\n\n // Child exits non-zero -> build() must exit with that exact code\n exitCb?.(3)\n await buildPromise\n expect(resolved).toBe(true)\n expect(exitMock).toHaveBeenCalledWith(3)\n })\n\n it('spawns vite build for a detected tanstack project', async () => {\n delete process.env.PAYLOAD_FRAMEWORK\n process.argv = ['node', 'payload', 'build', '--mode', 'staging']\n const tanstackDir = mkdtempSync(path.join(os.tmpdir(), 'payload-build-ts-'))\n buildTempDirs.push(tanstackDir)\n writeFileSync(\n path.join(tanstackDir, 'package.json'),\n JSON.stringify({ dependencies: { '@tanstack/react-start': '1.168.26' } }),\n )\n cwdSpy = vi.spyOn(process, 'cwd').mockReturnValue(tanstackDir)\n\n await build({ config: fakeConfig })\n\n expect(spawnMock).toHaveBeenCalledTimes(1)\n const [, spawnArgs] = spawnMock.mock.calls[0]\n expect(spawnArgs[0]).toMatch(/vite[\\\\/].*bin[\\\\/]vite\\.js$/)\n expect(spawnArgs.slice(1)).toEqual(['build', '--mode', 'staging'])\n })\n\n it('exits 1 and does not spawn when the framework cannot be detected', async () => {\n delete process.env.PAYLOAD_FRAMEWORK\n const emptyDir = mkdtempSync(path.join(os.tmpdir(), 'payload-build-empty-'))\n buildTempDirs.push(emptyDir)\n writeFileSync(path.join(emptyDir, 'package.json'), JSON.stringify({}))\n cwdSpy = vi.spyOn(process, 'cwd').mockReturnValue(emptyDir)\n\n await build({ config: fakeConfig })\n\n expect(exitMock).toHaveBeenCalledWith(1)\n expect(spawnMock).not.toHaveBeenCalled()\n })\n})\n\ndescribe('detectFramework', () => {\n const createdDirs: string[] = []\n let originalFrameworkEnv: string | undefined\n\n const makeProject = (files: { contents?: string; path: string }[]): string => {\n const dir = mkdtempSync(path.join(os.tmpdir(), 'payload-build-'))\n createdDirs.push(dir)\n for (const file of files) {\n const full = path.join(dir, file.path)\n mkdirSync(path.dirname(full), { recursive: true })\n writeFileSync(full, file.contents ?? '')\n }\n return dir\n }\n\n const pkg = (deps: Record<string, string>): string => JSON.stringify({ dependencies: deps })\n\n beforeEach(() => {\n originalFrameworkEnv = process.env.PAYLOAD_FRAMEWORK\n delete process.env.PAYLOAD_FRAMEWORK\n })\n\n afterEach(() => {\n if (originalFrameworkEnv === undefined) {\n delete process.env.PAYLOAD_FRAMEWORK\n } else {\n process.env.PAYLOAD_FRAMEWORK = originalFrameworkEnv\n }\n for (const dir of createdDirs) {\n rmSync(dir, { force: true, recursive: true })\n }\n createdDirs.length = 0\n })\n\n it('honors PAYLOAD_FRAMEWORK=tanstack-start over auto-detection', () => {\n process.env.PAYLOAD_FRAMEWORK = 'tanstack-start'\n const dir = makeProject([{ contents: pkg({ next: '15.0.0' }), path: 'package.json' }])\n expect(detectFramework(dir)).toBe('tanstack-start')\n })\n\n it('honors PAYLOAD_FRAMEWORK=next over auto-detection', () => {\n process.env.PAYLOAD_FRAMEWORK = 'next'\n const dir = makeProject([\n { contents: pkg({ '@tanstack/react-start': '1.168.26' }), path: 'package.json' },\n ])\n expect(detectFramework(dir)).toBe('next')\n })\n\n it('throws when PAYLOAD_FRAMEWORK is an unsupported value', () => {\n process.env.PAYLOAD_FRAMEWORK = 'svelte'\n const dir = makeProject([{ contents: pkg({ next: '15.0.0' }), path: 'package.json' }])\n expect(() => detectFramework(dir)).toThrow(/PAYLOAD_FRAMEWORK/)\n })\n\n it('detects next from the next dependency', () => {\n const dir = makeProject([{ contents: pkg({ next: '15.0.0' }), path: 'package.json' }])\n expect(detectFramework(dir)).toBe('next')\n })\n\n it('detects tanstack-start from the @tanstack/react-start dependency', () => {\n const dir = makeProject([\n { contents: pkg({ '@tanstack/react-start': '1.168.26' }), path: 'package.json' },\n ])\n expect(detectFramework(dir)).toBe('tanstack-start')\n })\n\n it('falls back to next.config when deps are inconclusive', () => {\n const dir = makeProject([\n { contents: pkg({}), path: 'package.json' },\n { path: 'next.config.ts' },\n ])\n expect(detectFramework(dir)).toBe('next')\n })\n\n it('falls back to vite.config when deps are inconclusive', () => {\n const dir = makeProject([\n { contents: pkg({}), path: 'package.json' },\n { path: 'vite.config.ts' },\n ])\n expect(detectFramework(dir)).toBe('tanstack-start')\n })\n\n it('falls back to the (payload) folder convention', () => {\n const dir = makeProject([{ path: 'app/(payload)/admin/page.tsx' }])\n expect(detectFramework(dir)).toBe('next')\n })\n\n it('falls back to the _payload folder convention', () => {\n const dir = makeProject([{ path: 'app/_payload/route.tsx' }])\n expect(detectFramework(dir)).toBe('tanstack-start')\n })\n\n it('resolves ambiguous deps using the config-file layer', () => {\n const dir = makeProject([\n {\n contents: pkg({ '@tanstack/react-start': '1.168.26', next: '15.0.0' }),\n path: 'package.json',\n },\n { path: 'next.config.ts' },\n ])\n expect(detectFramework(dir)).toBe('next')\n })\n\n it('resolves ambiguous deps to tanstack-start via the config-file layer', () => {\n const dir = makeProject([\n {\n contents: pkg({ '@tanstack/react-start': '1.168.26', next: '15.0.0' }),\n path: 'package.json',\n },\n { path: 'vite.config.ts' },\n ])\n expect(detectFramework(dir)).toBe('tanstack-start')\n })\n\n it('resolves ambiguous deps and configs via the folder-convention layer', () => {\n const dir = makeProject([\n {\n contents: pkg({ '@tanstack/react-start': '1.168.26', next: '15.0.0' }),\n path: 'package.json',\n },\n { path: 'app/_payload/route.tsx' },\n ])\n expect(detectFramework(dir)).toBe('tanstack-start')\n })\n\n it('throws a no-framework error when nothing is detected', () => {\n const dir = makeProject([{ contents: pkg({}), path: 'package.json' }])\n expect(() => detectFramework(dir)).toThrow(/Could not determine your framework/)\n })\n\n it('throws a conflict error when signals stay ambiguous', () => {\n const dir = makeProject([\n {\n contents: pkg({ '@tanstack/react-start': '1.168.26', next: '15.0.0' }),\n path: 'package.json',\n },\n { path: 'next.config.ts' },\n { path: 'vite.config.ts' },\n ])\n expect(() => detectFramework(dir)).toThrow(/conflicting signals/)\n })\n})\n"],"names":["existsSync","mkdirSync","mkdtempSync","realpathSync","rmSync","writeFileSync","os","path","describe","expect","it","vi","beforeEach","afterEach","spawnMock","fn","on","event","cb","generateImportMapMock","generateTypesMock","mock","spawn","generateImportMap","generateTypes","build","detectFramework","getForwardedArgs","resolveBuildCommand","resolveNextBin","resolveViteBin","fakeConfig","toEqual","binPath","process","cwd","toMatch","toBe","toThrow","resetModules","doMock","importOriginal","actual","createRequire","resolve","Error","resolveViteBinWithoutVite","doUnmock","args","bin","forwardedArgs","framework","binFixtureDirs","makeProjectWithPackage","binField","binRelPath","packageName","root","join","tmpdir","push","JSON","stringify","name","pkgDir","recursive","version","binFull","dirname","dir","force","length","next","vite","undefined","exitMock","originalArgv","originalFrameworkEnv","cwdSpy","buildTempDirs","mockClear","argv","spyOn","mockImplementation","env","PAYLOAD_FRAMEWORK","mockRestore","config","toHaveBeenCalledTimes","invocationCallOrder","toBeLessThan","not","toHaveBeenCalled","mockRejectedValueOnce","toHaveBeenCalledWith","exitCb","mockReturnValueOnce","buildPromise","waitFor","execPath","spawnArgs","opts","calls","toContain","stdio","resolved","then","toBeDefined","Promise","r","setTimeout","tanstackDir","dependencies","mockReturnValue","slice","emptyDir","createdDirs","makeProject","files","file","full","contents","pkg","deps"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Folder-name markers that distinguish the supported framework conventions.
|
|
3
|
+
* Shared between import-map resolution and `payload build` framework detection so
|
|
4
|
+
* the two cannot drift.
|
|
5
|
+
*/
|
|
6
|
+
export declare const NEXT_PAYLOAD_ROUTE_GROUP = "(payload)";
|
|
7
|
+
export declare const TANSTACK_PAYLOAD_DIR = "_payload";
|
|
8
|
+
//# sourceMappingURL=frameworkConventions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frameworkConventions.d.ts","sourceRoot":"","sources":["../../src/bin/frameworkConventions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,cAAc,CAAA;AACnD,eAAO,MAAM,oBAAoB,aAAa,CAAA"}
|