File tree Expand file tree Collapse file tree 19 files changed +1214
-0
lines changed Expand file tree Collapse file tree 19 files changed +1214
-0
lines changed Original file line number Diff line number Diff line change 1+ # Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
2+
3+ # Logs
4+
5+ logs
6+ _.log
7+ npm-debug.log_
8+ yarn-debug.log *
9+ yarn-error.log *
10+ lerna-debug.log *
11+ .pnpm-debug.log *
12+
13+ # Caches
14+
15+ .cache
16+
17+ # Diagnostic reports (https://nodejs.org/api/report.html)
18+
19+ report. [0-9 ]_. [0-9 ]_. [0-9 ]_. [0-9 ]_.json
20+
21+ # Runtime data
22+
23+ pids
24+ _.pid
25+ _.seed
26+ * .pid.lock
27+
28+ # Directory for instrumented libs generated by jscoverage/JSCover
29+
30+ lib-cov
31+
32+ # Coverage directory used by tools like istanbul
33+
34+ coverage
35+ * .lcov
36+
37+ # nyc test coverage
38+
39+ .nyc_output
40+
41+ # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
42+
43+ .grunt
44+
45+ # Bower dependency directory (https://bower.io/)
46+
47+ bower_components
48+
49+ # node-waf configuration
50+
51+ .lock-wscript
52+
53+ # Compiled binary addons (https://nodejs.org/api/addons.html)
54+
55+ build /Release
56+
57+ # Dependency directories
58+
59+ node_modules /
60+ jspm_packages /
61+
62+ # Snowpack dependency directory (https://snowpack.dev/)
63+
64+ web_modules /
65+
66+ # TypeScript cache
67+
68+ * .tsbuildinfo
69+
70+ # Optional npm cache directory
71+
72+ .npm
73+
74+ # Optional eslint cache
75+
76+ .eslintcache
77+
78+ # Optional stylelint cache
79+
80+ .stylelintcache
81+
82+ # Microbundle cache
83+
84+ .rpt2_cache /
85+ .rts2_cache_cjs /
86+ .rts2_cache_es /
87+ .rts2_cache_umd /
88+
89+ # Optional REPL history
90+
91+ .node_repl_history
92+
93+ # Output of 'npm pack'
94+
95+ * .tgz
96+
97+ # Yarn Integrity file
98+
99+ .yarn-integrity
100+
101+ # dotenv environment variable files
102+
103+ .env
104+ .env.development.local
105+ .env.test.local
106+ .env.production.local
107+ .env.local
108+
109+ # parcel-bundler cache (https://parceljs.org/)
110+
111+ .parcel-cache
112+
113+ # Next.js build output
114+
115+ .next
116+ out
117+
118+ # Nuxt.js build / generate output
119+
120+ .nuxt
121+ dist
122+
123+ # Gatsby files
124+
125+ # Comment in the public line in if your project uses Gatsby and not Next.js
126+
127+ # https://nextjs.org/blog/next-9-1#public-directory-support
128+
129+ # public
130+
131+ # vuepress build output
132+
133+ .vuepress /dist
134+
135+ # vuepress v2.x temp and cache directory
136+
137+ .temp
138+
139+ # Docusaurus cache and generated files
140+
141+ .docusaurus
142+
143+ # Serverless directories
144+
145+ .serverless /
146+
147+ # FuseBox cache
148+
149+ .fusebox /
150+
151+ # DynamoDB Local files
152+
153+ .dynamodb /
154+
155+ # TernJS port file
156+
157+ .tern-port
158+
159+ # Stores VSCode versions used for testing VSCode extensions
160+
161+ .vscode-test
162+
163+ # yarn v2
164+
165+ .yarn /cache
166+ .yarn /unplugged
167+ .yarn /build-state.yml
168+ .yarn /install-state.gz
169+ .pnp. *
170+
171+ # IntelliJ based IDEs
172+ .idea
173+
174+ # Finder (MacOS) folder config
175+ .DS_Store
Original file line number Diff line number Diff line change 1+ {
2+ "version" : " 0.2.0" ,
3+ "configurations" : [
4+ {
5+ "type" : " bun" ,
6+ "internalConsoleOptions" : " neverOpen" ,
7+ "request" : " launch" ,
8+ "name" : " Build File" ,
9+ "program" : " ${file}" ,
10+ "cwd" : " ${workspaceFolder}" ,
11+ "stopOnEntry" : false ,
12+ "watchMode" : false ,
13+ "preLaunchTask" : " build"
14+ }
15+ ]
16+ }
Original file line number Diff line number Diff line change 1+ {
2+ "version" : " 2.0.0" ,
3+ "tasks" : [
4+ {
5+ "label" : " build" ,
6+ "type" : " shell" ,
7+ "command" : " bun run build" ,
8+ "group" : {
9+ "kind" : " build" ,
10+ "isDefault" : true
11+ },
12+ "detail" : " bun run bun build" ,
13+ "problemMatcher" : []
14+ }
15+ ]
16+ }
Original file line number Diff line number Diff line change 1+ # leetcode-intelligent
2+
3+ To install dependencies:
4+
5+ ``` bash
6+ bun install
7+ ```
8+
9+ To run:
10+
11+ ``` bash
12+ bun run index.ts
13+ ```
14+
15+ This project was created using ` bun init ` in bun v1.1.26. [ Bun] ( https://bun.sh ) is a fast all-in-one JavaScript runtime.
Original file line number Diff line number Diff line change 1+ # bunfig.toml
2+ [build ]
3+ entry = " src/index.ts"
4+ outdir = " dist"
5+ [install ]
6+ registry = " https://registry.npmmirror.com/"
Original file line number Diff line number Diff line change 1+ const metadata = `
2+ // ==UserScript==
3+ // @name LeetCode Intelligent
4+ // @namespace https://shiyu.dev/
5+ // @version 0.1
6+ // @description 为 LeetCode 增加智能代码提示,提供代码补全功能
7+ // @author ShiYu
8+ // @license MIT
9+ // @match https://leetcode.cn/problems/*
10+ // @grant none
11+ // @antifeature none
12+ // @run-at document-end
13+ // ==/UserScript==
14+
15+ ` . trim ( ) ;
16+
17+ async function injectMetadata ( ) {
18+ const outputFile = 'dist/index.js' ;
19+
20+ try {
21+ // 读取构建后的文件内容
22+ const fileContent = await Bun . file ( outputFile ) . text ( ) ;
23+
24+ // 将元数据插入到文件的顶部
25+ const updatedContent = `${ metadata } \n\n${ fileContent } ` ;
26+
27+ // 写回到输出文件
28+ await Bun . write ( outputFile , updatedContent ) ;
29+
30+ console . log ( 'Metadata injected successfully.' ) ;
31+ } catch ( error ) {
32+ console . error ( 'Error injecting metadata:' , error ) ;
33+ }
34+ }
35+
36+ injectMetadata ( ) ;
Original file line number Diff line number Diff line change 1+ {
2+ "name" : " leetcode-intelligent" ,
3+ "module" : " src/index.ts" ,
4+ "type" : " module" ,
5+ "devDependencies" : {
6+ "@types/bun" : " latest" ,
7+ "typescript" : " ^5.0.0"
8+ },
9+ "scripts" : {
10+ "build" : " bun build src/index.ts --outdir=dist --minify && bun inject-metadata.ts"
11+ },
12+ "dependencies" : {
13+ "monaco-editor" : " ^0.51.0" ,
14+ "monaco-languageclient" : " ^8.8.3" ,
15+ "vscode-ws-jsonrpc" : " ^3.3.2"
16+ }
17+ }
You can’t perform that action at this time.
0 commit comments