Skip to content

Commit dba3868

Browse files
committed
Merge branch 'fix/enhance-error-apollo-suspense' of github.com:dac09/redwood into fix/enhance-error-apollo-suspense
* 'fix/enhance-error-apollo-suspense' of github.com:dac09/redwood: (92 commits) chore(deps): update dependency @types/yargs to v17.0.32 (redwoodjs#9759) Make it easier to find useMatch docs (redwoodjs#9756) chore(unit tests): Use side-effect import to fix TS errors (redwoodjs#9754) fix(context): Refactor context (redwoodjs#9371) docs: Replaced deprecated <Set private> with PrivateSet within router.md (redwoodjs#9749) add TS support for storybook preview tsx config extension (redwoodjs#9309) fix(studio): Fix windows path issues (redwoodjs#9752) redwoodjs#9620: Update studio to support variable components (Mailer) (redwoodjs#9639) chore(tasks): Add comparison view to nmHoisting visualisation (redwoodjs#9751) chore(cli): make fs modules used in the CLI consistent (redwoodjs#9746) chore(tooling): Make sure console boxen print on a new line chore(CI): fix publish release candidate feat(CLI): add check node version middleware, rm `.nvmrc`, yarn engines (redwoodjs#9728) docs: added some clarification on serverless functions getting executed in a non-serverless environment (redwoodjs#9742) Fix sshExec() errors not displaying (redwoodjs#9743) chore(tooling): Add missing word in release tooling output Update Metadata docs (redwoodjs#9744) chore(CI): update test project fixture and CRWA for deploy target CI repo (redwoodjs#9730) chore(tooling): add script for getting nested dependency data (redwoodjs#9734) Trusted Documents docs: Proofreading corrections (redwoodjs#9737) ...
2 parents 62228a0 + b2a22fe commit dba3868

File tree

519 files changed

+19534
-19994
lines changed

Some content is hidden

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

519 files changed

+19534
-19994
lines changed

.eslintrc.js

+18
Original file line numberDiff line numberDiff line change
@@ -184,5 +184,23 @@ module.exports = {
184184
'@redwoodjs/process-env-computed': 'off',
185185
},
186186
},
187+
{
188+
files: ['packages/project-config/**'],
189+
excludedFiles: [
190+
'**/__tests__/**',
191+
'**/*.test.ts?(x)',
192+
'**/*.spec.ts?(x)',
193+
],
194+
rules: {
195+
'import/no-extraneous-dependencies': [
196+
'error',
197+
{
198+
devDependencies: false,
199+
optionalDependencies: false,
200+
peerDependencies: true,
201+
},
202+
],
203+
},
204+
},
187205
],
188206
}

.github/actions/check_create_redwood_app/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@
55
"@actions/core": "1.10.1",
66
"@actions/exec": "1.1.1"
77
},
8-
"packageManager": "yarn@3.7.0"
8+
"packageManager": "yarn@4.0.2"
99
}

.github/actions/check_create_redwood_app/yarn.lock

+14-14
Original file line numberDiff line numberDiff line change
@@ -2,57 +2,57 @@
22
# Manual changes might be lost - proceed with caution!
33

44
__metadata:
5-
version: 6
6-
cacheKey: 8c0
5+
version: 8
6+
cacheKey: 10c0
77

88
"@actions/core@npm:1.10.1":
99
version: 1.10.1
1010
resolution: "@actions/core@npm:1.10.1"
1111
dependencies:
12-
"@actions/http-client": ^2.0.1
13-
uuid: ^8.3.2
14-
checksum: 7a61446697a23dcad3545cf0634dedbdedf20ae9a0ee6ee977554589a15deb4a93593ee48a41258933d58ce0778f446b0d2c162b60750956fb75e0b9560fb832
12+
"@actions/http-client": "npm:^2.0.1"
13+
uuid: "npm:^8.3.2"
14+
checksum: 8c0/7a61446697a23dcad3545cf0634dedbdedf20ae9a0ee6ee977554589a15deb4a93593ee48a41258933d58ce0778f446b0d2c162b60750956fb75e0b9560fb832
1515
languageName: node
1616
linkType: hard
1717

1818
"@actions/exec@npm:1.1.1":
1919
version: 1.1.1
2020
resolution: "@actions/exec@npm:1.1.1"
2121
dependencies:
22-
"@actions/io": ^1.0.1
23-
checksum: 4a09f6bdbe50ce68b5cf8a7254d176230d6a74bccf6ecc3857feee209a8c950ba9adec87cc5ecceb04110182d1c17117234e45557d72fde6229b7fd3a395322a
22+
"@actions/io": "npm:^1.0.1"
23+
checksum: 8c0/4a09f6bdbe50ce68b5cf8a7254d176230d6a74bccf6ecc3857feee209a8c950ba9adec87cc5ecceb04110182d1c17117234e45557d72fde6229b7fd3a395322a
2424
languageName: node
2525
linkType: hard
2626

