@quarto/jupyterlab-quarto 0.1.44 → 0.2.3

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.
Files changed (127) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +48 -15
  3. package/lib/__tests__/jupyterlab_quarto.spec.d.ts +3 -0
  4. package/lib/__tests__/jupyterlab_quarto.spec.js +9 -0
  5. package/lib/ast/ast.d.ts +2 -0
  6. package/lib/ast/ast.js +40 -0
  7. package/lib/const.d.ts +4 -0
  8. package/lib/const.js +11 -0
  9. package/lib/hooks/codemirror.d.ts +5 -0
  10. package/lib/hooks/codemirror.js +77 -0
  11. package/lib/index.d.ts +5 -0
  12. package/lib/index.js +61 -0
  13. package/lib/manager.d.ts +8 -0
  14. package/lib/manager.js +115 -0
  15. package/lib/plugins/callouts.d.ts +2 -0
  16. package/lib/plugins/callouts.js +210 -0
  17. package/lib/plugins/cites.d.ts +2 -0
  18. package/lib/plugins/cites.js +166 -0
  19. package/lib/plugins/decorator.d.ts +2 -0
  20. package/lib/plugins/decorator.js +58 -0
  21. package/lib/plugins/divs.d.ts +5 -0
  22. package/lib/plugins/divs.js +111 -0
  23. package/lib/plugins/figure-divs.d.ts +2 -0
  24. package/lib/plugins/figure-divs.js +54 -0
  25. package/lib/plugins/figures.d.ts +16 -0
  26. package/lib/plugins/figures.js +98 -0
  27. package/lib/plugins/gridtables/common/gridtables/GetCells.d.ts +7 -0
  28. package/lib/plugins/gridtables/common/gridtables/GetCells.js +43 -0
  29. package/lib/plugins/gridtables/common/gridtables/GetColumnWidths.d.ts +7 -0
  30. package/lib/plugins/gridtables/common/gridtables/GetColumnWidths.js +22 -0
  31. package/lib/plugins/gridtables/common/markdown-it/ColumnAlignments.d.ts +7 -0
  32. package/lib/plugins/gridtables/common/markdown-it/ColumnAlignments.js +12 -0
  33. package/lib/plugins/gridtables/common/markdown-it/EmitTable.d.ts +4 -0
  34. package/lib/plugins/gridtables/common/markdown-it/EmitTable.js +64 -0
  35. package/lib/plugins/gridtables/common/markdown-it/GetCharCodeAtStartOfLine.d.ts +8 -0
  36. package/lib/plugins/gridtables/common/markdown-it/GetCharCodeAtStartOfLine.js +17 -0
  37. package/lib/plugins/gridtables/common/markdown-it/GetLine.d.ts +2 -0
  38. package/lib/plugins/gridtables/common/markdown-it/GetLine.js +9 -0
  39. package/lib/plugins/gridtables/common/markdown-it/ParseTable.d.ts +3 -0
  40. package/lib/plugins/gridtables/common/markdown-it/ParseTable.js +152 -0
  41. package/lib/plugins/gridtables/common/markdown-it/ParseTableResult.d.ts +12 -0
  42. package/lib/plugins/gridtables/common/markdown-it/ParseTableResult.js +17 -0
  43. package/lib/plugins/gridtables/index.d.ts +1 -0
  44. package/lib/plugins/gridtables/index.js +10 -0
  45. package/lib/plugins/gridtables/interfaces/markdown-it/IState.d.ts +10 -0
  46. package/lib/plugins/gridtables/interfaces/markdown-it/IState.js +5 -0
  47. package/lib/plugins/gridtables/interfaces/markdown-it/IToken.d.ts +6 -0
  48. package/lib/plugins/gridtables/interfaces/markdown-it/IToken.js +5 -0
  49. package/lib/plugins/gridtables/interfaces/markdown-it/TRuleFunction.d.ts +3 -0
  50. package/lib/plugins/gridtables/interfaces/markdown-it/TRuleFunction.js +5 -0
  51. package/lib/plugins/gridtables/rules/gridtable.d.ts +3 -0
  52. package/lib/plugins/gridtables/rules/gridtable.js +25 -0
  53. package/lib/plugins/index.d.ts +15 -0
  54. package/lib/plugins/index.js +21 -0
  55. package/lib/plugins/math.d.ts +6 -0
  56. package/lib/plugins/math.js +179 -0
  57. package/lib/plugins/mermaid/index.d.ts +4 -0
  58. package/lib/plugins/mermaid/index.js +60 -0
  59. package/lib/plugins/shortcodes.d.ts +3 -0
  60. package/lib/plugins/shortcodes.js +32 -0
  61. package/lib/plugins/spans.d.ts +2 -0
  62. package/lib/plugins/spans.js +37 -0
  63. package/lib/plugins/table-captions.d.ts +2 -0
  64. package/lib/plugins/table-captions.js +72 -0
  65. package/lib/plugins/utils/html.d.ts +11 -0
  66. package/lib/plugins/utils/html.js +50 -0
  67. package/lib/plugins/utils/markdownit.d.ts +15 -0
  68. package/lib/plugins/utils/markdownit.js +46 -0
  69. package/lib/plugins/utils/tok.d.ts +7 -0
  70. package/lib/plugins/utils/tok.js +13 -0
  71. package/lib/plugins/yaml.d.ts +2 -0
  72. package/lib/plugins/yaml.js +330 -0
  73. package/lib/providers/attrs.d.ts +1 -0
  74. package/lib/providers/attrs.js +15 -0
  75. package/lib/providers/callouts.d.ts +1 -0
  76. package/lib/providers/callouts.js +15 -0
  77. package/lib/providers/cites.d.ts +1 -0
  78. package/lib/providers/cites.js +15 -0
  79. package/lib/providers/decorator.d.ts +1 -0
  80. package/lib/providers/decorator.js +15 -0
  81. package/lib/providers/deflist.d.ts +1 -0
  82. package/lib/providers/deflist.js +15 -0
  83. package/lib/providers/divs.d.ts +1 -0
  84. package/lib/providers/divs.js +27 -0
  85. package/lib/providers/figure-divs.d.ts +1 -0
  86. package/lib/providers/figure-divs.js +15 -0
  87. package/lib/providers/figures.d.ts +1 -0
  88. package/lib/providers/figures.js +15 -0
  89. package/lib/providers/footnotes.d.ts +1 -0
  90. package/lib/providers/footnotes.js +15 -0
  91. package/lib/providers/gridtables.d.ts +1 -0
  92. package/lib/providers/gridtables.js +15 -0
  93. package/lib/providers/math.d.ts +1 -0
  94. package/lib/providers/math.js +104 -0
  95. package/lib/providers/mermaid.d.ts +1 -0
  96. package/lib/providers/mermaid.js +17 -0
  97. package/lib/providers/provider.d.ts +3 -0
  98. package/lib/providers/provider.js +12 -0
  99. package/lib/providers/shortcodes.d.ts +1 -0
  100. package/lib/providers/shortcodes.js +15 -0
  101. package/lib/providers/spans.d.ts +1 -0
  102. package/lib/providers/spans.js +15 -0
  103. package/lib/providers/sub.d.ts +1 -0
  104. package/lib/providers/sub.js +15 -0
  105. package/lib/providers/sup.d.ts +1 -0
  106. package/lib/providers/sup.js +15 -0
  107. package/lib/providers/table-captions.d.ts +1 -0
  108. package/lib/providers/table-captions.js +15 -0
  109. package/lib/providers/tasklists.d.ts +1 -0
  110. package/lib/providers/tasklists.js +15 -0
  111. package/lib/providers/yaml.d.ts +1 -0
  112. package/lib/providers/yaml.js +15 -0
  113. package/lib/types.d.ts +43 -0
  114. package/lib/types.js +1 -0
  115. package/lib/widgets.d.ts +14 -0
  116. package/lib/widgets.js +57 -0
  117. package/package.json +105 -39
  118. package/style/base.css +34 -33
  119. package/style/index.css +1 -1
  120. package/schema/plugin.json +0 -8
  121. package/src/@types/markdown-it-deflist.d.ts +0 -10
  122. package/src/@types/markdown-it-footnote.d.ts +0 -10
  123. package/src/@types/markdown-it-gridtables.d.ts +0 -10
  124. package/src/@types/markdown-it-implicit-figures.d.ts +0 -10
  125. package/src/@types/markdown-it-sub.d.ts +0 -10
  126. package/src/@types/markdown-it-sup.d.ts +0 -10
  127. package/src/@types/markdown-it-task-lists.d.ts +0 -10
