-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.projenrc.ts
More file actions
91 lines (88 loc) · 2.59 KB
/
.projenrc.ts
File metadata and controls
91 lines (88 loc) · 2.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import { javascript, typescript } from 'projen';
import {
TypeScriptJsxMode,
TypeScriptModuleDetection,
TypeScriptModuleResolution,
YarnChecksumBehavior,
YarnNodeLinker,
} from 'projen/lib/javascript/index.js';
const project = new typescript.TypeScriptAppProject({
defaultReleaseBranch: 'main',
name: 'Unleaded',
authorName: 'Roman Naumenko',
authorUrl: 'https://github.com/OperationalFallacy/Unleaded',
packageManager: javascript.NodePackageManager.YARN_BERRY,
projenrcTs: true,
github: false,
repository: 'https://github.com/OperationalFallacy/Unleaded',
yarnBerryOptions: {
version: '4.10.3',
zeroInstalls: false,
yarnRcOptions: {
checksumBehavior: YarnChecksumBehavior.UPDATE,
enableImmutableInstalls: false,
nodeLinker: YarnNodeLinker.NODE_MODULES,
},
},
tsconfig: {
compilerOptions: {
// https://www.effect.solutions/tsconfig
incremental: true,
moduleDetection: TypeScriptModuleDetection.FORCE,
verbatimModuleSyntax: true,
strict: true,
noUnusedLocals: true,
noImplicitOverride: true,
declaration: false,
noImplicitReturns: true,
experimentalDecorators: false,
target: 'ESNext',
lib: ['dom', 'dom.iterable', 'esnext'],
allowJs: true,
skipLibCheck: true,
forceConsistentCasingInFileNames: true,
noEmit: false,
esModuleInterop: true,
module: 'esnext',
moduleResolution: TypeScriptModuleResolution.BUNDLER,
resolveJsonModule: true,
isolatedModules: true,
jsx: TypeScriptJsxMode.REACT_JSX,
paths: {
'@/*': ['./src/*'],
'@/backend/*': ['../backend/amplify/*'],
},
rootDir: '.',
outDir: 'lib',
// incremental: true // didn't work?!
},
exclude: ['check-files.ts'],
include: ['next-env.d.ts', 'src/**/*.tsx', 'src/**/*.ts', 'main.tsx'],
},
gitignore: ['cache', 'lib'],
deps: [
'@effect-atom/atom@^0.4.11',
'@effect/cli@^0.73.0',
'@effect/cluster@^0.56.0',
'@effect/experimental@^0.58.0',
'@effect/language-service@^0.62.5',
'@effect/platform@^0.94.0',
'@effect/platform-node@^0.104.0',
'@effect/printer@^0.47.0',
'@effect/printer-ansi@^0.47.0',
'@effect/rpc@^0.73.0',
'@effect/sql@^0.49.0',
'@effect/typeclass@^0.38.0',
'@effect/workflow@^0.16.0',
'@effect-atom/atom-react@^0.4.4',
'cli-table3@^0.6.5',
'date-fns@^4.1.0',
'effect@^3.19.13',
'ink@^6.6.0',
'ink-select-input@^5.0.0',
'react@^19.2.3',
],
devDeps: ['@types/react@^19.0.0'],
});
project.package.addField('type', 'module');
project.synth();