Skip to content

[legacy-framework] Major internal refactor + add multiple entry points + change all imports to be from blitz + rename getSessionContext to getSession + other fixes#2039

Merged
flybayer merged 31 commits intocanaryfrom
imports
Mar 4, 2021

Conversation

@flybayer
Copy link
Copy Markdown
Member

@flybayer flybayer commented Mar 2, 2021

Closes: blitz-js/legacy-framework#928
Closes: blitz-js/legacy-framework#516

What are the changes and their implications?

  • 11% reduction in app bundle sizes
  • Adds multiple entry points to @blitzjs/core, like @blitzjs/core/image, @blitzjs/core/document, @blitzjs/core/server, etc
  • All entrypoints are exported from blitz, but with the new babel plugin added in this PR, imports are remapped to their dedicated entrypoint. This optimizes DX and bundle sizes at the same time
  • Removes date-fns as a dependency
  • Removes zod as a dependency (now a peer dependency)
  • Moves rpc and auth code from @blitzjs/server into @blitzjs/core/server
  • @blitzjs/server now only deals with build time operations. And it will go away once we fork next.js
  • core/src/supertokens.ts moved to core/src/auth/auth-client.ts
  • server/src/supertokens.ts moved to core/src/server/auth/sessions.ts

Breaking changes:

--const {sessionMiddleware, simpleRolesIsAuthorized} = require("@blitzjs/server")
++const {sessionMiddleware, simpleRolesIsAuthorized} = require("blitz")

--import {SimpleRolesIsAuthorized} from "@blitzjs/server"
++import {SimpleRolesIsAuthorized} from "blitz"

--import {getSessionContext} from "@blitzjs/server"
++import {getSession} from "blitz"

--const blitz = require("@blitzjs/server")
++const blitz = require("blitz/custom-server")

Checklist

  • Changes covered by tests (tests added if needed)
  • PR submitted to blitzjs.com for any user facing changes

kodiakhq[bot]
kodiakhq bot previously approved these changes Mar 2, 2021
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 2, 2021

Size Change: -33.4 kB (-13%) 👏

Total Size: 230 kB

