[pull] next from umijs:next#38
Merged
Merged
Conversation
* build: migrate workspace to pnpm 11 Signed-off-by: kuitos <kuitos.lau@gmail.com> * chore(scripts): remove stale shared bench script and use pnpm in loader bench * feat(benchmark): add unified pnpm bench entry with aggregated console report * build: migrate toolchain to vite and typescript 7 * build: optimize lodash imports during library builds * test(shared): replace wall-clock assertions with deterministic checks Absolute duration thresholds in the link-performance tests flaked on slow CI runners after the vitest 4 / happy-dom 20 upgrade, and a mid-test failure left a pending mock fetch that polluted the next test's cache stats. Assert observable behavior instead: fetch counts, synchronous blob application, and pre-resolution state. * fix(bundler-plugin): serve format-matched declarations to node16 consumers The exports map listed a single ESM types condition first, so nodenext CJS consumers resolved the module-scoped dist/esm declarations and failed with TS2834 (tsc also emits extensionless relative specifiers, which node16/nodenext rejects inside a type:module scope). Nest types per import/require branch and rewrite relative specifiers in the ESM declarations with explicit extensions after build. * fix(sandbox): keep Intl in the browser globals whitelist globals@17 reclassified Intl from the browser list into es2015, which dropped bare Intl references out of the membrane routing base (ESM sandbox) and rebind whitelist, and injected `const Intl` into the classic evaluate preamble where it collides with `var Intl` polyfills. Pin the classification in the generator so regenerations preserve qiankun's established isolation behavior. * fix(benchmark): reject runner-reserved flags and harden report rendering Forwarding --suite/--mode/--baseline-dir through bench-all silently overrode the per-suite arguments it injects, producing a report whose section titles no longer matched what actually ran (a mistyped --suite=core would run every section against the core suite). The report renderer also dereferenced run.metadata unguarded, so a schema drift in result.json could throw away the whole aggregated report after hours of benching. * ci: align legacy workflows with the pnpm 11 setup github-pages, publish-latest and publish-1.x still installed pnpm via corepack after setup-node had already requested the pnpm cache, which fails before pnpm exists. Install pnpm through pnpm/action-setup@v6 (driven by the packageManager field) ahead of setup-node, matching the migrated workflows. * fix(ui-bindings): declare qiankun peer dependency for the react binding @qiankunjs/react consumes qiankun through @qiankunjs/ui-shared at runtime but never constrained the host's qiankun version; declare the same peer range as the vue binding. * fix(examples): serve purehtml verbatim via vite preview vite dev injects the @vite/client module into the served HTML, so the 'no build step' example was executing the HMR runtime inside the sandbox. vite preview serves build.outDir statically with no injection; point outDir at the example root so the entry ships byte-identical. * chore: harden build scripts and align engine constraints - check-lodash-imports: skip missing dist formats with a clear build-first error instead of a raw ENOENT, and make the zero-import failure name the actual fix (drop the stale lodash dependency) - copy-declarations: log the copied-file count so an empty sweep from a dist directory is visible in build logs - engines: exclude Node 23, which eslint 10 and vitest 4 do not support - clean: rimraf 6 no longer globs without --glob, so nested workspace node_modules were never removed - create-qiankun e2e helper: spawning pnpm.cmd directly throws EINVAL since the CVE-2024-27980 fix; go through the shell on Windows * build(qiankun): inject version at compile time * chore(qiankun): keep version source ignored * ci(benchmark): add basic performance gate --------- Signed-off-by: kuitos <kuitos.lau@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )