Skip to content

Trim dependencies #25

Description

@adsharma

Maintaining this repo is quite a burden and the ongoing security issues have made blind updates from dependabot risky.

Here's a high level analysis from a bot:

Safest removals

  • monaco-themes: no references in source/config.
  • node-gyp: listed directly, but not used directly. sqlite3 already declares its own build tooling.
  • nodemon: only used by npm run serve. You can change that script to vue-cli-service serve and remove it.
  • @vue/cli-plugin-eslint, eslint, eslint-plugin-vue: removable if you do not need npm run lint / npm run eslint.
  • antlr4ng-cli: only used by generate-grammar*; removable if generated parser files stay committed and you do not regenerate grammar locally.

Likely removable with tiny code changes

  • pino-pretty: only used as a logger transport in src/server/utils/Logger.js. Remove the transport config and keep plain pino.
  • moment: only used in src/utils/ValueFormatter.js for date formatting. Replace with native Date/Intl.
  • chroma-js: used by src/store/SettingsStore.js for color generation. Replace with a small local color interpolation helper if exact color behavior is not critical.

Feature-level removals

  • openai: removes LLM query generation through src/server/Gpt.js.
  • dropzone, multer, @duckdb/duckdb-wasm: tied to the importer/upload/CSV preview flow. Removing these means cutting or heavily simplifying import functionality.
  • sqlite, sqlite3: tied to session/history persistence in src/server/utils/SessionDatabase.js.
  • @ladybugdb/wasm-core: removes in-browser WASM mode.
  • @ladybugdb/core: removes server/native Ladybug mode.
  • @antv/g6: removes graph/schema visualization.
  • monaco-editor, monaco-editor-webpack-plugin, antlr4ng, antlr4-c3: removes Cypher editor/autocomplete support.

Do not remove casually

  • vue, pinia, axios, bootstrap, @popperjs/core, express, cors, uuid, sass, sass-loader, copy-webpack-plugin, @vue/cli-service, @vue/cli-plugin-babel, @babel/ core, core-js, webpack, typescript.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions