Skip to content

Commit d8b472a

Browse files
feat: add support for go lang (#631)
* update codemirror, add support for go lang * Create perfect-zoos-grow.md
1 parent c504ebc commit d8b472a

File tree

17 files changed

+2420
-3491
lines changed

17 files changed

+2420
-3491
lines changed

.changeset/perfect-zoos-grow.md

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
"@codeimage/api": patch
3+
"@codeimage/app": patch
4+
"@codeimage/website": patch
5+
"@codeimage/atomic-state": patch
6+
"@codeimage/config": patch
7+
"@codeimage/dom-export": patch
8+
"@codeimage/highlight": patch
9+
"@codeimage/ui": patch
10+
"@codeimage/vanilla-extract": patch
11+
---
12+
13+
feat: add support for go lang

apps/api/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
"@prisma/client": "^4.15.0",
5252
"@sinclair/typebox": "^0.28.15",
5353
"close-with-grace": "^1.2.0",
54-
"dotenv": "^16.1.4",
54+
"dotenv": "^16.3.1",
5555
"dotenv-cli": "^6.0.0",
5656
"fastify": "^4.18.0",
5757
"fastify-auth0-verify": "^1.2.0",
@@ -71,7 +71,7 @@
7171
"tsup": "6.7.0",
7272
"tsx": "3.12.7",
7373
"typescript": "~5.3.2",
74-
"vite": "^4.3.9",
74+
"vite": "^4.5.1",
7575
"vitest": "^0.31.4"
7676
}
7777
}

apps/codeimage/package.json