@@ -0,0 +1,12 @@
1
+ import { kMarkdownItMgr, kPackageNamespace } from '../const';
2
+ export function markdownItExtension(provider) {
3
+ return {
4
+ id: `${kPackageNamespace}:${provider.id}`,
5
+ autoStart: true,
6
+ requires: [kMarkdownItMgr],
7
+ activate: (_app, manager) => {
8
+ console.log(`Quarto MarkdownIt plugin ${provider.id} is activated!`);
9
+ manager.registerPlugin(provider);
10
+ }
11
+ };
12
+ }
@@ -0,0 +1 @@
1
+ export declare const shortcodes: import("@jupyterlab/application").JupyterFrontEndPlugin<void>;
@@ -0,0 +1,15 @@
1
+ /*
2
+ * shortcodes.ts
3
+ *
4
+ * Copyright (C) 2020-2023 Posit Software, PBC
5
+ *
6
+ */
7
+ import { shortcodePlugin } from '../plugins/shortcodes';
8
+ import { markdownItExtension } from './provider';
9
+ export const shortcodes = markdownItExtension({
10
+ id: '@quarto/shortcode',
11
+ title: 'Shortcodes',
12
+ plugin: async () => {
13
+ return [shortcodePlugin];
14
+ }
15
+ });
@@ -0,0 +1 @@
1
+ export declare const spans: import("@jupyterlab/application").JupyterFrontEndPlugin<void>;
@@ -0,0 +1,15 @@
1
+ /*
2
+ * spans.ts
3
+ *
4
+ * Copyright (C) 2020-2023 Posit Software, PBC
5
+ *
6
+ */
7
+ import { spansPlugin } from '../plugins/spans';
8
+ import { markdownItExtension } from './provider';
9
+ export const spans = markdownItExtension({
10
+ id: '@quarto/spans',
11
+ title: 'Pandoc bracketed spans',
12
+ plugin: async () => {
13
+ return [spansPlugin];
14
+ }
15
+ });
@@ -0,0 +1 @@
1
+ export declare const sub: import("@jupyterlab/application").JupyterFrontEndPlugin<void>;
@@ -0,0 +1,15 @@
1
+ /*
2
+ * sub.ts
3
+ *
4
+ * Copyright (C) 2020-2023 Posit Software, PBC
5
+ *
6
+ */
7
+ import { markdownItExtension } from './provider';
8
+ export const sub = markdownItExtension({
9
+ id: '@quarto/sub',
10
+ title: 'Subscript Text',
11
+ plugin: async () => {
12
+ const plugin = await import('markdown-it-sub');
13
+ return [plugin.default];
14
+ }
15
+ });
@@ -0,0 +1 @@
1
+ export declare const sup: import("@jupyterlab/application").JupyterFrontEndPlugin<void>;
@@ -0,0 +1,15 @@
1
+ /*
2
+ * sup.ts
3
+ *
4
+ * Copyright (C) 2020-2023 Posit Software, PBC
5
+ *
6
+ */
7
+ import { markdownItExtension } from './provider';
8
+ export const sup = markdownItExtension({
9
+ id: '@quarto/sup',
10
+ title: 'Superscript Text',
11
+ plugin: async () => {
12
+ const plugin = await import('markdown-it-sup');
13
+ return [plugin.default];
14
+ }
15
+ });
@@ -0,0 +1 @@
1
+ export declare const tableCaptions: import("@jupyterlab/application").JupyterFrontEndPlugin<void>;
@@ -0,0 +1,15 @@
1
+ /*
2
+ * table-captions.ts
3
+ *
4
+ * Copyright (C) 2020-2023 Posit Software, PBC
5
+ *
6
+ */
7
+ import { tableCaptionPlugin } from '../plugins/table-captions';
8
+ import { markdownItExtension } from './provider';
9
+ export const tableCaptions = markdownItExtension({
10
+ id: '@quarto/tableCaptions',
11
+ title: 'Quarto Table Captions',
12
+ plugin: async () => {
13
+ return [tableCaptionPlugin];
14
+ }
15
+ });
@@ -0,0 +1 @@
1
+ export declare const tasklists: import("@jupyterlab/application").JupyterFrontEndPlugin<void>;
@@ -0,0 +1,15 @@
1
+ /*
2
+ * tasklists.ts
3
+ *
4
+ * Copyright (C) 2020-2023 Posit Software, PBC
5
+ *
6
+ */
7
+ import { markdownItExtension } from './provider';
8
+ export const tasklists = markdownItExtension({
9
+ id: '@quarto/tasklists',
10
+ title: 'Task Lists',
11
+ plugin: async () => {
12
+ const plugin = await import('markdown-it-task-lists');
13
+ return [plugin.default];
14
+ }
15
+ });
@@ -0,0 +1 @@
1
+ export declare const yaml: import("@jupyterlab/application").JupyterFrontEndPlugin<void>;
@@ -0,0 +1,15 @@
1
+ /*
2
+ * yaml-block.ts
3
+ *
4
+ * Copyright (C) 2020-2023 Posit Software, PBC
5
+ *
6
+ */
7
+ import { yamlPlugin } from '../plugins/yaml';
8
+ import { markdownItExtension } from './provider';
9
+ export const yaml = markdownItExtension({
10
+ id: '@quarto/yaml',
11
+ title: 'Quarto Yaml',
12
+ plugin: async () => {
13
+ return [yamlPlugin];
14
+ }
15
+ });
package/lib/types.d.ts ADDED
@@ -0,0 +1,43 @@
1
+ import MarkdownIt from 'markdown-it';
2
+ import { RenderedMarkdown } from './widgets';
3
+ import { IRenderMime } from '@jupyterlab/rendermime-interfaces';
4
+ import { ISanitizer } from '@jupyterlab/apputils';
5
+ export interface MarkdownItManager {
6
+ registerPlugin(provider: MarkdownItPluginProvider): void;
7
+ getRenderer(widget: RenderedMarkdown, options?: MarkdownIt.Options): Promise<Renderer>;
8
+ }
9
+ export interface Ranked {
10
+ rank?: number;
11
+ }
12
+ export interface MarkdownItPlugin {
13
+ (md: MarkdownIt, ...params: any[]): void;
14
+ }
15
+ export interface Hook<A, V> extends Ranked {
16
+ run(arg: A): Promise<V>;
17
+ }
18
+ export interface MarkdownItPluginProvider extends Ranked {
19
+ id: string;
20
+ title: string;
21
+ plugin(): Promise<[MarkdownItPlugin, ...any]>;
22
+ options?(widget: RenderedMarkdown): Partial<MarkdownIt.Options>;
23
+ hooks?: {
24
+ preParse?: Hook<string, string>;
25
+ postRender?: Hook<HTMLElement, void>;
26
+ };
27
+ }
28
+ export interface RenderOptions {
29
+ host: HTMLElement;
30
+ source: string;
31
+ trusted: boolean;
32
+ sanitizer: ISanitizer;
33
+ resolver: IRenderMime.IResolver | null;
34
+ linkHandler: IRenderMime.ILinkHandler | null;
35
+ shouldTypeset: boolean;
36
+ renderer: Renderer;
37
+ latexTypesetter: IRenderMime.ILatexTypesetter | null;
38
+ }
39
+ export interface Renderer {
40
+ render(content: string): string;
41
+ preParse(node: string): Promise<string>;
42
+ postRender(node: HTMLElement): Promise<void>;
43
+ }
package/lib/types.js ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import { RenderedHTMLCommon } from '@jupyterlab/rendermime';
2
+ import { IRenderMime } from '@jupyterlab/rendermime-interfaces';
3
+ import { Message } from '@lumino/messaging';
4
+ import { MarkdownItManager, Renderer } from './types';
5
+ export declare class RenderedMarkdown extends RenderedHTMLCommon {
6
+ constructor(options: IRenderMime.IRendererOptions, manager: MarkdownItManager);
7
+ private markdownItManager;
8
+ render(model: IRenderMime.IMimeModel): Promise<void>;
9
+ renderer: Renderer | null;
10
+ /**
11
+ * A message handler invoked on an `'after-attach'` message.
12
+ */
13
+ onAfterAttach(msg: Message): void;
14
+ }
package/lib/widgets.js ADDED
@@ -0,0 +1,57 @@
1
+ /*
2
+ * widgets.ts
3
+ *
4
+ * Copyright (C) 2020-2023 Posit Software, PBC
5
+ *
6
+ */
7
+ import { RenderedHTMLCommon, renderHTML } from '@jupyterlab/rendermime';
8
+ // A mime rendered that renders Quarto Markdown
9
+ export class RenderedMarkdown extends RenderedHTMLCommon {
10
+ constructor(options, manager) {
11
+ super(options);
12
+ this.renderer = null;
13
+ this.addClass('quarto-rendered-md');
14
+ this.markdownItManager = manager;
15
+ }
16
+ // Renders a mime model
17
+ async render(model) {
18
+ if (this.renderer === null) {
19
+ this.renderer = await this.markdownItManager.getRenderer(this, {});
20
+ }
21
+ const { host, source, renderer, ...others } = {
22
+ host: this.node,
23
+ source: String(model.data[this.mimeType]),
24
+ trusted: model.trusted,
25
+ resolver: this.resolver,
26
+ sanitizer: this.sanitizer,
27
+ linkHandler: this.linkHandler,
28
+ shouldTypeset: this.isAttached,
29
+ renderer: this.renderer,
30
+ latexTypesetter: this.latexTypesetter
31
+ };
32
+ // Transform source
33
+ const markup = await renderer.preParse(source);
34
+ // Clear the content if there is no source.
35
+ if (!markup) {
36
+ host.textContent = '';
37
+ return;
38
+ }
39
+ // Render HTML.
40
+ await renderHTML({
41
+ host,
42
+ source: renderer.render(markup),
43
+ ...others,
44
+ shouldTypeset: false
45
+ });
46
+ await renderer.postRender(host);
47
+ }
48
+ /**
49
+ * A message handler invoked on an `'after-attach'` message.
50
+ */
51
+ onAfterAttach(msg) {
52
+ // Don't render math automatically
53
+ // if (this.latexTypesetter ) {
54
+ // this.latexTypesetter.typeset(this.node);
55
+ // }
56
+ }
57
+ }
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
+ "version": "0.2.3",
2
3
  "name": "@quarto/jupyterlab-quarto",
