forked from
npmx.dev/npmx.dev
[READ-ONLY]
a fast, modern browser for the npm registry
1{
2 "name": "npmx",
3 "license": "MIT",
4 "private": true,
5 "type": "module",
6 "version": "0.0.0",
7 "author": {
8 "name": "Daniel Roe",
9 "email": "daniel@roe.dev",
10 "url": "https://roe.dev"
11 },
12 "scripts": {
13 "build": "nuxt build",
14 "build:lunaria": "node ./lunaria/lunaria.ts",
15 "build:test": "NODE_ENV=test pnpm build",
16 "dev": "nuxt dev",
17 "dev:docs": "pnpm run --filter npmx-docs dev --port=3001",
18 "i18n:check": "node scripts/compare-translations.ts",
19 "i18n:check:fix": "node scripts/compare-translations.ts --fix",
20 "i18n:report": "node scripts/find-invalid-translations.ts",
21 "i18n:report:fix": "node scripts/remove-unused-translations.ts",
22 "i18n:schema": "node scripts/generate-i18n-schema.ts",
23 "knip": "knip",
24 "knip:fix": "knip --fix",
25 "lint": "oxlint && oxfmt --check",
26 "lint:fix": "oxlint --fix && oxfmt",
27 "lint:css": "node scripts/unocss-checker.ts",
28 "generate": "nuxt generate",
29 "npmx-connector": "pnpm --filter npmx-connector dev",
30 "generate-pwa-icons": "pwa-assets-generator",
31 "preview": "nuxt preview",
32 "postinstall": "pnpm rebuild @resvg/resvg-js && pnpm generate:lexicons && nuxt prepare && simple-git-hooks",
33 "generate:fixtures": "node scripts/generate-fixtures.ts",
34 "generate:lexicons": "lex build --lexicons lexicons --out shared/types/lexicons --clear",
35 "test": "vite test",
36 "test:a11y": "pnpm build:test && LIGHTHOUSE_COLOR_MODE=dark pnpm test:a11y:prebuilt && LIGHTHOUSE_COLOR_MODE=light pnpm test:a11y:prebuilt",
37 "test:a11y:prebuilt": "./scripts/lighthouse.sh",
38 "test:perf": "pnpm build:test && pnpm test:perf:prebuilt",
39 "test:perf:prebuilt": "LH_PERF=1 ./scripts/lighthouse.sh",
40 "test:browser": "pnpm build:test && pnpm test:browser:prebuilt",
41 "test:browser:prebuilt": "playwright test",
42 "test:browser:ui": "pnpm build:test && pnpm test:browser:prebuilt --ui",
43 "test:browser:update": "pnpm build:test && pnpm test:browser:prebuilt --update-snapshots",
44 "test:nuxt": "vite test --project nuxt",
45 "test:types": "pnpm generate:lexicons && nuxt prepare && vue-tsc -b --noEmit && pnpm --filter npmx-connector test:types",
46 "test:unit": "vite test --project unit",
47 "start:playwright:webserver": "NODE_ENV=test pnpm preview --port 5678"
48 },
49 "dependencies": {
50 "@atproto/common": "0.5.10",
51 "@atproto/lex": "0.0.13",
52 "@atproto/oauth-client-node": "^0.3.15",
53 "@deno/doc": "jsr:^0.189.1",
54 "@floating-ui/vue": "1.1.10",
55 "@iconify-json/carbon": "1.2.18",
56 "@iconify-json/lucide": "1.2.87",
57 "@iconify-json/simple-icons": "1.2.68",
58 "@iconify-json/svg-spinners": "1.2.4",
59 "@iconify-json/vscode-icons": "1.2.40",
60 "@intlify/shared": "11.2.8",
61 "@lunariajs/core": "https://pkg.pr.new/lunariajs/lunaria/@lunariajs/core@f07e1a3",
62 "@nuxt/a11y": "1.0.0-alpha.1",
63 "@nuxt/fonts": "0.13.0",
64 "@nuxt/scripts": "0.13.2",
65 "@nuxt/test-utils": "4.0.0",
66 "@nuxtjs/color-mode": "4.0.0",
67 "@nuxtjs/html-validator": "2.1.0",
68 "@nuxtjs/i18n": "10.2.3",
69 "@shikijs/langs": "3.21.0",
70 "@shikijs/themes": "3.21.0",
71 "@unocss/nuxt": "66.6.0",
72 "@unocss/preset-wind4": "66.6.0",
73 "@upstash/redis": "1.36.1",
74 "@vite-pwa/assets-generator": "1.0.2",
75 "@vite-pwa/nuxt": "1.1.0",
76 "@voidzero-dev/vite-plus-core": "0.0.0-833c515fa25cef20905a7f9affb156dfa6f151ab",
77 "@vueuse/core": "14.2.0",
78 "@vueuse/integrations": "14.2.0",
79 "@vueuse/nuxt": "14.2.0",
80 "@vueuse/router": "^14.2.0",
81 "@vueuse/shared": "14.2.0",
82 "algoliasearch": "5.48.0",
83 "defu": "6.1.4",
84 "fast-npm-meta": "1.0.0",
85 "focus-trap": "^7.8.0",
86 "gray-matter": "4.0.3",
87 "marked": "17.0.1",
88 "module-replacements": "2.11.0",
89 "nuxt": "4.3.1",
90 "nuxt-og-image": "5.1.13",
91 "ofetch": "1.5.1",
92 "ohash": "2.0.11",
93 "perfect-debounce": "2.1.0",
94 "sanitize-html": "2.17.0",
95 "semver": "7.7.3",
96 "shiki": "3.21.0",
97 "simple-git": "3.30.0",
98 "spdx-license-list": "6.11.0",
99 "std-env": "3.10.0",
100 "tinyglobby": "0.2.15",
101 "ufo": "1.6.3",
102 "unocss": "66.6.0",
103 "unplugin-vue-router": "0.19.2",
104 "valibot": "1.2.0",
105 "validate-npm-package-name": "7.0.2",
106 "virtua": "0.48.5",
107 "vite-plugin-pwa": "1.2.0",
108 "vite-plus": "0.0.0-833c515fa25cef20905a7f9affb156dfa6f151ab",
109 "vue": "3.5.27",
110 "vue-data-ui": "3.14.10"
111 },
112 "devDependencies": {
113 "@e18e/eslint-plugin": "0.1.4",
114 "@intlify/core-base": "11.2.8",
115 "@npm/types": "2.1.0",
116 "@playwright/test": "1.58.1",
117 "@types/node": "24.10.9",
118 "@types/sanitize-html": "2.16.0",
119 "@types/semver": "7.7.1",
120 "@types/validate-npm-package-name": "4.0.2",
121 "@vitest/browser-playwright": "4.0.18",
122 "@vitest/coverage-v8": "4.0.18",
123 "@vue/test-utils": "2.4.6",
124 "axe-core": "4.11.1",
125 "defu": "6.1.4",
126 "eslint-plugin-regexp": "3.0.0",
127 "fast-check": "4.5.3",
128 "h3": "1.15.5",
129 "knip": "5.83.0",
130 "lint-staged": "16.2.7",
131 "oxfmt": "0.27.0",
132 "oxlint": "1.42.0",
133 "schema-dts": "1.1.5",
134 "simple-git-hooks": "2.13.1",
135 "typescript": "5.9.3",
136 "vitest": "npm:@voidzero-dev/vite-plus-test@0.0.0-833c515fa25cef20905a7f9affb156dfa6f151ab",
137 "vitest-environment-nuxt": "1.0.1",
138 "vue-i18n-extract": "2.0.7",
139 "vue-tsc": "3.2.4"
140 },
141 "engines": {
142 "node": ">=24"
143 },
144 "simple-git-hooks": {
145 "pre-commit": "npx lint-staged"
146 },
147 "lint-staged": {
148 "i18n/locales/*": [
149 "node ./lunaria/lunaria.ts",
150 "pnpm oxfmt lunaria/files/",
151 "git add lunaria/files/",
152 "node scripts/generate-i18n-schema.ts",
153 "pnpm oxfmt i18n/schema.json",
154 "git add i18n/schema.json"
155 ],
156 "*.{js,ts,mjs,cjs,vue}": [
157 "pnpm oxlint --fix"
158 ],
159 "*.vue": [
160 "pnpm lint:css"
161 ],
162 "*.{js,ts,mjs,cjs,vue,json,yml,md,html,css}": [
163 "pnpm oxfmt"
164 ]
165 },
166 "packageManager": "pnpm@10.28.2"
167}