-
Notifications
You must be signed in to change notification settings - Fork 58
Refactor build logic #753
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor build logic #753
Conversation
🦋 Changeset detectedLatest commit: 84d33ce The changes in this PR will be included in the next version bump. This PR includes changesets to release 14 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
4521834 to
6343bc0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🥳 This is very very nice. Glad to see these improvements.
I left some minor comments.
I did some basic smoke testing with the React Native and React Supabase Todolist apps. those seem to work fine 😄
711224c to
eb3a81d
Compare
This changes builds for powersync packages to make published libraries easier to debug:
Listing all packages:
adapter-sql-js: Bundle our custom sql.js fork, no longer bundleasync-mutex. Use source maps, non-minified builds.attachments: Enable source maps.capacitor: TODOcommon:TextDecoderpolyfill when we were still usingcan-ndjson-stream. We're not doing that anymore, I've added acreateTextDecoder()method onAbstractRemotethat thereact-nativepackage can override. This avoids us having to bundle that polyfill on all platforms.bufferpackage for Node (we can and should just usenode:bufferinstead).js-logger(because it's a legacy UMD module that's hard to integrate) and rsocket (because it referencesBufferas a global and we need to rewrite that to imports). However, I don't see why we would want to bundleasync-mutex,bufferorevent-iterator. These don't seem to create any issues, and this marks them as external again.BSONafter removing the legacy sync client. I also think we should look into only supporting WebSockets on React Native to not pay the rsocket cost for all SDKs.drizzle-driver: Enable source maps.kysely-driver: Enable source maps.node: Replaceasync-lockswithasync-mutex(that package is already used incommon).powersync-op-sqlite: No changes necessary.react: Enable source maps.react-native: Enable source maps, disable minification.tanstack-react-query: Enable source maps.vue: Enable source maps.web: Update dependencies.TODOS: