Add placeholder scaffolding for ui-shared and cashu packages

- ui-shared: Add Vite library config and minimal entry point
- cashu: Add TypeScript config and minimal entry point

These packages are placeholders that will be implemented as needed.
The scaffolding allows the monorepo build to complete.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Patrick Mulligan 2026-01-23 05:58:07 -05:00
commit 2fab50bdfc
5 changed files with 100 additions and 0 deletions

View file

@ -0,0 +1,21 @@
/**
* @lamassu/cashu
*
* Cashu ecash integration for offline ATM operation.
*
* Cashu provides:
* - Offline payment acceptance (ecash tokens)
* - Privacy-preserving transactions
* - Fallback when Lightning is unavailable
*
* This package will implement:
* - Token minting and verification
* - Token redemption
* - Mint management
*/
// Placeholder export - implementation will be added as needed
export const version = '0.1.0'
// Re-export cashu-ts types for convenience when implemented
// export * from '@cashu/cashu-ts'

View file

@ -0,0 +1,22 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"strictNullChecks": true,
"noUncheckedIndexedAccess": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"isolatedModules": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist", "**/*.test.ts"]
}

View file

@ -0,0 +1,13 @@
/**
* @lamassu/ui-shared
*
* Shared Vue 3 components for Lamassu ATM and dashboard.
* This package will contain common UI components like:
* - QR code display
* - Number pad
* - Amount display
* - Status indicators
*/
// Placeholder export - components will be added as needed
export const version = '0.1.0'

View file

@ -0,0 +1,22 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "bundler",
"declaration": true,
"declarationMap": true,
"sourceMap": true,
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"strictNullChecks": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve"
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}

View file

@ -0,0 +1,22 @@
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
export default defineConfig({
plugins: [vue()],
build: {
lib: {
entry: resolve(__dirname, 'src/index.ts'),
name: 'LamassuUIShared',
fileName: 'index',
},
rollupOptions: {
external: ['vue'],
output: {
globals: {
vue: 'Vue',
},
},
},
},
})