Added extension functionality

This commit is contained in:
Emil
2026-02-21 11:39:45 +01:00
parent 2f83f232c6
commit 026497ed75
132 changed files with 3533 additions and 60 deletions
+36
View File
@@ -0,0 +1,36 @@
import { cpSync, rmSync, existsSync } from 'fs'
import { join } from 'path'
const root = process.cwd()
const extensions = ['receipt-ocr', 'ai-categorization', 'ai-chat', 'push-notifications', 'enable-banking', 'example-logger']
for (const ext of extensions) {
const src = join(root, 'extensions', ext)
const dest = join(root, 'extensions', 'general', ext)
if (!existsSync(src)) {
console.log(`SKIP: ${src} does not exist`)
continue
}
if (existsSync(dest)) {
console.log(`CLEAN: ${dest} already exists, removing`)
rmSync(dest, { recursive: true, force: true })
}
console.log(`COPY: ${src} -> ${dest}`)
cpSync(src, dest, { recursive: true })
}
console.log('Done copying extensions to general/')
// Now remove the old directories
for (const ext of extensions) {
const src = join(root, 'extensions', ext)
if (existsSync(src)) {
console.log(`REMOVE: ${src}`)
rmSync(src, { recursive: true, force: true })
}
}
console.log('Done removing old extension directories')
+33
View File
@@ -0,0 +1,33 @@
const fs = require('fs');
const path = require('path');
const root = path.resolve(__dirname, '..');
const extsDir = path.join(root, 'extensions');
const generalDir = path.join(extsDir, 'general');
const dirs = [
'receipt-ocr',
'ai-categorization',
'ai-chat',
'push-notifications',
'enable-banking',
'example-logger',
];
if (!fs.existsSync(generalDir)) {
fs.mkdirSync(generalDir, { recursive: true });
}
for (const ext of dirs) {
const src = path.join(extsDir, ext);
const dest = path.join(generalDir, ext);
if (fs.existsSync(src)) {
fs.cpSync(src, dest, { recursive: true });
fs.rmSync(src, { recursive: true, force: true });
console.log('Done: ' + ext);
} else {
console.log('Skip: ' + ext);
}
}
console.log('All done.');
+1
View File
@@ -0,0 +1 @@
const fs=require('fs'),p=require('path'),r=p.resolve(__dirname,'..'),b=p.join(r,'extensions'),t=p.join(b,'general'),d=['receipt-ocr','ai-categorization','ai-chat','push-notifications','enable-banking','example-logger'];fs.mkdirSync(t,{recursive:!0});d.forEach(n=>{const s=p.join(b,n),e=p.join(t,n);fs.existsSync(s)?(fs.cpSync(s,e,{recursive:!0}),fs.rmSync(s,{recursive:!0,force:!0}),console.log(n)):console.log('!'+n)});