Filename Size Change
packages/babel-preset/dist/blitzjs-babel-preset.cjs.dev.js 1.69 kB +871 B (+107%) 🆘
packages/babel-preset/dist/blitzjs-babel-preset.cjs.prod.js 1.69 kB +871 B (+107%) 🆘
packages/babel-preset/dist/blitzjs-babel-preset.esm.js 1.63 kB +882 B (+117%) 🆘
packages/blitz/dist/blitz.cjs.dev.js 355 B +123 B (+53%) 🆘
packages/blitz/dist/blitz.cjs.prod.js 355 B +123 B (+53%) 🆘
packages/blitz/dist/blitz.esm.js 102 B +51 B (+100%) 🆘
packages/core/dist/blitzjs-core.cjs.dev.js 8.6 kB -7 kB (-45%) 🎉
packages/core/dist/blitzjs-core.cjs.prod.js 8.32 kB -6.99 kB (-46%) 🎉
packages/core/dist/blitzjs-core.esm.js 8.29 kB -6.74 kB (-45%) 🎉
packages/generator/dist/templates/app/blitz.config.js 310 B -6 B (-2%)
packages/server/dist/blitzjs-server.cjs.dev.js 12.6 kB -8.83 kB (-41%) 🎉
packages/server/dist/blitzjs-server.cjs.prod.js 12.6 kB -8.8 kB (-41%) 🎉
packages/server/dist/blitzjs-server.esm.js 12.4 kB -8.87 kB (-42%) 🎉
packages/core/dist/blitz-data-080e83b6.cjs.dev.js 1 kB +1 kB (new file) 🆕
packages/core/dist/blitz-data-11f14b56.cjs.prod.js 1 kB +1 kB (new file) 🆕
packages/core/dist/blitz-data-d1f53a00.esm.js 910 B +910 B (new file) 🆕
packages/core/dist/constants-016ca9ae.esm.js 2.34 kB +2.34 kB (new file) 🆕
packages/core/dist/constants-7093bd41.cjs.dev.js 2.44 kB +2.44 kB (new file) 🆕
packages/core/dist/constants-77910dbe.cjs.prod.js 2.44 kB +2.44 kB (new file) 🆕
packages/core/dist/extends-1b905a27.esm.js 241 B +241 B (new file) 🆕
packages/core/dist/extends-93eedbb0.cjs.dev.js 250 B +250 B (new file) 🆕
packages/core/dist/extends-f26277ce.cjs.prod.js 250 B +250 B (new file) 🆕
ℹ️ View Unchanged
Filename Size Change
packages/babel-preset/dist/blitzjs-babel-preset.cjs.js 150 B 0 B
packages/blitz/cli/dist/blitz-cli.cjs.dev.js 1.47 kB 0 B
packages/blitz/cli/dist/blitz-cli.cjs.js 142 B 0 B
packages/blitz/cli/dist/blitz-cli.cjs.prod.js 1.47 kB 0 B
packages/blitz/cli/dist/blitz-cli.esm.js 1.37 kB 0 B
packages/blitz/custom-server/dist/blitz-custom-server.cjs.dev.js 288 B 0 B
packages/blitz/custom-server/dist/blitz-custom-server.cjs.js 149 B 0 B
packages/blitz/custom-server/dist/blitz-custom-server.cjs.prod.js 288 B 0 B
packages/blitz/custom-server/dist/blitz-custom-server.esm.js 123 B 0 B
packages/blitz/dist/blitz.cjs.js 139 B 0 B
packages/config/dist/blitzjs-config.cjs.dev.js 1.01 kB 0 B
packages/config/dist/blitzjs-config.cjs.js 146 B 0 B
packages/config/dist/blitzjs-config.cjs.prod.js 1 kB 0 B
packages/config/dist/blitzjs-config.esm.js 878 B 0 B
packages/core/config/dist/blitzjs-core-config.cjs.dev.js 260 B 0 B
packages/core/config/dist/blitzjs-core-config.cjs.js 150 B 0 B
packages/core/config/dist/blitzjs-core-config.cjs.prod.js 260 B 0 B
packages/core/config/dist/blitzjs-core-config.esm.js 73 B 0 B
packages/core/dist/blitzjs-core.cjs.js 144 B 0 B
packages/core/document/dist/blitzjs-core-document.cjs.dev.js 448 B 0 B
packages/core/document/dist/blitzjs-core-document.cjs.js 151 B 0 B
packages/core/document/dist/blitzjs-core-document.cjs.prod.js 450 B 0 B
packages/core/document/dist/blitzjs-core-document.esm.js 272 B 0 B
packages/core/dynamic/dist/blitzjs-core-dynamic.cjs.dev.js 263 B 0 B
packages/core/dynamic/dist/blitzjs-core-dynamic.cjs.js 151 B 0 B
packages/core/dynamic/dist/blitzjs-core-dynamic.cjs.prod.js 263 B 0 B
packages/core/dynamic/dist/blitzjs-core-dynamic.esm.js 73 B 0 B
packages/core/head/dist/blitzjs-core-head.cjs.dev.js 245 B 0 B
packages/core/head/dist/blitzjs-core-head.cjs.js 148 B 0 B
packages/core/head/dist/blitzjs-core-head.cjs.prod.js 245 B 0 B
packages/core/head/dist/blitzjs-core-head.esm.js 64 B 0 B
packages/core/image/dist/blitzjs-core-image.cjs.dev.js 249 B 0 B
packages/core/image/dist/blitzjs-core-image.cjs.js 149 B 0 B
packages/core/image/dist/blitzjs-core-image.cjs.prod.js 249 B 0 B
packages/core/image/dist/blitzjs-core-image.esm.js 65 B 0 B
packages/core/server/dist/blitzjs-core-server.cjs.dev.js 13.2 kB 0 B
packages/core/server/dist/blitzjs-core-server.cjs.js 148 B 0 B
packages/core/server/dist/blitzjs-core-server.cjs.prod.js 13.2 kB 0 B
packages/core/server/dist/blitzjs-core-server.esm.js 13.1 kB 0 B
packages/core/with-blitz/dist/blitzjs-core-with-blitz.cjs.dev.js 1.28 kB 0 B
packages/core/with-blitz/dist/blitzjs-core-with-blitz.cjs.js 151 B 0 B
packages/core/with-blitz/dist/blitzjs-core-with-blitz.cjs.prod.js 1.29 kB 0 B
packages/core/with-blitz/dist/blitzjs-core-with-blitz.esm.js 1.15 kB 0 B
packages/display/dist/blitzjs-display.cjs.dev.js 2 kB 0 B
packages/display/dist/blitzjs-display.cjs.js 147 B 0 B
packages/display/dist/blitzjs-display.cjs.prod.js 1.95 kB 0 B
packages/display/dist/blitzjs-display.esm.js 1.86 kB 0 B
packages/file-pipeline/dist/blitzjs-file-pipeline.cjs.dev.js 6.88 kB 0 B
packages/file-pipeline/dist/blitzjs-file-pipeline.cjs.js 150 B 0 B
packages/file-pipeline/dist/blitzjs-file-pipeline.cjs.prod.js 6.88 kB 0 B
packages/file-pipeline/dist/blitzjs-file-pipeline.esm.js 6.61 kB 0 B
packages/generator/dist/blitzjs-generator.cjs.dev.js 13.7 kB 0 B
packages/generator/dist/blitzjs-generator.cjs.js 148 B 0 B
packages/generator/dist/blitzjs-generator.cjs.prod.js 13.7 kB 0 B
packages/generator/dist/blitzjs-generator.esm.js 13.3 kB 0 B
packages/generator/dist/templates/app/babel.config.js 78 B 0 B
packages/generator/dist/templates/app/jest.config.js 60 B 0 B
packages/installer/dist/blitzjs-installer.cjs.dev.js 6.91 kB 0 B
packages/installer/dist/blitzjs-installer.cjs.js 148 B 0 B
packages/installer/dist/blitzjs-installer.cjs.prod.js 6.91 kB 0 B
packages/installer/dist/blitzjs-installer.esm.js 6.72 kB 0 B
packages/repl/dist/blitzjs-repl.cjs.dev.js 1.75 kB 0 B
packages/repl/dist/blitzjs-repl.cjs.js 144 B 0 B
packages/repl/dist/blitzjs-repl.cjs.prod.js 1.75 kB 0 B
packages/repl/dist/blitzjs-repl.esm.js 1.6 kB 0 B
packages/server/dist/blitzjs-server.cjs.js 145 B 0 B