3
- "version": "0.1.44",
4
4
  "description": "Jupyter extension to enable authoring of Quarto documents within Jupyterlab Notebooks.",
5
5
  "keywords": [
6
6
  "jupyter",
7
7
  "jupyterlab",
8
8
  "jupyterlab-extension"
9
9
  ],
10
- "homepage": "https://github.com/quarto-dev/quarto",
10
+ "homepage": "https://github.com/quarto-dev/jupyterlab-quarto",
11
11
  "bugs": {
12
- "url": "https://github.com/quarto-dev/quarto/issues/"
12
+ "url": "https://github.com/quarto-dev/jupyterlab-quarto/issues"
13
13
  },
14
14
  "license": "BSD-3-Clause",
15
15
  "author": {
@@ -17,17 +17,15 @@
17
17
  "email": "charles@posit.co"
18
18
  },
19
19
  "files": [
20
- "src/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
21
20
  "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
22
- "style/**/*.{css,js,eot,gif,html,jpg,json,png,svg,woff2,ttf}",
23
- "schema/*.json"
21
+ "style/**/*.{css,js,eot,gif,html,jpg,json,png,svg,woff2,ttf}"
24
22
  ],
25
23
  "main": "lib/index.js",
26
24
  "types": "lib/index.d.ts",
27
25
  "style": "style/index.css",
