Skip to content

Commit

Permalink
fix : fix bug deno runtime, merge & reduce unused script
Browse files Browse the repository at this point in the history
  • Loading branch information
nuzulul committed Feb 2, 2024
1 parent 5e9afc6 commit ea867e8
Show file tree
Hide file tree
Showing 8 changed files with 83 additions and 317 deletions.
22 changes: 12 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ npm install kv-storage
```
CDN (browser)
```javascript
<script src="https://cdn.jsdelivr.net/npm/[email protected].5/dist/umd/kv-storage.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected].6/dist/umd/kv-storage.js"></script>
```

## Initialization
Expand All @@ -38,15 +38,17 @@ import {KVStorage} from 'kv-storage'
//Deno import style
import {KVStorage} from 'npm:kv-storage'

//Node, Browser, Deno & Bun Initialization
const db = await KVStorage({
runtime:'node', //node | browser | deno | bun
storageName:'storage'
})

//Cloudflare Initialization
const db = await KVStorage({
runtime:'cloudflare',
storageName:'storage',
databaseBindings:env.D1 //Cloudflare D1 database bindings env
storageName:'storage', //Cloudflare D1 database name
databaseBinding:env.D1 //Cloudflare D1 database binding env
})
```
CDN
Expand Down Expand Up @@ -97,7 +99,7 @@ void async function main() {
}()
```
```javascript
<script src="https://cdn.jsdelivr.net/npm/[email protected].5/dist/umd/kv-storage.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected].6/dist/umd/kv-storage.js"></script>
<script>
//Browser using CDN example

Expand All @@ -119,7 +121,7 @@ void async function main() {
```javascript
<script type="module">
//Browser ES Modules example
import {KVStorage} from 'https://cdn.jsdelivr.net/npm/[email protected].5/dist/mjs/kv-storage.js'
import {KVStorage} from 'https://cdn.jsdelivr.net/npm/[email protected].6/dist/mjs/kv-storage.js'

void async function main() {
const db = await KVStorage({
Expand Down Expand Up @@ -162,8 +164,8 @@ export default {

const db = await KVStorage({
runtime:'cloudflare',
storageName:'storage',
databaseBindings:env.D1
storageName:'storage', //Cloudflare D1 database name
databaseBinding:env.D1 //Cloudflare D1 database binding env
})

let data = []
Expand All @@ -189,20 +191,20 @@ export default {
await init({
runtime?:string,
storageName?:string,
databaseBindings?:any //Cloudflare only
databaseBinding?:any
})
```
```
runtime = Javascript runtime
storageName = Alphanumeric storage name
databaseBindings = Cloudflare D1 database bindings env
databaseBinding = Cloudflare only D1 database binding env
```
Supported runtime :
- [x] `node`
- [x] `deno` need `--allow-read --allow-write`
- [x] `browser` use IndexedDB
- [x] `bun`
- [x] `cloudflare` workers use D1 Database [docs](https://developers.cloudflare.com/d1/get-started/#4-bind-your-worker-to-your-d1-database)
- [x] `cloudflare` workers use D1 Database [docs](https://developers.cloudflare.com/d1/get-started/#4-bind-your-worker-to-your-d1-database) example [wrangler.toml](https://github.com/nuzulul/kv-storage/blob/main/wrangler.toml)

### Write key-value pairs

Expand Down
7 changes: 4 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "kv-storage",
"version": "0.0.5",
"version": "0.0.6",
"description": "Create data storage that uses a simple key-value method for Node, Browser, Deno, Bun, Cloudflare Workers",
"main": "dist/cjs/kv-storage.js",
"module": "dist/mjs/kv-storage.js",
Expand All @@ -12,8 +12,9 @@
},
"scripts": {
"dev-node": "nodemon -e js,ts --watch src --watch test --exec \"npm run build && npm start\"",
"dev-bun": "nodemon -e js,ts --watch src --watch test --exec \"bun run test/server.ts\"",
"dev-deno": "nodemon -e js,ts --watch src --watch test --exec \"deno run --allow-read --allow-write test/test-deno/server-deno.ts\"",
"dev-cf": "nodemon -e js,ts,html --watch src --watch test --exec \"npm run prepare-public && tsc -p tsconfig-browser.json && wrangler dev --env dev\"",
"dev-cf": "nodemon -e js,ts,html --watch src --watch test --exec \"npm run prepare-public && tsc -p tsconfig-browser.json && wrangler dev\"",
"dev-browser": "nodemon -e js,ts,html --watch src --watch test --exec \"npm run prepare-public && tsc -p tsconfig-browser.json && tsc -p tsconfig-umd.json && rollup -c public/config/rollup.config.js && ts-node test/server-browser.ts\"",
"build-win": "npm run prepare-build-win && tsc -p tsconfig-mjs.json && tsc -p tsconfig-cjs.json && tsc -p tsconfig-umd.json && rollup -c public/config/rollup.config.umd.js && echo {\"type\": \"commonjs\"}>dist\\cjs\\package.json && echo {\"type\": \"module\"}>dist\\mjs\\package.json",
"gh-deploydoc": "npm run typedoc && git add docs -f && git commit -m \"docs\" && npm run gh-deploy && git reset --soft HEAD~ && git restore --staged .",
Expand All @@ -27,7 +28,7 @@
"prepare-build-win": "if not exist .\\dist (mkdir dist) else (rmdir /S /Q .\\dist\\)",
"prepare-typedoc": "if not exist .\\docs (mkdir docs) else (rmdir /S /Q .\\docs\\)",
"prepare-public": "if not exist .\\public (mkdir public) else (rmdir /S /Q .\\public\\)",
"typedoc": "npm run prepare-typedoc && typedoc src/kv-storage.ts src/node-kv-storage.ts src/deno-kv-storage.ts src/bun-kv-storage.ts",
"typedoc": "npm run prepare-typedoc && typedoc src/kv-storage.ts src/kv-storage-module.ts",
"gh-deploy": "git push origin :gh-pages && git subtree push --prefix docs origin gh-pages",
"gh-deploy-init": "git push origin && git subtree push --prefix docs origin gh-pages",

Expand Down
121 changes: 0 additions & 121 deletions src/bun-kv-storage.ts

This file was deleted.

6 changes: 3 additions & 3 deletions src/deno-kv-storage.ts → src/kv-storage-module.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import fs from 'node:fs'

export class DenoKVStorage{
export class KVStorageModule{

_storageDir:string

Expand Down Expand Up @@ -28,7 +28,7 @@ export class DenoKVStorage{
}:{
dataDirName?:string,
storageName:string
}): Promise<DenoKVStorage>{
}): Promise<KVStorageModule>{

function isAlphanumeric(str:string) {
return /^[a-zA-Z0-9]+$/.test(str);
Expand All @@ -55,7 +55,7 @@ export class DenoKVStorage{
let _dataDirName = "./"+dataDirName
let storageDir = _dataDirName+'/'+storageName
await makeDir(storageDir)
return new DenoKVStorage({storageDir})
return new KVStorageModule({storageDir})
}

public async put(key:string,value:string){
Expand Down
Loading

0 comments on commit ea867e8

Please sign in to comment.