From d8f0bf76e3347aa297e1a603f377a95391cd6b5a Mon Sep 17 00:00:00 2001 From: Alexander Ng Date: Fri, 4 Apr 2025 10:49:25 -0700 Subject: [PATCH] moment --- .gitignore | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 15 +++++ bun.lockb | Bin 0 -> 11790 bytes index.ts | 58 +++++++++++++++++ package.json | 14 ++++ tsconfig.json | 27 ++++++++ 6 files changed, 289 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100755 bun.lockb create mode 100644 index.ts create mode 100644 package.json create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9b1ee42 --- /dev/null +++ b/.gitignore @@ -0,0 +1,175 @@ +# Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore + +# Logs + +logs +_.log +npm-debug.log_ +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Caches + +.cache + +# Diagnostic reports (https://nodejs.org/api/report.html) + +report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json + +# Runtime data + +pids +_.pid +_.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover + +lib-cov + +# Coverage directory used by tools like istanbul + +coverage +*.lcov + +# nyc test coverage + +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) + +.grunt + +# Bower dependency directory (https://bower.io/) + +bower_components + +# node-waf configuration + +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) + +build/Release + +# Dependency directories + +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) + +web_modules/ + +# TypeScript cache + +*.tsbuildinfo + +# Optional npm cache directory + +.npm + +# Optional eslint cache + +.eslintcache + +# Optional stylelint cache + +.stylelintcache + +# Microbundle cache + +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history + +.node_repl_history + +# Output of 'npm pack' + +*.tgz + +# Yarn Integrity file + +.yarn-integrity + +# dotenv environment variable files + +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) + +.parcel-cache + +# Next.js build output + +.next +out + +# Nuxt.js build / generate output + +.nuxt +dist + +# Gatsby files + +# Comment in the public line in if your project uses Gatsby and not Next.js + +# https://nextjs.org/blog/next-9-1#public-directory-support + +# public + +# vuepress build output + +.vuepress/dist + +# vuepress v2.x temp and cache directory + +.temp + +# Docusaurus cache and generated files + +.docusaurus + +# Serverless directories + +.serverless/ + +# FuseBox cache + +.fusebox/ + +# DynamoDB Local files + +.dynamodb/ + +# TernJS port file + +.tern-port + +# Stores VSCode versions used for testing VSCode extensions + +.vscode-test + +# yarn v2 + +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +# IntelliJ based IDEs +.idea + +# Finder (MacOS) folder config +.DS_Store diff --git a/README.md b/README.md new file mode 100644 index 0000000..186ed6e --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +# anki-genki + +To install dependencies: + +```bash +bun install +``` + +To run: + +```bash +bun run index.ts +``` + +This project was created using `bun init` in bun v1.1.43. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime. diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..d2d3fb44d8be8f4551796ae7bfe2e8ce88a9a22e GIT binary patch literal 11790 zcmeHNd011&77rK}u_9U&s-i&z1WAA(7!Ys=cT@y-Z3q_#h9o9IpjbpHwrX9lRY0(S zs3?`9wkpy>sS&Cut+=9XEfsB*YE=Xm6ny90WaMHir0x6Teed&pT;|U5`^`CLCUfWB zIX2eL(MpALh*;`ONtba#qNOHqaV0X*k}$D^;)cl-Q9>1WnTv@&i^Y<2^R{sMjdeV4 zz2%-&&8PP9vp-pLpt(4Ijzj$|CtFET0v8&A4A3MjScOrhKY(xZ@KKfcf(;)4w}dI^Zu`OeOIAEhojC2Ule@4Vkqu}f+?YHNMJ_`o?6My~6+W>W2$ zjP%OBOQVXq1&T~B4$WM2#3(c6v`x~lJ8l>Ht|H)O5Mr zw9i#eEgHoL5t+zYm?*gYt+BcUkdnO2AP%v_fpflxZhcWB&ik-qs$i=z#yG0G}R9!^@;*$C{^!R(st$ zM_C>C#`RKCT5go7!NufmUFDIVkBD72y~?m)r@=($1;Je|UEetWYVc3y`_i)Y4E0i? zdl&~s&Z+9c;APHV_R8CWzU9|W*I4EB&(E+wJ&ClCgq2uOt zwW{!KRmo2;DD<^xm^OK;ZI|<&E_FxO4)&YwaqGk(^Xv1Cx#DqqF7zHhZe(R^M}}+opbB2k2`rU_h#$BfG5pe=2gu8RTWg7y8b~<(4^3; z{4JyE{4H0?w>?_Dm~;DXR$gJwlm`r6{5=z4hkE!*o*b&VTUBf}!q9BgwT<>=A4mcY z^>nAaRvnto%?pgREM@S*GWJ5)8$Z2R)m#zuEVaU@bi|ang99?ZHXD-U_w_Fp3u_9R zPuujqaV_Eb@6+^Sdye?l^bK`z)U1WUb5~RP4~5(Y|B4gS8N9eI5@Db1HLHoUu~g*7 zv6$N@H(+5{@v=SfbE_NWt9(w?9-LfRaaHm7o`r2ep?}(*prFwWJ|h1c8}9dD>D@U} zJIT}BmBGv0=dr0T%R55>8{Q;{VI6>sbxD&9{wb}b+fYi z2eH~*5i-eU~M%iZjEIH%y#X}Z%`%QLX?*++-4eC?|FIj() zn|-0IDn@^qZN7DS$?c@1-43~W$7+ijD(u&#oL9encfWJD4?|B4tx1S0nSHDOXM&ib zWFK=U+u{aCyVdSP9477ZVerDc=nG*tHRevtcWP;zFl%i>`5@}ey^D|a>~;I|D2MEo z)_dPS==E@W!RQZI6Mfg)c?lle3mH43&!=fN6?^w=NlMRJ|Ml{&3|@HWej)5<$#-OW zgRiT;KQV>xkdV{Y&*J#^;Zolsqno>Cr5|eqg^&KQ1zOna^l8H74c#!t2xLvDUb7rzTytkCi{_vh>^93GAD>pUf!nedpwU z`(7KWcBXYCNBaE&LbQ@B$`{A6rI~Vgd1^&nxWYXvuCzWMhVfPZ&{jw|P=#$@vI@Ml# zZ|%^mx~n&5tf`8aJ!W0N*ClmR_byz(;3dylnwM(zuh|#%gXOuBgR+rf!A@iJkDKN; zo7uVXZ7Va2%FEuq*svvQpwE1+VU+XE6{#*=XN<2pll(q));Mq$mzViDgBSN8MA$=; zR%G%=kG8N-kL?!RXWYZVMrqQo_83es>@g;vvfL1AyxKUoY1))N&Gji`p7j1wamqvL zSyymw_@eQDn2U~ZA2WF0B&3kCCvBf6ovB)T@A_oHj}fU$d)=z~t?BOOZzf(*>-BCf z{&rGBvcZbWUssmRK72v#kQN`{IVAU9;k(b-S=p06@;v$(^LLEjS%|RXfWSQ#{i)-inl2W&Qo^768TWhxcp!-+7RLxEG+us(a?93eG z6Wo2D-PWrNeVKbXcJD5+t`>jT{_^vkvia;|;}`YXY+87D6Kkm9+!Vt{&gRob8_l@v z5I@tLos@i8`N%CzZMpp8;o+qs)A;8{mtJ8nWANfWlL$L}aMJBdEf;otQ{8`ZZO*4d zvLaGWmNWq z#X;3^w*T?qoPu`-1!mux+wyEf&z;dJ8Qt^aOMj9J#%-+M7X4UVxcMoA_bn#x$PfHi zPrLr%;&;X6^^Q-XD(lRy_&+b?yZr1h&UDj(?#{E9jBgCdsM>5(DDrIGd% zSLrEO8Rj>~o=dCEeb7?+Am;4wJWkvh7;=i27@3<-mm>|c?dy^eJ`zq=VLvbL#D;q?Uj zGv5^{<97OIEwJBbmiNc8Yl>m3PQF*3w_UudYQ%;C0f}68f14=5YVVU#HQ%ZNs#|Os zy#1N_PU}7XrpuQ1dJLW}DHZQ4AG^k4>;d-xUfIu%<2~;f%eO2a@xb%ajFLu!!`B=u z3#9MNyDB&#OISP7ATnRC@8p$>7`(W@Cc=(LZ$4HK(~@^N@A0`N!?3am>ikd7_T3&7 zkg_G|x93L+Z_akCUGUvX(VTY;ELV)!7ULV#L+|d^V(YiO!k*WikIVty*Yer}|JDO! zuT0W^!uNVA{u8gg#=Q2xYY)8kz<=8V5!%mp%eASAw^AYEiKR-FP$J=x!(!en1x5LC z_%0l!_#H|X=ENDs5lY12Qdt=Ny4?C)Bd8tjTlQ$#`VZ9TYvLX4#`gu#U&HC|eE8jH zFkJZE1i$s*GsX@s{62`^Jn;JjeoMgje*9Kw0~fwiV&$XuE>e}s2A#tI%40b59&d5MIG_o3H8Bx ze4j)c@O>3^#(HdvHlW^EkL?hHDYn5BF=z|!yK&D+Y{8Vnfqx*A(19Q(-t+k$3!?=v zWF9Yk?%Hn1XdOY%#4PQ3u9@BTpTzLZC zFcxb%^a>g#l2dM|8Kz+)=l$dyoW{6fKjDA@YZJ*yxu(XQ=fNUp@Z@Y7YFv202Pbtf z4B)v$a*9o3TzGJRLE;9;c{62s9}L!wtmR0s6q!QQb{R*ap5`6%9&x4AKSs=2y1HMdjj{Ql*IFN##+IN}fy+?o2Os z&Rk8(rPn#0D*PRco8pEFRYJK!78}P6Q^=yY5MUK1lSpJSTm=;>R!}09vIF9mn?fHi z7eRNf?mSQIuLGj?8URiE0wjSs)G@~kb7(EJrg3rY<|9%hi-G~7Lb>1^N*F~cxk^gK zRmmU=!>kg9(@QAr&JGl9YXrTtWw^LNySaCwp>~lb$j}h53m555V1HH>82(&H>p*is z9i>pn6v}Y0P%K3Qm0}SrPE2zN zOnOK;tIi*m-c!W}6F!{JJt)V~_2PLwQNceSeg(_JTJx)*sw?b7!+lX~!&r2;q zrF}|OG7DzrbP#X`;zs*^->9~JI&ZJ zi)NN<@S1x-YR94jBvVZQGqY{BbbuHA^)Lg~D{5%g&ZhjIXNktJm!^(x8n$2TP_yd>9GfEHTmgOJLh$4v-l9i<6aBA2XdT z+ArE@!E}3?VmS7zC67^RZ=|wNssleTS^*z6=JH|r#|I6N!7o585_hT+vl*~3vs}$K wMmLYdC;=U# "na_adjective" + for (const word of group.words) { + await addNote(word, [tag]); + } + } +} + +main(); diff --git a/package.json b/package.json new file mode 100644 index 0000000..7105f2e --- /dev/null +++ b/package.json @@ -0,0 +1,14 @@ +{ + "name": "anki-genki", + "module": "index.ts", + "type": "module", + "devDependencies": { + "@types/bun": "latest" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "dependencies": { + "axios": "^1.8.4" + } +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..238655f --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + // Enable latest features + "lib": ["ESNext", "DOM"], + "target": "ESNext", + "module": "ESNext", + "moduleDetection": "force", + "jsx": "react-jsx", + "allowJs": true, + + // Bundler mode + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "noEmit": true, + + // Best practices + "strict": true, + "skipLibCheck": true, + "noFallthroughCasesInSwitch": true, + + // Some stricter flags (disabled by default) + "noUnusedLocals": false, + "noUnusedParameters": false, + "noPropertyAccessFromIndexSignature": false + } +}