Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
225 commits
Select commit Hold shift + click to select a range
2b8f1f2
poc: component spec object model
maxy-shpfy Nov 18, 2025
aab4c88
- csom to correspond to componentspec schema
maxy-shpfy Feb 12, 2026
cb72bce
- pre-valtio poc
maxy-shpfy Feb 12, 2026
ca5cdce
- version counter workaround
maxy-shpfy Feb 12, 2026
e0635f9
- fix valtio in CSOM
maxy-shpfy Feb 12, 2026
4aa0348
- windows system
maxy-shpfy Feb 13, 2026
dcaecd1
- node selection tweaks
maxy-shpfy Feb 13, 2026
b2edfae
- debug window is hidden by default
maxy-shpfy Feb 13, 2026
68159af
- component library
maxy-shpfy Feb 13, 2026
d1476d6
- windows: disable some actions like close
maxy-shpfy Feb 13, 2026
ae5d245
- task panel visual changes
maxy-shpfy Feb 13, 2026
7fb21cf
- fix EditorV2 canvas height
maxy-shpfy Feb 13, 2026
2c156ec
- fix issues with first click in Window
maxy-shpfy Feb 13, 2026
88ff4b1
- pipeline details window
maxy-shpfy Feb 13, 2026
0a474b5
- fix debugpanel - display yaml
maxy-shpfy Feb 13, 2026
0b926f8
- windows: more contrast
maxy-shpfy Feb 13, 2026
7ee9b84
- simple annotation editor for the TaskNode
maxy-shpfy Feb 13, 2026
9afd1be
- fix for maximize window
maxy-shpfy Feb 13, 2026
7dd4a0c
- feat: component preview on bigger resolutions
maxy-shpfy Feb 13, 2026
71f7ef1
- feat: component details preview in search
maxy-shpfy Feb 13, 2026
2c29da3
- task details on shift+click
maxy-shpfy Feb 13, 2026
a3caff6
- fix: responsiveness for search results
maxy-shpfy Feb 13, 2026
d58ec5b
- feat: multi-selection properties window
maxy-shpfy Feb 13, 2026
14a1aa0
- fix: reindex on rename - tmp
maxy-shpfy Feb 13, 2026
a7df202
- fixtry: codeblock crash on re-focus
maxy-shpfy Feb 14, 2026
6c5f1fc
- fixtry: codeblock crash on re-focus
maxy-shpfy Feb 14, 2026
06f0c61
- csom: auto-index collections
maxy-shpfy Feb 14, 2026
374c17f
- prettier
maxy-shpfy Feb 14, 2026
647f383
- feat: bindings as a first-class entity
maxy-shpfy Feb 14, 2026
8176a22
- refactor: csom
maxy-shpfy Feb 15, 2026
268f7f8
- feat: csom based subgraph creation - init
maxy-shpfy Feb 15, 2026
de64694
- fix: knip
maxy-shpfy Feb 15, 2026
32516c1
- fix: bindings accidental removals
maxy-shpfy Feb 15, 2026
72425d5
- feat: subgraph navigation prototype
maxy-shpfy Feb 17, 2026
809d6a4
- feat: docking and cascading windows
maxy-shpfy Feb 17, 2026
7bb5c89
- fix: reactivity
maxy-shpfy Feb 17, 2026
4605bf9
- refactor: subgraph creation
maxy-shpfy Feb 17, 2026
228c83d
- fix: responsive structure window
maxy-shpfy Feb 17, 2026
3878c09
- feat: history view
maxy-shpfy Feb 17, 2026
1247cdc
- fix: annotations reactivity
maxy-shpfy Feb 17, 2026
890e1ac
- feat: command based history with undo/redo
maxy-shpfy Feb 17, 2026
6785246
- fixtry: history redo queue display order
maxy-shpfy Feb 17, 2026
f3ed850
- fix: reactivity in debug panel
maxy-shpfy Feb 17, 2026
411ab93
- feat: persisted windows layout
maxy-shpfy Feb 18, 2026
c3dab2e
- fix: tsconfig
maxy-shpfy Feb 18, 2026
b948dde
- fix: history window
maxy-shpfy Feb 19, 2026
cd9f5e8
- fix: windows layout persistence
maxy-shpfy Feb 19, 2026
8750833
- fixtry: navigation
maxy-shpfy Feb 19, 2026
36537de
- chore: prettier
maxy-shpfy Mar 1, 2026
cbf70de
- feat: new CSOM based on event model and decorators
maxy-shpfy Mar 2, 2026
0252527
- feat: move to new CSOM
maxy-shpfy Mar 2, 2026
521edbd
- feat: MobX first introduction and playground
maxy-shpfy Mar 2, 2026
569d763
- feat: using mobx-keystone for playground
maxy-shpfy Mar 3, 2026
9cb7c9c
- [BIG] feat: move to MobX CMOS
maxy-shpfy Mar 3, 2026
1f9c0a4
- refactor: split hooks in EditorV2
maxy-shpfy Mar 3, 2026
f2107a5
- refactor: consolidate activespec to navigation store
maxy-shpfy Mar 3, 2026
12a1bf2
- feat: add task arguments simple editor
maxy-shpfy Mar 3, 2026
4ff0297
- chore: prettier
maxy-shpfy Mar 3, 2026
cf6ad3e
- feat: validation
maxy-shpfy Mar 3, 2026
a26d25c
- feat: higlight on hover and navigate on click for canvas nodes
maxy-shpfy Mar 3, 2026
f49d323
- chore: post-merge fix
maxy-shpfy Mar 3, 2026
3e882a4
- feat: mass argument update
maxy-shpfy Mar 3, 2026
5fa5f96
- fix: responsiveness in context panel
maxy-shpfy Mar 3, 2026
03d927a
- feat: thunder menu for arguments
maxy-shpfy Mar 3, 2026
772d3ae
- feat: validation issues resolution center
maxy-shpfy Mar 3, 2026
bf6c5f4
- feat: select node on click in tree menu
maxy-shpfy Mar 3, 2026
15144ed
- fix: window click without focus
maxy-shpfy Mar 3, 2026
98a8882
- fix: add debounce to node selection to avoid ui hiccups
maxy-shpfy Mar 4, 2026
133620f
- chore: prettier
maxy-shpfy Mar 4, 2026
773400d
- feat: typed annotations
maxy-shpfy Mar 4, 2026
544b74c
- feat: remove legacy Valtio CSOM v1
maxy-shpfy Mar 4, 2026
1ab5d68
- chore: fix knip problems
maxy-shpfy Mar 4, 2026
686276f
- feat: copy-paste-duplicate selection
maxy-shpfy Mar 4, 2026
d1c9149
- chore: prettier and knip
maxy-shpfy Mar 4, 2026
54a46b7
- feat: contextual zoom
maxy-shpfy Mar 4, 2026
4563918
- feat: ghost nodes and quick io nodes
maxy-shpfy Mar 4, 2026
870b43f
- feat: display errors closer to leaf nodes in tree view
maxy-shpfy Mar 4, 2026
7ba4fef
- feat: input validation indicator
maxy-shpfy Mar 4, 2026
ea221f2
- refactor: improve readability of the FlowCanvas
maxy-shpfy Mar 4, 2026
350c6c1
- feat: top menu with drop downs
maxy-shpfy Mar 4, 2026
9de2c0a
- fix: docked window overlapping issues
maxy-shpfy Mar 4, 2026
b590819
- feat: open existing pipelines
maxy-shpfy Mar 4, 2026
0998e7c
- fix: fitView for task on click
maxy-shpfy Mar 4, 2026
6c1b3c3
- refactor: usepsectonodeedges
maxy-shpfy Mar 4, 2026
e794daa
- fix: history record for subgraph creation
maxy-shpfy Mar 4, 2026
7cd746e
- fix: better contextual zoom
maxy-shpfy Mar 4, 2026
3caac2b
- feat: new window docking system
maxy-shpfy Mar 5, 2026
dc2cc3a
- fix: knip
maxy-shpfy Mar 5, 2026
33becd7
- feat: classic node cards ui
maxy-shpfy Mar 5, 2026
06351cc
- chore: prettier
maxy-shpfy Mar 5, 2026
7e8fdbf
- feat: autosave
maxy-shpfy Mar 5, 2026
0ce1f22
- feat: persisting undo history and route query
maxy-shpfy Mar 5, 2026
78c6c8a
- feat: create input and batch connect
maxy-shpfy Mar 5, 2026
7003247
- feat: initial PipelineDetails Classic
maxy-shpfy Mar 5, 2026
7e48d04
- fix: csom component spec metadata
maxy-shpfy Mar 5, 2026
6ae72cf
- fix: pipeline details annotation display
maxy-shpfy Mar 5, 2026
badba5f
- refactor: split files in ContextPanel
maxy-shpfy Mar 5, 2026
efab2f5
- feat: add cache control to CSOM
maxy-shpfy Mar 5, 2026
10ede28
- feat: configuration section for tasks
maxy-shpfy Mar 5, 2026
aa08232
- feat: windows dockarea plugins - accordition plugin
maxy-shpfy Mar 5, 2026
ed21036
- feat: color coding tasks
maxy-shpfy Mar 6, 2026
5609a7a
- fix: visual fix for tree representation of the pipeline
maxy-shpfy Mar 6, 2026
91bc843
- fix: visual fix for tree representation of the pipeline
maxy-shpfy Mar 6, 2026
419b3ae
- feat: pipeline folders
maxy-shpfy Mar 6, 2026
1b391d4
- feat: use pipeline-folders in editor-v2
maxy-shpfy Mar 6, 2026
c3729ce
- fix: folders page to correspond by style to other home pages
maxy-shpfy Mar 6, 2026
2807dc6
- feat: connected local folders
maxy-shpfy Mar 7, 2026
5d26138
- refactor: restructure editor-v2 components following colocation rules
maxy-shpfy Mar 7, 2026
6776d63
- feat: dynamic position of properties
maxy-shpfy Mar 7, 2026
0a82488
- feat: focus mode and shortcuts
maxy-shpfy Mar 7, 2026
02df8a9
- chore: skeleton for pipeline editor
maxy-shpfy Mar 7, 2026
5f90ee7
- refactor: tidy up store layer.
maxy-shpfy Mar 7, 2026
1c1f3c0
- refactor: consolidate node-type logic in scope of one folder; plugi…
maxy-shpfy Mar 11, 2026
939c34d
- refactor: keyboard store and shortcut management
maxy-shpfy Mar 12, 2026
7446ca4
- feat: maximized state for ArgmentsEditor; fixes
maxy-shpfy Mar 12, 2026
c140cae
- chore: prettier
maxy-shpfy Mar 12, 2026
80f7ef9
- feat: input argument replaced with autogrow textarea
maxy-shpfy Mar 12, 2026
e8ad7bc
- fix: aftermerge
maxy-shpfy Mar 12, 2026
19fad4e
- fix: improve performance while zooming
maxy-shpfy Mar 12, 2026
88c24fa
- fix: shortcuts in macos
maxy-shpfy Mar 12, 2026
d0e375d
- fix: keep one withUndoGroup method
maxy-shpfy Mar 12, 2026
2af9a81
- refactor: consolidate actions
maxy-shpfy Mar 12, 2026
904765f
- feat: set task color in title
maxy-shpfy Mar 13, 2026
cdffce0
- feat: convert conduit rects into orthogonal guidelines
maxy-shpfy Mar 13, 2026
70ea740
- chore: remove validation summary from pipeline structure window con…
maxy-shpfy Mar 13, 2026
c6d54ac
- refactor: isolate canvas enhacements and solidify plugin system
maxy-shpfy Mar 13, 2026
04add56
- feat: autogrow text area for argumentrow
maxy-shpfy Mar 13, 2026
fbd723a
- chore: remove playground
maxy-shpfy Mar 13, 2026
a8c4661
- feat: support FlexNode
maxy-shpfy Mar 13, 2026
4d8bb41
- chore: retire valtio
maxy-shpfy Mar 13, 2026
ae74e59
- refactor: tidy up windows
maxy-shpfy Mar 14, 2026
7c850c3
- refactor: use typedStorage in windows persisting
maxy-shpfy Mar 14, 2026
9aef5c4
- feat: pesist minimized state of windows
maxy-shpfy Mar 14, 2026
0d73174
- chore: prettier
maxy-shpfy Mar 14, 2026
7f667df
- refactor: window persistence to use common debounce, cleanup
maxy-shpfy Mar 14, 2026
98b1cbc
- feat: action block for task details
maxy-shpfy Mar 14, 2026
bfbf9c8
- refactor: annotations block
maxy-shpfy Mar 14, 2026
7cb6866
- fix: display value of annotation
maxy-shpfy Mar 16, 2026
0f125c7
- feat: runs and submissions window
maxy-shpfy Mar 17, 2026
87320f4
- feat: show all runs popover
maxy-shpfy Mar 17, 2026
9a7788f
- feat: editable input and outputs properties
maxy-shpfy Mar 17, 2026
ecc28b8
- feat: feat parity for io context panels
maxy-shpfy Mar 17, 2026
d799e9a
- fix: feature parity for pipeline details
maxy-shpfy Mar 17, 2026
06bdd79
- feat: zindex controls to nodes
maxy-shpfy Mar 17, 2026
031be1f
- feat: expand dialog for values and arguments
maxy-shpfy Mar 17, 2026
a8beb49
- feat: autolayout
maxy-shpfy Mar 17, 2026
aff26c0
- chore: prettier
maxy-shpfy Mar 17, 2026
d800f16
- feat: export pipeline
maxy-shpfy Mar 17, 2026
dcbfa48
- chore: knip fixes
maxy-shpfy Mar 17, 2026
4d97904
- feat: initial support of runs in csom
maxy-shpfy Mar 18, 2026
4143cfc
- chore: lint in editorv2
maxy-shpfy Mar 18, 2026
42d70a8
- refactor: tidy up folder structure for v2
maxy-shpfy Mar 19, 2026
159a782
- refactor: reduce code duplication
maxy-shpfy Mar 19, 2026
a5dc203
- refactor: reduce code duplicates
maxy-shpfy Mar 19, 2026
0e1dfd9
- refactor: push down fta scores
maxy-shpfy Mar 19, 2026
26372e1
- refactor: components colocation folder rule enforced
maxy-shpfy Mar 19, 2026
9892344
- refactor: store di compatible
maxy-shpfy Mar 19, 2026
01730e5
- refactor: remove window attachments
maxy-shpfy Mar 19, 2026
e2f28d2
- refactor: use node type registry
maxy-shpfy Mar 19, 2026
dfbb94e
- refactor: fix fta high scores in windowStore
maxy-shpfy Mar 19, 2026
8b9bd48
- fix: accordition placement as ui primitive
maxy-shpfy Mar 19, 2026
3d2bbd1
- refactor: slight move-extract to decrease fta score
maxy-shpfy Mar 20, 2026
b01bd02
- refactor: use compound cva for complex state-related styles - poc
maxy-shpfy Mar 20, 2026
4546903
- feat: support run status indicator
maxy-shpfy Mar 20, 2026
9ba9753
- refactor: make window persistence dynamic
maxy-shpfy Mar 20, 2026
98ed542
- refactor: colocate component task details in runview
maxy-shpfy Mar 20, 2026
51efa26
- feat: context panel for run view task selection
maxy-shpfy Mar 20, 2026
9ef8263
- feat: navigate into subgraph and breadcrumbs in runview
maxy-shpfy Mar 20, 2026
3c345ca
- feat: quick-logs button in runview
maxy-shpfy Mar 20, 2026
ba4f0e4
- refactor: use zod in annotations
maxy-shpfy Mar 20, 2026
970b5f6
- feat: save as
maxy-shpfy Mar 20, 2026
69c8621
- fix: copy/paste nodes
maxy-shpfy Mar 20, 2026
ac72548
- refactor: make clipboard primitives shared between editor and runview
maxy-shpfy Mar 23, 2026
fb5d6d3
- fix: classic task node ui width
maxy-shpfy Mar 23, 2026
30b1fa5
- feat: componentref bar component
maxy-shpfy Mar 23, 2026
aec7a50
- fix: macos keyboard cmd shortcuts
maxy-shpfy Mar 23, 2026
d697738
- fix: keyboard store in macos
maxy-shpfy Mar 24, 2026
aaedd10
- feat: suport file drop on canvas
maxy-shpfy Mar 24, 2026
64bdd21
- feat: iteration one of task upgrade flow
maxy-shpfy Mar 25, 2026
1d416f2
- chore: prettier and fixes
maxy-shpfy Mar 25, 2026
d5547d0
- refactor: remove fingerprints as redundant
maxy-shpfy Mar 25, 2026
77427c1
chore: keep internal wire format in parity with v1
maxy-shpfy Mar 25, 2026
5f0c4cd
- refactor: get rid of intermid wire-format types in v2. barrel files…
maxy-shpfy Mar 25, 2026
72f65f1
- feat: rename pipeline and filename
maxy-shpfy Mar 25, 2026
a66edbb
- feat: pipeline persistence layer
maxy-shpfy Mar 27, 2026
4fdd8f8
- feat: canvas overlays
maxy-shpfy Mar 27, 2026
053bad7
- feat: Google Drive driver experiment
maxy-shpfy Mar 28, 2026
8b98e07
- fix: small fixes to Upgrade Components
maxy-shpfy Mar 28, 2026
620b337
- chore: organize windows store to correspond to architecture require…
maxy-shpfy Mar 28, 2026
eb854de
- fix: docking to only available dock areas
maxy-shpfy Mar 28, 2026
cc7a542
- fix: snapping and docking simplification
maxy-shpfy Mar 29, 2026
66f0b21
- fix: improved upgrade window experience
maxy-shpfy Mar 29, 2026
6209caf
- refactor: use object models for windows
maxy-shpfy Mar 29, 2026
84706d1
- chore: configurations
maxy-shpfy Mar 29, 2026
cc3d7f2
- chore: format, lint and sanitization
maxy-shpfy Mar 29, 2026
298044f
- refactor: move pipeline folders to v2 scope
maxy-shpfy Mar 30, 2026
24f0267
- feat: breadcrumbs in editor
maxy-shpfy Mar 30, 2026
92d4133
- feat: promise-dialog system and drop behavior improvement
maxy-shpfy Mar 30, 2026
385f30f
- feat: link action in v2 scope
maxy-shpfy Mar 31, 2026
123d7d1
- feat: link to io nodes
maxy-shpfy Mar 31, 2026
74433af
- chore: format and tidy up
maxy-shpfy Mar 31, 2026
06c9353
- feat: unpack feature
maxy-shpfy Mar 31, 2026
97314ea
- fix: fix crashes
maxy-shpfy Mar 31, 2026
4eeb22e
- refactor: decouple task details bar
maxy-shpfy Mar 31, 2026
cb7c2c9
- chore: configurations
maxy-shpfy Apr 1, 2026
d1e1d1b
- refactor: reduce CC on useselectionwindow
maxy-shpfy Apr 3, 2026
60de0b9
- fix: deepclone fixtry
maxy-shpfy Apr 3, 2026
6f7b979
- refactor: use cva compound styles to reduce cc
maxy-shpfy Apr 3, 2026
ce913bc
- refactor: reduce cc for snapUtils.ts
maxy-shpfy Apr 3, 2026
709921c
- refactor: improve cc on top offenders
maxy-shpfy Apr 4, 2026
8e96ced
- refactor: reduce cc and fta below threshold
maxy-shpfy Apr 4, 2026
77a13a1
- fix: fix failed checks
maxy-shpfy Apr 4, 2026
1865746
- refactor: improves and tidy-ups
maxy-shpfy Apr 4, 2026
09d2c50
- chore: reduse risks to v1
maxy-shpfy Apr 4, 2026
98b7756
- fix: node drops on canvas
maxy-shpfy Apr 9, 2026
5982b38
- chore: revery codesyntaxhighlighter changes
maxy-shpfy Apr 11, 2026
cafaf8f
- chore: revert yaml.ts changes
maxy-shpfy Apr 13, 2026
d89ec6c
- chore: remove `io` type usage and use conventional input output nodes
maxy-shpfy Apr 13, 2026
5ef5f0f
- refactor: optimizations
maxy-shpfy Apr 13, 2026
f417d55
- fix: db initial registry creation
maxy-shpfy Apr 14, 2026
5d3a69c
- chore: remove "task-component-ref-bar" beta flag
maxy-shpfy Apr 15, 2026
eebea18
- chore: remove "vibed" task node
maxy-shpfy Apr 16, 2026
7986906
- feat: colored header on classic node
maxy-shpfy Apr 16, 2026
dd18905
- chore: tmp remove beta flag to control properties floating window p…
maxy-shpfy Apr 16, 2026
71c859e
- chore: after-sync fix
maxy-shpfy Apr 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
366 changes: 366 additions & 0 deletions .dependency-cruiser.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,366 @@
/** @type {import('dependency-cruiser').IConfiguration} */
module.exports = {
forbidden: [
{
name: "no-circular",
severity: "warn",
comment:
"This dependency is part of a circular relationship. You might want to revise " +
"your solution (i.e. use dependency inversion, make sure the modules have a single responsibility) ",
from: {},
to: {
circular: true,
},
},
{
name: "no-orphans",
comment:
"This is an orphan module - it's likely not used (anymore?). Either use it or " +
"remove it. If it's logical this module is an orphan (i.e. it's a config file), " +
"add an exception for it in your dependency-cruiser configuration. By default " +
"this rule does not scrutinize dot-files (e.g. .eslintrc.js), TypeScript declaration " +
"files (.d.ts), tsconfig.json and some of the babel and webpack configs.",
severity: "warn",
from: {
orphan: true,
pathNot: [
"(^|/)[.][^/]+[.](?:js|cjs|mjs|ts|cts|mts|json)$", // dot files
"[.]d[.]ts$", // TypeScript declaration files
"(^|/)tsconfig[.]json$", // TypeScript config
"(^|/)(?:babel|webpack)[.]config[.](?:js|cjs|mjs|ts|cts|mts|json)$", // other configs
],
},
to: {},
},
{
name: "no-deprecated-core",
comment:
"A module depends on a node core module that has been deprecated. Find an alternative - these are " +
"bound to exist - node doesn't deprecate lightly.",
severity: "warn",
from: {},
to: {
dependencyTypes: ["core"],
path: [
"^v8/tools/codemap$",
"^v8/tools/consarray$",
"^v8/tools/csvparser$",
"^v8/tools/logreader$",
"^v8/tools/profile_view$",
"^v8/tools/profile$",
"^v8/tools/SourceMap$",
"^v8/tools/splaytree$",
"^v8/tools/tickprocessor-driver$",
"^v8/tools/tickprocessor$",
"^node-inspect/lib/_inspect$",
"^node-inspect/lib/internal/inspect_client$",
"^node-inspect/lib/internal/inspect_repl$",
"^async_hooks$",
"^punycode$",
"^domain$",
"^constants$",
"^sys$",
"^_linklist$",
"^_stream_wrap$",
],
},
},
{
name: "not-to-deprecated",
comment:
"This module uses a (version of an) npm module that has been deprecated. Either upgrade to a later " +
"version of that module, or find an alternative. Deprecated modules are a security risk.",
severity: "warn",
from: {},
to: {
dependencyTypes: ["deprecated"],
},
},
{
name: "no-non-package-json",
severity: "error",
comment:
"This module depends on an npm package that isn't in the 'dependencies' section of your package.json. " +
"That's problematic as the package either (1) won't be available on live (2 - worse) will be " +
"available on live with an non-guaranteed version. Fix it by adding the package to the dependencies " +
"in your package.json.",
from: {},
to: {
dependencyTypes: ["npm-no-pkg", "npm-unknown"],
},
},
{
name: "not-to-unresolvable",
comment:
"This module depends on a module that cannot be found ('resolved to disk'). If it's an npm " +
"module: add it to your package.json. In all other cases you likely already know what to do.",
severity: "error",
from: {},
to: {
couldNotResolve: true,
},
},
{
name: "no-duplicate-dep-types",
comment:
"Likely this module depends on an external ('npm') package that occurs more than once " +
"in your package.json i.e. bot as a devDependencies and in dependencies. This will cause " +
"maintenance problems later on.",
severity: "warn",
from: {},
to: {
moreThanOneDependencyType: true,
// as it's common to use a devDependency for type-only imports: don't
// consider type-only dependencyTypes for this rule
dependencyTypesNot: ["type-only"],
},
},

// rules you might want to tweak for your specific situation:
{
name: "not-to-test",
comment:
"This module depends on code within a folder that should only contain tests. As tests don't " +
"implement functionality this is odd. Either you're writing a test outside the test folder " +
"or there's something in the test folder that isn't a test.",
severity: "error",
from: {
pathNot: "^(tests)",
},
to: {
path: "^(tests)",
},
},
{
name: "not-to-spec",
comment:
"This module depends on a spec (test) file. The responsibility of a spec file is to test code. " +
"If there's something in a spec that's of use to other modules, it doesn't have that single " +
"responsibility anymore. Factor it out into (e.g.) a separate utility/ helper or a mock.",
severity: "error",
from: {},
to: {
path: "[.](?:spec|test)[.](?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$",
},
},
{
name: "not-to-dev-dep",
severity: "error",
comment:
"This module depends on an npm package from the 'devDependencies' section of your " +
"package.json. It looks like something that ships to production, though. To prevent problems " +
"with npm packages that aren't there on production declare it (only!) in the 'dependencies'" +
Comment thread
github-code-quality[bot] marked this conversation as resolved.
Fixed
"section of your package.json. If this module is development only - add it to the " +
"from.pathNot re of the not-to-dev-dep rule in the dependency-cruiser configuration",
from: {
path: "^(src)",
pathNot: "[.](?:spec|test)[.](?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$",
},
to: {
dependencyTypes: ["npm-dev"],
// type only dependencies are not a problem as they don't end up in the
// production code or are ignored by the runtime.
dependencyTypesNot: ["type-only"],
pathNot: ["node_modules/@types/"],
},
},
{
name: "optional-deps-used",
severity: "info",
comment:
"This module depends on an npm package that is declared as an optional dependency " +
"in your package.json. As this makes sense in limited situations only, it's flagged here. " +
"If you use an optional dependency here by design - add an exception to your" +
Comment thread
github-code-quality[bot] marked this conversation as resolved.
Fixed
"dependency-cruiser configuration.",
from: {},
to: {
dependencyTypes: ["npm-optional"],
},
},
{
name: "peer-deps-used",
comment:
"This module depends on an npm package that is declared as a peer dependency " +
"in your package.json. This makes sense if your package is e.g. a plugin, but in " +
"other cases - maybe not so much. If the use of a peer dependency is intentional " +
"add an exception to your dependency-cruiser configuration.",
severity: "warn",
from: {},
to: {
dependencyTypes: ["npm-peer"],
},
},
],
options: {
// Which modules not to follow further when encountered
doNotFollow: {
// path: an array of regular expressions in strings to match against
path: ["node_modules"],
},

// Which modules to exclude
// exclude : {
// // path: an array of regular expressions in strings to match against
// path: '',
// },

// Which modules to exclusively include (array of regular expressions in strings)
// dependency-cruiser will skip everything that doesn't match this pattern
// includeOnly : [''],

// List of module systems to cruise.
// When left out dependency-cruiser will fall back to the list of _all_
// module systems it knows of ('amd', 'cjs', 'es6', 'tsd']). It's the
// default because it's the safe option. It comes at a performance penalty, though
// As in practice only commonjs ('cjs') and ecmascript modules ('es6')
// are in wide use, you can limit the moduleSystems to those.
// moduleSystems: ['cjs', 'es6'],

// false: don't look at JSDoc imports (the default)
// true: detect dependencies in JSDoc-style import statements.
// Implies parser: 'tsc', which a.o. means the typescript compiler will need
// to be installed in the same spot you run dependency-cruiser from.
// detectJSDocImports: true,

// false: don't look at process.getBuiltinModule calls (the default)
// true: dependency-cruiser will detect calls to process.getBuiltinModule/
// globalThis.process.getBuiltinModule as imports.
// detectProcessBuiltinModuleCalls: true,

// prefix for links in html, d2, mermaid and dot/ svg output (e.g. 'https://github.com/you/yourrepo/blob/main/'
// to open it on your online repo or `vscode://file/${process.cwd()}/` to
// open it in visual studio code),
// prefix: `vscode://file/${process.cwd()}/`,

// suffix for links in output. E.g. put .html here if you use it to link to
// your coverage reports.
// suffix: '.html',

// false (the default): ignore dependencies that only exist before typescript-to-javascript compilation
// true: also detect dependencies that only exist before typescript-to-javascript compilation
// 'specify': for each dependency identify whether it only exists before compilation or also after
tsPreCompilationDeps: true,

// list of extensions to scan that aren't javascript or compile-to-javascript.
// Empty by default. Only put extensions in here that you want to take into
// account that are _not_ parsable.
// extraExtensionsToScan: ['.json', '.jpg', '.png', '.svg', '.webp'],

// if true combines the package.jsons found from the module up to the base
// folder the cruise is initiated from. Useful for how (some) mono-repos
// manage dependencies & dependency definitions.
// combinedDependencies: false,

// if true leave symlinks untouched, otherwise use the realpath
// preserveSymlinks: false,

// TypeScript project file ('tsconfig.json') to use for
// (1) compilation and
// (2) resolution (e.g. with the paths property)
//
// The (optional) fileName attribute specifies which file to take (relative to
// dependency-cruiser's current working directory). When not provided
// defaults to './tsconfig.json'.
tsConfig: {
fileName: "tsconfig.json",
},

// Webpack configuration to use to get resolve options from.
//
// The (optional) fileName attribute specifies which file to take (relative
// to dependency-cruiser's current working directory. When not provided defaults
// to './webpack.conf.js'.
//
// The (optional) 'env' and 'arguments' attributes contain the parameters
// to be passed if your webpack config is a function and takes them (see
// webpack documentation for details)
// webpackConfig: {
// fileName: 'webpack.config.js',
// env: {},
// arguments: {}
// },

// Babel config ('.babelrc', '.babelrc.json', '.babelrc.json5', ...) to use
// for compilation
// babelConfig: {
// fileName: '.babelrc',
// },

// List of strings you have in use in addition to cjs/ es6 requires
// & imports to declare module dependencies. Use this e.g. if you've
// re-declared require, use a require-wrapper or use window.require as
// a hack.
// exoticRequireStrings: [],

// options to pass on to enhanced-resolve, the package dependency-cruiser
// uses to resolve module references to disk. The values below should be
// suitable for most situations
//
// If you use webpack: you can also set these in webpack.conf.js. The set
// there will override the ones specified here.
enhancedResolveOptions: {
// What to consider as an 'exports' field in package.jsons
exportsFields: ["exports"],

// List of conditions to check for in the exports field.
// Only works when the 'exportsFields' array is non-empty.
conditionNames: ["import", "require", "node", "default", "types"],

// The extensions, by default are the same as the ones dependency-cruiser
// can access (run `npx depcruise --info` to see which ones that are in
// _your_ environment). If that list is larger than you need you can pass
// the extensions you actually use (e.g. ['.js', '.jsx']). This can speed
// up module resolution, which is the most expensive step.
// extensions: [".js", ".jsx", ".ts", ".tsx", ".d.ts"],

// What to consider a 'main' field in package.json
mainFields: ["module", "main", "types", "typings"],

// A list of alias fields in package.jsons
// See https://github.com/defunctzombie/package-browser-field-spec and
// the webpack [resolve.alias](https://webpack.js.org/configuration/resolve/#resolvealiasfields)
// documentation.
// Defaults to an empty array (= don't use alias fields).
// aliasFields: ['browser'],
},

// skipAnalysisNotInRules will make dependency-cruiser execute
// analysis strictly necessary for checking the rule set only.
// See https://github.com/sverweij/dependency-cruiser/blob/main/doc/options-reference.md#skipanalysisnotinrules
skipAnalysisNotInRules: true,

reporterOptions: {
dot: {
// Pattern of modules to consolidate to. The default pattern in this configuration
// collapses everything in node_modules to one folder deep so you see
// the external modules, but not their innards.
collapsePattern: "node_modules/(?:@[^/]+/[^/]+|[^/]+)",

// Options to tweak the appearance of your graph. See
// https://github.com/sverweij/dependency-cruiser/blob/main/doc/options-reference.md#reporteroptions
// If you don't specify a theme dependency-cruiser falls back to a built-in one.
// theme: {
// graph: {
// // splines: 'ortho' - straight lines; slow on big graphs
// // splines: 'true' - bezier curves; fast but not as nice as ortho
// splines: 'true'
// },
// },
},
archi: {
// Pattern of modules to consolidate to.
collapsePattern:
"^(?:packages|src|lib(s?)|app(s?)|bin|test(s?)|spec(s?))/[^/]+|node_modules/(?:@[^/]+/[^/]+|[^/]+)",

// Options to tweak the appearance of your graph. If you don't specify a
// theme for 'archi' dependency-cruiser will use the one specified in the
// dot section above and otherwise use the default one.
// theme: { },
},
text: {
highlightFocused: true,
},
},
},
};
// generated: dependency-cruiser@17.3.9 on 2026-03-18T19:33:56.656Z
4 changes: 4 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ VITE_HUGGING_FACE_AUTHORIZATION=<boolean>
# Dev Tools
VITE_ENABLE_DEBUG_MODE=<boolean>

# Google Drive Integration (optional — see docs/google-drive-setup.md)
VITE_GOOGLE_CLIENT_ID=<your-google-oauth-client-id>
VITE_GOOGLE_API_KEY=<your-google-api-key>

# =============================================================================
# BUGSNAG ERROR REPORTING (OPTIONAL)
# =============================================================================
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,4 @@ playwright-report
#local files
.local/
.planning/
.codanna/index/
Loading
Loading