compressed-size-action

kodiakhq[bot]
kodiakhq bot previously approved these changes Mar 2, 2021
kodiakhq[bot]
kodiakhq bot previously approved these changes Mar 2, 2021
kodiakhq[bot]
kodiakhq bot previously approved these changes Mar 3, 2021
kodiakhq[bot]
kodiakhq bot previously approved these changes Mar 3, 2021
MrLeebo
MrLeebo previously approved these changes Mar 3, 2021
Copy link
Copy Markdown
Member

@MrLeebo MrLeebo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks really good! The imports make a lot more sense now.

Based on the automated checks, it looks like some breaking changes still need to be fixed in the examples/ apps, but other then that, overall I'd say this is a step in the right direction! 💪

@flybayer flybayer dismissed stale reviews from MrLeebo and kodiakhq[bot] via 3ce5da7 March 3, 2021 23:18
kodiakhq[bot]
kodiakhq bot previously approved these changes Mar 3, 2021
kodiakhq[bot]
kodiakhq bot previously approved these changes Mar 4, 2021
kodiakhq[bot]
kodiakhq bot previously approved these changes Mar 4, 2021
kodiakhq[bot]
kodiakhq bot previously approved these changes Mar 4, 2021
kodiakhq[bot]
kodiakhq bot previously approved these changes Mar 4, 2021
@flybayer flybayer merged commit 66cd766 into canary Mar 4, 2021
@flybayer flybayer deleted the imports branch March 4, 2021 19:55
@itsdillon itsdillon changed the title Major internal refactor + add multiple entry points + change all imports to be from blitz + rename getSessionContext to getSession + other fixes [legacy-framework] Major internal refactor + add multiple entry points + change all imports to be from blitz + rename getSessionContext to getSession + other fixes Jul 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Rollup help needed] Add new@blitzjs/framework pkg with separate client & server bundles next export - Not working

2 participants