+31-31
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,18 @@
2525
"cross-env": "^7.0.3",
2626
"https-localhost": "^4.7.1",
2727
"msw": "^0.47.4",
28-
"prettier": "^2.8.4",
28+
"prettier": "^2.8.7",
2929
"rehype-raw": "7.0.0",
3030
"rehype-slug": "6.0.0",
3131
"rimraf": "^3.0.2",
32-
"sass": "^1.58.3",
32+
"sass": "^1.61.0",
3333
"typescript": "~5.3.2",
3434
"vite": "^3.2.5",
3535
"vite-plugin-pwa": "^0.14.7",
3636
"vite-plugin-solid": "^2.7.0",
3737
"vite-tsconfig-paths": "^4.0.8",
38-
"workbox-core": "^6.5.4",
39-
"workbox-window": "^6.5.4"
38+
"workbox-core": "^6.6.0",
39+
"workbox-window": "^6.6.0"
4040
},
4141
"dependencies": {
4242
"@auth0/auth0-spa-js": "^2.0.4",
@@ -50,31 +50,31 @@
5050
"@codeimage/ui": "workspace:*",
5151
"@codeimage/vanilla-extract": "workspace:*",
5252
"@codemirror/autocomplete": "^6.6.1",
53-
"@codemirror/commands": "^6.2.4",
53+
"@codemirror/commands": "^6.5.0",
5454
"@codemirror/lang-cpp": "^6.0.2",
55-
"@codemirror/lang-css": "^6.2.0",
56-
"@codemirror/lang-html": "^6.4.3",
55+
"@codemirror/lang-css": "^6.2.1",
56+
"@codemirror/lang-html": "^6.4.9",
5757
"@codemirror/lang-java": "^6.0.1",
58-
"@codemirror/lang-javascript": "^6.1.7",
58+
"@codemirror/lang-javascript": "^6.2.2",
5959
"@codemirror/lang-json": "^6.0.1",
60-
"@codemirror/lang-markdown": "^6.1.1",
60+
"@codemirror/lang-markdown": "^6.2.5",
6161
"@codemirror/lang-php": "^6.0.1",
62-
"@codemirror/lang-python": "^6.1.2",
62+
"@codemirror/lang-python": "^6.1.6",
6363
"@codemirror/lang-rust": "^6.0.1",
64-
"@codemirror/lang-sql": "^6.4.1",
65-
"@codemirror/language": "^6.6.0",
66-
"@codemirror/lint": "^6.2.1",
67-
"@codemirror/search": "^6.4.0",
68-
"@codemirror/state": "^6.2.0",
69-
"@codemirror/view": "^6.11.0",
64+
"@codemirror/lang-sql": "^6.6.3",
65+
"@codemirror/language": "^6.10.1",
66+
"@codemirror/lint": "^6.7.0",
67+
"@codemirror/search": "^6.5.6",
68+
"@codemirror/state": "^6.4.1",
69+
"@codemirror/view": "^6.26.3",
7070
"@codeui/kit": "^0.0.37",
71-
"@floating-ui/core": "^1.2.2",
72-
"@floating-ui/dom": "^1.2.3",
71+
"@floating-ui/core": "^1.5.0",
72+
"@floating-ui/dom": "^1.5.3",
7373
"@formatjs/intl-relativetimeformat": "11.1.4",
74-
"@kobalte/core": "^0.11.0",
74+
"@kobalte/core": "^0.11.2",
7575
"@kobalte/utils": "^0.9.0",
7676
"@kobalte/vanilla-extract": "^0.4.0",
77-
"@lezer/highlight": "^1.1.3",
77+
"@lezer/highlight": "^1.1.4",
7878
"@motionone/solid": "^10.16.2",
7979
"@ngneat/falso": "^6.4.0",
8080
"@solid-aria/button": "^0.1.3",
@@ -84,36 +84,36 @@
8484
"@solid-primitives/context": "^0.1.4",
8585
"@solid-primitives/event-bus": "1.0.5",
8686
"@solid-primitives/event-listener": "2.2.13",
87-
"@solid-primitives/i18n": "^1.2.1",
88-
"@solid-primitives/immutable": "^0.1.8",
87+
"@solid-primitives/i18n": "^1.2.4",
88+
"@solid-primitives/immutable": "^0.1.10",
8989
"@solid-primitives/platform": "^0.0.101",
9090
"@solid-primitives/props": "^2.2.2",
91-
"@solid-primitives/resize-observer": "^2.0.11",
92-
"@solid-primitives/utils": "^6.0.0",
91+
"@solid-primitives/resize-observer": "^2.0.15",
92+
"@solid-primitives/utils": "^6.2.1",
9393
"@solidjs/router": "^0.8.2",
9494
"@thisbeyond/solid-dnd": "0.7.2",
95-
"@vanilla-extract/css": "^1.9.5",
95+
"@vanilla-extract/css": "^1.11.0",
9696
"@vanilla-extract/dynamic": "^2.0.3",
9797
"@vanilla-extract/recipes": "^0.3.0",
98-
"@vanilla-extract/sprinkles": "^1.5.1",
98+
"@vanilla-extract/sprinkles": "^1.5.2",
9999
"clsx": "^1.2.1",
100100
"downloadjs": "^1.4.7",
101101
"idb-keyval": "^6.2.0",
102102
"inter-ui": "^3.19.3",
103103
"modern-normalize": "^1.1.0",
104104
"motion": "^10.15.5",
105105
"polished": "^4.2.2",
106-
"rxjs": "^7.8.0",
106+
"rxjs": "^7.8.1",
107107
"solid-codemirror": "^2.3.0",
108-
"solid-headless": "^0.13.0",
108+
"solid-headless": "^0.13.1",
109109
"solid-js": "^1.8.6",
110110
"solid-mdx": "0.0.7",
111111
"solid-use": "^0.7.2",
112112
"statebuilder": "^0.4.2",
113113
"tinykeys": "^1.4.0",
114-
"workbox-precaching": "^6.5.4",
115-
"workbox-routing": "^6.5.4",
116-
"workbox-strategies": "^6.5.4"
114+
"workbox-precaching": "^6.6.0",
115+
"workbox-routing": "^6.6.0",
116+
"workbox-strategies": "^6.6.0"
117117
},
118118
"msw": {
119119
"workerDirectory": "public"

apps/codeimage/src/components/CustomEditor/CustomEditor.tsx

+22-3
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,15 @@ export default function CustomEditor(props: VoidProps<CustomEditorProps>) {
9999
);
100100

101101
const [currentExtraLanguage] = createResource(icon, iconDef => {
102-
return iconDef?.extraLanguage?.() ?? [];
102+
return iconDef?.extraLanguage
103+
?.extension()
104+
.then(extension => {
105+
return {
106+
extension,
107+
overrideParent: iconDef.extraLanguage?.overrideParent,
108+
};
109+
})
110+
.catch(() => null);
103111
});
104112

105113
const themeConfiguration = createMemo(
@@ -170,8 +178,19 @@ export default function CustomEditor(props: VoidProps<CustomEditorProps>) {
170178
}),
171179
);
172180
createExtension(() => customFontExtension());
173-
createExtension(currentLanguage);
174-
createExtension(currentExtraLanguage);
181+
createExtension(() => {
182+
const language = currentLanguage();
183+
const extraLanguage = currentExtraLanguage();
184+
if (!extraLanguage && !language) {
185+
return [];
186+
}
187+
if (!extraLanguage) {
188+
return language ?? [];
189+
}
190+
if (extraLanguage.overrideParent) {
191+
return extraLanguage.extension ?? [];
192+
}
193+
});
175194

