From 591b6e2b726db386a9b1a3c00ba8c4b2b6b6fa5b Mon Sep 17 00:00:00 2001 From: xesrevinu Date: Fri, 28 Nov 2025 14:10:48 +0000 Subject: [PATCH] chore(template): merge template changes :up: Signed-off-by: xesrevinu --- nx.json | 14 ++++------ package.json | 2 +- packages/event-log/project.json | 1 + packages/event-log/src/Bip39Native.ts | 2 +- packages/expo-bip39/package.json | 8 ++---- packages/expo-bip39/project.json | 40 +++++++++++++++++++++++++++ packages/purchase/src/payment.ts | 4 --- packages/purchase/src/provider.ts | 3 ++ scripts/generate-tsconfig/config.ts | 31 ++++++++------------- scripts/generate-tsconfig/sync.ts | 15 ++-------- scripts/generate-tsconfig/types.ts | 16 ++++++++--- 11 files changed, 81 insertions(+), 55 deletions(-) create mode 100644 packages/expo-bip39/project.json create mode 100644 packages/purchase/src/provider.ts diff --git a/nx.json b/nx.json index 69d6c7d..8b81a27 100644 --- a/nx.json +++ b/nx.json @@ -100,14 +100,12 @@ "plugin": "@nx/expo/plugin", "options": { "startTargetName": "start", - "serveTargetName": "serve", - "runIosTargetName": "run-ios", - "runAndroidTargetName": "run-android", - "exportTargetName": "export", - "prebuildTargetName": "prebuild", - "installTargetName": "install", - "buildTargetName": "build", - "submitTargetName": "submit" + "runIosTargetName": "rn:ios", + "runAndroidTargetName": "rn:android", + "prebuildTargetName": "rn:prebuild", + "installTargetName": "rn:install", + "buildTargetName": "rn:build", + "submitTargetName": "rn:submit" } } ], diff --git a/package.json b/package.json index e595441..58519ba 100644 --- a/package.json +++ b/package.json @@ -116,7 +116,7 @@ "expo": "^54.0.25", "expo-asset": "^12.0.10", "expo-audio": "^1.0.15", - "expo-bip39": "workspace:*", + "@xstack/expo-bip39": "workspace:*", "expo-clipboard": "^8.0.7", "expo-constants": "^18.0.10", "expo-crypto": "^15.0.7", diff --git a/packages/event-log/project.json b/packages/event-log/project.json index 0ff182f..3b57a57 100644 --- a/packages/event-log/project.json +++ b/packages/event-log/project.json @@ -23,6 +23,7 @@ }, "typecheck": { "executor": "nx:run-commands", + "dependsOn": ["^build"], "options": { "command": "tsgo -p packages/event-log/tsconfig.check.json" } diff --git a/packages/event-log/src/Bip39Native.ts b/packages/event-log/src/Bip39Native.ts index 2bebfe6..ee1fc2f 100644 --- a/packages/event-log/src/Bip39Native.ts +++ b/packages/event-log/src/Bip39Native.ts @@ -5,7 +5,7 @@ import * as Types from '@xstack/event-log/Types' import type * as Context from 'effect/Context' import * as Effect from 'effect/Effect' import * as Layer from 'effect/Layer' -import ExpoBip39 from 'expo-bip39' +import ExpoBip39 from '@xstack/expo-bip39' export const Bip39Live = Layer.effect( Bip39, diff --git a/packages/expo-bip39/package.json b/packages/expo-bip39/package.json index 64ded14..e4b743f 100644 --- a/packages/expo-bip39/package.json +++ b/packages/expo-bip39/package.json @@ -1,5 +1,5 @@ { - "name": "expo-bip39", + "name": "@xstack/expo-bip39", "type": "module", "version": "0.0.0", "sideEffects": false, @@ -7,9 +7,5 @@ "types": "dist/index.d.ts", "files": [ "./dist" - ], - "scripts": { - "typecheck": "tsgo -p tsconfig.check.json", - "build": "rm -rf dist && tsc --build tsconfig.build.json" - } + ] } diff --git a/packages/expo-bip39/project.json b/packages/expo-bip39/project.json new file mode 100644 index 0000000..30b7fbd --- /dev/null +++ b/packages/expo-bip39/project.json @@ -0,0 +1,40 @@ +{ + "name": "pkgs-expo-bip39", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "packages/expo-bip39/src", + "projectType": "library", + "targets": { + "test": { + "executor": "nx:run-commands", + "outputs": [ + "{workspaceRoot}/node_modules/.vitest/packages/expo-bip39", + "{workspaceRoot}/coverage/packages/expo-bip39" + ], + "options": { + "command": "pnpm xdev test --project pkgs-expo-bip39" + } + }, + "build": { + "executor": "nx:run-commands", + "outputs": ["{projectRoot}/dist"], + "options": { + "command": "tsc --build tsconfig.build.json", + "cwd": "packages/expo-bip39" + } + }, + "madge": { + "executor": "nx:run-commands", + "options": { + "command": "madge --ts-config ./tsconfig.lib.json --circular --no-color --no-spinner --extensions ts,tsx ./src", + "cwd": "packages/expo-bip39" + } + }, + "typecheck": { + "executor": "nx:run-commands", + "options": { + "command": "tsgo -p packages/expo-bip39/tsconfig.check.json" + } + } + }, + "tags": [] +} diff --git a/packages/purchase/src/payment.ts b/packages/purchase/src/payment.ts index 53f46c1..a6eda63 100644 --- a/packages/purchase/src/payment.ts +++ b/packages/purchase/src/payment.ts @@ -8,10 +8,6 @@ import * as Layer from 'effect/Layer' export * from '@xstack/purchase/payment/type' -export { Paddle } from '@xstack/purchase/payment/paddle' - -export { Stripe } from '@xstack/purchase/payment/stripe' - export class Payment extends Context.Tag('@purchase:payment')< Payment, { diff --git a/packages/purchase/src/provider.ts b/packages/purchase/src/provider.ts new file mode 100644 index 0000000..27cbbd8 --- /dev/null +++ b/packages/purchase/src/provider.ts @@ -0,0 +1,3 @@ +export { Paddle } from '@xstack/purchase/payment/paddle' + +export { Stripe } from '@xstack/purchase/payment/stripe' diff --git a/scripts/generate-tsconfig/config.ts b/scripts/generate-tsconfig/config.ts index d74144b..1e1c808 100644 --- a/scripts/generate-tsconfig/config.ts +++ b/scripts/generate-tsconfig/config.ts @@ -314,13 +314,7 @@ export function buildProjectBaseTsconfig({ return config } -export function generatePackageLibraryConfigs({ - item, - overrides, -}: { - item: ProjectItemDeclaration - overrides: Record -}) { +export function generatePackageLibraryConfigs({ item }: { item: ProjectItemDeclaration }) { const extendsPath = getExtendsPath(item) const mainConfig = { @@ -330,6 +324,8 @@ export function generatePackageLibraryConfigs({ files: [], } + const overrides = item.options?.projectOverrides ?? {} + const main = mergeConfigs(mainConfig, overrides.main || {}) const lib = mergeConfigs(DefaultTsLibConfig, overrides.lib || {}) const test = mergeConfigs(DefaultTsTestConfig, overrides.test || {}) @@ -347,13 +343,7 @@ export function generatePackageLibraryConfigs({ } } -export function generateAppLibraryConfigs({ - item, - overrides, -}: { - item: ProjectItemDeclaration - overrides: Record -}) { +export function generateAppLibraryConfigs({ item }: { item: ProjectItemDeclaration }) { const extendsPath = getExtendsPath(item) const mainConfig = { @@ -362,6 +352,9 @@ export function generateAppLibraryConfigs({ include: [], files: [], } + + const overrides = item.options?.projectOverrides ?? {} + const main = mergeConfigs(mainConfig, overrides.main || {}) const app = mergeConfigs(DefaultTsAppConfig, overrides.app || {}) const test = mergeConfigs(DefaultTsTestConfig, overrides.test || {}) @@ -371,11 +364,9 @@ export function generateAppLibraryConfigs({ export function generateAppConfigs({ item, - overrides, allItems, }: { item: ProjectItemDeclaration - overrides: Record allItems: ProjectItemDeclaration[] }) { const extendsPath = getExtendsPath(item) @@ -386,6 +377,9 @@ export function generateAppConfigs({ include: [], files: [], } + + const overrides = item.options?.projectOverrides ?? {} + const main = mergeConfigs(mainConfig, overrides.main || {}) const app = mergeConfigs(DefaultTsAppConfig, overrides.app || {}) const test = mergeConfigs(DefaultTsTestConfig, overrides.test || {}) @@ -418,17 +412,16 @@ export function getProjectTsconfig(baseConfig: any, projects: ProjectDefinition[ const obj = { base } if (target.options?.isPackage) { - const configs = generatePackageLibraryConfigs({ item: target.item, overrides: {} }) + const configs = generatePackageLibraryConfigs({ item: target.item }) Object.assign(obj, configs) } else { if (target.kind === 'library') { - const configs = generateAppLibraryConfigs({ item: target.item, overrides: {} }) + const configs = generateAppLibraryConfigs({ item: target.item }) Object.assign(obj, configs) } else { const configs = generateAppConfigs({ item: target.item, allItems: target.definition.items, - overrides: target.definition.projectOverrides ?? {}, }) Object.assign(obj, configs) } diff --git a/scripts/generate-tsconfig/sync.ts b/scripts/generate-tsconfig/sync.ts index e7dbee6..85e98cb 100755 --- a/scripts/generate-tsconfig/sync.ts +++ b/scripts/generate-tsconfig/sync.ts @@ -42,18 +42,16 @@ async function writeLibraryConfigs({ projectRoot, item, dryRun, - overrides, }: { projectRoot: string item: ProjectItemDeclaration dryRun: boolean - overrides: Record }) { const itemPath = path.join(projectRoot, item.name) const isPackage = item.options?.isPackage ?? false if (isPackage) { - const configs = generatePackageLibraryConfigs({ item, overrides }) + const configs = generatePackageLibraryConfigs({ item }) await generateTsConfigFile({ filePath: path.join(itemPath, 'tsconfig.json'), @@ -82,7 +80,7 @@ async function writeLibraryConfigs({ return } - const configs = generateAppLibraryConfigs({ item, overrides }) + const configs = generateAppLibraryConfigs({ item }) await generateTsConfigFile({ filePath: path.join(itemPath, 'tsconfig.json'), @@ -107,17 +105,15 @@ async function writeApplicationConfigs({ projectRoot, item, dryRun, - overrides, allItems, }: { projectRoot: string item: ProjectItemDeclaration dryRun: boolean - overrides: Record allItems: ProjectItemDeclaration[] }) { const itemPath = path.join(projectRoot, item.name) - const configs = generateAppConfigs({ item, allItems, overrides }) + const configs = generateAppConfigs({ item, allItems }) await generateTsConfigFile({ filePath: path.join(itemPath, 'tsconfig.json'), @@ -175,8 +171,6 @@ async function main() { }) for (const definition of PROJECT_DEFINITIONS) { - const projectOverrides = definition.projectOverrides ?? {} - // 生成项目级别的 base config console.log(`\n🏗️ Generating configs for project: ${definition.projectName}`) console.log('='.repeat(80)) @@ -184,20 +178,17 @@ async function main() { const projectRoot = path.join(workspaceRoot, definition.projectName) for (const item of definition.items) { - const overrides = projectOverrides[item.name] ?? {} if (item.kind === 'library') { await writeLibraryConfigs({ projectRoot, item, dryRun, - overrides, }) } else { await writeApplicationConfigs({ projectRoot, item, dryRun, - overrides, allItems: definition.items, }) } diff --git a/scripts/generate-tsconfig/types.ts b/scripts/generate-tsconfig/types.ts index 21ee31e..fb26f1c 100644 --- a/scripts/generate-tsconfig/types.ts +++ b/scripts/generate-tsconfig/types.ts @@ -14,12 +14,21 @@ export interface ProjectItemOptions { checkIncludes?: string[] | undefined checkExcludes?: string[] | undefined isPackage?: boolean | undefined + projectOverrides?: + | { + main?: any + app?: any + lib?: any + test?: any + check?: any + } + | undefined } export interface ProjectItemDeclaration { name: string kind: ProjectItemKind - options?: ProjectItemOptions | undefined + options?: ProjectItemOptions | undefined | undefined } export interface ProjectAliasOptions { @@ -36,7 +45,6 @@ export interface ProjectBaseTarget { export interface ProjectDefinition { projectName: string items: ProjectItemDeclaration[] - projectOverrides?: Record baseTargets?: ProjectBaseTarget[] | undefined } @@ -50,13 +58,13 @@ export const LEVEL1_BASE_PATH = '../tsconfig.base.json' export const LEVEL2_BASE_PATH = '../../tsconfig.base.json' export const LEVEL3_BASE_PATH = '../../../tsconfig.base.json' -export const tsLib = (name: string, options?: ProjectItemOptions): ProjectItemDeclaration => ({ +export const tsLib = (name: string, options?: ProjectItemOptions | undefined): ProjectItemDeclaration => ({ kind: 'library', name, options, }) -export const tsApp = (name: string, options?: ProjectItemOptions): ProjectItemDeclaration => ({ +export const tsApp = (name: string, options?: ProjectItemOptions | undefined): ProjectItemDeclaration => ({ kind: 'application', name, options,