5 Commits
v0.2.0 ... main

Author SHA1 Message Date
nicwands
40344e4e74 update supported version 2026-03-02 11:55:47 -05:00
nicwands
99d0c8935c 0.3.1 2026-03-02 11:55:28 -05:00
nicwands
debbd2c01f fix api version bug 2026-03-02 11:55:22 -05:00
nicwands
9adcd1fc3f 0.3.0 2026-03-02 11:48:44 -05:00
nicwands
e4a4b78b12 Update testPlugin to use new note storage format 2026-03-02 11:48:31 -05:00
4 changed files with 19 additions and 22 deletions

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "@takerofnotes/plugin-sdk",
"version": "0.2.0",
"version": "0.3.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@takerofnotes/plugin-sdk",
"version": "0.2.0",
"version": "0.3.1",
"license": "MIT",
"dependencies": {
"zod": "^4.3.6"

View File

@@ -1,6 +1,6 @@
{
"name": "@takerofnotes/plugin-sdk",
"version": "0.2.0",
"version": "0.3.1",
"description": "SDK to create a storage plugin for Taker of Notes",
"type": "module",
"main": "dist/index.js",

View File

@@ -1,19 +1,16 @@
import { validatePlugin } from './validatePlugin'
import { SUPPORTED_API_VERSION, validatePlugin } from './validatePlugin'
export interface TestNote {
id: string
title: string
content: string
createdAt: string
updatedAt: string
data: string
}
export const createTestNote = (id: string = 'test-note-1'): TestNote => ({
export const createTestNote = (
id: string = 'test-note-1',
data?: string,
): TestNote => ({
id,
title: 'Test Note',
content: 'Test content',
createdAt: new Date().toISOString(),
updatedAt: new Date().toISOString(),
data: data || 'test-data',
})
export interface TestPluginOptions {
@@ -42,7 +39,7 @@ export const runPluginTests = ({ plugin, adapter }: TestPluginOptions) => {
}
})
it('should have correct apiVersion', () => {
equal(plugin.apiVersion, '0.1.0')
equal(plugin.apiVersion, SUPPORTED_API_VERSION)
})
},
@@ -82,19 +79,19 @@ export const runPluginTests = ({ plugin, adapter }: TestPluginOptions) => {
it('should update a note without errors', async () => {
const note = createTestNote('test-update-note')
await adapter.create(note)
const updatedNote = { ...note, content: 'Updated content' }
const updatedNote = { ...note, data: 'Updated data' }
await adapter.update(updatedNote)
})
it('updated note should reflect changes', async () => {
const note = createTestNote('test-update-note-2')
await adapter.create(note)
const updatedNote = { ...note, title: 'Updated Title' }
const updatedNote = { ...note, data: 'Updated data v2' }
await adapter.update(updatedNote)
const notes = await adapter.getAll()
const found = notes.find((n: any) => n.id === note.id)
if (found?.title !== 'Updated Title') {
throw new Error('Updated note title does not match')
if (found?.data !== 'Updated data v2') {
throw new Error('Updated note data does not match')
}
})
},
@@ -128,14 +125,14 @@ export const runPluginTests = ({ plugin, adapter }: TestPluginOptions) => {
throw new Error('Created note not found')
}
const updatedNote = { ...note, title: 'CRUD update' }
const updatedNote = { ...note, data: 'CRUD update' }
await adapter.update(updatedNote)
notes = await adapter.getAll()
if (
notes.find((n: any) => n.id === note.id)?.title !==
notes.find((n: any) => n.id === note.id)?.data !==
'CRUD update'
) {
throw new Error('Updated note content does not match')
throw new Error('Updated note data does not match')
}
await adapter.delete(note.id)

View File

@@ -1,6 +1,6 @@
import { z } from 'zod'
export const SUPPORTED_API_VERSION = '0.1.0'
export const SUPPORTED_API_VERSION = '0.3.1'
const ConfigFieldSchema = z.object({
key: z.string(),