176195
const lineNumberStart = createMemo(() => editor()?.lineNumberStart);
177196
createExtension(() => {

apps/codeimage/src/components/PropertyEditor/EditorStyleForm.tsx

+34-29
Original file line numberDiff line numberDiff line change
@@ -161,35 +161,40 @@ export const EditorStyleForm: ParentComponent = () => {
161161
</TwoColumnPanelRow>
162162
</PanelRow>
163163

164-
<Show when={formatter.availableFormatters().length > 0}>
165-
<PanelRow
166-
for={'editorLanguageFormatterField'}
167-
label={t('frame.formatter')}
168-
>
169-
<TwoColumnPanelRow>
170-
<SuspenseEditorItem
171-
fallback={<SkeletonLine width={'100%'} height={'26px'} />}
172-
>
173-
<Select
174-
{...languageFormatterOptions.props()}
175-
{...languageFormatterOptions.controlled(
176-
() =>
177-
editor()?.formatter ??
178-
formatter.availableFormatters()[0].parser,
179-
formatter => {
180-
formatter = formatter as string;
181-
setFormatterName(formatter);
182-
},
183-
)}
184-
disabled={formatter.availableFormatters().length === 1}
185-
options={languageFormatterOptions.options()}
186-
aria-label={'Editor language formatter'}
187-
id={'editorLanguageFormatterField'}
188-
size={'xs'}
189-
/>
190-
</SuspenseEditorItem>
191-
</TwoColumnPanelRow>
192-
</PanelRow>
164+
<Show
165+
when={formatter.availableFormatters().length > 0}
166+
keyed={true}
167+
>
168+
{_ => (
169+
<PanelRow
170+
for={'editorLanguageFormatterField'}
171+
label={t('frame.formatter')}
172+
>
173+
<TwoColumnPanelRow>
174+
<SuspenseEditorItem
175+
fallback={<SkeletonLine width={'100%'} height={'26px'} />}
176+
>
177+
<Select
178+
{...languageFormatterOptions.props()}
179+
{...languageFormatterOptions.controlled(
180+
() =>
181+
editor()?.formatter ??
182+
formatter.availableFormatters()[0]?.parser,
183+
formatter => {
184+
formatter = formatter as string;
185+
setFormatterName(formatter);
186+
},
187+
)}
188+
disabled={formatter.availableFormatters().length === 1}
189+
options={languageFormatterOptions.options()}
190+
aria-label={'Editor language formatter'}
191+
id={'editorLanguageFormatterField'}
192+
size={'xs'}
193+
/>
194+
</SuspenseEditorItem>
195+
</TwoColumnPanelRow>
196+
</PanelRow>
197+
)}
193198
</Show>
194199

195200
<PanelRow

apps/codeimage/src/state/editor/activeEditor.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ const $activeEditorState = () => {
3939
);
4040
}
4141
}
42-
const defaultFormatter = formatter.availableFormatters()[0].parser;
42+
const defaultFormatter = formatter.availableFormatters()[0]?.parser;
4343
setEditors(currentEditorIndex(), 'formatter', defaultFormatter ?? null);
4444
}
4545
};

apps/website/package.json

