Fix plugin-markdown styles build UI CSS resolution for desktop release #297
Labels
No labels
abandoned
active
audit
blocked
data-safety
difficulty:easy
difficulty:hard
difficulty:high
difficulty:medium
docs
done
duplicate
notebook-v0
open
priority:high
ready
release-critical
safe-mode
spec
spec-backlog
subsystem:api
subsystem:backlog
subsystem:bases
subsystem:ci
subsystem:command
subsystem:configuration
subsystem:consolidate
subsystem:dependencies
subsystem:desktop-electron
subsystem:diffmerge
subsystem:docker
subsystem:docs
subsystem:fuzzy
subsystem:graph
subsystem:hotkeys
subsystem:lapis
subsystem:maint
subsystem:maintenance
subsystem:markdown
subsystem:markdown-lint
subsystem:md018
subsystem:notebook
subsystem:notifications
subsystem:opfs
subsystem:package
subsystem:plugin-markdown
subsystem:plugin-tasks
subsystem:plugins
subsystem:registry
subsystem:release
subsystem:renovate
subsystem:restore
subsystem:scripts
subsystem:search
subsystem:settings
subsystem:spec
subsystem:tasks
subsystem:testing
subsystem:ui
subsystem:web
subsystem:workspace
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lapis-notes/lapis#297
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Forgejo
release-desktopLinux and macOS build jobs fail while building@lapis-notes/markdownbecausevite.styles.config.tshas no first-party CSSaliases. Plugin markdown styles
@referencepackages/workspace/src/app.css,which imports
@lapis-notes/ui/theme.css. Tailwind cannot resolve that packagespecifier during the styles build, so desktop
dist:linux/dist:mac:allabort.Goal
Plugin markdown styles build resolves shared UI CSS entrypoints from source and
desktop release builds complete on Linux and macOS.
Scope
packages/plugins/plugin-markdown/vite.styles.config.tsscripts/check-first-party-source-resolution.mjsguard for plugin stylesbuild configs
Non-goals
vite.styles.config.ts(only markdown referencesworkspace
app.csstoday)Acceptance Criteria
vite.styles.config.tsaliases@lapis-notes/ui/*CSS entrypoints tosource via
createFirstPartySourceCssAliasespnpm check:source-resolutionvalidates plugin markdown styles buildresolution from workspace
app.cssrequiring prebuilt
packages/ui/distImplementation Notes
Wire
createFirstPartySourceCssAliases(["@lapis-notes/ui"])into pluginmarkdown
vite.styles.config.ts. Extend the source-resolution guard with abuild-mode check that resolves UI CSS imports from workspace
app.cssthroughthat config.
Suggested Files or Specs To Inspect
packages/plugins/plugin-markdown/vite.styles.config.tspackages/plugins/plugin-markdown/src/style.csspackages/workspace/src/app.cssscripts/first-party-source-resolution.mjsValidation Commands
pnpm check:source-resolutionpnpm --filter @lapis-notes/markdown buildpnpm --filter @lapis-notes/desktop-electron build(release path)Related Issues
Follow-up Tasks
Implementation Summary
Added createFirstPartySourceCssAliases to plugin-markdown vite.styles.config.ts so Tailwind can resolve @lapis-notes/ui/theme.css when styles @reference workspace app.css during desktop release builds. Extended check-first-party-source-resolution with a build-mode guard for that config. Validated with node --test on source-resolution tests and pnpm spec:lint.