28
26
  "repository": {
29
27
  "type": "git",
30
- "url": "https://github.com/quarto-dev/quarto/quarto.git"
28
+ "url": "https://github.com/quarto-dev/jupyterlab-quarto.git"
31
29
  },
32
30
  "scripts": {
33
31
  "build": "jlpm build:lib && jlpm build:labextension:dev",
@@ -39,7 +37,7 @@
39
37
  "clean": "jlpm clean:lib",
40
38
  "clean:lib": "rimraf lib tsconfig.tsbuildinfo",
41
39
  "clean:lintcache": "rimraf .eslintcache .stylelintcache",
42
- "clean:labextension": "rimraf jupyterlab-quarto/labextension jupyterlab-quarto/_version.py",
40
+ "clean:labextension": "rimraf jupyterlab_quarto/labextension jupyterlab_quarto/_version.py",
43
41
  "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache",
44
42
  "eslint": "jlpm eslint:check --fix",
45
43
  "eslint:check": "eslint . --cache --ext .ts,.tsx",
@@ -51,22 +49,14 @@
51
49
  "prettier:check": "jlpm prettier:base --check",
52
50
  "stylelint": "jlpm stylelint:check --fix",
53
51
  "stylelint:check": "stylelint --cache \"style/**/*.css\"",
54
- "test": "jest",
52
+ "test": "jest --coverage",
55
53
  "watch": "run-p watch:src watch:labextension",
56
- "watch:src": "tsc -w",
54
+ "watch:src": "tsc -w --sourceMap",
57
55
  "watch:labextension": "jupyter labextension watch ."
58
56
  },
