- Foldable left panel (user profile) and right panel (task details) - Clicking a task in the list or graph node selects it and shows details - Both views (task list + graph) always mounted via absolute inset-0 for correct canvas dimensions; tabs toggle visibility with opacity - Graph node selection animation: other nodes repel outward (charge -600), then selected node smoothly slides to center (500ms cubic ease-out), then charge restores to -120 and graph stabilizes - Graph re-fits on tab switch and panel resize via ResizeObserver - Fix UUID string IDs throughout (backend returns UUIDs, not integers) - Add TaskDetailPanel, UserPanel components - Add CLAUDE.md project documentation Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
loose-envify
Fast (and loose) selective process.env replacer using js-tokens instead of an AST. Works just like envify but much faster.
Gotchas
- Doesn't handle broken syntax.
- Doesn't look inside embedded expressions in template strings.
- this won't work:
console.log(`the current env is ${process.env.NODE_ENV}`); - Doesn't replace oddly-spaced or oddly-commented expressions.
- this won't work:
console.log(process./*won't*/env./*work*/NODE_ENV);
Usage/Options
loose-envify has the exact same interface as envify, including the CLI.
Benchmark
envify:
$ for i in {1..5}; do node bench/bench.js 'envify'; done
708ms
727ms
791ms
719ms
720ms
loose-envify:
$ for i in {1..5}; do node bench/bench.js '../'; done
51ms
52ms
52ms
52ms
52ms