@neo4j-ndl/react 4.25.8 → 4.25.9
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/lib/cjs/code-block/code-languages.js +24 -1
- package/lib/cjs/code-block/code-languages.js.map +1 -1
- package/lib/esm/code-block/code-languages.js +24 -1
- package/lib/esm/code-block/code-languages.js.map +1 -1
- package/lib/types/code-block/code-languages.d.ts +22 -0
- package/lib/types/code-block/code-languages.d.ts.map +1 -1
- package/package.json +1 -1
- package/skills/ndl-react/SKILL.md +2 -2
|
@@ -81,13 +81,36 @@ exports.Languages = [
|
|
|
81
81
|
'xml',
|
|
82
82
|
'yaml',
|
|
83
83
|
];
|
|
84
|
+
/**
|
|
85
|
+
* The bash grammar only recognizes `\w+` in flag names, so long flags
|
|
86
|
+
* like `--database-name` aren't highlighted as parameters.
|
|
87
|
+
* This wrapper expands the `parameter` pattern to support hyphens.
|
|
88
|
+
*
|
|
89
|
+
* Refractor uses a shared registry and skips grammars whose `displayName`
|
|
90
|
+
* is already registered. If another package has already registered `bash`,
|
|
91
|
+
* a wrapper named `bash` would be ignored. We give the wrapper its own name,
|
|
92
|
+
* register the original grammar only if `bash` is missing, and then patch
|
|
93
|
+
* whichever bash grammar is available. The patch is safe to apply more than
|
|
94
|
+
* once.
|
|
95
|
+
*/
|
|
96
|
+
const withBashParameterFix = (grammar) => Object.assign((prism) => {
|
|
97
|
+
var _a;
|
|
98
|
+
if (prism.languages.bash === undefined) {
|
|
99
|
+
grammar(prism);
|
|
100
|
+
}
|
|
101
|
+
const parameter = (_a = prism.languages.bash) === null || _a === void 0 ? void 0 : _a.parameter;
|
|
102
|
+
if (parameter !== undefined) {
|
|
103
|
+
parameter.pattern =
|
|
104
|
+
/(^|\s)-{1,2}(?:\w+:[+-]?)?\w[\w-]*(?:\.[\w-]+)*(?=[=\s]|$)/;
|
|
105
|
+
}
|
|
106
|
+
}, { displayName: `ndl-${grammar.displayName}` });
|
|
84
107
|
const loadLanguage = (language) => {
|
|
85
108
|
/* need to import the languages dynamically to reduce the bundle size and need to use a string literal for proper tree shaking */
|
|
86
109
|
switch (language) {
|
|
87
110
|
case 'asciidoc':
|
|
88
111
|
return Promise.resolve().then(() => __importStar(require('react-syntax-highlighter/dist/esm/languages/prism/asciidoc')));
|
|
89
112
|
case 'bash':
|
|
90
|
-
return Promise.resolve().then(() => __importStar(require('react-syntax-highlighter/dist/esm/languages/prism/bash')));
|
|
113
|
+
return Promise.resolve().then(() => __importStar(require('react-syntax-highlighter/dist/esm/languages/prism/bash'))).then((module) => ({ default: withBashParameterFix(module.default) }));
|
|
91
114
|
case 'c':
|
|
92
115
|
return Promise.resolve().then(() => __importStar(require('react-syntax-highlighter/dist/esm/languages/prism/c')));
|
|
93
116
|
case 'csharp':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-languages.js","sourceRoot":"","sources":["../../../src/code-block/code-languages.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,gJAAgJ;AACnI,QAAA,SAAS,GAAG;IACvB,UAAU;IACV,MAAM;IACN,GAAG;IACH,QAAQ;IACR,KAAK;IACL,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,IAAI;IACJ,SAAS;IACT,MAAM;IACN,SAAS;IACT,YAAY;IACZ,KAAK;IACL,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,OAAO;IACP,MAAM;IACN,KAAK;IACL,YAAY;IACZ,KAAK;IACL,MAAM;CACE,CAAC;
|
|
1
|
+
{"version":3,"file":"code-languages.js","sourceRoot":"","sources":["../../../src/code-block/code-languages.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n// Source for available languages: https://github.com/react-syntax-highlighter/react-syntax-highlighter/blob/master/AVAILABLE_LANGUAGES_PRISM.MD\nexport const Languages = [\n 'asciidoc',\n 'bash',\n 'c',\n 'csharp',\n 'css',\n 'css-extras',\n 'cypher',\n 'docker',\n 'json',\n 'go',\n 'graphql',\n 'java',\n 'javadoc',\n 'javascript',\n 'jsx',\n 'kotlin',\n 'php',\n 'python',\n 'regex',\n 'rust',\n 'sql',\n 'typescript',\n 'xml',\n 'yaml',\n] as const;\n\nexport type LanguageProp = (typeof Languages)[number];\n\n/**\n * The parts of the Prism instance that we need when working with a\n * refractor grammar. Since this package doesn't depend directly on\n * refractor's types, we only define the bits we use.\n */\nexport interface RefractorPrism {\n languages: {\n bash?: {\n parameter?: { pattern: RegExp };\n };\n };\n}\n\n/**\n * A refractor grammar registers itself on a Prism instance.\n * This type covers the parts of refractor's `Syntax` type that we use.\n */\nexport type RefractorGrammar = ((prism: RefractorPrism) => void) & {\n displayName: string;\n aliases?: string[];\n};\n\n/**\n * The bash grammar only recognizes `\\w+` in flag names, so long flags\n * like `--database-name` aren't highlighted as parameters.\n * This wrapper expands the `parameter` pattern to support hyphens.\n *\n * Refractor uses a shared registry and skips grammars whose `displayName`\n * is already registered. If another package has already registered `bash`,\n * a wrapper named `bash` would be ignored. We give the wrapper its own name,\n * register the original grammar only if `bash` is missing, and then patch\n * whichever bash grammar is available. The patch is safe to apply more than\n * once.\n */\nconst withBashParameterFix = (grammar: RefractorGrammar): RefractorGrammar =>\n Object.assign(\n (prism: RefractorPrism) => {\n if (prism.languages.bash === undefined) {\n grammar(prism);\n }\n const parameter = prism.languages.bash?.parameter;\n if (parameter !== undefined) {\n parameter.pattern =\n /(^|\\s)-{1,2}(?:\\w+:[+-]?)?\\w[\\w-]*(?:\\.[\\w-]+)*(?=[=\\s]|$)/;\n }\n },\n { displayName: `ndl-${grammar.displayName}` },\n );\n\nexport const loadLanguage = (language: LanguageProp) => {\n /* need to import the languages dynamically to reduce the bundle size and need to use a string literal for proper tree shaking */\n switch (language) {\n case 'asciidoc':\n return import('react-syntax-highlighter/dist/esm/languages/prism/asciidoc');\n case 'bash':\n return import('react-syntax-highlighter/dist/esm/languages/prism/bash').then(\n (module) => ({ default: withBashParameterFix(module.default) }),\n );\n case 'c':\n return import('react-syntax-highlighter/dist/esm/languages/prism/c');\n case 'csharp':\n return import('react-syntax-highlighter/dist/esm/languages/prism/csharp');\n case 'css':\n return import('react-syntax-highlighter/dist/esm/languages/prism/css');\n case 'css-extras':\n return import('react-syntax-highlighter/dist/esm/languages/prism/css-extras');\n case 'cypher':\n return import('react-syntax-highlighter/dist/esm/languages/prism/cypher');\n case 'docker':\n return import('react-syntax-highlighter/dist/esm/languages/prism/docker');\n case 'json':\n return import('react-syntax-highlighter/dist/esm/languages/prism/json');\n case 'go':\n return import('react-syntax-highlighter/dist/esm/languages/prism/go');\n case 'graphql':\n return import('react-syntax-highlighter/dist/esm/languages/prism/graphql');\n case 'java':\n return import('react-syntax-highlighter/dist/esm/languages/prism/java');\n case 'javadoc':\n return import('react-syntax-highlighter/dist/esm/languages/prism/javadoc');\n case 'javascript':\n return import('react-syntax-highlighter/dist/esm/languages/prism/javascript');\n case 'jsx':\n return import('react-syntax-highlighter/dist/esm/languages/prism/jsx');\n case 'kotlin':\n return import('react-syntax-highlighter/dist/esm/languages/prism/kotlin');\n case 'php':\n return import('react-syntax-highlighter/dist/esm/languages/prism/php');\n case 'python':\n return import('react-syntax-highlighter/dist/esm/languages/prism/python');\n case 'regex':\n return import('react-syntax-highlighter/dist/esm/languages/prism/regex');\n case 'rust':\n return import('react-syntax-highlighter/dist/esm/languages/prism/rust');\n case 'sql':\n return import('react-syntax-highlighter/dist/esm/languages/prism/sql');\n case 'typescript':\n return import('react-syntax-highlighter/dist/esm/languages/prism/typescript');\n case 'xml':\n return import('react-syntax-highlighter/dist/esm/languages/prism/xml-doc');\n case 'yaml':\n return import('react-syntax-highlighter/dist/esm/languages/prism/yaml');\n\n default:\n throw new Error(`Unsupported language: ${language}`);\n }\n};\n"]}
|
|
@@ -45,13 +45,36 @@ export const Languages = [
|
|
|
45
45
|
'xml',
|
|
46
46
|
'yaml',
|
|
47
47
|
];
|
|
48
|
+
/**
|
|
49
|
+
* The bash grammar only recognizes `\w+` in flag names, so long flags
|
|
50
|
+
* like `--database-name` aren't highlighted as parameters.
|
|
51
|
+
* This wrapper expands the `parameter` pattern to support hyphens.
|
|
52
|
+
*
|
|
53
|
+
* Refractor uses a shared registry and skips grammars whose `displayName`
|
|
54
|
+
* is already registered. If another package has already registered `bash`,
|
|
55
|
+
* a wrapper named `bash` would be ignored. We give the wrapper its own name,
|
|
56
|
+
* register the original grammar only if `bash` is missing, and then patch
|
|
57
|
+
* whichever bash grammar is available. The patch is safe to apply more than
|
|
58
|
+
* once.
|
|
59
|
+
*/
|
|
60
|
+
const withBashParameterFix = (grammar) => Object.assign((prism) => {
|
|
61
|
+
var _a;
|
|
62
|
+
if (prism.languages.bash === undefined) {
|
|
63
|
+
grammar(prism);
|
|
64
|
+
}
|
|
65
|
+
const parameter = (_a = prism.languages.bash) === null || _a === void 0 ? void 0 : _a.parameter;
|
|
66
|
+
if (parameter !== undefined) {
|
|
67
|
+
parameter.pattern =
|
|
68
|
+
/(^|\s)-{1,2}(?:\w+:[+-]?)?\w[\w-]*(?:\.[\w-]+)*(?=[=\s]|$)/;
|
|
69
|
+
}
|
|
70
|
+
}, { displayName: `ndl-${grammar.displayName}` });
|
|
48
71
|
export const loadLanguage = (language) => {
|
|
49
72
|
/* need to import the languages dynamically to reduce the bundle size and need to use a string literal for proper tree shaking */
|
|
50
73
|
switch (language) {
|
|
51
74
|
case 'asciidoc':
|
|
52
75
|
return import('react-syntax-highlighter/dist/esm/languages/prism/asciidoc');
|
|
53
76
|
case 'bash':
|
|
54
|
-
return import('react-syntax-highlighter/dist/esm/languages/prism/bash');
|
|
77
|
+
return import('react-syntax-highlighter/dist/esm/languages/prism/bash').then((module) => ({ default: withBashParameterFix(module.default) }));
|
|
55
78
|
case 'c':
|
|
56
79
|
return import('react-syntax-highlighter/dist/esm/languages/prism/c');
|
|
57
80
|
case 'csharp':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-languages.js","sourceRoot":"","sources":["../../../src/code-block/code-languages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,gJAAgJ;AAChJ,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU;IACV,MAAM;IACN,GAAG;IACH,QAAQ;IACR,KAAK;IACL,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,IAAI;IACJ,SAAS;IACT,MAAM;IACN,SAAS;IACT,YAAY;IACZ,KAAK;IACL,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,OAAO;IACP,MAAM;IACN,KAAK;IACL,YAAY;IACZ,KAAK;IACL,MAAM;CACE,CAAC;
|
|
1
|
+
{"version":3,"file":"code-languages.js","sourceRoot":"","sources":["../../../src/code-block/code-languages.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n *\n * Copyright (c) \"Neo4j\"\n * Neo4j Sweden AB [http://neo4j.com]\n *\n * This file is part of Neo4j.\n *\n * Neo4j is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */\n\n// Source for available languages: https://github.com/react-syntax-highlighter/react-syntax-highlighter/blob/master/AVAILABLE_LANGUAGES_PRISM.MD\nexport const Languages = [\n 'asciidoc',\n 'bash',\n 'c',\n 'csharp',\n 'css',\n 'css-extras',\n 'cypher',\n 'docker',\n 'json',\n 'go',\n 'graphql',\n 'java',\n 'javadoc',\n 'javascript',\n 'jsx',\n 'kotlin',\n 'php',\n 'python',\n 'regex',\n 'rust',\n 'sql',\n 'typescript',\n 'xml',\n 'yaml',\n] as const;\n\nexport type LanguageProp = (typeof Languages)[number];\n\n/**\n * The parts of the Prism instance that we need when working with a\n * refractor grammar. Since this package doesn't depend directly on\n * refractor's types, we only define the bits we use.\n */\nexport interface RefractorPrism {\n languages: {\n bash?: {\n parameter?: { pattern: RegExp };\n };\n };\n}\n\n/**\n * A refractor grammar registers itself on a Prism instance.\n * This type covers the parts of refractor's `Syntax` type that we use.\n */\nexport type RefractorGrammar = ((prism: RefractorPrism) => void) & {\n displayName: string;\n aliases?: string[];\n};\n\n/**\n * The bash grammar only recognizes `\\w+` in flag names, so long flags\n * like `--database-name` aren't highlighted as parameters.\n * This wrapper expands the `parameter` pattern to support hyphens.\n *\n * Refractor uses a shared registry and skips grammars whose `displayName`\n * is already registered. If another package has already registered `bash`,\n * a wrapper named `bash` would be ignored. We give the wrapper its own name,\n * register the original grammar only if `bash` is missing, and then patch\n * whichever bash grammar is available. The patch is safe to apply more than\n * once.\n */\nconst withBashParameterFix = (grammar: RefractorGrammar): RefractorGrammar =>\n Object.assign(\n (prism: RefractorPrism) => {\n if (prism.languages.bash === undefined) {\n grammar(prism);\n }\n const parameter = prism.languages.bash?.parameter;\n if (parameter !== undefined) {\n parameter.pattern =\n /(^|\\s)-{1,2}(?:\\w+:[+-]?)?\\w[\\w-]*(?:\\.[\\w-]+)*(?=[=\\s]|$)/;\n }\n },\n { displayName: `ndl-${grammar.displayName}` },\n );\n\nexport const loadLanguage = (language: LanguageProp) => {\n /* need to import the languages dynamically to reduce the bundle size and need to use a string literal for proper tree shaking */\n switch (language) {\n case 'asciidoc':\n return import('react-syntax-highlighter/dist/esm/languages/prism/asciidoc');\n case 'bash':\n return import('react-syntax-highlighter/dist/esm/languages/prism/bash').then(\n (module) => ({ default: withBashParameterFix(module.default) }),\n );\n case 'c':\n return import('react-syntax-highlighter/dist/esm/languages/prism/c');\n case 'csharp':\n return import('react-syntax-highlighter/dist/esm/languages/prism/csharp');\n case 'css':\n return import('react-syntax-highlighter/dist/esm/languages/prism/css');\n case 'css-extras':\n return import('react-syntax-highlighter/dist/esm/languages/prism/css-extras');\n case 'cypher':\n return import('react-syntax-highlighter/dist/esm/languages/prism/cypher');\n case 'docker':\n return import('react-syntax-highlighter/dist/esm/languages/prism/docker');\n case 'json':\n return import('react-syntax-highlighter/dist/esm/languages/prism/json');\n case 'go':\n return import('react-syntax-highlighter/dist/esm/languages/prism/go');\n case 'graphql':\n return import('react-syntax-highlighter/dist/esm/languages/prism/graphql');\n case 'java':\n return import('react-syntax-highlighter/dist/esm/languages/prism/java');\n case 'javadoc':\n return import('react-syntax-highlighter/dist/esm/languages/prism/javadoc');\n case 'javascript':\n return import('react-syntax-highlighter/dist/esm/languages/prism/javascript');\n case 'jsx':\n return import('react-syntax-highlighter/dist/esm/languages/prism/jsx');\n case 'kotlin':\n return import('react-syntax-highlighter/dist/esm/languages/prism/kotlin');\n case 'php':\n return import('react-syntax-highlighter/dist/esm/languages/prism/php');\n case 'python':\n return import('react-syntax-highlighter/dist/esm/languages/prism/python');\n case 'regex':\n return import('react-syntax-highlighter/dist/esm/languages/prism/regex');\n case 'rust':\n return import('react-syntax-highlighter/dist/esm/languages/prism/rust');\n case 'sql':\n return import('react-syntax-highlighter/dist/esm/languages/prism/sql');\n case 'typescript':\n return import('react-syntax-highlighter/dist/esm/languages/prism/typescript');\n case 'xml':\n return import('react-syntax-highlighter/dist/esm/languages/prism/xml-doc');\n case 'yaml':\n return import('react-syntax-highlighter/dist/esm/languages/prism/yaml');\n\n default:\n throw new Error(`Unsupported language: ${language}`);\n }\n};\n"]}
|
|
@@ -20,5 +20,27 @@
|
|
|
20
20
|
*/
|
|
21
21
|
export declare const Languages: readonly ["asciidoc", "bash", "c", "csharp", "css", "css-extras", "cypher", "docker", "json", "go", "graphql", "java", "javadoc", "javascript", "jsx", "kotlin", "php", "python", "regex", "rust", "sql", "typescript", "xml", "yaml"];
|
|
22
22
|
export type LanguageProp = (typeof Languages)[number];
|
|
23
|
+
/**
|
|
24
|
+
* The parts of the Prism instance that we need when working with a
|
|
25
|
+
* refractor grammar. Since this package doesn't depend directly on
|
|
26
|
+
* refractor's types, we only define the bits we use.
|
|
27
|
+
*/
|
|
28
|
+
export interface RefractorPrism {
|
|
29
|
+
languages: {
|
|
30
|
+
bash?: {
|
|
31
|
+
parameter?: {
|
|
32
|
+
pattern: RegExp;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* A refractor grammar registers itself on a Prism instance.
|
|
39
|
+
* This type covers the parts of refractor's `Syntax` type that we use.
|
|
40
|
+
*/
|
|
41
|
+
export type RefractorGrammar = ((prism: RefractorPrism) => void) & {
|
|
42
|
+
displayName: string;
|
|
43
|
+
aliases?: string[];
|
|
44
|
+
};
|
|
23
45
|
export declare const loadLanguage: (language: LanguageProp) => Promise<typeof import("react-syntax-highlighter/dist/esm/languages/prism/asciidoc")>;
|
|
24
46
|
//# sourceMappingURL=code-languages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-languages.d.ts","sourceRoot":"","sources":["../../../src/code-block/code-languages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,eAAO,MAAM,SAAS,wOAyBZ,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD,eAAO,MAAM,YAAY,GAAI,UAAU,YAAY,
|
|
1
|
+
{"version":3,"file":"code-languages.d.ts","sourceRoot":"","sources":["../../../src/code-block/code-languages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,eAAO,MAAM,SAAS,wOAyBZ,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE;QACT,IAAI,CAAC,EAAE;YACL,SAAS,CAAC,EAAE;gBAAE,OAAO,EAAE,MAAM,CAAA;aAAE,CAAC;SACjC,CAAC;KACH,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC,GAAG;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AA6BF,eAAO,MAAM,YAAY,GAAI,UAAU,YAAY,yFAyDlD,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: ndl-react
|
|
3
3
|
metadata:
|
|
4
4
|
package: '@neo4j-ndl/react'
|
|
5
|
-
version: '4.25.
|
|
5
|
+
version: '4.25.9'
|
|
6
6
|
description: >-
|
|
7
7
|
Build and edit UI with the Neo4j Needle React design system
|
|
8
8
|
(@neo4j-ndl/react). Use when adding, composing, or modifying Needle components
|
|
@@ -15,7 +15,7 @@ description: >-
|
|
|
15
15
|
|
|
16
16
|
# Neo4j Needle (@neo4j-ndl/react)
|
|
17
17
|
|
|
18
|
-
> 📌 Shipped with `@neo4j-ndl/react` v4.25.
|
|
18
|
+
> 📌 Shipped with `@neo4j-ndl/react` v4.25.9. Once installed into your repo (e.g. via
|
|
19
19
|
> `npx skills add`) this folder is detached from the package — the installed
|
|
20
20
|
> package (TypeScript types in `node_modules/@neo4j-ndl/react`) is the source of
|
|
21
21
|
> truth.
|