59
57
  "dependencies": {
60
- "@jupyterlab/application": "^3.0.0",
61
- "@jupyterlab/apputils": "^3.0.0",
62
- "@jupyterlab/codemirror": "^3.0.0",
63
- "@jupyterlab/mainmenu": "^3.0.0",
64
- "@jupyterlab/rendermime": "^3.0.0",
65
- "@jupyterlab/rendermime-interfaces": "^3.0.0",
66
- "@jupyterlab/settingregistry": "^3.0.0",
67
- "@jupyterlab/ui-components": "^3.0.0",
68
- "@lumino/widgets": "^1.37.1",
69
- "js-yaml": "^4.1.0",
58
+ "@jupyterlab/application": "^4.0.0",
59
+ "@jupyterlab/codemirror": "^4.0.0",
70
60
  "markdown-it": "^12.2.3",
71
61
  "markdown-it-attrs": "^4.1.6",
72
62
  "markdown-it-deflist": "^2.0.3",
@@ -79,30 +69,38 @@
79
69
  "wcwidth": "^1.0.1"
80
70
  },
81
71
  "devDependencies": {
82
- "@jupyterlab/builder": "^3.1.0",
83
- "@types/codemirror": "5.60.5",
84
- "@types/jest": "^26.0.0",
72
+ "@jupyterlab/builder": "^4.0.0",
73
+ "@jupyterlab/testutils": "^4.0.0",
74
+ "@types/codemirror": "^5.60.8",
75
+ "@types/d3": "^7.4.0",
76
+ "@types/dompurify": "^3.0.2",
77
+ "@types/jest": "^29.2.0",
78
+ "@types/js-yaml": "^4.0.5",
79
+ "@types/json-schema": "^7.0.11",
85
80
  "@types/markdown-it": "^12.2.3",
86
81
  "@types/markdown-it-attrs": "^4.1.0",
87
82
  "@types/mermaid": "^9.1.0",
83
+ "@types/react": "^18.0.26",
88
84
  "@types/wcwidth": "^1.0.0",
89
- "@typescript-eslint/eslint-plugin": "^4.8.1",
90
- "@typescript-eslint/parser": "^4.8.1",
91
- "eslint": "^7.14.0",
92
- "eslint-config-prettier": "^6.15.0",
93
- "eslint-plugin-prettier": "^3.1.4",
94
- "jest": "^26.0.0",
95
- "jest-environment-jsdom": "^26.0.0",
85
+ "@typescript-eslint/eslint-plugin": "^5.55.0",
86
+ "@typescript-eslint/parser": "^5.55.0",
87
+ "css-loader": "^6.7.1",
88
+ "eslint": "^8.36.0",
89
+ "eslint-config-prettier": "^8.7.0",
90
+ "eslint-plugin-prettier": "^4.2.1",
91
+ "jest": "^29.2.0",
96
92
  "npm-run-all": "^4.1.5",
97
- "prettier": "^2.1.1",
98
- "rimraf": "^3.0.2",
99
- "stylelint": "^14.3.0",
93
+ "prettier": "^2.8.7",
94
+ "rimraf": "^4.4.1",
95
+ "source-map-loader": "^1.0.2",
96
+ "style-loader": "^3.3.1",
97
+ "stylelint": "^14.9.1",
100
98
  "stylelint-config-prettier": "^9.0.4",
101
- "stylelint-config-recommended": "^6.0.0",
102
- "stylelint-config-standard": "~24.0.0",
99
+ "stylelint-config-recommended": "^8.0.0",
100
+ "stylelint-config-standard": "^26.0.0",
103
101
  "stylelint-prettier": "^2.0.0",
104
- "ts-jest": "^26.0.0",
105
- "typescript": "^4.9.4"
102
+ "typescript": "~5.0.2",
103
+ "yjs": "^13.5.0"
106
104
  },
