Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit2a46702

Browse files
fix: Syntax highlighting with long lines and untar content with emojis (#5098)
1 parent44d3225 commit2a46702

File tree

5 files changed

+20
-23
lines changed

5 files changed

+20
-23
lines changed

‎site/js-untar.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
declare module"js-untar"{
22
interfaceFile{
33
name:string
4-
readAsString:()=>string
4+
blob:Blob
55
}
66

77
constUntar:(buffer:ArrayBuffer)=>{

‎site/src/components/SyntaxHighlighter/SyntaxHighlighter.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ const useStyles = makeStyles((theme) => ({
3030
background:theme.palette.background.paperLight,
3131
borderRadius:theme.shape.borderRadius,
3232
padding:theme.spacing(2,3),
33+
// Line breaks are broken when used with line numbers on react-syntax-highlighter
34+
// https://github.com/react-syntax-highlighter/react-syntax-highlighter/pull/483
35+
overflowX:"auto",
3336

3437
"& code":{
3538
color:theme.palette.text.secondary,

‎site/src/pages/TemplateVersionPage/TemplateVersionPage.test.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,9 @@ const TEMPLATE_NAME = "coder-ts"
1212
constVERSION_NAME="12345"
1313
constTERRAFORM_FILENAME="main.tf"
1414
constREADME_FILENAME="readme.md"
15-
constGPG_FILENAME="key.gpg"
1615
constTEMPLATE_VERSION_FILES={
1716
[TERRAFORM_FILENAME]:"{}",
1817
[README_FILENAME]:"Readme",
19-
[GPG_FILENAME]:"Some sensitive info",
2018
}
2119

2220
constsetup=async()=>{
@@ -38,10 +36,9 @@ const setup = async () => {
3836
describe("TemplateVersionPage",()=>{
3937
beforeEach(setup)
4038

41-
it("showsthe tf and mdfiles only",()=>{
39+
it("shows files",()=>{
4240
expect(screen.queryByText(TERRAFORM_FILENAME)).toBeInTheDocument()
4341
expect(screen.queryByText(README_FILENAME)).toBeInTheDocument()
44-
expect(screen.queryByText(GPG_FILENAME)).not.toBeInTheDocument()
4542
})
4643

4744
it("shows the right content when click on the file name",async()=>{

‎site/src/util/templateVersion.ts

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,27 @@ export type TemplateVersionFiles = Record<string, string>
99

1010
exportconstgetTemplateVersionFiles=async(
1111
version:TemplateVersion,
12+
allowedExtensions:string[],
1213
):Promise<TemplateVersionFiles>=>{
1314
constfiles:TemplateVersionFiles={}
1415
consttarFile=awaitgetFile(version.job.file_id)
16+
constblobs:Record<string,Blob>={}
17+
1518
awaituntar(tarFile).then(undefined,undefined,async(file)=>{
1619
constpaths=file.name.split("/")
1720
constfilename=paths[paths.length-1]
18-
files[filename]=file.readAsString()
21+
const[_,extension]=filename.split(".")
22+
23+
if(allowedExtensions.includes(extension)){
24+
blobs[filename]=file.blob
25+
}
1926
})
20-
returnfiles
21-
}
2227

23-
exportconstfilterTemplateFilesByExtension=(
24-
files:TemplateVersionFiles,
25-
extensions:string[],
26-
):TemplateVersionFiles=>{
27-
returnObject.keys(files).reduce((filteredFiles,filename)=>{
28-
const[_,extension]=filename.split(".")
28+
awaitPromise.all(
29+
Object.entries(blobs).map(async([filename,blob])=>{
30+
files[filename]=awaitblob.text()
31+
}),
32+
)
2933

30-
returnextensions.includes(extension)
31-
?{ ...filteredFiles,[filename]:files[filename]}
32-
:filteredFiles
33-
},{}asTemplateVersionFiles)
34+
returnfiles
3435
}

‎site/src/xServices/templateVersion/templateVersionXService.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import{getTemplateVersionByName}from"api/api"
22
import{TemplateVersion}from"api/typesGenerated"
33
import{
4-
filterTemplateFilesByExtension,
54
getTemplateVersionFiles,
65
TemplateVersionFiles,
76
}from"util/templateVersion"
@@ -86,10 +85,7 @@ export const templateVersionMachine = createMachine(
8685
if(!version){
8786
thrownewError("Version is not defined")
8887
}
89-
returnfilterTemplateFilesByExtension(
90-
awaitgetTemplateVersionFiles(version),
91-
["tf","md"],
92-
)
88+
returngetTemplateVersionFiles(version,["tf","md"])
9389
},
9490
},
9591
},

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp