Skip to content

package.json

Raw
{
  "name": "datamaker-annotator-frontend",
  "version": "v0.0.2",
  "private": true,
  "browserslist": ["> 1%", "last 2 versions", "not dead"],
  "lint-staged": {
    "src/**/*.{js,vue,tsx,ts,jsx}": ["eslint --fix", "prettier --write"]
  }
}
{
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview",
    "test": "vitest run",
    "test:watch": "vitest --watch",
    "test:coverage": "vitest --coverage",
    "test:coverage:open": "vitest --coverage --open",
    "test:coverage:html": "vitest --coverage --html",
    "test:coverage:json": "vitest --coverage --json",
    "test:coverage:text": "vitest --coverage --text",
    "test:ui": "vitest --ui",
    "lint": "eslint --ext .js,.vue src",
    "prettier": "prettier --write \"src/**/*.{js,vue}\"",
    "prepare": "husky install",
    "lint-staged": "lint-staged",
    "type-check": "tsc --noEmit",
    "type-check:watch": "tsc --noEmit --watch",
    "test:e2e": "playwright test",
    "wasm-build": "node scripts/wasm-build.js",
    "migration:status": "node scripts/migration-status.js"
  }
}
{
  "scripts": {
    "serve": "webpack serve",
    "build": "webpack --mode production",
    "test": "vitest run",
    "lint": "eslint --ext .js,.vue src",
    "prettier": "prettier --write \"src/**/*.{js,vue}\"",
    "prepare": "husky install",
    "lint-staged": "lint-staged",
    "type-check": "tsc --noEmit",
    "test:e2e": "playwright test"
  }
}
{
  "dependencies": {
    "vue": "^3.5.25",
    "vuex": "^4.1.0",
    "vue-router": "^4.6.4",
    "vue-i18n": "^11.2.2",
    "@vue/compiler-sfc": "^3.5.25",
    "vue-draggable-plus": "^0.6.1",
    "vue-select": "4.0.0-beta.6",
    "vue-toast-notification": "^3.1.3",
    "vuex-persist": "^3.1.3",
    "@sentry/vue": "^10.30.0",
    "@sentry/browser": "^10.30.0",
    "axios": "^1.13.5",
    "three": "^0.182.0",
    "three-mesh-bvh": "^0.9.3",
    "video.js": "^8.23.4",
    "wavesurfer.js": "^7.12.1",
    "lodash": "^4.17.23",
    "dayjs": "^1.11.19",
    "nanoid": "^5.1.6",
    "chroma-js": "^3.2.0",
    "comlink": "^4.4.2",
    "marked": "^17.0.1",
    "highlight.js": "^11.11.1",
    "jsoneditor": "^10.4.2",
    "ajv": "^8.18.0",
    "@mathjax/src": "^4.1.0",
    "@turf/turf": "^7.3.1",
    "@tweenjs/tween.js": "^25.0.0",
    "@fancyapps/ui": "^6.1.7",
    "@flatten-js/boolean-op": "^1.1.4",
    "@flatten-js/core": "^1.6.10",
    "@fortawesome/fontawesome-free": "^7.1.0",
    "animate.css": "^4.1.1",
    "async-lz-string": "^1.1.0",
    "core-js": "^3.47.0",
    "dat.gui": "^0.7.9",
    "dotenv": "^17.2.3",
    "fast-json-stable-stringify": "^2.1.0",
    "hsl-to-hex": "^1.0.0",
    "jquery": "^3.7.1",
    "magic-wand-tool": "^1.1.7",
    "multi-range-slider-vue": "^1.1.4",
    "postinstall-postinstall": "^2.1.0",
    "simple-lazy-debounce": "^0.1.0",
    "tinykeys": "^3.0.0",
    "vue-plugin-load-script": "^2.1.1",
    "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz",
    "annotator-util": "file:wasm/annotator",
    "image-annotator-util": "file:wasm/image-annotator",
    "wasm-utils": "file:wasm/wasm-utils"
  }
}
{
  "devDependencies": {
    "vite": "^7.3.0",
    "@vitejs/plugin-vue": "^6.0.3",
    "vite-plugin-wasm": "^3.5.0",
    "vite-plugin-top-level-await": "^1.6.0",
    "rollup-plugin-visualizer": "^6.0.5",
    "@intlify/unplugin-vue-i18n": "^11.0.3",
    "typescript": "^5.9.3",
    "@typescript-eslint/eslint-plugin": "^8.50.0",
    "@typescript-eslint/parser": "^8.50.0",
    "typescript-eslint": "^8.50.0",
    "eslint": "^9.39.2",
    "@eslint/js": "^9.39.2",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-n": "^17.23.1",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-perfectionist": "^4.15.1",
    "eslint-plugin-prettier": "^5.5.4",
    "eslint-plugin-promise": "^7.2.1",
    "eslint-plugin-vue": "^10.6.2",
    "vue-eslint-parser": "^10.2.0",
    "prettier": "^3.7.4",
    "prettier-plugin-vue": "^1.1.6",
    "globals": "^16.5.0",
    "tailwindcss": "^4.1.18",
    "@tailwindcss/forms": "^0.5.10",
    "@tailwindcss/postcss": "^4.1.18",
    "autoprefixer": "^10.4.23",
    "sass": "^1.96.0",
    "vitest": "^4.0.15",
    "@vitest/ui": "^4.0.15",
    "@playwright/test": "^1.57.0",
    "@types/node": "^25.0.2",
    "@vue/runtime-dom": "^3.5.25",
    "jsdom": "^27.3.0",
    "husky": "^9.1.7",
    "lint-staged": "^16.2.7",
    "mocha-teamcity-reporter": "^4.2.0",
    "dat.gui": "^0.7.9"
  }
}

staging (Vue 2.x) - Dependencies (main과 다른 부분)

Section titled “staging (Vue 2.x) - Dependencies (main과 다른 부분)”
{
  "dependencies": {
    "vue": "2.6.14",
    "vue-template-compiler": "2.6.14",
    "vuex": "3.4.0",
    "vue-router": "3.2.0",
    "vue-i18n": "8.25.0",
    "@vue/composition-api": "1.7.1",
    "bootstrap": "4.6.2",
    "bootstrap-vue": "2.21.2",
    "vuex-persistedstate": "^4.1.0",
    "@sentry/vue": "^7.x",
    "moment": "^2.29.4",
    "d3": "^7.x",
    "openseadragon": "^4.x",
    "chart.js": "^4.x",
    "@ckeditor/ckeditor5-vue2": "...",
    "vue-formulate": "...",
    "vue-worker": "..."
  }
}

staging (Vue 2.x) - devDependencies (main과 다른 부분)

Section titled “staging (Vue 2.x) - devDependencies (main과 다른 부분)”
{
  "devDependencies": {
    "webpack": "^5.x",
    "webpack-cli": "^5.x",
    "webpack-dev-server": "^4.x",
    "vue-loader": "^15.x",
    "ts-loader": "^9.x",
    "babel-loader": "^9.x",
    "@babel/core": "^7.x",
    "@babel/preset-env": "^7.x",
    "@babel/plugin-proposal-class-properties": "^7.x",
    "@babel/plugin-transform-runtime": "^7.x",
    "babel-plugin-module-resolver": "^5.x",
    "babel-plugin-transform-remove-console": "^6.x",
    "css-loader": "^6.x",
    "sass-loader": "^13.x",
    "style-loader": "^3.x",
    "postcss-loader": "^7.x",
    "html-webpack-plugin": "^5.x",
    "copy-webpack-plugin": "^11.x",
    "vite-plugin-vue2": "..."
  }
}