107
105
  "sideEffects": [
108
106
  "style/*.css",
@@ -114,12 +112,80 @@
114
112
  },
115
113
  "jupyterlab": {
116
114
  "extension": true,
117
- "outputDir": "jupyterlab-quarto/labextension",
118
- "schemaDir": "schema",
115
+ "outputDir": "jupyterlab_quarto/labextension",
119
116
  "disabledExtensions": [
120
117
  "jupyterlab-myst:plugin",
121
118
  "jupyterlab-myst:legacyPlugin",
122
119
  "jupyterlab-myst:executor"
123
120
  ]
121
+ },
122
+ "eslintIgnore": [
123
+ "node_modules",
124
+ "dist",
125
+ "coverage",
126
+ "**/*.d.ts",
127
+ "tests",
128
+ "**/__tests__",
129
+ "ui-tests"
130
+ ],
131
+ "eslintConfig": {
132
+ "extends": [
133
+ "eslint:recommended",
134
+ "plugin:@typescript-eslint/eslint-recommended",
135
+ "plugin:@typescript-eslint/recommended",
136
+ "plugin:prettier/recommended"
137
+ ],
138
+ "parser": "@typescript-eslint/parser",
139
+ "parserOptions": {
140
+ "project": "tsconfig.json",
141
+ "sourceType": "module"
142
+ },
143
+ "plugins": [
144
+ "@typescript-eslint"
145
+ ],
146
+ "rules": {
147
+ "@typescript-eslint/no-unused-vars": [
148
+ "warn",
149
+ {
150
+ "args": "none"
151
+ }
152
+ ],
153
+ "@typescript-eslint/no-explicit-any": "off",
154
+ "@typescript-eslint/no-namespace": "off",
155
+ "@typescript-eslint/no-use-before-define": "off",
156
+ "@typescript-eslint/quotes": [
157
+ "error",
158
+ "single",
159
+ {
160
+ "avoidEscape": true,
161
+ "allowTemplateLiterals": false
162
+ }
163
+ ],
164
+ "curly": [
165
+ "error",
166
+ "all"
167
+ ],
168
+ "eqeqeq": "error",
169
+ "prefer-arrow-callback": "error"
170
+ }
171
+ },
172
+ "prettier": {
173
+ "singleQuote": true,
174
+ "trailingComma": "none",
175
+ "arrowParens": "avoid",
176
+ "endOfLine": "auto"
177
+ },
178
+ "stylelint": {
179
+ "extends": [
180
+ "stylelint-config-recommended",
181
+ "stylelint-config-standard",
182
+ "stylelint-prettier/recommended"
183
+ ],
184
+ "rules": {
185
+ "property-no-vendor-prefix": null,
186
+ "selector-no-vendor-prefix": null,
187
+ "value-no-vendor-prefix": null,
188
+ "selector-class-pattern": null
189
+ }
124
190
  }
125
191
  }