Skip to content
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

[legacy-framework] feat: Implement the new Architecture! #95

Merged
merged 31 commits into from
Apr 13, 2020
Merged

Conversation

flybayer
Copy link
Member

@flybayer flybayer commented Apr 11, 2020

Woohoo!! Finally bringing the vision to life!

  • RPC working for queries and mutations with hard coded rpc files
  • Change RPC stuff to be generated in the build
  • Ensure static build is working?

@flybayer flybayer self-assigned this Apr 11, 2020
@@ -25,7 +25,7 @@
"cross-env": "^7.0.0",
"debug": "^4.1.1",
"husky": "^4.2.3",
"jest": "25.3.0",
"jest": "24.9.0",
Copy link
Member Author

Choose a reason for hiding this comment

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

@ryardley is the issue with jest 25?

Copy link
Collaborator

@ryardley ryardley Apr 13, 2020

Choose a reason for hiding this comment

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

I was finding having multiple versions of jest seemed to cause some tests that should have failed to pass at least on my local. We should try and upgrade it all to 25 to avoid the warning with ts-jest but I vaguely remember having issues with that too so maybe we can do that later or as a separate PR to ensure everything works?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yes I just checked and tsdx can't handle the newer jest as it throws these errors:

TypeError: Cannot read property 'run' of undefined
    at /Users/rudiyardley/projects/blitz/blitz/node_modules/tsdx/dist/index.js:418:20
error Command failed with exit code 1.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I just downgraded ts-jest and everything appears to be working with no warnings.

@ryardley
Copy link
Collaborator

ryardley commented Apr 13, 2020

Hey @flybayer how do you want to do this static data build? Normally you would go to a remote database somewhere right? Should we be having an opinion here? Maybe we could make it so we stand up a local api server for the build process but i am not sure what people would really want to do here. Perhaps it makes sense to just support gSSP for now?

@flybayer flybayer marked this pull request as ready for review April 13, 2020 05:46
@flybayer
Copy link
Member Author

@ryardley I’m ready to merge this. Are you?

@ryardley
Copy link
Collaborator

Let's do it!

@flybayer flybayer changed the title Implement the new Architecture! feat: Implement the new Architecture! Apr 13, 2020
@flybayer flybayer merged commit c82de5c into canary Apr 13, 2020
@flybayer flybayer deleted the new-arch branch April 13, 2020 06:53
flybayer added a commit that referenced this pull request Apr 20, 2020
* docs: add code of conduct

* Update README.md

* remove broken gh action

* chore: update readme

