Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix(perf): exclude entire/_next/static/ dir from generated function#2753

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Draft
serhalp wants to merge1 commit intomain
base:main
Choose a base branch
Loading
fromperf/exclude-static-paths-from-function

Conversation

serhalp
Copy link
Member

Description

See inline comment. This only matters because of browsers requesting assets from previous deploys or bots crawling for garbage. This will avoid unnecessary function invocations in those cases, improving performance and reducing customer bills in some cases.

Documentation

N/A

Tests

Added e2e coverage (requires the full Netlify platform to be exercised)

Relevant links (GitHub issues, etc.) or a picture of cute animal

@github-actionsGitHub Actions
Copy link
Contributor

github-actionsbot commentedJan 29, 2025
edited
Loading

📊 Package size report   0.01%↑

FileBefore (Size / Gzip)After (Size / Gzip)
dist/build/templates/handler-monorepo.tmpl.js1.6 kB /671 B14%↑1.8 kB /18%↑789 B
dist/build/templates/handler.tmpl.js1.5 kB /622 B15%↑1.7 kB /19%↑742 B
Total(Includes all files)5.8 MB /1.2 MB0.01%↑5.8 MB /0.02%↑1.2 MB
Tarball size1.2 MB0.01%↑1.2 MB
Unchanged files
FileSize (Size / Gzip)
dist/build/advanced-api-routes.js4.3 kB /1.4 kB
dist/build/cache.js1.0 kB /414 B
dist/build/content/next-shims/telemetry-storage.cjs1.6 kB /659 B
dist/build/content/prerendered.js9.2 kB /2.8 kB
dist/build/content/server.js8.7 kB /2.8 kB
dist/build/content/static.js3.9 kB /1.2 kB
dist/build/functions/edge.js20.1 kB /5.2 kB
dist/build/functions/server.js5.0 kB /1.6 kB
dist/build/image-cdn.js54.0 kB /11.1 kB
dist/build/plugin-context.js10.1 kB /3.0 kB
dist/build/verification.js4.5 kB /1.5 kB
dist/esm-chunks/chunk-5QSXBV7L.js2.4 kB /842 B
dist/esm-chunks/chunk-APO262HE.js61.2 kB /11.1 kB
dist/esm-chunks/chunk-GNGHTHMQ.js55.6 kB /9.7 kB
dist/esm-chunks/chunk-KGYJQ2U2.js186.5 kB /32.9 kB
dist/esm-chunks/chunk-OEQOKJGE.js2.3 kB /977 B
dist/esm-chunks/package-AJQOUMDK.js3.6 kB /1.4 kB
dist/index.js3.4 kB /1.1 kB
dist/run/config.js1.2 kB /595 B
dist/run/constants.js516 B /308 B
dist/run/handlers/cache.cjs19.6 kB /5.3 kB
dist/run/handlers/request-context.cjs5.5 kB /1.7 kB
dist/run/handlers/server.js141.0 kB /33.0 kB
dist/run/handlers/tracer.cjs29.9 kB /6.3 kB
dist/run/handlers/tracing.js3.0 MB /418.4 kB
dist/run/handlers/wait-until.cjs1.4 kB /665 B
dist/run/headers.js7.9 kB /2.4 kB
dist/run/next.cjs23.6 kB /5.8 kB
dist/run/regional-blob-store.cjs19.6 kB /5.5 kB
dist/run/revalidate.js1.0 kB /475 B
dist/shared/blobkey.js742 B /399 B
dist/shared/cache-types.cjs1.3 kB /566 B
edge-runtime/lib/headers.ts1.9 kB /841 B
edge-runtime/lib/logging.ts115 B /121 B
edge-runtime/lib/middleware.ts1.9 kB /807 B
edge-runtime/lib/next-request.ts3.3 kB /1.1 kB
edge-runtime/lib/response.ts9.2 kB /2.9 kB
edge-runtime/lib/routing.ts15.1 kB /3.9 kB
edge-runtime/lib/util.test.ts1.6 kB /356 B
edge-runtime/lib/util.ts3.7 kB /1.3 kB
edge-runtime/matchers.json3 B /23 B
edge-runtime/middleware.ts2.4 kB /1.0 kB
edge-runtime/next.config.json3 B /23 B
edge-runtime/README.md992 B /509 B
edge-runtime/shim/index.js1.5 kB /717 B
edge-runtime/vendor.ts745 B /312 B
edge-runtime/vendor/deno.land/std@0.175.0/_util/asserts.ts854 B /461 B
edge-runtime/vendor/deno.land/std@0.175.0/_util/os.ts644 B /355 B
edge-runtime/vendor/deno.land/std@0.175.0/async/abortable.ts4.0 kB /1.0 kB
edge-runtime/vendor/deno.land/std@0.175.0/async/deadline.ts974 B /544 B
edge-runtime/vendor/deno.land/std@0.175.0/async/debounce.ts2.2 kB /956 B
edge-runtime/vendor/deno.land/std@0.175.0/async/deferred.ts1.5 kB /798 B
edge-runtime/vendor/deno.land/std@0.175.0/async/delay.ts1.8 kB /845 B
edge-runtime/vendor/deno.land/std@0.175.0/async/mod.ts465 B /241 B
edge-runtime/vendor/deno.land/std@0.175.0/async/mux_async_iterator.ts2.5 kB /1.1 kB
edge-runtime/vendor/deno.land/std@0.175.0/async/pool.ts3.2 kB /1.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/async/retry.ts2.4 kB /1.0 kB
edge-runtime/vendor/deno.land/std@0.175.0/async/tee.ts2.1 kB /924 B
edge-runtime/vendor/deno.land/std@0.175.0/bytes/index_of_needle.ts1.4 kB /668 B
edge-runtime/vendor/deno.land/std@0.175.0/crypto/timing_safe_equal.ts875 B /442 B
edge-runtime/vendor/deno.land/std@0.175.0/datetime/to_imf.ts1.3 kB /681 B
edge-runtime/vendor/deno.land/std@0.175.0/encoding/base64.ts2.5 kB /1.0 kB
edge-runtime/vendor/deno.land/std@0.175.0/encoding/base64url.ts2.0 kB /872 B
edge-runtime/vendor/deno.land/std@0.175.0/flags/mod.ts22.6 kB /5.9 kB
edge-runtime/vendor/deno.land/std@0.175.0/fmt/colors.ts12.4 kB /2.7 kB
edge-runtime/vendor/deno.land/std@0.175.0/fmt/printf.ts27.7 kB /7.7 kB
edge-runtime/vendor/deno.land/std@0.175.0/http/cookie.ts11.5 kB /3.6 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_core.ts2.3 kB /716 B
edge-runtime/vendor/deno.land/std@0.175.0/node/_events.d.ts27.2 kB /5.8 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_events.mjs28.0 kB /7.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_global.d.ts1.7 kB /650 B
edge-runtime/vendor/deno.land/std@0.175.0/node/_next_tick.ts5.0 kB /1.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_process/exiting.ts138 B /138 B
edge-runtime/vendor/deno.land/std@0.175.0/node/_process/process.ts3.8 kB /1.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_process/stdio.mjs336 B /233 B
edge-runtime/vendor/deno.land/std@0.175.0/node/_process/streams.mjs4.0 kB /1.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_stream.d.ts53.2 kB /11.9 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_stream.mjs91.2 kB /25.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_util/_util_callbackify.ts4.3 kB /1.7 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/_utils.ts5.9 kB /2.0 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/assert.ts23.1 kB /4.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/assertion_error.ts19.6 kB /6.1 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/async_hooks.ts7.7 kB /2.1 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/buffer.ts262 B /204 B
edge-runtime/vendor/deno.land/std@0.175.0/node/events.ts303 B /221 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_libuv_winerror.ts7.8 kB /1.9 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_listen.ts561 B /342 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_node.ts443 B /335 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_timingSafeEqual.ts479 B /268 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_utils.ts2.4 kB /938 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/_winerror.ts354.4 kB /64.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/ares.ts2.4 kB /1.1 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/async_wrap.ts4.0 kB /1.8 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/buffer.ts3.5 kB /1.3 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/cares_wrap.ts15.2 kB /3.9 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/config.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/connection_wrap.ts2.6 kB /1.3 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/constants.ts21.5 kB /5.1 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/contextify.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/credentials.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/crypto.ts448 B /244 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/errors.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/fs_dir.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/fs_event_wrap.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/fs.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/handle_wrap.ts1.8 kB /1.0 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/heap_utils.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/http_parser.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/icu.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/inspector.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/js_stream.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/messaging.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/mod.ts3.1 kB /955 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/module_wrap.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/native_module.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/natives.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/node_file.ts2.9 kB /1.5 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/node_options.ts1.8 kB /989 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/options.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/os.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/performance.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/pipe_wrap.ts10.4 kB /3.3 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/process_methods.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/report.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/serdes.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/signal_wrap.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/spawn_sync.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/stream_wrap.ts9.3 kB /2.8 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/string_decoder.ts504 B /261 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/symbols.ts1.4 kB /828 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/task_queue.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/tcp_wrap.ts13.1 kB /3.7 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/timers.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/tls_wrap.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/trace_events.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/tty_wrap.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/types.ts5.7 kB /1.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/udp_wrap.ts12.4 kB /3.6 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/url.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/util.ts4.0 kB /1.8 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/uv.ts20.1 kB /3.8 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/v8.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/worker.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal_binding/zlib.ts87 B /104 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/buffer.d.ts73.6 kB /12.1 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/buffer.mjs66.1 kB /10.6 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/crypto/_keys.ts463 B /262 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/crypto/constants.ts252 B /173 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/error_codes.ts322 B /250 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/errors.ts78.9 kB /17.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/fixed_queue.ts4.4 kB /1.2 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/hide_stack_frames.ts550 B /377 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/net.ts3.1 kB /1.5 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/normalize_encoding.mjs2.1 kB /500 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/options.ts1.7 kB /959 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/primordials.mjs1.8 kB /431 B
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/process/per_thread.mjs7.8 kB /2.3 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/readline/callbacks.mjs3.8 kB /1.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/readline/utils.mjs14.3 kB /3.7 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/streams/destroy.mjs6.9 kB /1.8 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/streams/end-of-stream.mjs7.1 kB /1.9 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/streams/utils.mjs5.9 kB /1.2 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util.mjs4.0 kB /1.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/comparisons.ts16.6 kB /3.8 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/debuglog.ts3.2 kB /1.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/inspect.mjs71.5 kB /19.8 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/util/types.ts3.7 kB /1.3 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/internal/validators.mjs8.0 kB /2.1 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/process.ts19.4 kB /5.2 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/stream.ts671 B /346 B
edge-runtime/vendor/deno.land/std@0.175.0/node/string_decoder.ts10.3 kB /3.3 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/util.ts7.8 kB /2.2 kB
edge-runtime/vendor/deno.land/std@0.175.0/node/util/types.ts199 B /153 B
edge-runtime/vendor/deno.land/std@0.175.0/path/_constants.ts2.0 kB /727 B
edge-runtime/vendor/deno.land/std@0.175.0/path/_interface.ts728 B /369 B
edge-runtime/vendor/deno.land/std@0.175.0/path/_util.ts5.0 kB /1.6 kB
edge-runtime/vendor/deno.land/std@0.175.0/path/common.ts1.2 kB /607 B
edge-runtime/vendor/deno.land/std@0.175.0/path/glob.ts12.7 kB /3.9 kB
edge-runtime/vendor/deno.land/std@0.175.0/path/mod.ts1.4 kB /690 B
edge-runtime/vendor/deno.land/std@0.175.0/path/posix.ts13.9 kB /3.7 kB
edge-runtime/vendor/deno.land/std@0.175.0/path/separator.ts259 B /209 B
edge-runtime/vendor/deno.land/std@0.175.0/path/win32.ts28.5 kB /6.4 kB
edge-runtime/vendor/deno.land/std@0.175.0/streams/write_all.ts2.2 kB /598 B
edge-runtime/vendor/deno.land/std@0.175.0/testing/_diff.ts11.6 kB /3.6 kB
edge-runtime/vendor/deno.land/std@0.175.0/testing/_format.ts705 B /462 B
edge-runtime/vendor/deno.land/std@0.175.0/testing/asserts.ts25.5 kB /5.7 kB
edge-runtime/vendor/deno.land/std@0.175.0/types.d.ts4.2 kB /1.2 kB
edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/pkg/htmlrewriter_bg.wasm573.2 kB /262.7 kB
edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/pkg/htmlrewriter.js31.0 kB /4.7 kB
edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/src/index.ts2.6 kB /989 B
edge-runtime/vendor/deno.land/x/htmlrewriter@v1.0.0/src/types.d.ts2.1 kB /446 B
edge-runtime/vendor/deno.land/x/path_to_regexp@v6.2.1/index.ts15.4 kB /4.2 kB
edge-runtime/vendor/import_map.json148 B /111 B
edge-runtime/vendor/v1-7-0--edge-utils.netlify.app/logger/logger.ts3.2 kB /747 B
edge-runtime/vendor/v1-7-0--edge-utils.netlify.app/logger/mod.ts29 B /49 B
manifest.yml31 B /51 B
package.json3.2 kB /1.2 kB
README.md2.8 kB /1.2 kB

🤖 This report was automatically generated bypkg-size-action

See inline comment. This only matters because of browsers requesting assets from previousdeploys or bots crawling for garbage. This will avoid unnecessary function invocations inthose cases, improving performance and reducing customer bills in some cases.
@serhalpserhalpforce-pushed theperf/exclude-static-paths-from-function branch fromf1e2011 toa26a681CompareJanuary 30, 2025 19:25
excludedPath: [
// We use `preferStatic: true` so we already won't run this on *existing* static assets,
// but by excluding this entire path we also avoid invoking the function just to 404.
'/_next/static/*',
Copy link
Contributor

@piehpiehFeb 20, 2025
edited
Loading

Choose a reason for hiding this comment

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

This (and same thing in second template) might need to be prefixed withbasePath ... or just*/_next/static/* ( but that might to broad and not sure if it actually would work )

Checking how fixture with this

behave withnext build && next start shows requests being made forhttp://localhost:3000/base/path/_next/static/chunks/webpack-039418b95632e39f.js which currently wouldn't be excluded.

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@piehpiehpieh left review comments

At least 1 approving review is required to merge this pull request.

Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

2 participants
@serhalp@pieh

[8]ページ先頭

©2009-2025 Movatter.jp