@seedprotocol/sdk 0.4.14 → 0.4.15
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/dist/{ArweaveClient-D6E8xe3J.js → ArweaveClient-DPeCeRMF.js} +21 -18
- package/dist/ArweaveClient-DPeCeRMF.js.map +1 -0
- package/dist/{ArweaveClient-DElJwN08.js → ArweaveClient-Zz6VwCkj.js} +21 -18
- package/dist/ArweaveClient-Zz6VwCkj.js.map +1 -0
- package/dist/{Db-De4o7jww.js → Db-Cvoi9q3N.js} +8 -5
- package/dist/Db-Cvoi9q3N.js.map +1 -0
- package/dist/{Db-DW1Un2jz.js → Db-DsFElL33.js} +356 -52
- package/dist/Db-DsFElL33.js.map +1 -0
- package/dist/{EasClient-BpGDIkmb.js → EasClient-B2N8bc3C.js} +6 -5
- package/dist/{EasClient-DGY_mkrd.js.map → EasClient-B2N8bc3C.js.map} +1 -1
- package/dist/{EasClient-DGY_mkrd.js → EasClient-D5Nn1WBF.js} +6 -5
- package/dist/{EasClient-BpGDIkmb.js.map → EasClient-D5Nn1WBF.js.map} +1 -1
- package/dist/{FileManager-DrHQbmYj.js → FileManager-Bk-JeMoA.js} +48 -11
- package/dist/FileManager-Bk-JeMoA.js.map +1 -0
- package/dist/{FileManager-Cw8mOIqZ.js → FileManager-Cqy_Lq46.js} +12 -8
- package/dist/FileManager-Cqy_Lq46.js.map +1 -0
- package/dist/{ModelProperty-D8d25NtC.js → ModelProperty-CkQaEsBu.js} +30 -28
- package/dist/ModelProperty-CkQaEsBu.js.map +1 -0
- package/dist/{PathResolver-D1k3dZg5.js → PathResolver-C3sdR5LL.js} +6 -5
- package/dist/{PathResolver-D1k3dZg5.js.map → PathResolver-C3sdR5LL.js.map} +1 -1
- package/dist/{PathResolver-BHj0UZTj.js → PathResolver-DF1QFI1d.js} +6 -5
- package/dist/{PathResolver-BHj0UZTj.js.map → PathResolver-DF1QFI1d.js.map} +1 -1
- package/dist/{QueryClient-BCVom0BA.js → QueryClient-CnONLIkA.js} +6 -5
- package/dist/{QueryClient-BCVom0BA.js.map → QueryClient-CnONLIkA.js.map} +1 -1
- package/dist/{QueryClient-D4974vvo.js → QueryClient-Ctgd0tDn.js} +6 -5
- package/dist/{QueryClient-D4974vvo.js.map → QueryClient-Ctgd0tDn.js.map} +1 -1
- package/dist/{Schema-CLlE7onI.js → Schema-Bnim4hAF.js} +90 -57
- package/dist/Schema-Bnim4hAF.js.map +1 -0
- package/dist/{SchemaValidationService-CwKY3QlY.js → SchemaValidationService-DXxRk-9Q.js} +138 -38
- package/dist/SchemaValidationService-DXxRk-9Q.js.map +1 -0
- package/dist/backfillMetadataPropertyIds-dzwzz4dA.js +67 -0
- package/dist/backfillMetadataPropertyIds-dzwzz4dA.js.map +1 -0
- package/dist/cjs/{ModelProperty-CgQ3zR-u.js → ModelProperty-C80601ai.js} +23 -21
- package/dist/cjs/ModelProperty-C80601ai.js.map +1 -0
- package/dist/cjs/{Schema-B0D7LgYb.js → Schema-6BQKp7hO.js} +60 -39
- package/dist/cjs/Schema-6BQKp7hO.js.map +1 -0
- package/dist/cjs/{SchemaValidationService-DUIOUvC_.js → SchemaValidationService-BySF1P0v.js} +138 -38
- package/dist/cjs/SchemaValidationService-BySF1P0v.js.map +1 -0
- package/dist/cjs/backfillMetadataPropertyIds-D9uzW5bW.js +84 -0
- package/dist/cjs/backfillMetadataPropertyIds-D9uzW5bW.js.map +1 -0
- package/dist/cjs/{getItem-BP4BYB4Z.js → getItem-Dj49AjWB.js} +5 -4
- package/dist/cjs/{getItem-BP4BYB4Z.js.map → getItem-Dj49AjWB.js.map} +1 -1
- package/dist/cjs/getPublishPayload-dR9co4rH.js +888 -0
- package/dist/cjs/getPublishPayload-dR9co4rH.js.map +1 -0
- package/dist/cjs/{getPublishUploads-D4DMfuOm.js → getPublishUploads-g61mgXaA.js} +111 -35
- package/dist/cjs/getPublishUploads-g61mgXaA.js.map +1 -0
- package/dist/cjs/getSegmentedItemProperties-NFvOHlAi.js +146 -0
- package/dist/cjs/getSegmentedItemProperties-NFvOHlAi.js.map +1 -0
- package/dist/cjs/{index-CUd7xS2i.js → index-9O_Ji1kY.js} +3332 -1367
- package/dist/cjs/index-9O_Ji1kY.js.map +1 -0
- package/dist/cjs/{index-BM8CSlnN.js → index-ud9i9fpp.js} +15 -7
- package/dist/cjs/index-ud9i9fpp.js.map +1 -0
- package/dist/cjs/{ownership-D3npAPnx.js → ownership-CyLRNReQ.js} +24 -7
- package/dist/cjs/ownership-CyLRNReQ.js.map +1 -0
- package/dist/cjs/property-Hj-RhQVX.js +318 -0
- package/dist/cjs/property-Hj-RhQVX.js.map +1 -0
- package/dist/db/drizzle/drizzle/0005_bright_lily_hollister.sql +27 -0
- package/dist/db/drizzle/drizzle/0006_add_publisher_to_versions_and_metadata.sql +3 -0
- package/dist/db/drizzle/drizzle/0007_add_required_to_properties.sql +1 -0
- package/dist/db/drizzle/drizzle/0008_add_revoked_at_to_seeds.sql +1 -0
- package/dist/db/drizzle/drizzle/0009_happy_namor.sql +14 -0
- package/dist/db/drizzle/drizzle/meta/0005_snapshot.json +1031 -0
- package/dist/db/drizzle/drizzle/meta/0006_snapshot.json +1045 -0
- package/dist/db/drizzle/drizzle/meta/0007_snapshot.json +1052 -0
- package/dist/db/drizzle/drizzle/meta/0008_snapshot.json +1059 -0
- package/dist/db/drizzle/drizzle/meta/0009_snapshot.json +1080 -0
- package/dist/db/drizzle/drizzle/meta/_journal.json +35 -0
- package/dist/{getItem-B_IP-uNX.js → getItem-ClK0UZqi.js} +5 -4
- package/dist/{getItem-B_IP-uNX.js.map → getItem-ClK0UZqi.js.map} +1 -1
- package/dist/getPublishPayload-CdfPTl8l.js +875 -0
- package/dist/getPublishPayload-CdfPTl8l.js.map +1 -0
- package/dist/{getPublishUploads-DPk5RcAG.js → getPublishUploads-CGBky9q9.js} +109 -15
- package/dist/getPublishUploads-CGBky9q9.js.map +1 -0
- package/dist/getSegmentedItemProperties-CJWdYH9W.js +144 -0
- package/dist/getSegmentedItemProperties-CJWdYH9W.js.map +1 -0
- package/dist/{index-DbmqfO-Q.js → index-C74KrwXN.js} +4 -2
- package/dist/index-C74KrwXN.js.map +1 -0
- package/dist/index-CgmWq1sF.js +19 -0
- package/dist/index-CgmWq1sF.js.map +1 -0
- package/dist/{index-Dh_gxItx.js → index-uPXtq2cf.js} +3321 -1376
- package/dist/index-uPXtq2cf.js.map +1 -0
- package/dist/main.cjs +7 -4
- package/dist/main.cjs.map +1 -1
- package/dist/main.js +138 -2218
- package/dist/main.js.map +1 -1
- package/dist/node.js +13 -12
- package/dist/node.js.map +1 -1
- package/dist/{ownership-CEv7BhIh.js → ownership-QK5haR3-.js} +24 -7
- package/dist/ownership-QK5haR3-.js.map +1 -0
- package/dist/{property-CppuVi-i.js → property-Dt0U3UXJ.js} +26 -6
- package/dist/property-Dt0U3UXJ.js.map +1 -0
- package/dist/{queries-B1vaglQW.js → queries-BUB-vUBm.js} +2 -2
- package/dist/{queries-B1vaglQW.js.map → queries-BUB-vUBm.js.map} +1 -1
- package/dist/seedSchema/AppStateSchema.d.ts +82 -0
- package/dist/seedSchema/AppStateSchema.d.ts.map +1 -0
- package/dist/seedSchema/ConfigSchema.d.ts +101 -0
- package/dist/seedSchema/ConfigSchema.d.ts.map +1 -0
- package/dist/seedSchema/MetadataSchema.d.ts +422 -0
- package/dist/seedSchema/MetadataSchema.d.ts.map +1 -0
- package/dist/seedSchema/MetadataSchema.ts +4 -1
- package/dist/seedSchema/ModelSchema.d.ts +243 -0
- package/dist/seedSchema/ModelSchema.d.ts.map +1 -0
- package/dist/seedSchema/ModelSchema.ts +1 -0
- package/dist/seedSchema/ModelSchemaSchema.d.ts +61 -0
- package/dist/seedSchema/ModelSchemaSchema.d.ts.map +1 -0
- package/dist/seedSchema/ModelUidSchema.d.ts +64 -0
- package/dist/seedSchema/ModelUidSchema.d.ts.map +1 -0
- package/dist/seedSchema/PropertyUidSchema.d.ts +64 -0
- package/dist/seedSchema/PropertyUidSchema.d.ts.map +1 -0
- package/dist/seedSchema/PropertyUidSchema.ts +2 -2
- package/dist/seedSchema/PublishProcessSchema.ts +22 -0
- package/dist/seedSchema/SchemaSchema.d.ts +169 -0
- package/dist/seedSchema/SchemaSchema.d.ts.map +1 -0
- package/dist/seedSchema/SeedSchema.d.ts +192 -0
- package/dist/seedSchema/SeedSchema.d.ts.map +1 -0
- package/dist/seedSchema/SeedSchema.ts +1 -0
- package/dist/seedSchema/UploadProcessSchema.ts +14 -0
- package/dist/seedSchema/VersionSchema.d.ts +194 -0
- package/dist/seedSchema/VersionSchema.d.ts.map +1 -0
- package/dist/seedSchema/VersionSchema.ts +1 -0
- package/dist/seedSchema/index.d.ts +11 -0
- package/dist/seedSchema/index.d.ts.map +1 -0
- package/dist/seedSchema/index.ts +2 -0
- package/dist/src/Item/Item.d.ts +5 -1
- package/dist/src/Item/Item.d.ts.map +1 -1
- package/dist/src/Item/queries.d.ts.map +1 -1
- package/dist/src/Item/service/actors/loadOrCreateItem.d.ts.map +1 -1
- package/dist/src/Item/service/actors/saveDataToDb.d.ts.map +1 -1
- package/dist/src/Item/service/itemMachineSingle.d.ts.map +1 -1
- package/dist/src/ItemProperty/ItemProperty.d.ts +4 -0
- package/dist/src/ItemProperty/ItemProperty.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/hydrateFromDb.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/loadOrCreateProperty.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/resolveRelatedValue.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/analyzeInput.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveFile.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveHtml.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveImage.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/actors/saveValueToDb/saveItemStorage.d.ts.map +1 -1
- package/dist/src/ItemProperty/service/propertyMachine.d.ts.map +1 -1
- package/dist/src/Model/index.d.ts +1 -0
- package/dist/src/Model/index.d.ts.map +1 -1
- package/dist/src/Model/service/actors/createModelProperties.d.ts.map +1 -1
- package/dist/src/Model/service/modelMachine.d.ts +2 -2
- package/dist/src/ModelProperty/ModelProperty.d.ts +1 -1
- package/dist/src/ModelProperty/ModelProperty.d.ts.map +1 -1
- package/dist/src/ModelProperty/service/modelPropertyMachine.d.ts +17 -17
- package/dist/src/Schema/Schema.d.ts +1 -0
- package/dist/src/Schema/Schema.d.ts.map +1 -1
- package/dist/src/Schema/service/actors/loadOrCreateSchema.d.ts.map +1 -1
- package/dist/src/Schema/service/addModelsMachine.d.ts +14 -14
- package/dist/src/Schema/service/addModelsMachine.d.ts.map +1 -1
- package/dist/src/Schema/service/schemaMachine.d.ts +87 -87
- package/dist/src/Schema/service/validation/SchemaValidationService.d.ts +5 -1
- package/dist/src/Schema/service/validation/SchemaValidationService.d.ts.map +1 -1
- package/dist/src/Schema/validation.d.ts +2 -0
- package/dist/src/Schema/validation.d.ts.map +1 -1
- package/dist/src/browser/db/Db.d.ts +3 -1
- package/dist/src/browser/db/Db.d.ts.map +1 -1
- package/dist/src/browser/db/drizzleFiles.d.ts +7 -2
- package/dist/src/browser/db/drizzleFiles.d.ts.map +1 -1
- package/dist/src/browser/helpers/ArweaveClient.d.ts.map +1 -1
- package/dist/src/browser/helpers/FileManager.d.ts +1 -0
- package/dist/src/browser/helpers/FileManager.d.ts.map +1 -1
- package/dist/src/browser/index.d.ts +0 -1
- package/dist/src/browser/index.d.ts.map +1 -1
- package/dist/src/browser/workers/ImageResizer.d.ts.map +1 -1
- package/dist/src/browser/workers/imageResize.d.ts.map +1 -1
- package/dist/src/client/ClientManager.d.ts +11 -0
- package/dist/src/client/ClientManager.d.ts.map +1 -1
- package/dist/src/client/actors/addModelsToDb.d.ts.map +1 -1
- package/dist/src/client/actors/dbInit.d.ts.map +1 -1
- package/dist/src/client/actors/platformClassesInit.d.ts.map +1 -1
- package/dist/src/client/actors/processSchemaFiles.d.ts.map +1 -1
- package/dist/src/client/clientManagerMachine.d.ts.map +1 -1
- package/dist/src/db/Db/BaseDb.d.ts.map +1 -1
- package/dist/src/db/backfillMetadataPropertyIds.d.ts +7 -0
- package/dist/src/db/backfillMetadataPropertyIds.d.ts.map +1 -0
- package/dist/src/db/configs/dev.schema.config.d.ts.map +1 -1
- package/dist/src/db/read/getAttesterForSeed.d.ts +13 -0
- package/dist/src/db/read/getAttesterForSeed.d.ts.map +1 -0
- package/dist/src/db/read/getItemData.d.ts.map +1 -1
- package/dist/src/db/read/getItems.d.ts.map +1 -1
- package/dist/src/db/read/getMetadataAttestationUidsForSeedUid.d.ts +9 -0
- package/dist/src/db/read/getMetadataAttestationUidsForSeedUid.d.ts.map +1 -0
- package/dist/src/db/read/getPropertyData.d.ts +1 -1
- package/dist/src/db/read/getPropertyData.d.ts.map +1 -1
- package/dist/src/db/read/getPublishPayload.d.ts +26 -2
- package/dist/src/db/read/getPublishPayload.d.ts.map +1 -1
- package/dist/src/db/read/getPublishUploads.d.ts +1 -0
- package/dist/src/db/read/getPublishUploads.d.ts.map +1 -1
- package/dist/src/db/read/getRelatedItemsForPublish.d.ts.map +1 -1
- package/dist/src/db/read/getVersionsForSeedUid.d.ts +4 -0
- package/dist/src/db/read/getVersionsForSeedUid.d.ts.map +1 -0
- package/dist/src/db/read/subqueries/metadataLatest.d.ts.map +1 -1
- package/dist/src/db/write/createMetadata.d.ts +15 -1
- package/dist/src/db/write/createMetadata.d.ts.map +1 -1
- package/dist/src/db/write/createNewItem.d.ts.map +1 -1
- package/dist/src/db/write/createSeed.d.ts.map +1 -1
- package/dist/src/db/write/createVersion.d.ts.map +1 -1
- package/dist/src/db/write/updateItemPropertyValue.d.ts +2 -0
- package/dist/src/db/write/updateItemPropertyValue.d.ts.map +1 -1
- package/dist/src/db/write/updateMetadata.d.ts.map +1 -1
- package/dist/src/db/write/updateSeedRevokedAt.d.ts +10 -0
- package/dist/src/db/write/updateSeedRevokedAt.d.ts.map +1 -0
- package/dist/src/db/write/updateSeedUid.d.ts +6 -1
- package/dist/src/db/write/updateSeedUid.d.ts.map +1 -1
- package/dist/src/db/write/updateVersionUid.d.ts +13 -0
- package/dist/src/db/write/updateVersionUid.d.ts.map +1 -0
- package/dist/src/eas.d.ts +5 -2
- package/dist/src/eas.d.ts.map +1 -1
- package/dist/src/events/item/syncDbWithEas.d.ts +10 -0
- package/dist/src/events/item/syncDbWithEas.d.ts.map +1 -1
- package/dist/src/graphql/gql/gql.d.ts +2 -7
- package/dist/src/graphql/gql/gql.d.ts.map +1 -1
- package/dist/src/graphql/gql/graphql.d.ts +2 -16
- package/dist/src/graphql/gql/graphql.d.ts.map +1 -1
- package/dist/src/helpers/ArweaveClient/BaseArweaveClient.d.ts +22 -8
- package/dist/src/helpers/ArweaveClient/BaseArweaveClient.d.ts.map +1 -1
- package/dist/src/helpers/ArweaveClient/index.d.ts.map +1 -1
- package/dist/src/helpers/ArweaveClient/uploadApiVerification.d.ts +19 -0
- package/dist/src/helpers/ArweaveClient/uploadApiVerification.d.ts.map +1 -0
- package/dist/src/helpers/FileManager/BaseFileManager.d.ts +4 -0
- package/dist/src/helpers/FileManager/BaseFileManager.d.ts.map +1 -1
- package/dist/src/helpers/constants.d.ts.map +1 -1
- package/dist/src/helpers/crypto.d.ts +6 -0
- package/dist/src/helpers/crypto.d.ts.map +1 -1
- package/dist/src/helpers/db.d.ts +25 -0
- package/dist/src/helpers/db.d.ts.map +1 -1
- package/dist/src/helpers/easRevokedFilter.d.ts +10 -0
- package/dist/src/helpers/easRevokedFilter.d.ts.map +1 -0
- package/dist/src/helpers/file/queries.d.ts.map +1 -1
- package/dist/src/helpers/getSegmentedItemProperties.d.ts +2 -2
- package/dist/src/helpers/getSegmentedItemProperties.d.ts.map +1 -1
- package/dist/src/helpers/index.d.ts +3 -0
- package/dist/src/helpers/index.d.ts.map +1 -1
- package/dist/src/helpers/listPropertyValueFromStorage.d.ts +5 -0
- package/dist/src/helpers/listPropertyValueFromStorage.d.ts.map +1 -0
- package/dist/src/helpers/metadataPropertyNames.d.ts +50 -0
- package/dist/src/helpers/metadataPropertyNames.d.ts.map +1 -0
- package/dist/src/helpers/model.d.ts.map +1 -1
- package/dist/src/helpers/ownership.d.ts +2 -0
- package/dist/src/helpers/ownership.d.ts.map +1 -1
- package/dist/src/helpers/property/index.d.ts +24 -12
- package/dist/src/helpers/property/index.d.ts.map +1 -1
- package/dist/src/helpers/property.d.ts.map +1 -1
- package/dist/src/helpers/publishConfig.d.ts +36 -0
- package/dist/src/helpers/publishConfig.d.ts.map +1 -1
- package/dist/src/helpers/schema.d.ts.map +1 -1
- package/dist/src/helpers/updateSchema.d.ts +2 -5
- package/dist/src/helpers/updateSchema.d.ts.map +1 -1
- package/dist/src/imports/index.d.ts +1 -1
- package/dist/src/imports/index.d.ts.map +1 -1
- package/dist/src/imports/json.d.ts +16 -1
- package/dist/src/imports/json.d.ts.map +1 -1
- package/dist/src/index.d.ts +33 -8
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/interfaces/IItem.d.ts +5 -1
- package/dist/src/interfaces/IItem.d.ts.map +1 -1
- package/dist/src/interfaces/IItemProperty.d.ts +3 -0
- package/dist/src/interfaces/IItemProperty.d.ts.map +1 -1
- package/dist/src/node/db/Db.d.ts.map +1 -1
- package/dist/src/node/helpers/ArweaveClient.d.ts.map +1 -1
- package/dist/src/node/helpers/FileManager.d.ts +1 -0
- package/dist/src/node/helpers/FileManager.d.ts.map +1 -1
- package/dist/src/seedSchema/MetadataSchema.d.ts +36 -0
- package/dist/src/seedSchema/MetadataSchema.d.ts.map +1 -1
- package/dist/src/seedSchema/ModelSchema.d.ts +17 -0
- package/dist/src/seedSchema/ModelSchema.d.ts.map +1 -1
- package/dist/src/seedSchema/PublishProcessSchema.d.ts +285 -0
- package/dist/src/seedSchema/PublishProcessSchema.d.ts.map +1 -0
- package/dist/src/seedSchema/SeedSchema.d.ts +17 -0
- package/dist/src/seedSchema/SeedSchema.d.ts.map +1 -1
- package/dist/src/seedSchema/UploadProcessSchema.d.ts +135 -0
- package/dist/src/seedSchema/UploadProcessSchema.d.ts.map +1 -0
- package/dist/src/seedSchema/VersionSchema.d.ts +19 -0
- package/dist/src/seedSchema/VersionSchema.d.ts.map +1 -1
- package/dist/src/seedSchema/index.d.ts +2 -0
- package/dist/src/seedSchema/index.d.ts.map +1 -1
- package/dist/src/services/write/writeProcessMachine.d.ts +1 -1
- package/dist/src/types/arweave.d.ts +2 -1
- package/dist/src/types/arweave.d.ts.map +1 -1
- package/dist/src/types/db.d.ts +2 -0
- package/dist/src/types/db.d.ts.map +1 -1
- package/dist/src/types/import.d.ts +3 -0
- package/dist/src/types/import.d.ts.map +1 -1
- package/dist/src/types/index.d.ts +9 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/item.d.ts +13 -0
- package/dist/src/types/item.d.ts.map +1 -1
- package/dist/src/types/machines.d.ts +1 -0
- package/dist/src/types/machines.d.ts.map +1 -1
- package/dist/src/types/property.d.ts +11 -2
- package/dist/src/types/property.d.ts.map +1 -1
- package/dist/src/vite/index.d.ts.map +1 -1
- package/dist/vite.cjs +2 -127
- package/dist/vite.cjs.map +1 -1
- package/dist/vite.js +2 -127
- package/dist/vite.js.map +1 -1
- package/package.json +4 -11
- package/dist/ArweaveClient-D6E8xe3J.js.map +0 -1
- package/dist/ArweaveClient-DElJwN08.js.map +0 -1
- package/dist/Db-DW1Un2jz.js.map +0 -1
- package/dist/Db-De4o7jww.js.map +0 -1
- package/dist/FileManager-Cw8mOIqZ.js.map +0 -1
- package/dist/FileManager-DrHQbmYj.js.map +0 -1
- package/dist/ModelProperty-D8d25NtC.js.map +0 -1
- package/dist/Schema-CLlE7onI.js.map +0 -1
- package/dist/SchemaValidationService-CwKY3QlY.js.map +0 -1
- package/dist/cjs/ModelProperty-CgQ3zR-u.js.map +0 -1
- package/dist/cjs/Schema-B0D7LgYb.js.map +0 -1
- package/dist/cjs/SchemaValidationService-DUIOUvC_.js.map +0 -1
- package/dist/cjs/getPublishPayload-B90BFd8m.js +0 -520
- package/dist/cjs/getPublishPayload-B90BFd8m.js.map +0 -1
- package/dist/cjs/getPublishUploads-D4DMfuOm.js.map +0 -1
- package/dist/cjs/getSegmentedItemProperties-KdudlzXm.js +0 -71
- package/dist/cjs/getSegmentedItemProperties-KdudlzXm.js.map +0 -1
- package/dist/cjs/index-BM8CSlnN.js.map +0 -1
- package/dist/cjs/index-CUd7xS2i.js.map +0 -1
- package/dist/cjs/ownership-D3npAPnx.js.map +0 -1
- package/dist/getPublishPayload-BekDN5Ti.js +0 -503
- package/dist/getPublishPayload-BekDN5Ti.js.map +0 -1
- package/dist/getPublishUploads-DPk5RcAG.js.map +0 -1
- package/dist/getSegmentedItemProperties-DfQNbOpb.js +0 -69
- package/dist/getSegmentedItemProperties-DfQNbOpb.js.map +0 -1
- package/dist/index-DbmqfO-Q.js.map +0 -1
- package/dist/index-Dh_gxItx.js.map +0 -1
- package/dist/index-XBnjc_SF.js +0 -18
- package/dist/index-XBnjc_SF.js.map +0 -1
- package/dist/ownership-CEv7BhIh.js.map +0 -1
- package/dist/property-CppuVi-i.js.map +0 -1
- package/dist/src/browser/react/OPFSImage.d.ts +0 -7
- package/dist/src/browser/react/OPFSImage.d.ts.map +0 -1
- package/dist/src/browser/react/SeedImage.d.ts +0 -11
- package/dist/src/browser/react/SeedImage.d.ts.map +0 -1
- package/dist/src/browser/react/SeedProvider.d.ts +0 -30
- package/dist/src/browser/react/SeedProvider.d.ts.map +0 -1
- package/dist/src/browser/react/client.d.ts +0 -2
- package/dist/src/browser/react/client.d.ts.map +0 -1
- package/dist/src/browser/react/db.d.ts +0 -4
- package/dist/src/browser/react/db.d.ts.map +0 -1
- package/dist/src/browser/react/index.d.ts +0 -14
- package/dist/src/browser/react/index.d.ts.map +0 -1
- package/dist/src/browser/react/item.d.ts +0 -44
- package/dist/src/browser/react/item.d.ts.map +0 -1
- package/dist/src/browser/react/itemProperty.d.ts +0 -93
- package/dist/src/browser/react/itemProperty.d.ts.map +0 -1
- package/dist/src/browser/react/liveQuery.d.ts +0 -29
- package/dist/src/browser/react/liveQuery.d.ts.map +0 -1
- package/dist/src/browser/react/model.d.ts +0 -48
- package/dist/src/browser/react/model.d.ts.map +0 -1
- package/dist/src/browser/react/modelProperty.d.ts +0 -82
- package/dist/src/browser/react/modelProperty.d.ts.map +0 -1
- package/dist/src/browser/react/queryClient.d.ts +0 -28
- package/dist/src/browser/react/queryClient.d.ts.map +0 -1
- package/dist/src/browser/react/schema.d.ts +0 -45
- package/dist/src/browser/react/schema.d.ts.map +0 -1
- package/dist/src/browser/react/services.d.ts +0 -24
- package/dist/src/browser/react/services.d.ts.map +0 -1
- package/dist/src/browser/react/trash.d.ts +0 -9
- package/dist/src/browser/react/trash.d.ts.map +0 -1
- package/dist/src/browser/react/useImageFiles.d.ts +0 -19
- package/dist/src/browser/react/useImageFiles.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../../../src/types/machines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAK1C,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,CAAA;IACjC,kBAAkB,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAA;IACtC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG;IACvD,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,mBAAmB,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,qBAAqB,CAAA;IAC3B,YAAY,EAAE,GAAG,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,IAAI;IAChD,OAAO,EAAE,CAAC,CAAA;IACV,KAAK,CAAC,EAAE,CAAC,CAAA;CACV,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,CAAA;IACjC,OAAO,CAAC,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAA;IACpD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,SAAS,EAAE,QAAQ,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;CAC3B,CAAA"}
|
|
1
|
+
{"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../../../src/types/machines.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAK1C,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,CAAA;IACjC,kBAAkB,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAA;IACtC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,GAAG;IACvD,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,mBAAmB,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,qBAAqB,CAAA;IAC3B,YAAY,EAAE,GAAG,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,IAAI;IAChD,OAAO,EAAE,CAAC,CAAA;IACV,KAAK,CAAC,EAAE,CAAC,CAAA;CACV,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,CAAA;IACjC,OAAO,CAAC,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAA;IACpD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,SAAS,EAAE,QAAQ,CAAA;IACrC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAA;IAClC,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;CAC3B,CAAA"}
|
|
@@ -30,7 +30,10 @@ export type PropertyData = {
|
|
|
30
30
|
createdAt: number;
|
|
31
31
|
updatedAt: number;
|
|
32
32
|
};
|
|
33
|
-
export type
|
|
33
|
+
export type ItemPropertyValueType = string | number | Record<string, unknown> | null | undefined | any[];
|
|
34
|
+
/** DB metadata uses string `property_value`; machine context also holds parsed List values as arrays. */
|
|
35
|
+
export type PropertyMachineContext = Omit<Partial<MetadataType>, 'propertyValue'> & {
|
|
36
|
+
propertyValue?: ItemPropertyValueType;
|
|
34
37
|
populatedFromDb?: boolean;
|
|
35
38
|
isSaving: boolean;
|
|
36
39
|
propertyRecordSchema?: PropertyType;
|
|
@@ -46,8 +49,14 @@ export type PropertyMachineContext = Partial<MetadataType> & {
|
|
|
46
49
|
message: string;
|
|
47
50
|
name?: string;
|
|
48
51
|
} | null;
|
|
52
|
+
/** Validation errors from last failed save (enum, pattern, etc.). Cleared on successful save. */
|
|
53
|
+
_saveValidationErrors?: import('@/Schema/validation').ValidationError[];
|
|
54
|
+
/** Error from last failed save (e.g. file save, metadata creation). Cleared on successful save. */
|
|
55
|
+
_saveError?: {
|
|
56
|
+
message: string;
|
|
57
|
+
name?: string;
|
|
58
|
+
} | null;
|
|
49
59
|
};
|
|
50
|
-
export type ItemPropertyValueType = string | number | Record<string, unknown> | null | undefined | any[];
|
|
51
60
|
export type SaveValueToDbEvent = {
|
|
52
61
|
type: 'saveValueToDb';
|
|
53
62
|
newValue: ItemPropertyValueType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property.d.ts","sourceRoot":"","sources":["../../../src/types/property.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,YAAY,EACb,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE/D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAA;AAErD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,SAAS,CAAC,CAAA;AAEnD,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,YAAY,CAAA;AAEhE,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAA;AAEvD,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;AAE7B,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEnD,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,aAAa,CAAA;IACtB,IAAI,EAAE,aAAa,CAAA;IACnB,QAAQ,EAAE,aAAa,CAAA;IACvB,YAAY,EAAE,aAAa,CAAA;IAC3B,UAAU,EAAE,aAAa,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;
|
|
1
|
+
{"version":3,"file":"property.d.ts","sourceRoot":"","sources":["../../../src/types/property.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vite/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vite/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,MAAM,CAAA;AAQ9C,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IAEpB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AASD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,MAAM,EAAE,CAqO5E"}
|
package/dist/vite.cjs
CHANGED
|
@@ -1,45 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var node_module = require('node:module');
|
|
4
|
-
var path = require('node:path');
|
|
5
|
-
var node_url = require('node:url');
|
|
6
4
|
var vitePluginNodePolyfills = require('vite-plugin-node-polyfills');
|
|
7
5
|
|
|
8
6
|
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
9
|
-
|
|
10
|
-
function resolveXstateDep(id, importer) {
|
|
11
|
-
const searchPaths = [process.cwd()];
|
|
12
|
-
if (importer) {
|
|
13
|
-
let dir = path.dirname(importer);
|
|
14
|
-
for (let i = 0; i < 5 && dir; i++) {
|
|
15
|
-
searchPaths.push(dir);
|
|
16
|
-
dir = path.dirname(dir);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
const sdkDir = path.resolve(node_url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('vite.cjs', document.baseURI).href))), '../../..');
|
|
20
|
-
searchPaths.push(sdkDir, path.resolve(sdkDir, '../..'));
|
|
21
|
-
for (const dir of searchPaths) {
|
|
22
|
-
try {
|
|
23
|
-
return _req.resolve(id, { paths: [dir] });
|
|
24
|
-
}
|
|
25
|
-
catch {
|
|
26
|
-
continue;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
// #region agent log
|
|
32
|
-
const _dbg = (d) => {
|
|
33
|
-
fetch('http://127.0.0.1:7242/ingest/0978b378-ebae-46bf-8fd3-134ef2e16cdd', {
|
|
34
|
-
method: 'POST',
|
|
35
|
-
headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '73e96f' },
|
|
36
|
-
body: JSON.stringify({
|
|
37
|
-
sessionId: '73e96f',
|
|
38
|
-
...d,
|
|
39
|
-
timestamp: Date.now(),
|
|
40
|
-
}),
|
|
41
|
-
}).catch(() => { });
|
|
42
|
-
};
|
|
7
|
+
node_module.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('vite.cjs', document.baseURI).href)));
|
|
43
8
|
const DEFAULT_FS_MODULES = [
|
|
44
9
|
'fs',
|
|
45
10
|
'fs/promises',
|
|
@@ -65,14 +30,6 @@ const DEFAULT_FS_MODULES = [
|
|
|
65
30
|
* await configure({ mounts: { '/': IndexedDB } });
|
|
66
31
|
*/
|
|
67
32
|
function seedVitePlugin(options = {}) {
|
|
68
|
-
// #region agent log
|
|
69
|
-
_dbg({
|
|
70
|
-
hypothesisId: 'D',
|
|
71
|
-
location: 'vite/index.ts:seedVitePlugin',
|
|
72
|
-
message: 'seedVitePlugin loaded',
|
|
73
|
-
data: { options: Object.keys(options) },
|
|
74
|
-
});
|
|
75
|
-
// #endregion
|
|
76
33
|
const { fsModules = DEFAULT_FS_MODULES, autoInit = false, debug = false, includeNodePolyfills = true, } = options;
|
|
77
34
|
/**
|
|
78
35
|
* Pre-plugin: configure aliases and optimizeDeps.
|
|
@@ -85,31 +42,6 @@ function seedVitePlugin(options = {}) {
|
|
|
85
42
|
// Always use browser-friendly path implementation
|
|
86
43
|
// path: 'path-browserify',
|
|
87
44
|
};
|
|
88
|
-
// Resolve @xstate/react transitive deps for production builds (optimizeDeps only helps dev).
|
|
89
|
-
// Bun/workspace layouts can leave these in virtual store; Rollup fails to resolve them.
|
|
90
|
-
const xstateDepIds = [
|
|
91
|
-
'use-isomorphic-layout-effect',
|
|
92
|
-
'use-sync-external-store',
|
|
93
|
-
'use-sync-external-store/shim',
|
|
94
|
-
'use-sync-external-store/shim/with-selector',
|
|
95
|
-
];
|
|
96
|
-
for (const id of xstateDepIds) {
|
|
97
|
-
// const resolved = resolveXstateDep(id)
|
|
98
|
-
// if (resolved) {
|
|
99
|
-
// alias[id] = resolved
|
|
100
|
-
// xstateResolved++
|
|
101
|
-
// }
|
|
102
|
-
}
|
|
103
|
-
{
|
|
104
|
-
// #region agent log
|
|
105
|
-
_dbg({
|
|
106
|
-
hypothesisId: 'fix',
|
|
107
|
-
location: 'vite/index.ts:configPlugin.alias',
|
|
108
|
-
message: 'failed to resolve any @xstate/react deps',
|
|
109
|
-
data: { cwd: process.cwd() },
|
|
110
|
-
});
|
|
111
|
-
// #endregion
|
|
112
|
-
}
|
|
113
45
|
for (const mod of fsModules) {
|
|
114
46
|
const isPromises = mod.includes('promises');
|
|
115
47
|
const target = isPromises ? '@zenfs/core/promises' : '@zenfs/core';
|
|
@@ -147,23 +79,8 @@ function seedVitePlugin(options = {}) {
|
|
|
147
79
|
// viem dynamically imports isows; pre-bundle both so Rollup can resolve them
|
|
148
80
|
'viem',
|
|
149
81
|
'isows',
|
|
150
|
-
// @xstate/react transitive deps; must be pre-bundled so Rollup can resolve them
|
|
151
|
-
// (Bun/workspace layouts can leave these in virtual store, breaking resolution)
|
|
152
|
-
'use-isomorphic-layout-effect',
|
|
153
|
-
'use-sync-external-store',
|
|
154
82
|
],
|
|
155
83
|
};
|
|
156
|
-
// #region agent log
|
|
157
|
-
_dbg({
|
|
158
|
-
hypothesisId: 'A,B',
|
|
159
|
-
location: 'vite/index.ts:configPlugin.config',
|
|
160
|
-
message: 'configPlugin returning optimizeDeps',
|
|
161
|
-
data: {
|
|
162
|
-
optimizeDepsInclude: optimizeDeps.include,
|
|
163
|
-
userOptimizeDepsInclude: userConfig.optimizeDeps?.include,
|
|
164
|
-
},
|
|
165
|
-
});
|
|
166
|
-
// #endregion
|
|
167
84
|
return {
|
|
168
85
|
resolve: {
|
|
169
86
|
alias,
|
|
@@ -174,19 +91,6 @@ function seedVitePlugin(options = {}) {
|
|
|
174
91
|
optimizeDeps,
|
|
175
92
|
};
|
|
176
93
|
},
|
|
177
|
-
configResolved(resolvedConfig) {
|
|
178
|
-
// #region agent log
|
|
179
|
-
_dbg({
|
|
180
|
-
hypothesisId: 'B',
|
|
181
|
-
location: 'vite/index.ts:configPlugin.configResolved',
|
|
182
|
-
message: 'final merged optimizeDeps',
|
|
183
|
-
data: {
|
|
184
|
-
include: resolvedConfig.optimizeDeps?.include,
|
|
185
|
-
exclude: resolvedConfig.optimizeDeps?.exclude,
|
|
186
|
-
},
|
|
187
|
-
});
|
|
188
|
-
// #endregion
|
|
189
|
-
},
|
|
190
94
|
};
|
|
191
95
|
/**
|
|
192
96
|
* Post-plugin: build configuration + optional ZenFS init.
|
|
@@ -299,36 +203,7 @@ if (!window.__seedFsReady) {
|
|
|
299
203
|
return html + initScript;
|
|
300
204
|
},
|
|
301
205
|
};
|
|
302
|
-
const
|
|
303
|
-
name: 'seed-protocol:resolve-xstate-deps',
|
|
304
|
-
enforce: 'pre',
|
|
305
|
-
resolveId(id, importer) {
|
|
306
|
-
if (id === 'use-isomorphic-layout-effect' || id.startsWith('use-sync-external-store')) {
|
|
307
|
-
const resolved = resolveXstateDep(id, importer);
|
|
308
|
-
if (resolved) {
|
|
309
|
-
// #region agent log
|
|
310
|
-
_dbg({
|
|
311
|
-
hypothesisId: 'fix',
|
|
312
|
-
location: 'vite/index.ts:resolveXstateDepsPlugin',
|
|
313
|
-
message: 'resolved @xstate/react dep',
|
|
314
|
-
data: { id, resolved },
|
|
315
|
-
});
|
|
316
|
-
// #endregion
|
|
317
|
-
return resolved;
|
|
318
|
-
}
|
|
319
|
-
// #region agent log
|
|
320
|
-
_dbg({
|
|
321
|
-
hypothesisId: 'fix',
|
|
322
|
-
location: 'vite/index.ts:resolveXstateDepsPlugin',
|
|
323
|
-
message: 'failed to resolve @xstate/react dep',
|
|
324
|
-
data: { id, importer: importer ?? 'unknown' },
|
|
325
|
-
});
|
|
326
|
-
// #endregion
|
|
327
|
-
}
|
|
328
|
-
return null;
|
|
329
|
-
},
|
|
330
|
-
};
|
|
331
|
-
const plugins = [configPlugin, resolveXstateDepsPlugin, mainPlugin];
|
|
206
|
+
const plugins = [configPlugin, mainPlugin];
|
|
332
207
|
if (includeNodePolyfills) {
|
|
333
208
|
plugins.push(vitePluginNodePolyfills.nodePolyfills({
|
|
334
209
|
// Let fs be handled by @zenfs/core instead of polyfills
|
package/dist/vite.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.cjs","sources":["../../src/vite/index.ts"],"sourcesContent":["import type { Plugin, UserConfig } from 'vite'\nimport { createRequire } from 'node:module'\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport { nodePolyfills } from 'vite-plugin-node-polyfills'\n\nconst _req = createRequire(import.meta.url)\n\nfunction resolveXstateDep(id: string, importer?: string): string | null {\n const searchPaths: string[] = [process.cwd()]\n if (importer) {\n let dir = path.dirname(importer)\n for (let i = 0; i < 5 && dir; i++) {\n searchPaths.push(dir)\n dir = path.dirname(dir)\n }\n }\n const sdkDir = path.resolve(fileURLToPath(import.meta.url), '../../..')\n searchPaths.push(sdkDir, path.resolve(sdkDir, '../..'))\n for (const dir of searchPaths) {\n try {\n return _req.resolve(id, { paths: [dir] })\n } catch {\n continue\n }\n }\n return null\n}\n\n// #region agent log\nconst _dbg = (d: { hypothesisId?: string; location: string; message: string; data?: object }) => {\n fetch('http://127.0.0.1:7242/ingest/0978b378-ebae-46bf-8fd3-134ef2e16cdd', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '73e96f' },\n body: JSON.stringify({\n sessionId: '73e96f',\n ...d,\n timestamp: Date.now(),\n }),\n }).catch(() => {})\n}\n// #endregion\n\nexport interface SeedVitePluginOptions {\n /**\n * Additional modules to alias to ZenFS equivalents.\n * @default ['fs', 'fs/promises', 'node:fs', 'node:fs/promises']\n */\n fsModules?: string[]\n\n /**\n * Whether to inject automatic ZenFS initialization script into index.html.\n * When true, injects a <script type=\"module\"> that imports from '@zenfs/core'/'@zenfs/dom'.\n * Browsers cannot resolve those bare specifiers, so the script fails at runtime unless you use\n * an import map or load ZenFS another way. Prefer false and initialize ZenFS in your entry:\n * import { configure } from '@zenfs/core'; import { IndexedDB } from '@zenfs/dom';\n * await configure({ mounts: { '/': IndexedDB } });\n * @default false\n */\n autoInit?: boolean\n\n /**\n * Enable debug logging.\n * @default false\n */\n debug?: boolean\n\n /**\n * Whether to automatically include vite-plugin-node-polyfills with sensible defaults.\n * @default true\n */\n includeNodePolyfills?: boolean\n}\n\nconst DEFAULT_FS_MODULES = [\n 'fs',\n 'fs/promises',\n 'node:fs',\n 'node:fs/promises',\n]\n\n/**\n * Minimal Vite plugin to make the SDK work in browser/Electron renderer:\n * - Aliases fs → @zenfs/core (and promises variant)\n * - Aliases path → path-browserify\n * - Ensures CommonJS in SDK dist is transformed by Vite's CommonJS plugin\n * - Optionally injects a simple ZenFS initialization script\n * - Optionally wires up vite-plugin-node-polyfills with safe defaults\n *\n * This plugin assumes the SDK does not bundle Node-only code in the browser entry.\n * For Electron, Node-only work (e.g. drizzle-kit, better-sqlite3) should run in the\n * main process; the renderer should only use browser-safe SDK usage.\n *\n * For the renderer build:\n * - Use the SDK's ESM entry: import from '@seedprotocol/sdk' (resolves to dist/main.js).\n * - When autoInit is false (default), initialize ZenFS in your entry:\n * import { configure } from '@zenfs/core'; import { IndexedDB } from '@zenfs/dom';\n * await configure({ mounts: { '/': IndexedDB } });\n */\nexport function seedVitePlugin(options: SeedVitePluginOptions = {}): Plugin[] {\n // #region agent log\n _dbg({\n hypothesisId: 'D',\n location: 'vite/index.ts:seedVitePlugin',\n message: 'seedVitePlugin loaded',\n data: { options: Object.keys(options) },\n })\n // #endregion\n const {\n fsModules = DEFAULT_FS_MODULES,\n autoInit = false,\n debug = false,\n includeNodePolyfills = true,\n } = options\n\n const log = (...args: unknown[]) => {\n }\n\n /**\n * Pre-plugin: configure aliases and optimizeDeps.\n */\n const configPlugin: Plugin = {\n name: 'seed-protocol:config',\n enforce: 'pre',\n\n config(userConfig) {\n const alias: Record<string, string> = {\n // Always use browser-friendly path implementation\n // path: 'path-browserify',\n }\n\n // Resolve @xstate/react transitive deps for production builds (optimizeDeps only helps dev).\n // Bun/workspace layouts can leave these in virtual store; Rollup fails to resolve them.\n const xstateDepIds = [\n 'use-isomorphic-layout-effect',\n 'use-sync-external-store',\n 'use-sync-external-store/shim',\n 'use-sync-external-store/shim/with-selector',\n ]\n let xstateResolved = 0\n for (const id of xstateDepIds) {\n // const resolved = resolveXstateDep(id)\n // if (resolved) {\n // alias[id] = resolved\n // xstateResolved++\n // }\n }\n if (xstateResolved > 0) {\n // #region agent log\n _dbg({\n hypothesisId: 'fix',\n location: 'vite/index.ts:configPlugin.alias',\n message: 'resolve.alias added for @xstate/react deps',\n data: { aliasKeys: Object.keys(alias) },\n })\n // #endregion\n } else {\n // #region agent log\n _dbg({\n hypothesisId: 'fix',\n location: 'vite/index.ts:configPlugin.alias',\n message: 'failed to resolve any @xstate/react deps',\n data: { cwd: process.cwd() },\n })\n // #endregion\n }\n\n for (const mod of fsModules) {\n const isPromises = mod.includes('promises')\n const target = isPromises ? '@zenfs/core/promises' : '@zenfs/core'\n alias[mod] = target\n }\n\n // Merge with any existing aliases\n const existingAlias = userConfig.resolve?.alias\n if (Array.isArray(existingAlias)) {\n for (const [key, value] of Object.entries(alias)) {\n existingAlias.push({ find: key, replacement: value })\n }\n }\n\n const optimizeDeps: UserConfig['optimizeDeps'] = {\n ...(userConfig.optimizeDeps ?? {}),\n exclude: [\n ...(userConfig.optimizeDeps?.exclude ?? []),\n // Do not prebundle the SDK itself or clearly node-only tools\n '@seedprotocol/sdk',\n 'drizzle-kit',\n 'drizzle-orm',\n 'better-sqlite3',\n // sqlocal uses workers and should not be prebundled\n 'sqlocal',\n ],\n include: [\n ...(userConfig.optimizeDeps?.include ?? []),\n // Ensure ZenFS packages are discoverable\n '@zenfs/core',\n '@zenfs/dom',\n // Dependencies of @zenfs/core; must be pre-bundled for resolution\n 'kerium',\n 'utilium',\n 'memium',\n 'readable-stream',\n // viem dynamically imports isows; pre-bundle both so Rollup can resolve them\n 'viem',\n 'isows',\n // @xstate/react transitive deps; must be pre-bundled so Rollup can resolve them\n // (Bun/workspace layouts can leave these in virtual store, breaking resolution)\n 'use-isomorphic-layout-effect',\n 'use-sync-external-store',\n ],\n }\n\n // #region agent log\n _dbg({\n hypothesisId: 'A,B',\n location: 'vite/index.ts:configPlugin.config',\n message: 'configPlugin returning optimizeDeps',\n data: {\n optimizeDepsInclude: optimizeDeps.include,\n userOptimizeDepsInclude: userConfig.optimizeDeps?.include,\n },\n })\n // #endregion\n\n return {\n resolve: {\n alias,\n // Prevent duplicate React/thirdweb instances when @seedprotocol/publish is workspace-linked.\n // Multiple copies break context (e.g. useActiveAccount must be used within ThirdwebProvider).\n dedupe: ['react', 'react-dom', 'thirdweb'],\n },\n optimizeDeps,\n }\n },\n configResolved(resolvedConfig) {\n // #region agent log\n _dbg({\n hypothesisId: 'B',\n location: 'vite/index.ts:configPlugin.configResolved',\n message: 'final merged optimizeDeps',\n data: {\n include: resolvedConfig.optimizeDeps?.include,\n exclude: resolvedConfig.optimizeDeps?.exclude,\n },\n })\n // #endregion\n },\n }\n\n /**\n * Post-plugin: build configuration + optional ZenFS init.\n */\n const mainPlugin: Plugin = {\n name: 'seed-protocol:main',\n enforce: 'post',\n\n config(userConfig) {\n const existingBuild = userConfig.build ?? {}\n const existingCommonjs = existingBuild.commonjsOptions ?? {}\n const existingRollupOptions = existingBuild.rollupOptions ?? {}\n const existingExternal = existingRollupOptions.external ?? []\n\n const include = [\n // Anything the user already had\n ...(Array.isArray(existingCommonjs.include)\n ? existingCommonjs.include\n : existingCommonjs.include\n ? [existingCommonjs.include]\n : []),\n // Always process node_modules and the SDK dist so require() is transformed\n /node_modules/,\n /seed-protocol-sdk[\\\\/]+dist[\\\\/]/,\n ]\n\n // Exclude packages that are already ESM or have special worker handling\n const exclude = [\n ...(Array.isArray(existingCommonjs.exclude)\n ? existingCommonjs.exclude\n : existingCommonjs.exclude\n ? [existingCommonjs.exclude]\n : []),\n // sqlocal is ESM and uses workers - don't transform it\n /node_modules[\\\\/]+sqlocal[\\\\/]/,\n ]\n\n const commonjsOptions = {\n ...existingCommonjs,\n include,\n exclude,\n transformMixedEsModules: true,\n }\n\n // Externalize Node.js-only dev/build tools that should never be bundled\n const nodeOnlyPackages = [\n 'drizzle-kit',\n 'better-sqlite3', // Native SQLite binding (Node.js only)\n // Database drivers that drizzle-kit dynamically imports (should not be bundled)\n '@electric-sql/pglite',\n 'pg',\n 'postgres',\n '@vercel/postgres',\n '@neondatabase/serverless',\n 'mysql2',\n 'mysql2/promise',\n '@planetscale/database',\n ]\n\n const isNodeOnlyExternal = (id: string) =>\n nodeOnlyPackages.some(\n (pkg) =>\n id === pkg ||\n id.startsWith(`${pkg}/`) ||\n id.includes(`/${pkg}/`) ||\n id.endsWith(`/${pkg}`)\n )\n\n const externalList = (id: string, importer?: string, isResolved?: boolean) => {\n if (isNodeOnlyExternal(id)) return true\n if (typeof existingExternal === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (existingExternal as any)(id, importer, isResolved ?? false)\n }\n if (Array.isArray(existingExternal)) {\n return existingExternal.some((ext) => ext === id || id.startsWith(`${ext}/`))\n }\n return false\n }\n\n const rollupOptions = {\n ...existingRollupOptions,\n external: externalList,\n }\n\n const build = {\n ...existingBuild,\n commonjsOptions,\n rollupOptions,\n }\n\n // Worker options are TOP-LEVEL in Vite config, not under build.\n // Default 'iife' breaks when workers use code-splitting (e.g. sqlocal).\n const existingWorker = userConfig.worker ?? {}\n const worker = {\n ...existingWorker,\n format: existingWorker.format ?? 'es',\n }\n\n return {\n build,\n worker,\n }\n },\n\n transformIndexHtml(html) {\n if (!autoInit) return html\n\n const initScript = `\n<script type=\"module\">\nimport { configure } from '@zenfs/core';\nimport { IndexedDB } from '@zenfs/dom';\n\nif (!window.__seedFsReady) {\n window.__seedFsReady = configure({\n mounts: { '/': IndexedDB },\n }).catch((err) => {\n console.error('[seed-vite-plugin] ZenFS initialization failed', err);\n });\n}\n</script>`\n\n if (html.includes('</head>')) {\n return html.replace('</head>', `${initScript}\\n</head>`)\n }\n\n return html + initScript\n },\n }\n\n const resolveXstateDepsPlugin: Plugin = {\n name: 'seed-protocol:resolve-xstate-deps',\n enforce: 'pre',\n resolveId(id, importer) {\n if (id === 'use-isomorphic-layout-effect' || id.startsWith('use-sync-external-store')) {\n const resolved = resolveXstateDep(id, importer)\n if (resolved) {\n // #region agent log\n _dbg({\n hypothesisId: 'fix',\n location: 'vite/index.ts:resolveXstateDepsPlugin',\n message: 'resolved @xstate/react dep',\n data: { id, resolved },\n })\n // #endregion\n return resolved\n }\n // #region agent log\n _dbg({\n hypothesisId: 'fix',\n location: 'vite/index.ts:resolveXstateDepsPlugin',\n message: 'failed to resolve @xstate/react dep',\n data: { id, importer: importer ?? 'unknown' },\n })\n // #endregion\n }\n return null\n },\n }\n\n const plugins: Plugin[] = [configPlugin, resolveXstateDepsPlugin, mainPlugin]\n\n if (includeNodePolyfills) {\n log('Including vite-plugin-node-polyfills with default settings')\n plugins.push(\n nodePolyfills({\n // Let fs be handled by @zenfs/core instead of polyfills\n exclude: ['readline',],\n // Common set of browser-friendly polyfills used by many deps\n include: ['path', 'crypto', 'stream', 'util', 'buffer', 'events', 'string_decoder',],\n globals: {\n Buffer: true,\n global: true,\n process: true,\n },\n protocolImports: true,\n }) as unknown as Plugin,\n )\n }\n\n return plugins\n}\n"],"names":["createRequire","fileURLToPath","nodePolyfills"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vite.cjs","sources":["../../src/vite/index.ts"],"sourcesContent":["import type { Plugin, UserConfig } from 'vite'\nimport { createRequire } from 'node:module'\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport { nodePolyfills } from 'vite-plugin-node-polyfills'\n\nconst _req = createRequire(import.meta.url)\n\nexport interface SeedVitePluginOptions {\n /**\n * Additional modules to alias to ZenFS equivalents.\n * @default ['fs', 'fs/promises', 'node:fs', 'node:fs/promises']\n */\n fsModules?: string[]\n\n /**\n * Whether to inject automatic ZenFS initialization script into index.html.\n * When true, injects a <script type=\"module\"> that imports from '@zenfs/core'/'@zenfs/dom'.\n * Browsers cannot resolve those bare specifiers, so the script fails at runtime unless you use\n * an import map or load ZenFS another way. Prefer false and initialize ZenFS in your entry:\n * import { configure } from '@zenfs/core'; import { IndexedDB } from '@zenfs/dom';\n * await configure({ mounts: { '/': IndexedDB } });\n * @default false\n */\n autoInit?: boolean\n\n /**\n * Enable debug logging.\n * @default false\n */\n debug?: boolean\n\n /**\n * Whether to automatically include vite-plugin-node-polyfills with sensible defaults.\n * @default true\n */\n includeNodePolyfills?: boolean\n}\n\nconst DEFAULT_FS_MODULES = [\n 'fs',\n 'fs/promises',\n 'node:fs',\n 'node:fs/promises',\n]\n\n/**\n * Minimal Vite plugin to make the SDK work in browser/Electron renderer:\n * - Aliases fs → @zenfs/core (and promises variant)\n * - Aliases path → path-browserify\n * - Ensures CommonJS in SDK dist is transformed by Vite's CommonJS plugin\n * - Optionally injects a simple ZenFS initialization script\n * - Optionally wires up vite-plugin-node-polyfills with safe defaults\n *\n * This plugin assumes the SDK does not bundle Node-only code in the browser entry.\n * For Electron, Node-only work (e.g. drizzle-kit, better-sqlite3) should run in the\n * main process; the renderer should only use browser-safe SDK usage.\n *\n * For the renderer build:\n * - Use the SDK's ESM entry: import from '@seedprotocol/sdk' (resolves to dist/main.js).\n * - When autoInit is false (default), initialize ZenFS in your entry:\n * import { configure } from '@zenfs/core'; import { IndexedDB } from '@zenfs/dom';\n * await configure({ mounts: { '/': IndexedDB } });\n */\nexport function seedVitePlugin(options: SeedVitePluginOptions = {}): Plugin[] {\n const {\n fsModules = DEFAULT_FS_MODULES,\n autoInit = false,\n debug = false,\n includeNodePolyfills = true,\n } = options\n\n const log = (...args: unknown[]) => {\n }\n\n /**\n * Pre-plugin: configure aliases and optimizeDeps.\n */\n const configPlugin: Plugin = {\n name: 'seed-protocol:config',\n enforce: 'pre',\n\n config(userConfig) {\n const alias: Record<string, string> = {\n // Always use browser-friendly path implementation\n // path: 'path-browserify',\n }\n\n\n for (const mod of fsModules) {\n const isPromises = mod.includes('promises')\n const target = isPromises ? '@zenfs/core/promises' : '@zenfs/core'\n alias[mod] = target\n }\n\n // Merge with any existing aliases\n const existingAlias = userConfig.resolve?.alias\n if (Array.isArray(existingAlias)) {\n for (const [key, value] of Object.entries(alias)) {\n existingAlias.push({ find: key, replacement: value })\n }\n }\n\n const optimizeDeps: UserConfig['optimizeDeps'] = {\n ...(userConfig.optimizeDeps ?? {}),\n exclude: [\n ...(userConfig.optimizeDeps?.exclude ?? []),\n // Do not prebundle the SDK itself or clearly node-only tools\n '@seedprotocol/sdk',\n 'drizzle-kit',\n 'drizzle-orm',\n 'better-sqlite3',\n // sqlocal uses workers and should not be prebundled\n 'sqlocal',\n ],\n include: [\n ...(userConfig.optimizeDeps?.include ?? []),\n // Ensure ZenFS packages are discoverable\n '@zenfs/core',\n '@zenfs/dom',\n // Dependencies of @zenfs/core; must be pre-bundled for resolution\n 'kerium',\n 'utilium',\n 'memium',\n 'readable-stream',\n // viem dynamically imports isows; pre-bundle both so Rollup can resolve them\n 'viem',\n 'isows',\n ],\n }\n\n return {\n resolve: {\n alias,\n // Prevent duplicate React/thirdweb instances when @seedprotocol/publish is workspace-linked.\n // Multiple copies break context (e.g. useActiveAccount must be used within ThirdwebProvider).\n dedupe: ['react', 'react-dom', 'thirdweb'],\n },\n optimizeDeps,\n }\n },\n }\n\n /**\n * Post-plugin: build configuration + optional ZenFS init.\n */\n const mainPlugin: Plugin = {\n name: 'seed-protocol:main',\n enforce: 'post',\n\n config(userConfig) {\n const existingBuild = userConfig.build ?? {}\n const existingCommonjs = existingBuild.commonjsOptions ?? {}\n const existingRollupOptions = existingBuild.rollupOptions ?? {}\n const existingExternal = existingRollupOptions.external ?? []\n\n const include = [\n // Anything the user already had\n ...(Array.isArray(existingCommonjs.include)\n ? existingCommonjs.include\n : existingCommonjs.include\n ? [existingCommonjs.include]\n : []),\n // Always process node_modules and the SDK dist so require() is transformed\n /node_modules/,\n /seed-protocol-sdk[\\\\/]+dist[\\\\/]/,\n ]\n\n // Exclude packages that are already ESM or have special worker handling\n const exclude = [\n ...(Array.isArray(existingCommonjs.exclude)\n ? existingCommonjs.exclude\n : existingCommonjs.exclude\n ? [existingCommonjs.exclude]\n : []),\n // sqlocal is ESM and uses workers - don't transform it\n /node_modules[\\\\/]+sqlocal[\\\\/]/,\n ]\n\n const commonjsOptions = {\n ...existingCommonjs,\n include,\n exclude,\n transformMixedEsModules: true,\n }\n\n // Externalize Node.js-only dev/build tools that should never be bundled\n const nodeOnlyPackages = [\n 'drizzle-kit',\n 'better-sqlite3', // Native SQLite binding (Node.js only)\n // Database drivers that drizzle-kit dynamically imports (should not be bundled)\n '@electric-sql/pglite',\n 'pg',\n 'postgres',\n '@vercel/postgres',\n '@neondatabase/serverless',\n 'mysql2',\n 'mysql2/promise',\n '@planetscale/database',\n ]\n\n const isNodeOnlyExternal = (id: string) =>\n nodeOnlyPackages.some(\n (pkg) =>\n id === pkg ||\n id.startsWith(`${pkg}/`) ||\n id.includes(`/${pkg}/`) ||\n id.endsWith(`/${pkg}`)\n )\n\n const externalList = (id: string, importer?: string, isResolved?: boolean) => {\n if (isNodeOnlyExternal(id)) return true\n if (typeof existingExternal === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (existingExternal as any)(id, importer, isResolved ?? false)\n }\n if (Array.isArray(existingExternal)) {\n return existingExternal.some((ext) => ext === id || id.startsWith(`${ext}/`))\n }\n return false\n }\n\n const rollupOptions = {\n ...existingRollupOptions,\n external: externalList,\n }\n\n const build = {\n ...existingBuild,\n commonjsOptions,\n rollupOptions,\n }\n\n // Worker options are TOP-LEVEL in Vite config, not under build.\n // Default 'iife' breaks when workers use code-splitting (e.g. sqlocal).\n const existingWorker = userConfig.worker ?? {}\n const worker = {\n ...existingWorker,\n format: existingWorker.format ?? 'es',\n }\n\n return {\n build,\n worker,\n }\n },\n\n transformIndexHtml(html) {\n if (!autoInit) return html\n\n const initScript = `\n<script type=\"module\">\nimport { configure } from '@zenfs/core';\nimport { IndexedDB } from '@zenfs/dom';\n\nif (!window.__seedFsReady) {\n window.__seedFsReady = configure({\n mounts: { '/': IndexedDB },\n }).catch((err) => {\n console.error('[seed-vite-plugin] ZenFS initialization failed', err);\n });\n}\n</script>`\n\n if (html.includes('</head>')) {\n return html.replace('</head>', `${initScript}\\n</head>`)\n }\n\n return html + initScript\n },\n }\n\n const plugins: Plugin[] = [configPlugin, mainPlugin]\n\n if (includeNodePolyfills) {\n log('Including vite-plugin-node-polyfills with default settings')\n plugins.push(\n nodePolyfills({\n // Let fs be handled by @zenfs/core instead of polyfills\n exclude: ['readline',],\n // Common set of browser-friendly polyfills used by many deps\n include: ['path', 'crypto', 'stream', 'util', 'buffer', 'events', 'string_decoder',],\n globals: {\n Buffer: true,\n global: true,\n process: true,\n },\n protocolImports: true,\n }) as unknown as Plugin,\n )\n }\n\n return plugins\n}\n"],"names":["createRequire","nodePolyfills"],"mappings":"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"}
|
package/dist/vite.js
CHANGED
|
@@ -1,42 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import { fileURLToPath } from 'node:url';
|
|
4
2
|
import { nodePolyfills } from 'vite-plugin-node-polyfills';
|
|
5
3
|
|
|
6
|
-
|
|
7
|
-
function resolveXstateDep(id, importer) {
|
|
8
|
-
const searchPaths = [process.cwd()];
|
|
9
|
-
if (importer) {
|
|
10
|
-
let dir = path.dirname(importer);
|
|
11
|
-
for (let i = 0; i < 5 && dir; i++) {
|
|
12
|
-
searchPaths.push(dir);
|
|
13
|
-
dir = path.dirname(dir);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
const sdkDir = path.resolve(fileURLToPath(import.meta.url), '../../..');
|
|
17
|
-
searchPaths.push(sdkDir, path.resolve(sdkDir, '../..'));
|
|
18
|
-
for (const dir of searchPaths) {
|
|
19
|
-
try {
|
|
20
|
-
return _req.resolve(id, { paths: [dir] });
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
continue;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
// #region agent log
|
|
29
|
-
const _dbg = (d) => {
|
|
30
|
-
fetch('http://127.0.0.1:7242/ingest/0978b378-ebae-46bf-8fd3-134ef2e16cdd', {
|
|
31
|
-
method: 'POST',
|
|
32
|
-
headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '73e96f' },
|
|
33
|
-
body: JSON.stringify({
|
|
34
|
-
sessionId: '73e96f',
|
|
35
|
-
...d,
|
|
36
|
-
timestamp: Date.now(),
|
|
37
|
-
}),
|
|
38
|
-
}).catch(() => { });
|
|
39
|
-
};
|
|
4
|
+
createRequire(import.meta.url);
|
|
40
5
|
const DEFAULT_FS_MODULES = [
|
|
41
6
|
'fs',
|
|
42
7
|
'fs/promises',
|
|
@@ -62,14 +27,6 @@ const DEFAULT_FS_MODULES = [
|
|
|
62
27
|
* await configure({ mounts: { '/': IndexedDB } });
|
|
63
28
|
*/
|
|
64
29
|
function seedVitePlugin(options = {}) {
|
|
65
|
-
// #region agent log
|
|
66
|
-
_dbg({
|
|
67
|
-
hypothesisId: 'D',
|
|
68
|
-
location: 'vite/index.ts:seedVitePlugin',
|
|
69
|
-
message: 'seedVitePlugin loaded',
|
|
70
|
-
data: { options: Object.keys(options) },
|
|
71
|
-
});
|
|
72
|
-
// #endregion
|
|
73
30
|
const { fsModules = DEFAULT_FS_MODULES, autoInit = false, debug = false, includeNodePolyfills = true, } = options;
|
|
74
31
|
/**
|
|
75
32
|
* Pre-plugin: configure aliases and optimizeDeps.
|
|
@@ -82,31 +39,6 @@ function seedVitePlugin(options = {}) {
|
|
|
82
39
|
// Always use browser-friendly path implementation
|
|
83
40
|
// path: 'path-browserify',
|
|
84
41
|
};
|
|
85
|
-
// Resolve @xstate/react transitive deps for production builds (optimizeDeps only helps dev).
|
|
86
|
-
// Bun/workspace layouts can leave these in virtual store; Rollup fails to resolve them.
|
|
87
|
-
const xstateDepIds = [
|
|
88
|
-
'use-isomorphic-layout-effect',
|
|
89
|
-
'use-sync-external-store',
|
|
90
|
-
'use-sync-external-store/shim',
|
|
91
|
-
'use-sync-external-store/shim/with-selector',
|
|
92
|
-
];
|
|
93
|
-
for (const id of xstateDepIds) {
|
|
94
|
-
// const resolved = resolveXstateDep(id)
|
|
95
|
-
// if (resolved) {
|
|
96
|
-
// alias[id] = resolved
|
|
97
|
-
// xstateResolved++
|
|
98
|
-
// }
|
|
99
|
-
}
|
|
100
|
-
{
|
|
101
|
-
// #region agent log
|
|
102
|
-
_dbg({
|
|
103
|
-
hypothesisId: 'fix',
|
|
104
|
-
location: 'vite/index.ts:configPlugin.alias',
|
|
105
|
-
message: 'failed to resolve any @xstate/react deps',
|
|
106
|
-
data: { cwd: process.cwd() },
|
|
107
|
-
});
|
|
108
|
-
// #endregion
|
|
109
|
-
}
|
|
110
42
|
for (const mod of fsModules) {
|
|
111
43
|
const isPromises = mod.includes('promises');
|
|
112
44
|
const target = isPromises ? '@zenfs/core/promises' : '@zenfs/core';
|
|
@@ -144,23 +76,8 @@ function seedVitePlugin(options = {}) {
|
|
|
144
76
|
// viem dynamically imports isows; pre-bundle both so Rollup can resolve them
|
|
145
77
|
'viem',
|
|
146
78
|
'isows',
|
|
147
|
-
// @xstate/react transitive deps; must be pre-bundled so Rollup can resolve them
|
|
148
|
-
// (Bun/workspace layouts can leave these in virtual store, breaking resolution)
|
|
149
|
-
'use-isomorphic-layout-effect',
|
|
150
|
-
'use-sync-external-store',
|
|
151
79
|
],
|
|
152
80
|
};
|
|
153
|
-
// #region agent log
|
|
154
|
-
_dbg({
|
|
155
|
-
hypothesisId: 'A,B',
|
|
156
|
-
location: 'vite/index.ts:configPlugin.config',
|
|
157
|
-
message: 'configPlugin returning optimizeDeps',
|
|
158
|
-
data: {
|
|
159
|
-
optimizeDepsInclude: optimizeDeps.include,
|
|
160
|
-
userOptimizeDepsInclude: userConfig.optimizeDeps?.include,
|
|
161
|
-
},
|
|
162
|
-
});
|
|
163
|
-
// #endregion
|
|
164
81
|
return {
|
|
165
82
|
resolve: {
|
|
166
83
|
alias,
|
|
@@ -171,19 +88,6 @@ function seedVitePlugin(options = {}) {
|
|
|
171
88
|
optimizeDeps,
|
|
172
89
|
};
|
|
173
90
|
},
|
|
174
|
-
configResolved(resolvedConfig) {
|
|
175
|
-
// #region agent log
|
|
176
|
-
_dbg({
|
|
177
|
-
hypothesisId: 'B',
|
|
178
|
-
location: 'vite/index.ts:configPlugin.configResolved',
|
|
179
|
-
message: 'final merged optimizeDeps',
|
|
180
|
-
data: {
|
|
181
|
-
include: resolvedConfig.optimizeDeps?.include,
|
|
182
|
-
exclude: resolvedConfig.optimizeDeps?.exclude,
|
|
183
|
-
},
|
|
184
|
-
});
|
|
185
|
-
// #endregion
|
|
186
|
-
},
|
|
187
91
|
};
|
|
188
92
|
/**
|
|
189
93
|
* Post-plugin: build configuration + optional ZenFS init.
|
|
@@ -296,36 +200,7 @@ if (!window.__seedFsReady) {
|
|
|
296
200
|
return html + initScript;
|
|
297
201
|
},
|
|
298
202
|
};
|
|
299
|
-
const
|
|
300
|
-
name: 'seed-protocol:resolve-xstate-deps',
|
|
301
|
-
enforce: 'pre',
|
|
302
|
-
resolveId(id, importer) {
|
|
303
|
-
if (id === 'use-isomorphic-layout-effect' || id.startsWith('use-sync-external-store')) {
|
|
304
|
-
const resolved = resolveXstateDep(id, importer);
|
|
305
|
-
if (resolved) {
|
|
306
|
-
// #region agent log
|
|
307
|
-
_dbg({
|
|
308
|
-
hypothesisId: 'fix',
|
|
309
|
-
location: 'vite/index.ts:resolveXstateDepsPlugin',
|
|
310
|
-
message: 'resolved @xstate/react dep',
|
|
311
|
-
data: { id, resolved },
|
|
312
|
-
});
|
|
313
|
-
// #endregion
|
|
314
|
-
return resolved;
|
|
315
|
-
}
|
|
316
|
-
// #region agent log
|
|
317
|
-
_dbg({
|
|
318
|
-
hypothesisId: 'fix',
|
|
319
|
-
location: 'vite/index.ts:resolveXstateDepsPlugin',
|
|
320
|
-
message: 'failed to resolve @xstate/react dep',
|
|
321
|
-
data: { id, importer: importer ?? 'unknown' },
|
|
322
|
-
});
|
|
323
|
-
// #endregion
|
|
324
|
-
}
|
|
325
|
-
return null;
|
|
326
|
-
},
|
|
327
|
-
};
|
|
328
|
-
const plugins = [configPlugin, resolveXstateDepsPlugin, mainPlugin];
|
|
203
|
+
const plugins = [configPlugin, mainPlugin];
|
|
329
204
|
if (includeNodePolyfills) {
|
|
330
205
|
plugins.push(nodePolyfills({
|
|
331
206
|
// Let fs be handled by @zenfs/core instead of polyfills
|
package/dist/vite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.js","sources":["../../src/vite/index.ts"],"sourcesContent":["import type { Plugin, UserConfig } from 'vite'\nimport { createRequire } from 'node:module'\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport { nodePolyfills } from 'vite-plugin-node-polyfills'\n\nconst _req = createRequire(import.meta.url)\n\nfunction resolveXstateDep(id: string, importer?: string): string | null {\n const searchPaths: string[] = [process.cwd()]\n if (importer) {\n let dir = path.dirname(importer)\n for (let i = 0; i < 5 && dir; i++) {\n searchPaths.push(dir)\n dir = path.dirname(dir)\n }\n }\n const sdkDir = path.resolve(fileURLToPath(import.meta.url), '../../..')\n searchPaths.push(sdkDir, path.resolve(sdkDir, '../..'))\n for (const dir of searchPaths) {\n try {\n return _req.resolve(id, { paths: [dir] })\n } catch {\n continue\n }\n }\n return null\n}\n\n// #region agent log\nconst _dbg = (d: { hypothesisId?: string; location: string; message: string; data?: object }) => {\n fetch('http://127.0.0.1:7242/ingest/0978b378-ebae-46bf-8fd3-134ef2e16cdd', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json', 'X-Debug-Session-Id': '73e96f' },\n body: JSON.stringify({\n sessionId: '73e96f',\n ...d,\n timestamp: Date.now(),\n }),\n }).catch(() => {})\n}\n// #endregion\n\nexport interface SeedVitePluginOptions {\n /**\n * Additional modules to alias to ZenFS equivalents.\n * @default ['fs', 'fs/promises', 'node:fs', 'node:fs/promises']\n */\n fsModules?: string[]\n\n /**\n * Whether to inject automatic ZenFS initialization script into index.html.\n * When true, injects a <script type=\"module\"> that imports from '@zenfs/core'/'@zenfs/dom'.\n * Browsers cannot resolve those bare specifiers, so the script fails at runtime unless you use\n * an import map or load ZenFS another way. Prefer false and initialize ZenFS in your entry:\n * import { configure } from '@zenfs/core'; import { IndexedDB } from '@zenfs/dom';\n * await configure({ mounts: { '/': IndexedDB } });\n * @default false\n */\n autoInit?: boolean\n\n /**\n * Enable debug logging.\n * @default false\n */\n debug?: boolean\n\n /**\n * Whether to automatically include vite-plugin-node-polyfills with sensible defaults.\n * @default true\n */\n includeNodePolyfills?: boolean\n}\n\nconst DEFAULT_FS_MODULES = [\n 'fs',\n 'fs/promises',\n 'node:fs',\n 'node:fs/promises',\n]\n\n/**\n * Minimal Vite plugin to make the SDK work in browser/Electron renderer:\n * - Aliases fs → @zenfs/core (and promises variant)\n * - Aliases path → path-browserify\n * - Ensures CommonJS in SDK dist is transformed by Vite's CommonJS plugin\n * - Optionally injects a simple ZenFS initialization script\n * - Optionally wires up vite-plugin-node-polyfills with safe defaults\n *\n * This plugin assumes the SDK does not bundle Node-only code in the browser entry.\n * For Electron, Node-only work (e.g. drizzle-kit, better-sqlite3) should run in the\n * main process; the renderer should only use browser-safe SDK usage.\n *\n * For the renderer build:\n * - Use the SDK's ESM entry: import from '@seedprotocol/sdk' (resolves to dist/main.js).\n * - When autoInit is false (default), initialize ZenFS in your entry:\n * import { configure } from '@zenfs/core'; import { IndexedDB } from '@zenfs/dom';\n * await configure({ mounts: { '/': IndexedDB } });\n */\nexport function seedVitePlugin(options: SeedVitePluginOptions = {}): Plugin[] {\n // #region agent log\n _dbg({\n hypothesisId: 'D',\n location: 'vite/index.ts:seedVitePlugin',\n message: 'seedVitePlugin loaded',\n data: { options: Object.keys(options) },\n })\n // #endregion\n const {\n fsModules = DEFAULT_FS_MODULES,\n autoInit = false,\n debug = false,\n includeNodePolyfills = true,\n } = options\n\n const log = (...args: unknown[]) => {\n }\n\n /**\n * Pre-plugin: configure aliases and optimizeDeps.\n */\n const configPlugin: Plugin = {\n name: 'seed-protocol:config',\n enforce: 'pre',\n\n config(userConfig) {\n const alias: Record<string, string> = {\n // Always use browser-friendly path implementation\n // path: 'path-browserify',\n }\n\n // Resolve @xstate/react transitive deps for production builds (optimizeDeps only helps dev).\n // Bun/workspace layouts can leave these in virtual store; Rollup fails to resolve them.\n const xstateDepIds = [\n 'use-isomorphic-layout-effect',\n 'use-sync-external-store',\n 'use-sync-external-store/shim',\n 'use-sync-external-store/shim/with-selector',\n ]\n let xstateResolved = 0\n for (const id of xstateDepIds) {\n // const resolved = resolveXstateDep(id)\n // if (resolved) {\n // alias[id] = resolved\n // xstateResolved++\n // }\n }\n if (xstateResolved > 0) {\n // #region agent log\n _dbg({\n hypothesisId: 'fix',\n location: 'vite/index.ts:configPlugin.alias',\n message: 'resolve.alias added for @xstate/react deps',\n data: { aliasKeys: Object.keys(alias) },\n })\n // #endregion\n } else {\n // #region agent log\n _dbg({\n hypothesisId: 'fix',\n location: 'vite/index.ts:configPlugin.alias',\n message: 'failed to resolve any @xstate/react deps',\n data: { cwd: process.cwd() },\n })\n // #endregion\n }\n\n for (const mod of fsModules) {\n const isPromises = mod.includes('promises')\n const target = isPromises ? '@zenfs/core/promises' : '@zenfs/core'\n alias[mod] = target\n }\n\n // Merge with any existing aliases\n const existingAlias = userConfig.resolve?.alias\n if (Array.isArray(existingAlias)) {\n for (const [key, value] of Object.entries(alias)) {\n existingAlias.push({ find: key, replacement: value })\n }\n }\n\n const optimizeDeps: UserConfig['optimizeDeps'] = {\n ...(userConfig.optimizeDeps ?? {}),\n exclude: [\n ...(userConfig.optimizeDeps?.exclude ?? []),\n // Do not prebundle the SDK itself or clearly node-only tools\n '@seedprotocol/sdk',\n 'drizzle-kit',\n 'drizzle-orm',\n 'better-sqlite3',\n // sqlocal uses workers and should not be prebundled\n 'sqlocal',\n ],\n include: [\n ...(userConfig.optimizeDeps?.include ?? []),\n // Ensure ZenFS packages are discoverable\n '@zenfs/core',\n '@zenfs/dom',\n // Dependencies of @zenfs/core; must be pre-bundled for resolution\n 'kerium',\n 'utilium',\n 'memium',\n 'readable-stream',\n // viem dynamically imports isows; pre-bundle both so Rollup can resolve them\n 'viem',\n 'isows',\n // @xstate/react transitive deps; must be pre-bundled so Rollup can resolve them\n // (Bun/workspace layouts can leave these in virtual store, breaking resolution)\n 'use-isomorphic-layout-effect',\n 'use-sync-external-store',\n ],\n }\n\n // #region agent log\n _dbg({\n hypothesisId: 'A,B',\n location: 'vite/index.ts:configPlugin.config',\n message: 'configPlugin returning optimizeDeps',\n data: {\n optimizeDepsInclude: optimizeDeps.include,\n userOptimizeDepsInclude: userConfig.optimizeDeps?.include,\n },\n })\n // #endregion\n\n return {\n resolve: {\n alias,\n // Prevent duplicate React/thirdweb instances when @seedprotocol/publish is workspace-linked.\n // Multiple copies break context (e.g. useActiveAccount must be used within ThirdwebProvider).\n dedupe: ['react', 'react-dom', 'thirdweb'],\n },\n optimizeDeps,\n }\n },\n configResolved(resolvedConfig) {\n // #region agent log\n _dbg({\n hypothesisId: 'B',\n location: 'vite/index.ts:configPlugin.configResolved',\n message: 'final merged optimizeDeps',\n data: {\n include: resolvedConfig.optimizeDeps?.include,\n exclude: resolvedConfig.optimizeDeps?.exclude,\n },\n })\n // #endregion\n },\n }\n\n /**\n * Post-plugin: build configuration + optional ZenFS init.\n */\n const mainPlugin: Plugin = {\n name: 'seed-protocol:main',\n enforce: 'post',\n\n config(userConfig) {\n const existingBuild = userConfig.build ?? {}\n const existingCommonjs = existingBuild.commonjsOptions ?? {}\n const existingRollupOptions = existingBuild.rollupOptions ?? {}\n const existingExternal = existingRollupOptions.external ?? []\n\n const include = [\n // Anything the user already had\n ...(Array.isArray(existingCommonjs.include)\n ? existingCommonjs.include\n : existingCommonjs.include\n ? [existingCommonjs.include]\n : []),\n // Always process node_modules and the SDK dist so require() is transformed\n /node_modules/,\n /seed-protocol-sdk[\\\\/]+dist[\\\\/]/,\n ]\n\n // Exclude packages that are already ESM or have special worker handling\n const exclude = [\n ...(Array.isArray(existingCommonjs.exclude)\n ? existingCommonjs.exclude\n : existingCommonjs.exclude\n ? [existingCommonjs.exclude]\n : []),\n // sqlocal is ESM and uses workers - don't transform it\n /node_modules[\\\\/]+sqlocal[\\\\/]/,\n ]\n\n const commonjsOptions = {\n ...existingCommonjs,\n include,\n exclude,\n transformMixedEsModules: true,\n }\n\n // Externalize Node.js-only dev/build tools that should never be bundled\n const nodeOnlyPackages = [\n 'drizzle-kit',\n 'better-sqlite3', // Native SQLite binding (Node.js only)\n // Database drivers that drizzle-kit dynamically imports (should not be bundled)\n '@electric-sql/pglite',\n 'pg',\n 'postgres',\n '@vercel/postgres',\n '@neondatabase/serverless',\n 'mysql2',\n 'mysql2/promise',\n '@planetscale/database',\n ]\n\n const isNodeOnlyExternal = (id: string) =>\n nodeOnlyPackages.some(\n (pkg) =>\n id === pkg ||\n id.startsWith(`${pkg}/`) ||\n id.includes(`/${pkg}/`) ||\n id.endsWith(`/${pkg}`)\n )\n\n const externalList = (id: string, importer?: string, isResolved?: boolean) => {\n if (isNodeOnlyExternal(id)) return true\n if (typeof existingExternal === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (existingExternal as any)(id, importer, isResolved ?? false)\n }\n if (Array.isArray(existingExternal)) {\n return existingExternal.some((ext) => ext === id || id.startsWith(`${ext}/`))\n }\n return false\n }\n\n const rollupOptions = {\n ...existingRollupOptions,\n external: externalList,\n }\n\n const build = {\n ...existingBuild,\n commonjsOptions,\n rollupOptions,\n }\n\n // Worker options are TOP-LEVEL in Vite config, not under build.\n // Default 'iife' breaks when workers use code-splitting (e.g. sqlocal).\n const existingWorker = userConfig.worker ?? {}\n const worker = {\n ...existingWorker,\n format: existingWorker.format ?? 'es',\n }\n\n return {\n build,\n worker,\n }\n },\n\n transformIndexHtml(html) {\n if (!autoInit) return html\n\n const initScript = `\n<script type=\"module\">\nimport { configure } from '@zenfs/core';\nimport { IndexedDB } from '@zenfs/dom';\n\nif (!window.__seedFsReady) {\n window.__seedFsReady = configure({\n mounts: { '/': IndexedDB },\n }).catch((err) => {\n console.error('[seed-vite-plugin] ZenFS initialization failed', err);\n });\n}\n</script>`\n\n if (html.includes('</head>')) {\n return html.replace('</head>', `${initScript}\\n</head>`)\n }\n\n return html + initScript\n },\n }\n\n const resolveXstateDepsPlugin: Plugin = {\n name: 'seed-protocol:resolve-xstate-deps',\n enforce: 'pre',\n resolveId(id, importer) {\n if (id === 'use-isomorphic-layout-effect' || id.startsWith('use-sync-external-store')) {\n const resolved = resolveXstateDep(id, importer)\n if (resolved) {\n // #region agent log\n _dbg({\n hypothesisId: 'fix',\n location: 'vite/index.ts:resolveXstateDepsPlugin',\n message: 'resolved @xstate/react dep',\n data: { id, resolved },\n })\n // #endregion\n return resolved\n }\n // #region agent log\n _dbg({\n hypothesisId: 'fix',\n location: 'vite/index.ts:resolveXstateDepsPlugin',\n message: 'failed to resolve @xstate/react dep',\n data: { id, importer: importer ?? 'unknown' },\n })\n // #endregion\n }\n return null\n },\n }\n\n const plugins: Plugin[] = [configPlugin, resolveXstateDepsPlugin, mainPlugin]\n\n if (includeNodePolyfills) {\n log('Including vite-plugin-node-polyfills with default settings')\n plugins.push(\n nodePolyfills({\n // Let fs be handled by @zenfs/core instead of polyfills\n exclude: ['readline',],\n // Common set of browser-friendly polyfills used by many deps\n include: ['path', 'crypto', 'stream', 'util', 'buffer', 'events', 'string_decoder',],\n globals: {\n Buffer: true,\n global: true,\n process: true,\n },\n protocolImports: true,\n }) as unknown as Plugin,\n )\n }\n\n return plugins\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vite.js","sources":["../../src/vite/index.ts"],"sourcesContent":["import type { Plugin, UserConfig } from 'vite'\nimport { createRequire } from 'node:module'\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport { nodePolyfills } from 'vite-plugin-node-polyfills'\n\nconst _req = createRequire(import.meta.url)\n\nexport interface SeedVitePluginOptions {\n /**\n * Additional modules to alias to ZenFS equivalents.\n * @default ['fs', 'fs/promises', 'node:fs', 'node:fs/promises']\n */\n fsModules?: string[]\n\n /**\n * Whether to inject automatic ZenFS initialization script into index.html.\n * When true, injects a <script type=\"module\"> that imports from '@zenfs/core'/'@zenfs/dom'.\n * Browsers cannot resolve those bare specifiers, so the script fails at runtime unless you use\n * an import map or load ZenFS another way. Prefer false and initialize ZenFS in your entry:\n * import { configure } from '@zenfs/core'; import { IndexedDB } from '@zenfs/dom';\n * await configure({ mounts: { '/': IndexedDB } });\n * @default false\n */\n autoInit?: boolean\n\n /**\n * Enable debug logging.\n * @default false\n */\n debug?: boolean\n\n /**\n * Whether to automatically include vite-plugin-node-polyfills with sensible defaults.\n * @default true\n */\n includeNodePolyfills?: boolean\n}\n\nconst DEFAULT_FS_MODULES = [\n 'fs',\n 'fs/promises',\n 'node:fs',\n 'node:fs/promises',\n]\n\n/**\n * Minimal Vite plugin to make the SDK work in browser/Electron renderer:\n * - Aliases fs → @zenfs/core (and promises variant)\n * - Aliases path → path-browserify\n * - Ensures CommonJS in SDK dist is transformed by Vite's CommonJS plugin\n * - Optionally injects a simple ZenFS initialization script\n * - Optionally wires up vite-plugin-node-polyfills with safe defaults\n *\n * This plugin assumes the SDK does not bundle Node-only code in the browser entry.\n * For Electron, Node-only work (e.g. drizzle-kit, better-sqlite3) should run in the\n * main process; the renderer should only use browser-safe SDK usage.\n *\n * For the renderer build:\n * - Use the SDK's ESM entry: import from '@seedprotocol/sdk' (resolves to dist/main.js).\n * - When autoInit is false (default), initialize ZenFS in your entry:\n * import { configure } from '@zenfs/core'; import { IndexedDB } from '@zenfs/dom';\n * await configure({ mounts: { '/': IndexedDB } });\n */\nexport function seedVitePlugin(options: SeedVitePluginOptions = {}): Plugin[] {\n const {\n fsModules = DEFAULT_FS_MODULES,\n autoInit = false,\n debug = false,\n includeNodePolyfills = true,\n } = options\n\n const log = (...args: unknown[]) => {\n }\n\n /**\n * Pre-plugin: configure aliases and optimizeDeps.\n */\n const configPlugin: Plugin = {\n name: 'seed-protocol:config',\n enforce: 'pre',\n\n config(userConfig) {\n const alias: Record<string, string> = {\n // Always use browser-friendly path implementation\n // path: 'path-browserify',\n }\n\n\n for (const mod of fsModules) {\n const isPromises = mod.includes('promises')\n const target = isPromises ? '@zenfs/core/promises' : '@zenfs/core'\n alias[mod] = target\n }\n\n // Merge with any existing aliases\n const existingAlias = userConfig.resolve?.alias\n if (Array.isArray(existingAlias)) {\n for (const [key, value] of Object.entries(alias)) {\n existingAlias.push({ find: key, replacement: value })\n }\n }\n\n const optimizeDeps: UserConfig['optimizeDeps'] = {\n ...(userConfig.optimizeDeps ?? {}),\n exclude: [\n ...(userConfig.optimizeDeps?.exclude ?? []),\n // Do not prebundle the SDK itself or clearly node-only tools\n '@seedprotocol/sdk',\n 'drizzle-kit',\n 'drizzle-orm',\n 'better-sqlite3',\n // sqlocal uses workers and should not be prebundled\n 'sqlocal',\n ],\n include: [\n ...(userConfig.optimizeDeps?.include ?? []),\n // Ensure ZenFS packages are discoverable\n '@zenfs/core',\n '@zenfs/dom',\n // Dependencies of @zenfs/core; must be pre-bundled for resolution\n 'kerium',\n 'utilium',\n 'memium',\n 'readable-stream',\n // viem dynamically imports isows; pre-bundle both so Rollup can resolve them\n 'viem',\n 'isows',\n ],\n }\n\n return {\n resolve: {\n alias,\n // Prevent duplicate React/thirdweb instances when @seedprotocol/publish is workspace-linked.\n // Multiple copies break context (e.g. useActiveAccount must be used within ThirdwebProvider).\n dedupe: ['react', 'react-dom', 'thirdweb'],\n },\n optimizeDeps,\n }\n },\n }\n\n /**\n * Post-plugin: build configuration + optional ZenFS init.\n */\n const mainPlugin: Plugin = {\n name: 'seed-protocol:main',\n enforce: 'post',\n\n config(userConfig) {\n const existingBuild = userConfig.build ?? {}\n const existingCommonjs = existingBuild.commonjsOptions ?? {}\n const existingRollupOptions = existingBuild.rollupOptions ?? {}\n const existingExternal = existingRollupOptions.external ?? []\n\n const include = [\n // Anything the user already had\n ...(Array.isArray(existingCommonjs.include)\n ? existingCommonjs.include\n : existingCommonjs.include\n ? [existingCommonjs.include]\n : []),\n // Always process node_modules and the SDK dist so require() is transformed\n /node_modules/,\n /seed-protocol-sdk[\\\\/]+dist[\\\\/]/,\n ]\n\n // Exclude packages that are already ESM or have special worker handling\n const exclude = [\n ...(Array.isArray(existingCommonjs.exclude)\n ? existingCommonjs.exclude\n : existingCommonjs.exclude\n ? [existingCommonjs.exclude]\n : []),\n // sqlocal is ESM and uses workers - don't transform it\n /node_modules[\\\\/]+sqlocal[\\\\/]/,\n ]\n\n const commonjsOptions = {\n ...existingCommonjs,\n include,\n exclude,\n transformMixedEsModules: true,\n }\n\n // Externalize Node.js-only dev/build tools that should never be bundled\n const nodeOnlyPackages = [\n 'drizzle-kit',\n 'better-sqlite3', // Native SQLite binding (Node.js only)\n // Database drivers that drizzle-kit dynamically imports (should not be bundled)\n '@electric-sql/pglite',\n 'pg',\n 'postgres',\n '@vercel/postgres',\n '@neondatabase/serverless',\n 'mysql2',\n 'mysql2/promise',\n '@planetscale/database',\n ]\n\n const isNodeOnlyExternal = (id: string) =>\n nodeOnlyPackages.some(\n (pkg) =>\n id === pkg ||\n id.startsWith(`${pkg}/`) ||\n id.includes(`/${pkg}/`) ||\n id.endsWith(`/${pkg}`)\n )\n\n const externalList = (id: string, importer?: string, isResolved?: boolean) => {\n if (isNodeOnlyExternal(id)) return true\n if (typeof existingExternal === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (existingExternal as any)(id, importer, isResolved ?? false)\n }\n if (Array.isArray(existingExternal)) {\n return existingExternal.some((ext) => ext === id || id.startsWith(`${ext}/`))\n }\n return false\n }\n\n const rollupOptions = {\n ...existingRollupOptions,\n external: externalList,\n }\n\n const build = {\n ...existingBuild,\n commonjsOptions,\n rollupOptions,\n }\n\n // Worker options are TOP-LEVEL in Vite config, not under build.\n // Default 'iife' breaks when workers use code-splitting (e.g. sqlocal).\n const existingWorker = userConfig.worker ?? {}\n const worker = {\n ...existingWorker,\n format: existingWorker.format ?? 'es',\n }\n\n return {\n build,\n worker,\n }\n },\n\n transformIndexHtml(html) {\n if (!autoInit) return html\n\n const initScript = `\n<script type=\"module\">\nimport { configure } from '@zenfs/core';\nimport { IndexedDB } from '@zenfs/dom';\n\nif (!window.__seedFsReady) {\n window.__seedFsReady = configure({\n mounts: { '/': IndexedDB },\n }).catch((err) => {\n console.error('[seed-vite-plugin] ZenFS initialization failed', err);\n });\n}\n</script>`\n\n if (html.includes('</head>')) {\n return html.replace('</head>', `${initScript}\\n</head>`)\n }\n\n return html + initScript\n },\n }\n\n const plugins: Plugin[] = [configPlugin, mainPlugin]\n\n if (includeNodePolyfills) {\n log('Including vite-plugin-node-polyfills with default settings')\n plugins.push(\n nodePolyfills({\n // Let fs be handled by @zenfs/core instead of polyfills\n exclude: ['readline',],\n // Common set of browser-friendly polyfills used by many deps\n include: ['path', 'crypto', 'stream', 'util', 'buffer', 'events', 'string_decoder',],\n globals: {\n Buffer: true,\n global: true,\n process: true,\n },\n protocolImports: true,\n }) as unknown as Plugin,\n )\n }\n\n return plugins\n}\n"],"names":[],"mappings":"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"}
|