2727
"@actions/http-client@npm:^2.0.1":
2828
version: 2.0.1
2929
resolution: "@actions/http-client@npm:2.0.1"
3030
dependencies:
31-
tunnel: ^0.0.6
32-
checksum: b58987ba2f53d7988f612ede7ff834573a3360c21f8fdea9fea92f26ada0fd0efafb22aa7d83f49c18965a5b765775d5253e2edb8d9476d924c4b304ef726b67
31+
tunnel: "npm:^0.0.6"
32+
checksum: 8c0/b58987ba2f53d7988f612ede7ff834573a3360c21f8fdea9fea92f26ada0fd0efafb22aa7d83f49c18965a5b765775d5253e2edb8d9476d924c4b304ef726b67
3333
languageName: node
3434
linkType: hard
3535

3636
"@actions/io@npm:^1.0.1":
3737
version: 1.1.2
3838
resolution: "@actions/io@npm:1.1.2"
39-
checksum: 61c871bbee1cf58f57917d9bb2cf6bb7ea4dc40de3f65c7fb4ec619ceff57fc98f56be9cca2d476b09e7a96e1cba0d88cd125c4f690d384b9483935186f256c1
39+
checksum: 8c0/61c871bbee1cf58f57917d9bb2cf6bb7ea4dc40de3f65c7fb4ec619ceff57fc98f56be9cca2d476b09e7a96e1cba0d88cd125c4f690d384b9483935186f256c1
4040
languageName: node
4141
linkType: hard
4242

4343
"check_test_project_fixture@workspace:.":
4444
version: 0.0.0-use.local
4545
resolution: "check_test_project_fixture@workspace:."
4646
dependencies:
47-
"@actions/core": 1.10.1
48-
"@actions/exec": 1.1.1
47+
"@actions/core": "npm:1.10.1"
48+
"@actions/exec": "npm:1.1.1"
4949
languageName: unknown
5050
linkType: soft
5151

5252
"tunnel@npm:^0.0.6":
5353
version: 0.0.6
5454
resolution: "tunnel@npm:0.0.6"
55-
checksum: e27e7e896f2426c1c747325b5f54efebc1a004647d853fad892b46d64e37591ccd0b97439470795e5262b5c0748d22beb4489a04a0a448029636670bfd801b75
55+
checksum: 8c0/e27e7e896f2426c1c747325b5f54efebc1a004647d853fad892b46d64e37591ccd0b97439470795e5262b5c0748d22beb4489a04a0a448029636670bfd801b75
5656
languageName: node
5757
linkType: hard
5858

@@ -61,6 +61,6 @@ __metadata:
6161
resolution: "uuid@npm:8.3.2"
6262
bin:
6363
uuid: dist/bin/uuid
64-
checksum: bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54
64+
checksum: 8c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54
6565
languageName: node
6666
linkType: hard

.github/actions/check_test_project_fixture/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@
55
"@actions/core": "1.10.1",
66
"@actions/exec": "1.1.1"
77
},
8-
"packageManager": "yarn@3.7.0"
8+
"packageManager": "yarn@4.0.2"
99
}

.github/actions/check_test_project_fixture/yarn.lock

+14-14
Original file line numberDiff line numberDiff line change
@@ -2,57 +2,57 @@
22
# Manual changes might be lost - proceed with caution!
33

44
__metadata:
5-
version: 6
6-
cacheKey: 8c0
5+
version: 8
6+
cacheKey: 10c0
77

88
"@actions/core@npm:1.10.1":
99
version: 1.10.1
1010
resolution: "@actions/core@npm:1.10.1"
1111
dependencies:
12-
"@actions/http-client": ^2.0.1
13-
uuid: ^8.3.2
14-
checksum: 7a61446697a23dcad3545cf0634dedbdedf20ae9a0ee6ee977554589a15deb4a93593ee48a41258933d58ce0778f446b0d2c162b60750956fb75e0b9560fb832
12+
"@actions/http-client": "npm:^2.0.1"
13+
uuid: "npm:^8.3.2"
14+
checksum: 8c0/7a61446697a23dcad3545cf0634dedbdedf20ae9a0ee6ee977554589a15deb4a93593ee48a41258933d58ce0778f446b0d2c162b60750956fb75e0b9560fb832
1515
languageName: node
1616
linkType: hard
1717

