@jakubmazanec/carson-templates 2.3.0-unstable.71d8a69 → 2.3.0-unstable.75f6b2e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/templates/projects/remix-app/tsconfig.json.ejs +2 -1
- package/templates/projects/remix-app/tsconfig.typecheck.json.ejs +14 -7
- package/templates/workspace/.github/workflows/check-pull-request.yaml.ejs +69 -16
- package/templates/workspace/.github/workflows/release-pull-request.yaml.ejs +34 -17
- package/templates/workspace/turbo.json.ejs +2 -0
package/package.json
CHANGED
|
@@ -12,8 +12,9 @@ let tsconfig = lodash.merge(
|
|
|
12
12
|
noEmit: true,
|
|
13
13
|
resolveJsonModule: true,
|
|
14
14
|
rootDir: '.',
|
|
15
|
+
exactOptionalPropertyTypes: project.config.deployment?.dbInstance ? false : true, // TODO: when EdgeDB client supports `exactOptionalPropertyTypes: true`, remove this line
|
|
15
16
|
},
|
|
16
|
-
include: ['./
|
|
17
|
+
include: project.config.deployment?.dbInstance ? ['./app/**/*', './dbschema/**/*', './*'] : ['./app/**/*', './*'],
|
|
17
18
|
references: getReferences(workspace, project),
|
|
18
19
|
},
|
|
19
20
|
project.config.overrides?.tsconfig ?? {},
|
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
to: 'tsconfig.typecheck.json'
|
|
3
3
|
strategy: overwrite
|
|
4
4
|
---
|
|
5
|
+
<%
|
|
6
|
+
let tsconfig = lodash.merge(
|
|
7
|
+
{
|
|
8
|
+
extends: './tsconfig.json',
|
|
9
|
+
compilerOptions: {
|
|
10
|
+
composite: false,
|
|
11
|
+
},
|
|
12
|
+
include: project.config.deployment?.dbInstance ? ['./app/**/*', './dbschema/**/*', './tests/**/*', './*'] : ['./app/**/*', './tests/**/*', './*'],
|
|
13
|
+
references: getReferences(workspace, project),
|
|
14
|
+
},
|
|
15
|
+
project.config.overrides?.tsconfig ?? {},
|
|
16
|
+
);
|
|
17
|
+
-%>
|
|
5
18
|
//
|
|
6
19
|
// DO NOT EDIT!
|
|
7
20
|
// This file was autogenerated by Carson.
|
|
@@ -10,10 +23,4 @@ strategy: overwrite
|
|
|
10
23
|
// Run `npx carson update workspace` to regenerate.
|
|
11
24
|
//
|
|
12
25
|
|
|
13
|
-
|
|
14
|
-
"extends": "./tsconfig.json",
|
|
15
|
-
"compilerOptions": {
|
|
16
|
-
"composite": false
|
|
17
|
-
},
|
|
18
|
-
"include": ["./app/**/*", "./tests/**/*", "./*"]
|
|
19
|
-
}
|
|
26
|
+
<%- JSON.stringify(tsconfig, null, 2) %>
|
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
to: '.github/workflows/check-pull-request.yaml'
|
|
3
3
|
strategy: overwrite
|
|
4
4
|
---
|
|
5
|
+
<%
|
|
6
|
+
let appsWithDb = [];
|
|
7
|
+
|
|
8
|
+
for (let project of workspace.projects) {
|
|
9
|
+
if (project.config.deployment?.dbInstance) {
|
|
10
|
+
appsWithDb.push(project.name);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
let appsWithDbFilter = appsWithDb.map((name) => `--filter=!${name}`).join(' ');
|
|
15
|
+
|
|
16
|
+
if (appsWithDbFilter) {
|
|
17
|
+
appsWithDbFilter = `-- ${appsWithDbFilter}`;
|
|
18
|
+
}
|
|
19
|
+
-%>
|
|
5
20
|
#
|
|
6
21
|
# DO NOT EDIT!
|
|
7
22
|
# This file was autogenerated by Carson.
|
|
@@ -54,21 +69,6 @@ if (workspace.projects.some((project) => project.config.deployment?.dbInstance))
|
|
|
54
69
|
server-version: none
|
|
55
70
|
<%
|
|
56
71
|
}
|
|
57
|
-
|
|
58
|
-
for (let project of workspace.projects) {
|
|
59
|
-
if (project.config.deployment?.dbInstance) {
|
|
60
|
-
-%>
|
|
61
|
-
|
|
62
|
-
- name: Authenticate EdgeDB Cloud
|
|
63
|
-
env:
|
|
64
|
-
EDGEDB_INSTANCE: <%- project.config.deployment.dbInstance %>
|
|
65
|
-
EDGEDB_BRANCH: ${{ github.head_ref }}
|
|
66
|
-
EDGEDB_SECRET_KEY: ${{ secrets.<%- lodash.snakeCase(project.config.deployment.dbInstance.split('/')[1] ?? '').toUpperCase() %>_EDGEDB_TOKEN }}
|
|
67
|
-
run: |
|
|
68
|
-
edgedb project init --link --server-instance <%- project.config.deployment.dbInstance %> --project-dir <%- project.relativePath %> --non-interactive
|
|
69
|
-
<%
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
72
|
-%>
|
|
73
73
|
|
|
74
74
|
- name: Install packages
|
|
@@ -88,8 +88,61 @@ for (let project of workspace.projects) {
|
|
|
88
88
|
|
|
89
89
|
git config --unset core.filemode
|
|
90
90
|
|
|
91
|
+
<%
|
|
92
|
+
for (let project of workspace.projects) {
|
|
93
|
+
if (project.config.deployment?.dbInstance) {
|
|
94
|
+
-%>
|
|
95
|
+
|
|
96
|
+
- name: DEBUG - Run only codegen, directly
|
|
97
|
+
env:
|
|
98
|
+
EDGEDB_INSTANCE: <%- project.config.deployment.dbInstance %>
|
|
99
|
+
EDGEDB_BRANCH: ${{ github.head_ref }}
|
|
100
|
+
EDGEDB_SECRET_KEY: ${{ secrets.<%- lodash.snakeCase(project.config.deployment.dbInstance.split('/')[1] ?? '').toUpperCase() %>_EDGEDB_TOKEN }}
|
|
101
|
+
run: |
|
|
102
|
+
npm run codegen --workspace <%- project.name %>
|
|
103
|
+
|
|
104
|
+
<%
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
-%>
|
|
108
|
+
|
|
109
|
+
<%
|
|
110
|
+
for (let project of workspace.projects) {
|
|
111
|
+
if (project.config.deployment?.dbInstance) {
|
|
112
|
+
-%>
|
|
113
|
+
|
|
114
|
+
- name: DEBUG - Run only codegen, via Turborepo
|
|
115
|
+
env:
|
|
116
|
+
EDGEDB_INSTANCE: <%- project.config.deployment.dbInstance %>
|
|
117
|
+
EDGEDB_BRANCH: ${{ github.head_ref }}
|
|
118
|
+
EDGEDB_SECRET_KEY: ${{ secrets.<%- lodash.snakeCase(project.config.deployment.dbInstance.split('/')[1] ?? '').toUpperCase() %>_EDGEDB_TOKEN }}
|
|
119
|
+
run: |
|
|
120
|
+
npx turbo run codegen --filter=<%- project.name %> -vv
|
|
121
|
+
|
|
122
|
+
<%
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
-%>
|
|
126
|
+
|
|
127
|
+
- name: Run tests
|
|
128
|
+
run: npm test <%- appsWithDbFilter %>
|
|
129
|
+
|
|
130
|
+
<%
|
|
131
|
+
for (let project of workspace.projects) {
|
|
132
|
+
if (project.config.deployment?.dbInstance) {
|
|
133
|
+
-%>
|
|
134
|
+
|
|
91
135
|
- name: Run tests
|
|
92
|
-
|
|
136
|
+
env:
|
|
137
|
+
EDGEDB_INSTANCE: <%- project.config.deployment.dbInstance %>
|
|
138
|
+
EDGEDB_BRANCH: ${{ github.head_ref }}
|
|
139
|
+
EDGEDB_SECRET_KEY: ${{ secrets.<%- lodash.snakeCase(project.config.deployment.dbInstance.split('/')[1] ?? '').toUpperCase() %>_EDGEDB_TOKEN }}
|
|
140
|
+
run: |
|
|
141
|
+
npm run test -- --filter=<%- project.name %> -vv
|
|
142
|
+
<%
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
-%>
|
|
93
146
|
|
|
94
147
|
- name: Check for changes
|
|
95
148
|
run: |
|
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
to: '.github/workflows/release-pull-request.yaml'
|
|
3
3
|
strategy: overwrite
|
|
4
4
|
---
|
|
5
|
+
<%
|
|
6
|
+
let appsWithDb = [];
|
|
7
|
+
|
|
8
|
+
for (let project of workspace.projects) {
|
|
9
|
+
if (project.config.deployment?.dbInstance) {
|
|
10
|
+
appsWithDb.push(project.name);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
let appsWithDbFilter = appsWithDb.map((name) => `--filter=!${name}`).join(' ');
|
|
15
|
+
|
|
16
|
+
if (appsWithDbFilter) {
|
|
17
|
+
appsWithDbFilter = `-- ${appsWithDbFilter}`;
|
|
18
|
+
}
|
|
19
|
+
-%>
|
|
5
20
|
#
|
|
6
21
|
# DO NOT EDIT!
|
|
7
22
|
# This file was autogenerated by Carson.
|
|
@@ -25,7 +40,7 @@ jobs:
|
|
|
25
40
|
release_pull_request:
|
|
26
41
|
name: Release pull request
|
|
27
42
|
if: ${{ github.actor != 'renovate[bot]' }}
|
|
28
|
-
runs-on:
|
|
43
|
+
runs-on: macos-13
|
|
29
44
|
timeout-minutes: 15
|
|
30
45
|
permissions:
|
|
31
46
|
contents: read
|
|
@@ -55,21 +70,6 @@ if (workspace.projects.some((project) => project.config.deployment?.dbInstance))
|
|
|
55
70
|
server-version: none
|
|
56
71
|
<%
|
|
57
72
|
}
|
|
58
|
-
|
|
59
|
-
for (let project of workspace.projects) {
|
|
60
|
-
if (project.config.deployment?.dbInstance) {
|
|
61
|
-
-%>
|
|
62
|
-
|
|
63
|
-
- name: Authenticate EdgeDB Cloud
|
|
64
|
-
env:
|
|
65
|
-
EDGEDB_INSTANCE: <%- project.config.deployment.dbInstance %>
|
|
66
|
-
EDGEDB_BRANCH: ${{ github.head_ref }}
|
|
67
|
-
EDGEDB_SECRET_KEY: ${{ secrets.<%- lodash.snakeCase(project.config.deployment.dbInstance.split('/')[1] ?? '').toUpperCase() %>_EDGEDB_TOKEN }}
|
|
68
|
-
run: |
|
|
69
|
-
edgedb project init --link --server-instance <%- project.config.deployment.dbInstance %> --project-dir <%- project.relativePath %>--non-interactive
|
|
70
|
-
<%
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
73
|
-%>
|
|
74
74
|
|
|
75
75
|
- name: Install packages
|
|
@@ -90,7 +90,24 @@ for (let project of workspace.projects) {
|
|
|
90
90
|
git config --unset core.filemode
|
|
91
91
|
|
|
92
92
|
- name: Run tests
|
|
93
|
-
run: npm test
|
|
93
|
+
run: npm test <%- appsWithDbFilter %>
|
|
94
|
+
|
|
95
|
+
<%
|
|
96
|
+
for (let project of workspace.projects) {
|
|
97
|
+
if (project.config.deployment?.dbInstance) {
|
|
98
|
+
-%>
|
|
99
|
+
|
|
100
|
+
- name: Run tests
|
|
101
|
+
env:
|
|
102
|
+
EDGEDB_INSTANCE: <%- project.config.deployment.dbInstance %>
|
|
103
|
+
EDGEDB_BRANCH: ${{ github.head_ref }}
|
|
104
|
+
EDGEDB_SECRET_KEY: ${{ secrets.<%- lodash.snakeCase(project.config.deployment.dbInstance.split('/')[1] ?? '').toUpperCase() %>_EDGEDB_TOKEN }}
|
|
105
|
+
run: |
|
|
106
|
+
npm run test -- --filter=<%- project.name %> -vv --force --no-cache
|
|
107
|
+
<%
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
-%>
|
|
94
111
|
|
|
95
112
|
- name: Check for changes
|
|
96
113
|
run: |
|
|
@@ -41,6 +41,7 @@ let turboConfig = {
|
|
|
41
41
|
outputs: [],
|
|
42
42
|
},
|
|
43
43
|
},
|
|
44
|
+
globalEnv: workspace.projects.some((project) => project.config.deployment?.dbInstance) ? ['EDGEDB_INSTANCE', 'EDGEDB_BRANCH', 'EDGEDB_SECRET_KEY'] : [],
|
|
44
45
|
globalDependencies: [
|
|
45
46
|
'.editorconfig',
|
|
46
47
|
'.eslintrc.cjs',
|
|
@@ -49,6 +50,7 @@ let turboConfig = {
|
|
|
49
50
|
'tsconfig.json',
|
|
50
51
|
'tsconfig.typecheck.json',
|
|
51
52
|
],
|
|
53
|
+
|
|
52
54
|
};
|
|
53
55
|
|
|
54
56
|
if (workspace.projects.find((project) => project.name === LINTER_CONFIG_PACKAGE_NAME)) {
|