nuxt-codemirror 0.0.12 → 0.0.15
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/dist/module.d.mts +4 -1
- package/dist/module.d.ts +4 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +10 -8
- package/dist/runtime/composables/useNuxtCodeMirror.js +1 -1
- package/dist/runtime/getDefaultExtensions.d.ts +31 -1
- package/dist/runtime/getDefaultExtensions.js +74 -5
- package/dist/types.d.mts +1 -7
- package/dist/types.d.ts +1 -7
- package/package.json +36 -20
package/dist/module.d.mts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
2
|
|
|
3
|
+
interface ModuleOptions {
|
|
4
|
+
devtools?: boolean;
|
|
5
|
+
}
|
|
3
6
|
declare const _default: _nuxt_schema.NuxtModule<_nuxt_schema.ModuleOptions, _nuxt_schema.ModuleOptions, false>;
|
|
4
7
|
|
|
5
|
-
export { _default as default };
|
|
8
|
+
export { type ModuleOptions, _default as default };
|
package/dist/module.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import * as _nuxt_schema from '@nuxt/schema';
|
|
2
2
|
|
|
3
|
+
interface ModuleOptions {
|
|
4
|
+
devtools?: boolean;
|
|
5
|
+
}
|
|
3
6
|
declare const _default: _nuxt_schema.NuxtModule<_nuxt_schema.ModuleOptions, _nuxt_schema.ModuleOptions, false>;
|
|
4
7
|
|
|
5
|
-
export { _default as default };
|
|
8
|
+
export { type ModuleOptions, _default as default };
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -5,28 +5,30 @@ const module = defineNuxtModule({
|
|
|
5
5
|
name: "nuxt-codemirror",
|
|
6
6
|
configKey: "nuxtCodemirror"
|
|
7
7
|
},
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
defaults: {
|
|
9
|
+
// devtools: false,
|
|
10
|
+
},
|
|
10
11
|
setup(_options, _nuxt) {
|
|
11
|
-
const
|
|
12
|
+
const resolver = createResolver(import.meta.url);
|
|
13
|
+
_nuxt.options.alias["#codemirror"] = resolver.resolve("./runtime");
|
|
12
14
|
addComponent({
|
|
13
15
|
name: "NuxtCodeMirror",
|
|
14
|
-
filePath: resolve("./runtime/components/NuxtCodeMirror.vue")
|
|
16
|
+
filePath: resolver.resolve("./runtime/components/NuxtCodeMirror.vue")
|
|
15
17
|
});
|
|
16
18
|
addImports({
|
|
17
19
|
name: "useNuxtCodeMirror",
|
|
18
20
|
as: "useNuxtCodeMirror",
|
|
19
|
-
from: resolve("./runtime/composables/useNuxtCodeMirror.ts")
|
|
21
|
+
from: resolver.resolve("./runtime/composables/useNuxtCodeMirror.ts")
|
|
20
22
|
});
|
|
21
23
|
addTypeTemplate({
|
|
22
24
|
filename: "nuxt-codemirror.d.ts",
|
|
23
|
-
src: resolve("./runtime/types/nuxt-codemirror.d.ts")
|
|
25
|
+
src: resolver.resolve("./runtime/types/nuxt-codemirror.d.ts")
|
|
24
26
|
});
|
|
25
27
|
extendViteConfig((config) => {
|
|
26
28
|
config.resolve = config.resolve || {};
|
|
27
29
|
config.resolve.alias = config.resolve.alias || {};
|
|
28
|
-
config.resolve.alias["@codemirror/state"] = resolve(_nuxt.options.rootDir, "node_modules/@codemirror/state");
|
|
29
|
-
config.resolve.alias["@codemirror/view"] = resolve(_nuxt.options.rootDir, "node_modules/@codemirror/view");
|
|
30
|
+
config.resolve.alias["@codemirror/state"] = resolver.resolve(_nuxt.options.rootDir, "node_modules/@codemirror/state");
|
|
31
|
+
config.resolve.alias["@codemirror/view"] = resolver.resolve(_nuxt.options.rootDir, "node_modules/@codemirror/view");
|
|
30
32
|
});
|
|
31
33
|
}
|
|
32
34
|
});
|
|
@@ -70,7 +70,7 @@ export function useNuxtCodeMirror(props) {
|
|
|
70
70
|
indentWithTab: defaultIndentWithTab,
|
|
71
71
|
basicSetup: defaultBasicSetup
|
|
72
72
|
});
|
|
73
|
-
let getExtensions = [updateListener, defaultThemeOption
|
|
73
|
+
let getExtensions = [defaultExtensions, updateListener, defaultThemeOption];
|
|
74
74
|
if (onUpdate && typeof onUpdate === "function") {
|
|
75
75
|
getExtensions.push(EditorView.updateListener.of(onUpdate));
|
|
76
76
|
}
|
|
@@ -1,7 +1,33 @@
|
|
|
1
1
|
import type { Extension } from '@codemirror/state';
|
|
2
|
-
import { type BasicSetupOptions } from '@uiw/codemirror-extensions-basic-setup';
|
|
3
2
|
export * from '@codemirror/theme-one-dark';
|
|
4
3
|
export * from './theme/light.js';
|
|
4
|
+
export interface BasicSetupOptions {
|
|
5
|
+
lineNumbers?: boolean;
|
|
6
|
+
highlightActiveLineGutter?: boolean;
|
|
7
|
+
highlightSpecialChars?: boolean;
|
|
8
|
+
history?: boolean;
|
|
9
|
+
foldGutter?: boolean;
|
|
10
|
+
drawSelection?: boolean;
|
|
11
|
+
dropCursor?: boolean;
|
|
12
|
+
allowMultipleSelections?: boolean;
|
|
13
|
+
indentOnInput?: boolean;
|
|
14
|
+
syntaxHighlighting?: boolean;
|
|
15
|
+
bracketMatching?: boolean;
|
|
16
|
+
closeBrackets?: boolean;
|
|
17
|
+
autocompletion?: boolean;
|
|
18
|
+
rectangularSelection?: boolean;
|
|
19
|
+
crosshairCursor?: boolean;
|
|
20
|
+
highlightActiveLine?: boolean;
|
|
21
|
+
highlightSelectionMatches?: boolean;
|
|
22
|
+
defaultKeymap?: boolean;
|
|
23
|
+
closeBracketsKeymap?: boolean;
|
|
24
|
+
searchKeymap?: boolean;
|
|
25
|
+
historyKeymap?: boolean;
|
|
26
|
+
foldKeymap?: boolean;
|
|
27
|
+
completionKeymap?: boolean;
|
|
28
|
+
lintKeymap?: boolean;
|
|
29
|
+
tabSize?: number;
|
|
30
|
+
}
|
|
5
31
|
export interface DefaultExtensionsOptions {
|
|
6
32
|
indentWithTab?: boolean;
|
|
7
33
|
basicSetup?: boolean | BasicSetupOptions;
|
|
@@ -10,4 +36,8 @@ export interface DefaultExtensionsOptions {
|
|
|
10
36
|
readOnly?: boolean;
|
|
11
37
|
editable?: boolean;
|
|
12
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Basic setup that includes standard CodeMirror extensions
|
|
41
|
+
*/
|
|
42
|
+
export declare const basicSetup: (options?: BasicSetupOptions) => Extension[];
|
|
13
43
|
export declare const getDefaultExtensions: (optios?: DefaultExtensionsOptions) => Extension[];
|
|
@@ -1,11 +1,80 @@
|
|
|
1
|
-
import { indentWithTab } from "@codemirror/commands";
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { indentWithTab, history, defaultKeymap, historyKeymap } from "@codemirror/commands";
|
|
2
|
+
import {
|
|
3
|
+
EditorView,
|
|
4
|
+
keymap,
|
|
5
|
+
placeholder,
|
|
6
|
+
lineNumbers,
|
|
7
|
+
highlightActiveLineGutter,
|
|
8
|
+
highlightSpecialChars,
|
|
9
|
+
drawSelection,
|
|
10
|
+
dropCursor,
|
|
11
|
+
rectangularSelection,
|
|
12
|
+
crosshairCursor,
|
|
13
|
+
highlightActiveLine
|
|
14
|
+
} from "@codemirror/view";
|
|
4
15
|
import { oneDark } from "@codemirror/theme-one-dark";
|
|
5
16
|
import { EditorState } from "@codemirror/state";
|
|
17
|
+
import { highlightSelectionMatches, searchKeymap } from "@codemirror/search";
|
|
18
|
+
import { closeBrackets, autocompletion, closeBracketsKeymap, completionKeymap } from "@codemirror/autocomplete";
|
|
19
|
+
import {
|
|
20
|
+
foldGutter,
|
|
21
|
+
indentOnInput,
|
|
22
|
+
syntaxHighlighting,
|
|
23
|
+
defaultHighlightStyle,
|
|
24
|
+
bracketMatching,
|
|
25
|
+
indentUnit,
|
|
26
|
+
foldKeymap
|
|
27
|
+
} from "@codemirror/language";
|
|
28
|
+
import { lintKeymap } from "@codemirror/lint";
|
|
6
29
|
import { defaultLightThemeOption } from "./theme/light.js";
|
|
7
30
|
export * from "@codemirror/theme-one-dark";
|
|
8
31
|
export * from "./theme/light.js";
|
|
32
|
+
export const basicSetup = (options = {}) => {
|
|
33
|
+
let keymaps = [];
|
|
34
|
+
if (options.closeBracketsKeymap !== false) {
|
|
35
|
+
keymaps = keymaps.concat(closeBracketsKeymap);
|
|
36
|
+
}
|
|
37
|
+
if (options.defaultKeymap !== false) {
|
|
38
|
+
keymaps = keymaps.concat(defaultKeymap);
|
|
39
|
+
}
|
|
40
|
+
if (options.searchKeymap !== false) {
|
|
41
|
+
keymaps = keymaps.concat(searchKeymap);
|
|
42
|
+
}
|
|
43
|
+
if (options.historyKeymap !== false) {
|
|
44
|
+
keymaps = keymaps.concat(historyKeymap);
|
|
45
|
+
}
|
|
46
|
+
if (options.foldKeymap !== false) {
|
|
47
|
+
keymaps = keymaps.concat(foldKeymap);
|
|
48
|
+
}
|
|
49
|
+
if (options.completionKeymap !== false) {
|
|
50
|
+
keymaps = keymaps.concat(completionKeymap);
|
|
51
|
+
}
|
|
52
|
+
if (options.lintKeymap !== false) {
|
|
53
|
+
keymaps = keymaps.concat(lintKeymap);
|
|
54
|
+
}
|
|
55
|
+
const extensions = [];
|
|
56
|
+
if (options.lineNumbers !== false) extensions.push(lineNumbers());
|
|
57
|
+
if (options.highlightActiveLineGutter !== false) extensions.push(highlightActiveLineGutter());
|
|
58
|
+
if (options.highlightSpecialChars !== false) extensions.push(highlightSpecialChars());
|
|
59
|
+
if (options.history !== false) extensions.push(history());
|
|
60
|
+
if (options.foldGutter !== false) extensions.push(foldGutter());
|
|
61
|
+
if (options.drawSelection !== false) extensions.push(drawSelection());
|
|
62
|
+
if (options.dropCursor !== false) extensions.push(dropCursor());
|
|
63
|
+
if (options.allowMultipleSelections !== false) extensions.push(EditorState.allowMultipleSelections.of(true));
|
|
64
|
+
if (options.indentOnInput !== false) extensions.push(indentOnInput());
|
|
65
|
+
if (options.syntaxHighlighting !== false)
|
|
66
|
+
extensions.push(syntaxHighlighting(defaultHighlightStyle));
|
|
67
|
+
if (options.bracketMatching !== false) extensions.push(bracketMatching());
|
|
68
|
+
if (options.closeBrackets !== false) extensions.push(closeBrackets());
|
|
69
|
+
if (options.autocompletion !== false) extensions.push(autocompletion());
|
|
70
|
+
if (options.rectangularSelection !== false) extensions.push(rectangularSelection());
|
|
71
|
+
if (options.crosshairCursor !== false) extensions.push(crosshairCursor());
|
|
72
|
+
if (options.highlightActiveLine !== false) extensions.push(highlightActiveLine());
|
|
73
|
+
if (options.highlightSelectionMatches !== false) extensions.push(highlightSelectionMatches());
|
|
74
|
+
if (options.tabSize && typeof options.tabSize === "number")
|
|
75
|
+
extensions.push(indentUnit.of(" ".repeat(options.tabSize)));
|
|
76
|
+
return extensions.concat([keymap.of(keymaps.flat())]).filter(Boolean);
|
|
77
|
+
};
|
|
9
78
|
export const getDefaultExtensions = (optios = {}) => {
|
|
10
79
|
const {
|
|
11
80
|
indentWithTab: defaultIndentWithTab = true,
|
|
@@ -21,7 +90,7 @@ export const getDefaultExtensions = (optios = {}) => {
|
|
|
21
90
|
}
|
|
22
91
|
if (defaultBasicSetup) {
|
|
23
92
|
if (typeof defaultBasicSetup === "boolean") {
|
|
24
|
-
getExtensions.
|
|
93
|
+
getExtensions.push(basicSetup());
|
|
25
94
|
} else {
|
|
26
95
|
getExtensions.unshift(basicSetup(defaultBasicSetup));
|
|
27
96
|
}
|
|
@@ -48,5 +117,5 @@ export const getDefaultExtensions = (optios = {}) => {
|
|
|
48
117
|
if (readOnly) {
|
|
49
118
|
getExtensions.push(EditorState.readOnly.of(true));
|
|
50
119
|
}
|
|
51
|
-
return
|
|
120
|
+
return getExtensions;
|
|
52
121
|
};
|
package/dist/types.d.mts
CHANGED
|
@@ -1,7 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import type { default as Module } from './module.js'
|
|
4
|
-
|
|
5
|
-
export type ModuleOptions = typeof Module extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
|
6
|
-
|
|
7
|
-
export { default } from './module.js'
|
|
1
|
+
export { type ModuleOptions, default } from './module.js'
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import type { default as Module } from './module'
|
|
4
|
-
|
|
5
|
-
export type ModuleOptions = typeof Module extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
|
6
|
-
|
|
7
|
-
export { default } from './module'
|
|
1
|
+
export { type ModuleOptions, default } from './module'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuxt-codemirror",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.15",
|
|
4
4
|
"description": "Nuxt codemirror module",
|
|
5
5
|
"repository": "https://github.com/ThimoDEV/nuxt-codemirror",
|
|
6
6
|
"homepage": "https://github.com/ThimoDEV/nuxt-codemirror#readme",
|
|
@@ -28,38 +28,54 @@
|
|
|
28
28
|
"dev:build": "nuxi build playground",
|
|
29
29
|
"dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground",
|
|
30
30
|
"release": "npm run lint && npm run test && npm run prepack && changelogen --release && npm publish && git push --follow-tags",
|
|
31
|
+
"client:build": "nuxt prepare client && nuxi generate client",
|
|
32
|
+
"client:dev": "nuxi dev client --port 3300",
|
|
33
|
+
"docs": "nuxt dev docs",
|
|
34
|
+
"docs:build": "nuxt build docs",
|
|
35
|
+
"docs:prepare": "nuxt prepare docs",
|
|
36
|
+
"docs:dev": "nuxt dev docs",
|
|
37
|
+
"docs:preview": "nuxt preview docs",
|
|
38
|
+
"docs:start": "node .output/server/index.mjs",
|
|
31
39
|
"lint": "eslint .",
|
|
40
|
+
"lint:fix": "eslint --fix .",
|
|
32
41
|
"test": "vitest run",
|
|
33
42
|
"test:watch": "vitest watch",
|
|
34
43
|
"test:types": "vue-tsc --noEmit && cd playground && vue-tsc --noEmit"
|
|
35
44
|
},
|
|
36
45
|
"dependencies": {
|
|
37
|
-
"@babel/runtime": "^7.26.
|
|
38
|
-
"@codemirror/
|
|
39
|
-
"@codemirror/
|
|
46
|
+
"@babel/runtime": "^7.26.10",
|
|
47
|
+
"@codemirror/autocomplete": "^6.18.6",
|
|
48
|
+
"@codemirror/commands": "^6.8.0",
|
|
49
|
+
"@codemirror/language": "^6.10.8",
|
|
50
|
+
"@codemirror/lint": "^6.8.4",
|
|
51
|
+
"@codemirror/search": "^6.5.10",
|
|
52
|
+
"@codemirror/state": "6.5.2",
|
|
40
53
|
"@codemirror/theme-one-dark": "^6.1.2",
|
|
41
|
-
"@codemirror/view": "6.36.
|
|
42
|
-
"@nuxt/kit": "^3.
|
|
43
|
-
"@uiw/codemirror-extensions-basic-setup": "^4.23.7"
|
|
54
|
+
"@codemirror/view": "6.36.4",
|
|
55
|
+
"@nuxt/kit": "^3.16.1"
|
|
44
56
|
},
|
|
45
57
|
"devDependencies": {
|
|
46
|
-
"@nuxt/devtools": "^
|
|
47
|
-
"@nuxt/
|
|
58
|
+
"@nuxt/devtools": "^2.2.1",
|
|
59
|
+
"@nuxt/devtools-ui-kit": "^1.6.4",
|
|
60
|
+
"@nuxt/eslint-config": "^1.2.0",
|
|
48
61
|
"@nuxt/module-builder": "^0.8.4",
|
|
49
|
-
"@nuxt/schema": "^3.
|
|
50
|
-
"@nuxt/test-utils": "^3.
|
|
51
|
-
"@types/node": "^22.10
|
|
52
|
-
"changelogen": "^0.
|
|
53
|
-
"eslint": "^9.
|
|
54
|
-
"nuxt": "^3.
|
|
55
|
-
"typescript": "
|
|
56
|
-
"vitest": "^
|
|
57
|
-
"vue-tsc": "
|
|
62
|
+
"@nuxt/schema": "^3.16.0",
|
|
63
|
+
"@nuxt/test-utils": "^3.17.2",
|
|
64
|
+
"@types/node": "^22.13.10",
|
|
65
|
+
"changelogen": "^0.6.1",
|
|
66
|
+
"eslint": "^9.22.0",
|
|
67
|
+
"nuxt": "^3.16.0",
|
|
68
|
+
"typescript": "5.3.2",
|
|
69
|
+
"vitest": "^3.0.8",
|
|
70
|
+
"vue-tsc": "2.0.29"
|
|
71
|
+
},
|
|
72
|
+
"resolutions": {
|
|
73
|
+
"vue-tsc": "2.2.2"
|
|
58
74
|
},
|
|
59
75
|
"keywords": [
|
|
60
76
|
"nuxt",
|
|
61
77
|
"codemirror",
|
|
62
78
|
"vue"
|
|
63
79
|
],
|
|
64
|
-
"packageManager": "pnpm@
|
|
65
|
-
}
|
|
80
|
+
"packageManager": "pnpm@10.6.5"
|
|
81
|
+
}
|