Skip to content

Merge next into master - #1093

Open
maxmilton wants to merge 22 commits into
masterfrom
next
Open

Merge next into master#1093
maxmilton wants to merge 22 commits into
masterfrom
next

Conversation

@maxmilton

Copy link
Copy Markdown
Owner

No description provided.

@maxmilton maxmilton self-assigned this Jul 24, 2026
Copilot AI lite review requested due to automatic review settings September 6, 2026 09:42

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

The updated sourcemap implementation can return a non-Encoded SourceMap instance and the sourcemap snapshot file contains duplicated snapshot keys that overwrite each other.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR merges next into master, bringing in dependency/version bumps across the monorepo, significant improvements to ekscss source-map generation (including nested @import handling and interpolation tracking), and adds/expands Bun-based test coverage for multiple plugins and sourcemap behavior.

Changes:

  • Update ekscss sourcemap implementation to track interpolation positions, support shifting mappings, and remap nested @import source maps.
  • Add/expand tests (and snapshots) for sourcemaps plus plugin-import, plugin-apply, and plugin-prefix.
  • Bump versions and devDependencies across packages; update Bun/esbuild/rollup/Svelte/PostCSS toolchain configs and lockfile.
File summaries
File Description
packages/svelte-ekscss/package.json Bump devDependencies (esbuild, Svelte).
packages/rollup-plugin-ekscss/package.json Bump devDependencies (esbuild, rollup).
packages/postcss-ekscss/src/tokenize.ts Remove now-unneeded lint suppressions.
packages/postcss-ekscss/src/parser.ts Adjust important-detection trimming logic; remove lint suppression.
packages/postcss-ekscss/package.json Version bump + devDependency bumps (esbuild, postcss).
packages/postcss-ekscss/modules.d.ts Remove now-unneeded lint suppression.
packages/plugin-prefix/test/index.test.ts Add Bun tests for prefix plugin behavior.
packages/plugin-prefix/package.json Version bump + esbuild devDependency bump.
packages/plugin-import/test/index.test.ts Replace placeholder test with comprehensive import + sourcemap tests.
packages/plugin-import/test/snapshots/index.test.ts.snap Add snapshot for encoded sourcemap output.
packages/plugin-import/src/index.ts Preserve raw source for sourcemap correctness during interpolation; expose __raw.
packages/plugin-import/package.json Version bump + add trace-mapping devDependency.
packages/plugin-apply/test/index.test.ts Add Bun tests for apply plugin behavior and warnings.
packages/plugin-apply/src/index.ts Minor parsing/iteration refactor (quote stripping; decl collection).
packages/plugin-apply/package.json Version bump + esbuild devDependency bump.
packages/framework/utils.js Add lint suppression for a specific conditional ordering rule.
packages/framework/package.json Version bump.
packages/framework/config.js Add additional upstream reference URL in comment.
packages/esbuild-plugin-ekscss/package.json Bump esbuild devDependency.
packages/ekscss/test/sourcemap.test.ts Add extensive source map unit tests (shift, mappings, imports, interpolation, snapshots).
packages/ekscss/test/helpers.test.ts Update ctx expectations to include new raw/pos fields and clarify behavior.
packages/ekscss/test/compile.test.ts Move sourcemap tests out; add ctx reset tests for thrown interpolation.
packages/ekscss/test/snapshots/sourcemap.test.ts.snap Add sourcemap snapshots (currently contains duplicate keys).
packages/ekscss/src/types.ts Extend Element/Context types for __raw and interpolation position tracking; add shift() to RawSourceMap.
packages/ekscss/src/sourcemap.ts Major sourcemap rewrite: interpolation-aware mapping, multi-line tracking, @import remapping support, and shift().
packages/ekscss/src/helpers.ts Add interpolation position tracking in xcss() keyed by ctx.raw/ctx.pos; refactor expression resolution.
packages/ekscss/src/compiler.ts Ensure ctx is reset via try/finally; wire new sourcemap API and tracking flags.
packages/ekscss/package.json Version bump + add remapping dependency + add trace-mapping devDependency.
packages/ekscss/build.ts Adjust esbuild externals and keep browser bundle sourcemap stub.
packages/config-loader/package.json Bump esbuild devDependency.
packages/cli/package.json Version bump.
packages/cli/index.js Use new sourcemap.shift() instead of mutating internal gen-mapping structures.
packages/bun-plugin-ekscss/package.json Version bump.
package.json Toolchain/devDependency bumps (Biome, ESLint, unicorn, TS, etc.).
eslint.config.mjs Disable additional unicorn rules; extend ignores list.
docs/dev/pnpm-workspace.yaml Remove pnpm workspace stub.
docs/dev/package.json Remove pnpm override block.
docs/dev/bunfig.toml Add docs/dev Bun config.
docs/dev/.npmrc Remove npmrc overrides in docs/dev.
bunfig.toml Add [run] config + install exclusions.
bun.lock Lockfile v2 + dependency updates reflecting new versions.
.vscode/mcp.json Remove VS Code MCP filesystem server config.
.vscode/extensions.json Remove a VS Code extension recommendation.
.gitignore Stop ignoring /.claude/.
Review details

Suppressed comments (1)

packages/ekscss/test/snapshots/sourcemap.test.ts.snap:162

  • This snapshot file defines the same snapshot key twice (encoded map after addMapping following shift keeps both 1). The later exports[...] overwrites the earlier one; remove the duplicate block so there is exactly one definition per snapshot name.
exports[`source map snapshots encoded map after addMapping following shift keeps both 1`] = `
{
  "file": undefined,
  "ignoreList": [],
  "mappings": ";;AAAE;;;;;;;;;ACAFA",
  • Files reviewed: 41/44 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +310 to +317
const encoded = toEncodedMap(map);
let result =
importMaps.size > 0
? (remapping(
encoded as SourceMapInput,
(file) => (importMaps.get(file) as SourceMapInput | undefined) ?? null,
) as EncodedSourceMap)
: encoded;
Comment on lines +138 to +156
exports[`source map snapshots encoded map after shift prepends a banner offset 1`] = `
{
"file": undefined,
"ignoreList": [],
"mappings": ";;AAAE,aACA",
"names": [],
"sourceRoot": undefined,
"sources": [
"<unknown>",
],
"sourcesContent": [

"a{color:red}
b{color:blue}"
,
],
"version": 3,
}
`;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants