feat: add local OneNote and ONEPKG reader
This commit is contained in:
30
src/toolbox/manifest.definition.json
Normal file
30
src/toolbox/manifest.definition.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"id": "de.add-ideas.onenote-tools",
|
||||
"name": "OneNote Tools",
|
||||
"description": "Local-first reader for tested desktop revision-store .one sections and LZX .onepkg packages; other OneNote formats are not implemented.",
|
||||
"entry": "./",
|
||||
"icon": "./favicon.svg",
|
||||
"categories": ["documents", "onenote"],
|
||||
"tags": ["local", "read-only", "one", "onepkg", "cab", "lzx"],
|
||||
"integration": {
|
||||
"contextVersion": 1,
|
||||
"launchModes": ["navigate", "new-tab"],
|
||||
"embedding": "unsupported"
|
||||
},
|
||||
"requirements": {
|
||||
"secureContext": false,
|
||||
"workers": true,
|
||||
"indexedDb": false,
|
||||
"crossOriginIsolated": false
|
||||
},
|
||||
"privacy": {
|
||||
"processing": "local",
|
||||
"fileUploads": false,
|
||||
"telemetry": false,
|
||||
"label": "Local only · no uploads · no storage · no telemetry"
|
||||
},
|
||||
"source": {
|
||||
"repository": "https://git.add-ideas.de/zemion/onenote-tools",
|
||||
"license": "MPL-2.0"
|
||||
}
|
||||
}
|
||||
22
src/toolbox/manifest.test.ts
Normal file
22
src/toolbox/manifest.test.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { parseToolboxApp } from '@add-ideas/toolbox-contract';
|
||||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
import generatedManifest from '../../public/toolbox-app.json';
|
||||
import { toolboxApp } from './manifest.js';
|
||||
|
||||
describe('toolbox manifest', () => {
|
||||
it('matches the generated and validated public manifest', () => {
|
||||
expect(toolboxApp).toEqual(parseToolboxApp(generatedManifest));
|
||||
});
|
||||
|
||||
it('does not advertise unimplemented format support', () => {
|
||||
expect(toolboxApp.description).toContain('not implemented');
|
||||
expect(toolboxApp.privacy).toEqual(
|
||||
expect.objectContaining({
|
||||
processing: 'local',
|
||||
fileUploads: false,
|
||||
telemetry: false,
|
||||
})
|
||||
);
|
||||
});
|
||||
});
|
||||
12
src/toolbox/manifest.ts
Normal file
12
src/toolbox/manifest.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { defineToolboxApp, parseToolboxApp } from '@add-ideas/toolbox-contract';
|
||||
|
||||
import definition from './manifest.definition.json';
|
||||
import { APP_VERSION } from '../version.js';
|
||||
|
||||
export const toolboxApp = defineToolboxApp(
|
||||
parseToolboxApp({
|
||||
schemaVersion: 1,
|
||||
...definition,
|
||||
version: APP_VERSION,
|
||||
})
|
||||
);
|
||||
Reference in New Issue
Block a user