* Allow `@babel/preset-typescript` to be configured
Some usages, e.g. [getting parameter decorators to work properly](https://github.com/WarnerHooh/babel-plugin-parameter-decorator/pull/19), require configuring `@babel/preset-typescript`.
This commit adds that functionality to `next/babel`.
* Add unit test for babel/preset allowing to pass options to @babel/preset-typescript
* Add integration test for onlyRemoveTypeImports
* Update babel dependencies
* Update to compatible typescript version and fix types
* Fix linting and run pre-nccing
* Update size-limit test
* Add additional tests
* Re-Apply delta to be calculated using -262
Co-authored-by: JJ Kasper <jj@jjsweb.site>
* checkpoint: api impl
* Add support for tryGetPreviewData
* snapshot: server(less) support
* Add X-Prerender-Bypass-Mode header support
* Pass preview data to getStaticProps call
* add TODO
* setPreviewData
* 100k iterations
* Handle jwt error
* Write out preview values
* forgot file
* set preview props
* Send preview props
* add preview props
* Pass around more data
* update yarn lock
* Fail on Invalid Prerender Manifest
* Make Missing Prerender Manifest Fatal
* fix ts errors
* fix test
* Fix setting cookies + maxage
* Secure is not needed as we encrypt necessary data
* Set on domain root
* Set cookie max ages
* Render a fallback on-demand for non-dynamic pages
* Test preview mode
* remove old build
* remove snapshots
* Add serverless tests
* use afterAll
* Remove object assigns
* fix cookie spread
* add comment
* Add support for rewriting to external resources
* Update rewrite proxying test
Co-authored-by: Tim Neutkens <tim@timneutkens.nl>
Co-authored-by: Joe Haddad <timer150@gmail.com>
* Migrate from wd to selenium-webdriver
* Add chaining for next-webdriver
* Re-add browserStackLocal global for teardown
* Add additional element methods
* Use freshWindow helper for chrome
* Add selenium-server
* Add cross-env for windows compat
* Fix single quote windows
* Update production preload tests
* Update preload tests count
* Update CircleCi for testing other browsers
* Update CI configs
* Update config
* Add browser.url command
* Add more methods
* Update xcode version
* Make sure to add chromedriver to path
* Add forceExit flag
* Update config
* Update config
* Disable safari
* Fix bug in test
* Add teardown logging
* Update jest teardown
* Move testing ie11 to Azure
* Update job names
* Remove force exiting on long teardown
* Update Azure config
* Re-add safari testing with BrowserStack
* Update config
* Update prefetch tests for ie11
* Update prefetch for safari and ids for ie11 testing
* trigger prefetching manually in ie
* Disable concurrency for tests
* Add browser instance sharing
* Bump concurrency and install chromedriver smoother
* Fix config typo
* Fix local test
* Limit azure concurrency again
* Add delay for empty-object-test
* Make sure to use open port for chromedriver
* Move browser closing to jest-environment
* Re-enable concurrency for Azure
* bump
* Disable concurrency for Azure again
* Re-enable concurrency for Azure
* bump
* allow NextScript to optionally defer javascript
* move defer options to experimental feature
* combine defer flags into a single option
* Update deferScripts to work with serverless target
* Add test for defer and async property
* Read the async property
* Check versions of chrome and chromedriver
* Update to chromedriver 76
* Fix test
* Add progress for analyzing and auto-prerendering
* Add typing for tty-aware-progress and use stdout
* Add fancier spinners
* Update spinner and add handling for logs while spinning
* Remove un-needed types package
* Remove progress and combine analyzing/prerendering messages
* Tweak test set-up
* Update azure config
* Add cleaning test files and windows handling
* Limit windows test to one at a time
* Tweak test settings
* Update tests splitting
* remove custom concurrency for azure
* Test Azure var
* Update Azure config
* bump
* Simplify cleaning up
* Add experimental optimizeLibraries flag, currently prunes Moment.js locales
* expose moment for use in assertion
* try with the same setup as the production integration test
* Apply optimiztaions in dev and on server so they're consistent.
* fix build (oh dear)
* Update index.test.js
* Rename flag to future.excludeDefaultMomentLocales
* Adjust impl
* adds user timing marks for hydration step
* changes measure names and removes window namespaces by adding performance as a global to standard
* separates hydrate and render marks
* Add performance mark to router change instead of link click
* Changes performance mark name at router change
* adds checks for performance
* creates constants utils for performance and user timings
* Experimental: Serverless Trace target
The Serverless Trace target produces Serverless-handler wrapped entrypoints, but does not bundle all of `node_modules`.
This behavior increases bundling performance to be more akin to `target: 'server'`.
This mode is expected to be used with smart platforms (like [ZEIT Now](https://zeit.co/now) that can trace a program to its minimum dependencies.
* Use more generic variables
* Add asset relocator for production mode of serverless trace
* Verify Firebase compatiblity
* Revert "Add asset relocator for production mode of serverless trace"
This reverts commit 8404f1dcf28b60edab41a56c94b38dcd3fddec20.
* Add serverless trace tests
* Add _isLikeServerless helper
* Make constants
* Fix export
* Update packages/next-server/server/config.ts
Co-Authored-By: JJ Kasper <jj@jjsweb.site>
* Use a global helper for is like serverless
* Update import for isTargetLikeServerless
* Update packages/next/build/index.ts
Co-Authored-By: JJ Kasper <jj@jjsweb.site>