@effectweb/lucide 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -16,7 +16,9 @@ export const Toolbar = view<{ busy: boolean }, never>((model, _send) => (
16
16
  ));
17
17
  ```
18
18
 
19
- Named imports such as `import { Camera } from '@effectweb/lucide'` are tree-shaken in production builds. Prefer the per-icon paths above for development: prebundling the root entry preserves the full catalogue's exports and source maps. Do not force the whole catalogue into Vite's `optimizeDeps.include` for a fixed icon set. Upstream aliases, including `AlarmCheck` / `AlarmClockCheck`, and `Icon`-suffixed named exports share the same view identity. Per-icon and lazy imports also support aliases. `LucideIcon` and `LucideProps` are exported types.
19
+ The package intentionally has **no root entry or icon barrel**. `import { Camera } from '@effectweb/lucide'` fails package resolution and TypeScript checking. Use the direct icon paths above: development servers load only the selected icons, without relying on production tree-shaking. Aliases such as `alarm-check` and `alarm-clock-check` share the same view identity.
20
+
21
+ Import shared types with `import type { LucideIcon, LucideProps } from '@effectweb/lucide/types'`.
20
22
 
21
23
  ## Props
22
24
 
@@ -42,7 +44,7 @@ const load = loadIcon(name); // Effect<LucideIcon, IconLoadError>
42
44
 
43
45
  Run the Effect in an existing task/resource lifecycle and use the returned view. Module imports cache the view without creating DOM. `IconLoadError` carries `iconName` and the original `cause`; invalid untyped names also fail in the Effect error channel. Interrupting the Effect stops waiting, but cannot abort a browser module download.
44
46
 
45
- This entry also exports `iconNames`, the `IconName` union, and `dynamicIconImports`, a low-level Promise-based module map. Importing the registry makes the full catalogue available as lazy chunks. Prefer named imports, per-icon imports, or a small application-owned import map for a fixed set of icons. The registry is absent from ordinary icon bundles.
47
+ This entry also exports `iconNames`, the `IconName` union, and `dynamicIconImports`, a low-level Promise-based module map. Importing the registry makes the full catalogue available as lazy chunks. Prefer per-icon imports or a small application-owned import map for a fixed set of icons. The registry is absent from ordinary icon bundles.
46
48
 
47
49
  ## Raw SVG and data
48
50
 
@@ -0,0 +1 @@
1
+ export type { LucideIcon, LucideProps } from './attributes.js';
package/dist/types.js ADDED
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effectweb/lucide",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Lucide icons compiled to direct DOM views for EffectWeb",
5
5
  "homepage": "https://github.com/DerpyCrabs/EffectWeb/tree/main/packages/lucide",
6
6
  "license": "ISC",
@@ -17,10 +17,6 @@
17
17
  "type": "module",
18
18
  "sideEffects": false,
19
19
  "exports": {
20
- ".": {
21
- "types": "./dist/index.d.ts",
22
- "import": "./dist/index.js"
23
- },
24
20
  "./icons/*": {
25
21
  "types": "./dist/icons/*.d.ts",
26
22
  "import": "./dist/icons/*.js"
@@ -36,6 +32,9 @@
36
32
  "./build": {
37
33
  "types": "./dist/build.d.ts",
38
34
  "import": "./dist/build.js"
35
+ },
36
+ "./types": {
37
+ "types": "./dist/types.d.ts"
39
38
  }
40
39
  },
41
40
  "publishConfig": {
@@ -46,7 +45,7 @@
46
45
  },
47
46
  "peerDependencies": {
48
47
  "effect": "4.0.0-rc.112",
49
- "effectweb": "^0.5.0"
48
+ "effectweb": "^0.6.0"
50
49
  },
51
50
  "engines": {
52
51
  "node": ">=22.14"