* Add initial Blitz Core and First Demo 🎉 (#11)

* wip

* chore: fix typings, tweak build config

* update prettier config

* set up husky to run prettier on commit

* add migrate script and update readme

* changes, still broken

* add yarn dev command

* more changes, still broken

* demo working again!

* fix: yarn why do you hate me so much?

* add to gitignore

* trying to get demo dev to work right

* refactor and cleanup

* more cleanup

* update deps

* tweak

* update readme

* fix

* update readme

Co-authored-by: Michael Edelman  <michael@edel.mn>

* Live Demo Deployment (#12)

* add github link to demo

* fix(core): connect to db right away + fix for connection undefined

* changes to demo needed for production deployment

* fix(demo): relax tsconfig

* upgrade prisma & fix core for deployment

* demo updates

* chore(demo): add some comments

* fix(demo): untitled posts

* fix(demo): add content filtering!

* Add Open Collective Sponsor button (#15)

* fix(demo): switch to fruit content filter

* chore: add flybayer as codeowner of everything

* chore: Add Patreon and Paypal to the sponsor button options (#18)

* chore: add sponsor section to readme

* feat(cli): Add initial CLI (#8)

* v0.0.1

Initial PR for oclif CLI

* update prettier config

* chore: repo updates - run prettier on commit

* organize package.json + correct package name

* Add initial app generator

* changes & cleanup

* more tweaks

* Add basic nextjs generation

* #9 Swapping Mocha with Jest for CLI

Swapped Mocha with Jest.

* Swapping Mocha with Jest for CLI

Swapped Mocha with Jest.

* add `yarn b [COMMAND]` for dev convenience

* Formalize path arg

* Make jest work

* Remove empty commands and make tests pass

* Fix path argument

* Revert "target" in tsconfig.json

* Remove `target` from cli package.json

* Fix build command

* Use custom tsconfig for test script

* remove nyc because jest has coverage built in

* little cleanup

Co-authored-by: Mina Abadir <mina@abadir.email>
Co-authored-by: Lorenzo Rapetti <lorenzo.rapetti.94@gmail.com>

* chore(core): Add core tests (#16)

* Add core tests

- Tests cover Form and Controller
- You can check code coverage with "yarn test --coverage"

* A little formatting + form test modifications

* add back console log

Co-authored-by: Yanick Bélanger <yanick.belanger@yahoo.com>
Co-authored-by: Brandon Bayer <b@bayer.ws>

* fix: noop @prisma/client in browser, closes #13 (#19)

Co-authored-by: Brandon Bayer <b@bayer.ws>

* feat(core): Add withBlitz webpack wrapper + fix prisma/client (#31)

* add withBlitz webpack config wrapper

* Move prisma/client noop into withBlitz!

* chore: add pull_request event to github action

* docs: Update CODE_OF_CONDUCT.md (#28)

* feat(cli): Add `blitz console` command (#32)

Co-authored-by: Brandon Bayer <b@bayer.ws>

* feat(cli): Add `blitz test` command (#30)

* add run tests command

* add test command

* add test cmd unit test

* uses project package manager (npm/yarn) to run test script

Co-authored-by: Brandon Bayer <b@bayer.ws>

closes #22

* docs: add dev onboarding blurb to readme

* docs: fix typo

* chore: comment cleanup

* bug(example): Fix Invalid hook call error. (#37)

* fix: Fix jest version incompatability (#43)

* bug(webpack): Create webpack package to avoid context bugs (#42)

* Add new webpack package

* Delete webpack files from core

* Pin dependencies

* feat(cli): use custom REPL in console command (#38)

Co-authored-by: Brandon Bayer <b@bayer.ws>

* feat(core): Return 404 if controller action is not defined (#39)

Co-authored-by: Brandon Bayer <b@bayer.ws>

* fix(core): Add support for multiple attribute types for id (#35)

* Add support for multiple attribute types for id

* Add comment + tests

* test(examples): add cypress tests to first demo (#47)

* [examples] feat: setup cypress in first demo

* [examples] spec: add cypress tests for first demo

closes #44

* feat(cli): Compile to Next (#45)

* Only create a prisma client when it actually needed

* Setup start script for a simple next-project

* Enable "compile to next" on first-demo

* Whitespace

* Fix failing webpack config test

* Testing spawn call

* Neaten up code

* Test tsExtraMock instead of reporter

* Test file deletion

* Better file locations

* Dont need persistent anymore

* Development, Production, Build, Deploy

* Add ts-ignore so we dont get compiler errors

* Remove test on command with flags

* Tidy up typescript config and add test

* Add comment around type issues

* Remove author field

* Tidy up config changs

* quiet core tests

* move es6 from root tsconfig to cli tsconfig

* Rename start -> scripts and tidy up descriptions

* Test build script

* Fix up test description

* Fix bug in build script

Closes #21, #36

Co-authored-by: Brandon Bayer <b@bayer.ws>

* fix(cli): Fix bug in build script (#49)

* Unlink doesnt work on folders

* Mock remove

* feat(cli): Add `blitz test watch` command #23 (#50)

* Add test watch

* Add test:watch

closes #23

Co-authored-by: Brandon Bayer <b@bayer.ws>

* tweak funding

* feat(cli): Add `blitz db` command #24 (#51)

* Add db command

* fixed test

closes #24

Co-authored-by: Brandon Bayer <b@bayer.ws>

* docs: Add the Blitz Manifesto! (#52)

* refactor(server): create server package (#57)

* @blitzjs/webpack -> @blitzjs/server

* Move server code out of cli

* Fix up type and lerna issues

* Prebuild non-cli before test

* Remove noise in PR

* fix: running tests locally after packages have been built

* chore: tweak github actions to remove duplicate builds

* feat: Upgrade next to latest release v9.3.0, closes #60 (#65)

Co-authored-by: Brandon Bayer <b@bayer.ws>

* feat(server): Errors respect file path redirection (#66)

* Expose next-executable

* Redirecting errors correctly with mocked rules

* Add comments about what is waiting

* Remove prepare as it was causing errors when installing dependencies

* Mock outer function instead of call to spawn

* Try using import *

* Remove CI switch as that was not the problem

Co-authored-by: Brandon Bayer <b@bayer.ws>

* docs: add manifesto to readme

* docs: update readme

* chore: add github sponsor link

* feat(server): Transform rules and synchronisation manifest (#69)

* Extract config

* Use gulp pipes to apply tranforms and write manifest.

* Add linting comments to allow import reordering

* Fix manifest bug

* Refactor to pipeline and fix testing method

* Include clean

* Fix up dependencies and tidy up code

* Fix newline issue

* Fix dependencies again

* Fix up testing strategy for file manipulations

* Renaming file because of inconsistency pt1

* Renaming file because of inconsistency pt2

* Update CLI test

* Debug CI build failures not occuring locally

* Include catch for missing unlink

* bug(server): CI pathname errors for readable-stream (#71)

* Try setting normalise to false on tree testing

* Remove debugging log

* feat(cli): load dependencies in blitz console (#68)

* [cli] feat: autoload package dependencies in console

* feat: load Prisma Client into console context

* [cli] spec: fix spec for console command

Co-authored-by: Brandon Bayer <b@bayer.ws>

* Update MANIFESTO.md

* add initial file structure rfc

* Revert "add initial file structure rfc"

This reverts commit f48a776.

* Update README.md

* doc: Add All Contributors Spec, Add CONTRIBUTING.md, Update Readme (#77)

* Added financial contributors to the README

* Add @flybayer as a contributor

* Add @medelman17 as a contributor

* Add @ryardley as a contributor

* Add @toddgeist as a contributor

* Add @quirk0o as a contributor

* Add @tsawan as a contributor

* Add @camilo86 as a contributor

* Add @dkempner as a contributor

* Add @gielcobben as a contributor

* Add @MrLeebo as a contributor

* Add @jimthedev as a contributor

* update readme & add CONTRIBUTING.md

* add Kristina

* Add @robdrosenberg as a contributor

* Add @jasonblalock as a contributor

* Add @coreybrown89 as a contributor

* Add @aej11a as a contributor

* update badegs

* tweak

* tweak

* more

Co-authored-by: Jess <jessachandler@gmail.com>

* docs: add lorenzorapetti as a contributor (#80)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* docs: add aem as a contributor (#79)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Brandon Bayer <b@bayer.ws>

* docs: add rishabhpoddar as a contributor (#78)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Brandon Bayer <b@bayer.ws>

* docs: add marcoseoane as a contributor (#81)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Brandon Bayer <b@bayer.ws>

* fix readme

* refactor(cli): CLI refactoring (#25)

* Add base generator class

* change from mem-fs to fs.mkdirSync due to undefined error

* Add base command class

* Add conflict checker

* Add dry run to generator

* Add install via npm or yarn

* Add --no-yarn

* remove unused nyc dependency

Co-authored-by: marcoseoane <marcorseoane@outlook.com>
Co-authored-by: Brandon Bayer <b@bayer.ws>

* chore: fix rishabhpoddar readme link

* Add @merelinguist as a contributor

* chore: tweak readme

* chore: update readme

* Fix dangling chokidar watch and add temporary logging.  (#82)

* Add logging

* Add better commit message

* Ensure will only run if jest is running

* Add manifest to output log

* Update message

* Use specific ignore in build folder

* Add dot ahead of ignored patterns

* Close Watcher

* Remove stray reference

* Neaten up

* chore: add rudi as code owner of packages/server

* chore(deps): bump acorn from 5.7.3 to 5.7.4 (#83)

Bumps [acorn](https://github.com/acornjs/acorn) from 5.7.3 to 5.7.4.
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](acornjs/acorn@5.7.3...5.7.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Brandon Bayer <b@bayer.ws>
Co-authored-by: Rudi Yardley <contact@rudiyardley.com>

* docs: Fix website link (#86)

* Fix website link

* regenerate readme

Co-authored-by: Brandon Bayer <b@bayer.ws>

* docs: update readme

* chore: remove all prototype code in prep for new architecture code (#90)

* remove all prototype code and clean up deps

* fixes

* Fix launchEditor bug (#92)

* fix(server): Fix ignorePath (#94)

* Fix up globs

* Revert move as it doesnt really matter because of ignorePaths

* chore: upgrade dependencies (#96)

* feat: Implement the new Architecture! (#95)

* wip

* working rpc mutation

* queries and mutations working!!

* prewarm the lamba

* update withBlitz config wrapper - remove stuff no longer needed

* switch from `pages` to `routes`

* fix a test issue

* fix cli test

* Add file addition and subtraction to transform stream

* Remove comments

* Allow pages and routes

* Allow routes folder without context

* Tidy up build rules

* Fix broken transform test

* Use done callback to ensure all events have passed in stream test

* Fix next build breaking

* File generation RPC works

* Remove commented out code

* Ensure correct jest version so tests run and tidy up

* Fix up linting

* Tidy up synchroniser

* Ensure watcher close is run when watchmode is false

* typo

* update cli readme

* Fix start error

* Downgrade ts-jest to remove warning

* fix build with static pages

* rerun prettier on all files

* yarn workspace: nohoist husky and prisma

* add missing dependency

Co-authored-by: Rudi Yardley <contact@rudiyardley.com>

* chore: change version to 0.0.0

* chore: update lerna config

* v0.0.1-canary.0

* chore: remove version from examples

* v0.0.1-canary.1

* chore: update githead

* fix(examples): Fix Yarn link blitz cli failing (#105)

* Add version to example

* Try using generic versions

* fix(cli): spawn Windows .cmd entrypoints on win32 platform (#109)

Co-authored-by: Brandon Bayer <b@bayer.ws>

* docs: add wKovacs64 as a contributor (#111)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* feat(server): Warning about invalid routes/api structure (#106)

* First pass at warning about duplicate routes

* Move dupe checker to its own function

* Fix some accidental changes

* Revert yarn.lock(?)

* Route > page

* Use pages for store example

* Warn about nested api routes

* Check for duplicate api routes

* Warn api dupe routes

* Remove stray process.exit

* Merge api and pages dupe checkers

* Delete old checkers

* Remove stray line

Co-authored-by: merelinguist <merelinguist@users.noreply.github.com>
Co-authored-by: Brandon Bayer <b@bayer.ws>

* docs: add merelinguist as a contributor (#112)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* feat: use `db` folder instead of `prisma` (#114)

* feat: use `db` folder instead of `prisma`

* fix tests

* feat(cli): don't bundle cli (and remove pkg) (#115)

* feat(cli): don't bundle cli with pkg or anything. npm package now working

* fix tests

* chore: update lerna script

* v0.0.1-0.0.1-canary.4.0

* v0.0.2-alpha.0

* chore: update example dependency versions

* fix: build from dependency issues

* chore(examples): Make store work in prod (switch to Postgres) (#117)

* wip

* fix(example): changes for deploying store to Zeit. Switch to postgres

* feat: enable concurrent mode for Blitz apps (#118)

* v0.0.2-canary.0

* build(cli): fix @blitzjs/cli build script on Windows (#120)

* chore: fix all contributors badge generation

* docs: add alpha release note to readme

* docs: readme typo

* Change blitz new template to be a working blitz app (#123)

* change blitz new template to be a working blitz app

* fix tests

* Add the `blitz` package (#125)

* Revert "Add the `blitz` package (#125)"

This reverts commit 9e1ce7d.

* fix(cli): leverage cross-spawn for cross-platform compatibility (#122)

* fix(cli): leverage cross-spawn for cross-platform compatibility

* refactor(server): use cross-spawn in next-utils for consistency

* feat(server): `blitz.config.js` config support without `withBlit… (#130)

* Allow blitz config

* Add error message

* Update tests

* Support only blitz.config.js

* Remove blitz.config.js

Co-authored-by: Brandon Bayer <b@bayer.ws>

* give the README a fresh coat of paint!

* Update .all-contributorsrc

* Update README.md

* Update README.md

* automatically read .env for blitz cli commands (#133)

(minor)

* Add `blitz db studio` and `blitz db introspect` (#134)

(minor)

* Implement ssrQuery (#136)

* add medelman17 for code

* Update new app template: favicon, blitz.config.js, .env, fixes (#137)

* Rexport Next stuff from Blitz (#138)

* Update CONTRIBUTING.md

* feat(cli): add help for db commands (#139)

* docs: add sijad as a contributor (#141)

* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>

* v0.0.2-canary.1

* tweak readme

* Fix server for deployment to Zeit (#143)

* fix production, but tests still failing

* Fix missing await and avoid changing source folder

Co-authored-by: Rudi Yardley <contact@rudiyardley.com>

* Fix ugly blitz start --production error (#144)

* Automatically run `blitz db migrate` on every `blitz start` (#147)

* Automatically run `blitz db migrate` on every `blitz start`

* Fix test

Co-authored-by: merelinguist <merelinguist@users.noreply.github.com>

* Update readme with benefits and features

* Update README.md

* Update MANIFESTO.md

* Add the `blitz` package and proper global/local CLI handling (#128)

* add the `blitz` package (but yarn blitz start not working)

* wip

* working

* updates

* cleanup

* adjustment

* chore: make 'blitz' work (#129)

* chore: make 'blitz' work

* fix: make example work in dev mode with blitz mono-package

* test: skip failing test re patched version of next

* fix: issues re bundling & store example

* fix blitz building in development and some other cleanup

* fixes for CLI usage from blitz

* more changes. blitz build still broken from child_process thing

* remove .yarnrc

* few DX fixes

* fix bug in store example

* fix the build and CLI!

* code comments

* delete vanilla-next

* fix tests

* fix tests

* fix CI tests

* remove server export from `blitz` since end-users don't use it

* move README into the Blitz package

* add link-cli script

* change prisma resolve to use resolveBinAsync

Co-authored-by: Michael Edelman <michael@fabulas.io>

* add register to server package

* add publish script

* v0.5.0-canary.0

* v0.5.0-canary.1

* Many updates to blitz new template, including prettier, eslint,… (#150)

* update template app

* fix `blitz -v`

* v0.5.0-canary.2

* fix cli template files in npm package

* tweak link-cli scripts

* v0.5.0-canary.3

* Back out the auto db migrate, and instead only auto generate pri… (#151)

* change to only generate prisma client on blitz start

* add comment

* v0.5.0-canary.4

* move test mocks to top of file

* v0.5.0-canary.5

* Add the Alpha User Guide (#131)

* Create USER_GUIDE.md

* Update USER_GUIDE.md

* Update USER_GUIDE.md

* Update USER_GUIDE.md

* Update USER_GUIDE.md

* add custom header image

* Update USER_GUIDE.md

* add cli commands

* add blitz db introspect

* Update USER_GUIDE.md

Co-authored-by: Michael Edelman  <michael@edel.mn>
Co-authored-by: Mina Abadir <mina@abadir.email>
Co-authored-by: Lorenzo Rapetti <lorenzo.rapetti.94@gmail.com>
Co-authored-by: Jeremy Liberman <mrleebo@msn.com>
Co-authored-by: Yanick Bélanger <yanick.belanger@yahoo.com>
Co-authored-by: Jim Cummins <jim.for.cy@gmail.com>
Co-authored-by: Beata Obrok <beata.obrok@u2i.com>
Co-authored-by: Camilo Gonzalez <cgs.camilogonzalez@gmail.com>
Co-authored-by: Rudi Yardley <contact@rudiyardley.com>
Co-authored-by: Tahir Awan <tahir.awan@gmail.com>
Co-authored-by: Giel <g.cobben@gmail.com>
Co-authored-by: Jess <jessachandler@gmail.com>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: marcoseoane <marcorseoane@outlook.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dylan Brookes <24858006+merelinguist@users.noreply.github.com>
Co-authored-by: Justin Hall <justin.r.hall@gmail.com>
Co-authored-by: merelinguist <merelinguist@users.noreply.github.com>
Co-authored-by: Sajjad Hashemian <sijad@disroot.org>
Co-authored-by: Michael Edelman <michael@fabulas.io>
@dillondotzip dillondotzip changed the title feat: Implement the new Architecture! [legacy-framework] feat: Implement the new Architecture! 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.

None yet

2 participants