Skip to content

Commit 0228f9b

Browse files
authored
重複コードを整理 (#109)
1 parent 7a1cefb commit 0228f9b

61 files changed

Lines changed: 5976 additions & 9536 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/dependabot.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ updates:
1414
- package-ecosystem: npm
1515
directories:
1616
- '/'
17+
- '/common/core/'
18+
- '/common/backend/'
1719
- '/agents/agent-mastra/'
1820
- '/agents/agent-voltagent/'
1921
- '/basic/cdk/'

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ jobs:
3636
3737
- uses: oven-sh/setup-bun@v2
3838

39-
- name: lint
40-
run: bun run lint
41-
4239
- name: build
4340
run: bun run build
4441

42+
- name: lint
43+
run: bun run lint
44+
4545
lint-build-mastra:
4646
strategy:
4747
matrix:

agents/agent-voltagent/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"zod": "3.24.2"
2424
},
2525
"devDependencies": {
26-
"@types/node": "^22.17.1",
26+
"@types/node": "^22.17.2",
2727
"tsx": "^4.20.4",
2828
"typescript": "^5.9.2"
2929
}

basic/app/eslint.config.js

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,35 +34,27 @@ export default tseslint.config(
3434
...tseslint.configs.strict,
3535
...tseslint.configs.stylistic,
3636
pluginPromise.configs['flat/recommended'],
37-
importPlugin.flatConfigs.recommended,
38-
importPlugin.flatConfigs.typescript,
3937
{
4038
files: ['src/**/*.{ts,tsx}'],
4139
languageOptions: {
4240
parser: tseslint.parser,
4341
ecmaVersion: 'latest',
4442
sourceType: 'module',
43+
parserOptions: {
44+
projectService: true,
45+
tsconfigRootDir: __dirname,
46+
},
4547
},
4648
plugins: {
4749
'@stylistic': stylistic,
4850
'@stylistic/ts': stylistic,
4951
'@stylistic/jsx': stylistic,
5052
solid,
5153
},
52-
settings: {
53-
'import/parsers': {
54-
espree: ['.js', '.cjs', '.mjs'],
55-
'@typescript-eslint/parser': ['.ts'],
56-
},
57-
'import/internal-regex': '^~/',
58-
'import/resolver': {
59-
node: true,
60-
typescript: true,
61-
},
62-
},
54+
extends: [importPlugin.flatConfigs.recommended, importPlugin.flatConfigs.typescript],
6355
rules: {
6456
'@stylistic/semi': ['error', 'always'],
65-
// '@stylistic/indent': ['error', 2],
57+
'@stylistic/indent': ['error', 2],
6658
'@stylistic/comma-dangle': ['error', 'always-multiline'],
6759
'@stylistic/quotes': ['error', 'single'],
6860
}

basic/app/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@
2020
"@eslint/compat": "^1.3.2",
2121
"@eslint/eslintrc": "^3.3.1",
2222
"@eslint/js": "^9.33.0",
23+
"@llm-ts-example/common-core": "workspace:*",
2324
"@solidjs/router": "^0.15.3",
2425
"@stylistic/eslint-plugin": "^5.2.3",
2526
"@types/crypto-js": "^4.2.2",
26-
"@types/node": "^22.17.1",
27+
"@types/node": "^22.17.2",
2728
"@types/uuid": "^10.0.0",
2829
"crypto-js": "^4.2.0",
2930
"eslint": "^9.33.0",

basic/app/src/App.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import './App.css';
22
import { v7 as uuidv7 } from 'uuid';
33
import { Chat } from './features/chat/components/Chat';
4-
import { models } from './constants';
4+
import { models } from '@llm-ts-example/common-core';
55

66
function App() {
77
const sessionId = uuidv7();

basic/app/vite.config.ts

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,34 @@
1-
/// <reference types="vitest" />
21
/// <reference types="vite/client" />
32

43
import { defineConfig } from 'vite';
54
import solidPlugin from 'vite-plugin-solid';
5+
import { resolve } from 'path';
66

77
export default defineConfig({
8-
plugins: [
9-
solidPlugin(),
10-
],
11-
build: {
12-
target: 'esnext',
13-
},
8+
plugins: [solidPlugin()],
149
resolve: {
1510
conditions: ['development', 'browser'],
11+
12+
// モノレポ用の共通設定
13+
alias: {
14+
// パッケージ間の直接参照
15+
'@llm-ts-example/common-core': resolve(__dirname, '../../common/core/src'),
16+
'@llm-ts-example/common-backend': resolve(__dirname, '../../common/backend/src')
17+
}
18+
},
19+
server: {
20+
fs: {
21+
// モノレポ内のファイルアクセスを許可
22+
allow: ['..']
23+
}
24+
},
25+
build: {
26+
target: 'esnext',
27+
rollupOptions: {
28+
// ESModuleとして出力
29+
output: {
30+
format: 'es'
31+
}
32+
}
1633
},
1734
});

basic/cdk/cdk.context.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"cli-telemetry": false,
3+
"acknowledged-issue-numbers": [
4+
34892
5+
]
6+
}

basic/cdk/eslint.config.js

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,25 +31,22 @@ const config = tseslint.config(
3131
eslint.configs.recommended,
3232
...tseslint.configs.strict,
3333
...tseslint.configs.stylistic,
34-
eslintImport.flatConfigs.recommended,
35-
eslintImport.flatConfigs.typescript,
3634
{
3735
files: ['{bin,lib,lambda}/**/*.{ts,tsx}'],
36+
languageOptions: {
37+
parser: tseslint.parser,
38+
ecmaVersion: 'latest',
39+
sourceType: 'module',
40+
parserOptions: {
41+
projectService: true,
42+
tsconfigRootDir: __dirname,
43+
},
44+
},
3845
plugins: {
3946
'@stylistic': stylistic,
4047
'@stylistic/ts': stylistic,
4148
},
42-
settings: {
43-
'import/internal-regex': '^~/',
44-
'import/resolver': {
45-
node: {
46-
extensions: ['.ts', '.tsx'],
47-
},
48-
typescript: {
49-
alwaysTryTypes: true,
50-
},
51-
},
52-
},
49+
extends: [eslintImport.flatConfigs.recommended, eslintImport.flatConfigs.typescript],
5350
rules: {
5451
'@stylistic/semi': ['error', 'always'],
5552
'@stylistic/indent': ['error', 2],

basic/cdk/lambda/handler.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
'use strict';
2-
31
import { ChatPromptTemplate } from '@langchain/core/prompts';
42
import { StringOutputParser } from '@langchain/core/output_parsers';
53
import { CallbackHandler } from 'langfuse-langchain';
6-
import { selectLlm } from './llm';
7-
import { logger } from './logger';
4+
5+
import { selectLlm, logger } from '@llm-ts-example/common-backend';
86

97
export async function handle(
108
sessionId: string,

0 commit comments

Comments
 (0)