1818
"@actions/exec@npm:1.1.1":
1919
version: 1.1.1
2020
resolution: "@actions/exec@npm:1.1.1"
2121
dependencies:
22-
"@actions/io": ^1.0.1
23-
checksum: 4a09f6bdbe50ce68b5cf8a7254d176230d6a74bccf6ecc3857feee209a8c950ba9adec87cc5ecceb04110182d1c17117234e45557d72fde6229b7fd3a395322a
22+
"@actions/io": "npm:^1.0.1"
23+
checksum: 8c0/4a09f6bdbe50ce68b5cf8a7254d176230d6a74bccf6ecc3857feee209a8c950ba9adec87cc5ecceb04110182d1c17117234e45557d72fde6229b7fd3a395322a
2424
languageName: node
2525
linkType: hard
2626

2727
"@actions/http-client@npm:^2.0.1":
2828
version: 2.0.1
2929
resolution: "@actions/http-client@npm:2.0.1"
3030
dependencies:
31-
tunnel: ^0.0.6
32-
checksum: b58987ba2f53d7988f612ede7ff834573a3360c21f8fdea9fea92f26ada0fd0efafb22aa7d83f49c18965a5b765775d5253e2edb8d9476d924c4b304ef726b67
31+
tunnel: "npm:^0.0.6"
32+
checksum: 8c0/b58987ba2f53d7988f612ede7ff834573a3360c21f8fdea9fea92f26ada0fd0efafb22aa7d83f49c18965a5b765775d5253e2edb8d9476d924c4b304ef726b67
3333
languageName: node
3434
linkType: hard
3535

3636
"@actions/io@npm:^1.0.1":
3737
version: 1.1.2
3838
resolution: "@actions/io@npm:1.1.2"
39-
checksum: 61c871bbee1cf58f57917d9bb2cf6bb7ea4dc40de3f65c7fb4ec619ceff57fc98f56be9cca2d476b09e7a96e1cba0d88cd125c4f690d384b9483935186f256c1
39+
checksum: 8c0/61c871bbee1cf58f57917d9bb2cf6bb7ea4dc40de3f65c7fb4ec619ceff57fc98f56be9cca2d476b09e7a96e1cba0d88cd125c4f690d384b9483935186f256c1
4040
languageName: node
4141
linkType: hard
4242

4343
"check_test_project_fixture@workspace:.":
4444
version: 0.0.0-use.local
4545
resolution: "check_test_project_fixture@workspace:."
4646
dependencies:
47-
"@actions/core": 1.10.1
48-
"@actions/exec": 1.1.1
47+
"@actions/core": "npm:1.10.1"
48+
"@actions/exec": "npm:1.1.1"
4949
languageName: unknown
5050
linkType: soft
5151

5252
"tunnel@npm:^0.0.6":
5353
version: 0.0.6
5454
resolution: "tunnel@npm:0.0.6"
55-
checksum: e27e7e896f2426c1c747325b5f54efebc1a004647d853fad892b46d64e37591ccd0b97439470795e5262b5c0748d22beb4489a04a0a448029636670bfd801b75
55+
checksum: 8c0/e27e7e896f2426c1c747325b5f54efebc1a004647d853fad892b46d64e37591ccd0b97439470795e5262b5c0748d22beb4489a04a0a448029636670bfd801b75
5656
languageName: node
5757
linkType: hard
5858

@@ -61,6 +61,6 @@ __metadata:
6161
resolution: "uuid@npm:8.3.2"
6262
bin:
6363
uuid: dist/bin/uuid
64-
checksum: bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54
64+
checksum: 8c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54
6565
languageName: node
6666
linkType: hard
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/**
2+
* Detects if the given file path points to a code file (as apposed to a docs
3+
* file)
4+
*/
5+
function isCodeFile(filePath) {
6+
if (filePath.startsWith('docs')) {
7+
return false
8+
}
9+
10+
if (
11+
[
12+
'CHANGELOG.md',
13+
'CODE_OF_CONDUCT.md',
14+
'CONTRIBUTING.md',
15+
'CONTRIBUTORS.md',
16+
'LICENSE',
17+
'README.md',
18+
'SECURITY.md',
19+
].includes(filePath)
20+
) {
21+
return false
22+
}
23+
24+
return true
25+
}
26+
27+
/**
28+
* Checks if the given array of file paths contains any files with potential
29+
* code changes
30+
*/
31+
export function hasCodeChanges(changedFiles) {
32+
return changedFiles.some((file) => {
33+
if (isCodeFile(file)) {
34+
console.log(`Found code file: ${file}`)
35+
return true
36+
}
37+
38+
return false
39+
})
40+
}

