- Add Activepieces fork with SmoothSchedule custom piece - Create integrations app with Activepieces service layer - Add embed token endpoint for iframe integration - Create Automations page with embedded workflow builder - Add sidebar visibility fix for embed mode - Add list inactive customers endpoint to Public API - Include SmoothSchedule triggers: event created/updated/cancelled - Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
56 lines
1.5 KiB
TypeScript
56 lines
1.5 KiB
TypeScript
import { readFile, writeFile } from 'node:fs/promises'
|
|
|
|
export type PackageJson = {
|
|
name: string
|
|
version: string
|
|
keywords: string[]
|
|
}
|
|
|
|
export type ProjectJson = {
|
|
name: string
|
|
targets?: {
|
|
build?: {
|
|
options?: {
|
|
buildableProjectDepsInPackageJsonType?: 'peerDependencies' | 'dependencies'
|
|
updateBuildableProjectDepsInPackageJson: boolean
|
|
}
|
|
},
|
|
lint: {
|
|
options: {
|
|
lintFilePatterns: string[]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
const readJsonFile = async <T> (path: string): Promise<T> => {
|
|
const jsonFile = await readFile(path, { encoding: 'utf-8' })
|
|
return JSON.parse(jsonFile) as T
|
|
}
|
|
|
|
const writeJsonFile = async (path: string, data: unknown): Promise<void> => {
|
|
const serializedData = JSON.stringify(data, null, 2)
|
|
await writeFile(path, serializedData, { encoding: 'utf-8' })
|
|
}
|
|
|
|
export const readPackageJson = async (path: string): Promise<PackageJson> => {
|
|
return await readJsonFile(`${path}/package.json`)
|
|
}
|
|
|
|
export const readProjectJson = async (path: string): Promise<ProjectJson> => {
|
|
return await readJsonFile(`${path}/project.json`)
|
|
}
|
|
|
|
export const readPackageEslint = async (path: string): Promise<any> => {
|
|
return await readJsonFile(`${path}/.eslintrc.json`)
|
|
}
|
|
|
|
export const writePackageEslint = async (path: string, eslint: any): Promise<void> => {
|
|
return await writeJsonFile(`${path}/.eslintrc.json`, eslint)
|
|
}
|
|
|
|
export const writeProjectJson = async (path: string, projectJson: ProjectJson): Promise<void> => {
|
|
return await writeJsonFile(`${path}/project.json`, projectJson)
|
|
}
|