+8-8
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"rollup": "^2.79.1",
1515
"solid-start-node": "^0.2.26",
1616
"typescript": "~5.3.2",
17-
"vite": "^3.1.8"
17+
"vite": "^3.2.5"
1818
},
1919
"sideEffects": true,
2020
"dependencies": {
@@ -26,24 +26,24 @@
2626
"@codemirror/language": "^6.6.0",
2727
"@codemirror/state": "^6.2.0",
2828
"@codemirror/view": "^6.11.0",
29-
"@lezer/highlight": "^1.1.3",
29+
"@lezer/highlight": "^1.1.4",
3030
"@lhci/cli": "0.10.0",
31-
"@motionone/solid": "^10.15.5",
31+
"@motionone/solid": "^10.16.2",
3232
"@solid-primitives/media": "2.0.4",
3333
"@solid-primitives/platform": "^0.0.101",
3434
"@solidjs/meta": "^0.28.4",
3535
"@solidjs/router": "^0.8.2",
36-
"@vanilla-extract/css": "^1.9.5",
36+
"@vanilla-extract/css": "^1.11.0",
3737
"@vanilla-extract/dynamic": "^2.0.3",
3838
"@vanilla-extract/recipes": "^0.3.0",
39-
"@vanilla-extract/sprinkles": "^1.5.1",
39+
"@vanilla-extract/sprinkles": "^1.5.2",
4040
"motion": "^10.15.5",
4141
"purgecss": "^5.0.0",
42-
"solid-codemirror": "^2.2.3",
43-
"solid-js": "^1.7.3",
42+
"solid-codemirror": "^2.3.0",
43+
"solid-js": "^1.8.6",
4444
"solid-start": "^0.2.26",
4545
"solid-start-static": "^0.2.26",
46-
"undici": "^5.11.0"
46+
"undici": "^5.21.1"
4747
},
4848
"engines": {
4949
"node": ">=16"

package.json

+12-12
Original file line numberDiff line numberDiff line change
@@ -61,33 +61,33 @@
6161
"devDependencies": {
6262
"@changesets/assemble-release-plan": "^5.2.3",
6363
"@changesets/changelog-github": "^0.4.8",
64-
"@changesets/cli": "^2.26.0",
64+
"@changesets/cli": "^2.26.1",
6565
"@changesets/config": "^2.3.0",
6666
"@changesets/pre": "^1.0.14",
6767
"@changesets/read": "^0.5.9",
6868
"@commitlint/cli": "17.1.2",
6969
"@commitlint/config-angular": "17.1.0",
7070
"@commitlint/config-conventional": "^17.4.4",
71-
"@types/node": "^18.14.6",
71+
"@railway/cli": "^3.3.1",
72+
"@types/node": "^18.16.17",
7273
"@types/prettier": "^2.7.2",
73-
"@typescript-eslint/eslint-plugin": "^5.54.0",
74-
"@typescript-eslint/parser": "^5.54.0",
74+
"@typescript-eslint/eslint-plugin": "^5.57.1",
75+
"@typescript-eslint/parser": "^5.57.1",
7576
"chalk": "5.1.2",
7677
"cross-env": "^7.0.3",
7778
"enquirer": "2.3.6",
78-
"eslint": "^8.35.0",
79-
"eslint-config-prettier": "^8.6.0",
79+
"eslint": "^8.38.0",
80+
"eslint-config-prettier": "^8.8.0",
8081
"eslint-plugin-prettier": "^4.2.1",
8182
"eslint-plugin-solid": "^0.7.4",
8283
"husky": "8.0.1",
83-
"lint-staged": "^13.1.2",
84+
"lint-staged": "^13.2.1",
8485
"pnpm-bundle-workspace-package": "^1.0.2",
85-
"prettier": "^2.8.4",
86-
"tslib": "^2.5.0",
87-
"tsx": "^3.12.3",
86+
"prettier": "^2.8.7",
87+
"tslib": "^2.6.2",
88+
"tsx": "^3.12.7",
8889
"typescript": "~5.3.2",
89-
"vite": "^3.2.5",
90-
"@railway/cli": "^3.3.1"
90+
"vite": "^3.2.5"
9191
},
9292
"engines": {
9393
"pnpm": ">=7"

packages/atomic-state/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,14 @@
3737
"solid-js": "^1.8.6"
3838
},
3939
"devDependencies": {
40-
"@types/node": "^18.14.6",
40+
"@types/node": "^18.16.17",
4141
"rollup": "^2.79.1",
4242
"rollup-preset-solid": "^1.4.0",
43-
"rxjs": "^7.8.0",
43+
"rxjs": "^7.8.1",
4444
"solid-js": "^1.8.6",
4545
"vite": "^3.2.5",
4646
"vite-plugin-dts": "^1.7.3",
47-
"vite-plugin-solid": "^2.6.1",
47+
"vite-plugin-solid": "^2.7.0",
4848
"vitest": "0.26.2"
4949
},
5050
"dependencies": {

0 commit comments

Comments
 (0)