.github/actions/detect-changes/cases/onlydocs.mjs

-33
This file was deleted.

.github/actions/detect-changes/cases/rsc.mjs

+3-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ export function rscChanged(changedFiles){
2020
changedFile.startsWith('packages/internal/') ||
2121
changedFile.startsWith('packages/project-config/') ||
2222
changedFile.startsWith('packages/web/') ||
23-
changedFile.startsWith('packages/vite/')
23+
changedFile.startsWith('packages/vite/') ||
24+
changedFile.startsWith('__fixtures__/test-project-rsa') ||
25+
changedFile.startsWith('__fixtures__/test-project-rsc-external-packages')
2426
) {
2527
console.log('RSC change detected:', changedFile)
2628
return true

.github/actions/detect-changes/detectChanges.mjs

+65-8
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,69 @@
1+
import fs from 'node:fs'
2+
13
import core from '@actions/core'
2-
import { exec, getExecOutput } from '@actions/exec'
3-
import { onlyDocsChanged } from './cases/onlydocs.mjs'
4+
import { hasCodeChanges } from './cases/code_changes.mjs'
45
import { rscChanged } from './cases/rsc.mjs'
56
import { ssrChanged } from './cases/ssr.mjs'
67

8+
const getPrNumber = (githubRef) => {
9+
// Example GITHUB_REF refs/pull/9544/merge
10+
const result = /refs\/pull\/(\d+)\/merge/g.exec(process.env.GITHUB_REF)
11+
12+
let prNumber = result?.[1]
13+
14+
if (!prNumber) {
15+
try {
16+
// Example GITHUB_EVENT_PATH
17+
// /home/runner/work/_temp/_github_workflow/event.json
18+
const ev = JSON.parse(
19+
fs.readFileSync(process.env.GITHUB_EVENT_PATH, 'utf8')
20+
)
21+
prNumber = ev.pull_request?.number
22+
} catch {
23+
// fall through
24+
}
25+
}
26+
27+
if (!prNumber) {
28+
throw new Error('Could not find the PR number')
29+
}
30+
31+
return prNumber
32+
}
33+
34+
async function getChangedFiles(page = 1) {
35+
const prNumber = getPrNumber()
36+
37+
console.log(`Getting changed files for PR ${prNumber} (page ${page})`)
38+
39+
let changedFiles = []
40+
41+
// Query the GitHub API to get the changed files in the PR
42+
const githubToken = process.env.GITHUB_TOKEN
43+
const url = `https://api.github.com/repos/redwoodjs/redwood/pulls/${prNumber}/files?per_page=100&page=${page}`
44+
const resp = await fetch(url, {
45+
headers: {
46+
Authorization: githubToken ? `Bearer ${githubToken}` : undefined,
47+
['X-GitHub-Api-Version']: '2022-11-28',
48+
Accept: 'application/vnd.github+json',
49+
},
50+
})
51+
52+
const json = await resp.json()
53+
const files = json.map((file) => file.filename) || []
54+
55+
changedFiles = changedFiles.concat(files)
56+
57+
// Look at the headers to see if the result is paginated
58+
const linkHeader = resp.headers.get('link')
59+
if (linkHeader && linkHeader.includes('rel="next"')) {
60+
const files = await getChangedFiles(page + 1)
61+
changedFiles = changedFiles.concat(files)
62+
}
63+
64+
return changedFiles
65+
}
66+
767
async function main() {
868
const branch = process.env.GITHUB_BASE_REF
969

@@ -15,14 +75,11 @@ async function main() {
1575
return
1676
}
1777

18-
await exec(`git fetch origin ${branch}`)
19-
20-
const { stdout } = await getExecOutput(`git diff origin/${branch} --name-only`)
21-
const changedFiles = stdout.toString().trim().split('\n').filter(Boolean)
78+
const changedFiles = await getChangedFiles()
2279
console.log(`${changedFiles.length} changed files`)
2380

24-
const onlyDocs = onlyDocsChanged(changedFiles)
25-
if(onlyDocs){
81+
if (!hasCodeChanges(changedFiles)) {
82+
console.log('No code changes detected, only docs')
2683
core.setOutput('onlydocs', true)
2784
core.setOutput('rsc', false)
2885
core.setOutput('ssr', false)

.github/actions/detect-changes/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@
55
"@actions/core": "1.10.1",
66
"@actions/exec": "1.1.1"
77
},
8-
"packageManager": "yarn@3.7.0"
8+
"packageManager": "yarn@4.0.2"
99
}

0 commit comments

Comments
 (0)