1. 17 10月, 2020 2 次提交
  2. 16 10月, 2020 8 次提交
  3. 15 10月, 2020 6 次提交
  4. 14 10月, 2020 10 次提交
  5. 13 10月, 2020 2 次提交
  6. 12 10月, 2020 2 次提交
  7. 11 10月, 2020 2 次提交
  8. 10 10月, 2020 3 次提交
  9. 09 10月, 2020 4 次提交
    • J
      Update to generate auto static pages with all locales (#17730) · 2170dfd1
      JJ Kasper 提交于
      Follow-up PR to #17370 this adds generating auto-export, non-dynamic SSG, and fallback pages with all locales. Dynamic SSG pages still control which locales the pages are generated with using `getStaticPaths`. To further control which locales non-dynamic SSG pages will be prerendered with a follow-up PR adding handling for 404 behavior from `getStaticProps` will be needed. 
      
      x-ref: https://github.com/vercel/next.js/issues/17110
      2170dfd1
    • J
      v9.5.5-canary.0 · 62b9183e
      JJ Kasper 提交于
      62b9183e
    • J
      Handle css-loader file resolving change (#17724) · ec2ffb42
      JJ Kasper 提交于
      This is a follow-up to https://github.com/vercel/next.js/pull/16973 which adds handling for the breaking change in the latest version of css-loader that causes unresolved file references in `url` or `import` to cause the build to fail. This fixes it by adding our own resolve checking and when it fails disabling the `css-loader`'s handling of it. 
      
      Fixes: https://github.com/vercel/next.js/issues/17701
      ec2ffb42
    • J
      Fix with-msw example (#17695) · c021662d
      Jens Meindertsma 提交于
      When using the `with-msw` example I noticed it increased my bundle size in production, even through MSW is meant to be used in development only. 
      
      **Build size before implementing MSW**
      ```
      Page                                                           Size     First Load JS
      ┌ λ /                                                          479 B          58.9 kB
      ├   /_app                                                      0 B            58.4 kB
      └ ○ /404                                                       3.44 kB        61.9 kB
      + First Load JS shared by all                                  58.4 kB
        ├ chunks/f6078781a05fe1bcb0902d23dbbb2662c8d200b3.b1b405.js  10.3 kB
        ├ chunks/framework.cb05d5.js                                 39.9 kB
        ├ chunks/main.a140d5.js                                      7.28 kB
        ├ chunks/pages/_app.b90a57.js                                277 B
        └ chunks/webpack.e06743.js                                   751 B
      
      λ  (Server)  server-side renders at runtime (uses getInitialProps or getServerSideProps)
      ○  (Static)  automatically rendered as static HTML (uses no initial props)
      ●  (SSG)     automatically generated as static HTML + JSON (uses getStaticProps)
         (ISR)     incremental static regeneration (uses revalidate in getStaticProps)
      ```
      **Build size after implementing MSW according to the `with-msw` example**
      ```
      Page                                                           Size     First Load JS
      ┌ λ /                                                          479 B          71.6 kB
      ├   /_app                                                      0 B            71.1 kB
      └ ○ /404                                                       3.44 kB        74.6 kB
      + First Load JS shared by all                                  71.1 kB
        ├ chunks/f6078781a05fe1bcb0902d23dbbb2662c8d200b3.b1b405.js  10.3 kB
        ├ chunks/framework.cb05d5.js                                 39.9 kB
        ├ chunks/main.a140d5.js                                      7.28 kB
        ├ chunks/pages/_app.c58a6f.js                                13 kB
        └ chunks/webpack.e06743.js                                   751 B
      
      λ  (Server)  server-side renders at runtime (uses getInitialProps or getServerSideProps)
      ○  (Static)  automatically rendered as static HTML (uses no initial props)
      ●  (SSG)     automatically generated as static HTML + JSON (uses getStaticProps)
         (ISR)     incremental static regeneration (uses revalidate in getStaticProps)
      ```
      
      There was a 12.7 kB large increase in the `_app` First Load JS which increased the pages' First Load JS size. I tracked the problem down to the following code: 
      ```js
      if (process.env.NEXT_PUBLIC_API_MOCKING === 'enabled') {
        require('../mocks')
      }
      ```
      Removing this reduces the `_app` First Load JS to what it was previously. The `NEXT_PUBLIC_API_MOCKING` environment variable is defined in the `.env.development` file, as this means that Next.js will only activate MSW during development/testing, which is what MSW is intended for.
      
      After discussing with @kettanaito, the author of MSW, I did some investigation. This dynamic require statement is intended to allow tree-shaking of the MSW package for production. Unfortunately this did not seem to be working. To fix this, I changed the code to the following:
      ```js
      if (process.env.NODE_ENV !== 'production') {
        require('../mocks')
      }
      ```
      This means I could remove the `NEXT_PUBLIC_API_MOCKING` environment variable  from `.env.development`, as it is no longer used. 
      
      It is important to note that this still achieves the same functionality as before: MSW runs in development / testing, and not in production. If MSW must be enabled in production for some reason, the following code can be used to run MSW regardless of the environment:
      ```js
      if (true) {
        require('../mocks')
      }
      ```
      
      If possible, I'd love to hear from the Next.js maintainers regarding the tree-shaking process when using environment variables.
      
      Lastly, I made the necessary changes to have the example work in production mode as well, because there is no real backend. Of course there is a comment explaining what should be changed in a real world app.
      c021662d
  10. 08 10月, 2020 1 次提交
    • J
      Update to have default locale matched on root (#17669) · bbc1a21c
      JJ Kasper 提交于
      Follow-up PR to https://github.com/vercel/next.js/pull/17370 when the path is not prefixed with a locale and the default locale is the detected locale it doesn't redirect to locale prefixed variant. If the default locale path is visited and the default locale is visited this also redirects to the root removing the un-necessary locale in the URL. 
      
      This also exposes the `defaultLocale` on the router since the RFC mentions `Setting a defaultLocale is required in every i18n library so it'd be useful for Next.js to provide it to the application.` although doesn't explicitly spec where we want to expose it. If we want to expose it differently this can be updated. 
      bbc1a21c