Skip to content

Trim dependencies #25

@adsharma

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions