@ng-doc/builder 16.5.1 → 16.6.0
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/engine/.cache/apps/ng-doc/src/app/pages/docs/features/cache/ng-doc.page.js +1 -1
- package/engine/.cache/apps/ng-doc/src/app/pages/docs/features/keywords/ng-doc.page.js +1 -1
- package/engine/.cache/apps/ng-doc/src/app/pages/docs/features/keywords-loaders/ng-doc.page.js +1 -1
- package/engine/.cache/apps/ng-doc/src/app/pages/docs/features/markdown/ng-doc.page.js +41 -0
- package/helpers/create-builder-context.js +5 -5
- package/helpers/create-builder-context.js.map +1 -1
- package/helpers/format-code.js +2 -2
- package/helpers/format-code.js.map +1 -1
- package/helpers/get-component-asset.js +1 -1
- package/helpers/get-component-asset.js.map +1 -1
- package/helpers/marked.js +18 -38
- package/helpers/marked.js.map +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/interfaces/code-block-options.d.ts +9 -0
- package/interfaces/code-block-options.js +3 -0
- package/interfaces/code-block-options.js.map +1 -0
- package/interfaces/configuration.d.ts +8 -0
- package/interfaces/index.d.ts +1 -0
- package/interfaces/index.js +1 -0
- package/interfaces/index.js.map +1 -1
- package/package.json +3 -3
- package/parsers/index.d.ts +1 -0
- package/parsers/index.js +5 -0
- package/parsers/index.js.map +1 -0
- package/parsers/parse-code-block-params.d.ts +7 -0
- package/parsers/parse-code-block-params.js +61 -0
- package/parsers/parse-code-block-params.js.map +1 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// apps/ng-doc/src/app/pages/docs/features/markdown/apps/ng-doc/src/app/pages/docs/features/markdown/ng-doc.page.ts
|
|
20
|
+
var ng_doc_page_exports = {};
|
|
21
|
+
__export(ng_doc_page_exports, {
|
|
22
|
+
default: () => ng_doc_page_default
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(ng_doc_page_exports);
|
|
25
|
+
|
|
26
|
+
// apps/ng-doc/src/app/pages/docs/features/ng-doc.category.ts
|
|
27
|
+
var FeaturesCategory = {
|
|
28
|
+
title: "Features",
|
|
29
|
+
order: 5
|
|
30
|
+
};
|
|
31
|
+
var ng_doc_category_default = FeaturesCategory;
|
|
32
|
+
|
|
33
|
+
// apps/ng-doc/src/app/pages/docs/features/markdown/apps/ng-doc/src/app/pages/docs/features/markdown/ng-doc.page.ts
|
|
34
|
+
var MarkdownPage = {
|
|
35
|
+
title: `Markdown`,
|
|
36
|
+
mdFile: "./index.md",
|
|
37
|
+
category: ng_doc_category_default,
|
|
38
|
+
order: 1,
|
|
39
|
+
keyword: "FeaturesMarkdown"
|
|
40
|
+
};
|
|
41
|
+
var ng_doc_page_default = MarkdownPage;
|
|
@@ -13,16 +13,16 @@ const load_config_1 = require("./load-config");
|
|
|
13
13
|
* @param project
|
|
14
14
|
*/
|
|
15
15
|
function createBuilderContext(targetOptions, options, context) {
|
|
16
|
-
var _a, _b, _c, _d, _e;
|
|
17
|
-
const buildPath = path.join(context.workspaceRoot, '.ng-doc', (_b = (_a = context.target) === null || _a === void 0 ? void 0 : _a.project) !== null && _b !== void 0 ? _b : 'app');
|
|
16
|
+
var _a, _b, _c, _d, _e, _f;
|
|
18
17
|
const projectRoot = path.dirname(targetOptions['main']);
|
|
19
18
|
const [configPath, config] = (0, load_config_1.loadConfig)(projectRoot);
|
|
19
|
+
const buildPath = path.join(context.workspaceRoot, (_a = config.outDir) !== null && _a !== void 0 ? _a : '', '.ng-doc', (_c = (_b = context.target) === null || _b === void 0 ? void 0 : _b.project) !== null && _c !== void 0 ? _c : 'app');
|
|
20
20
|
return {
|
|
21
|
-
tsConfig: (
|
|
21
|
+
tsConfig: (_d = config === null || config === void 0 ? void 0 : config.tsConfig) !== null && _d !== void 0 ? _d : String(targetOptions['tsConfig']),
|
|
22
22
|
config,
|
|
23
23
|
context,
|
|
24
|
-
inlineStyleLanguage: (
|
|
25
|
-
pagesPaths: ((
|
|
24
|
+
inlineStyleLanguage: (_e = targetOptions === null || targetOptions === void 0 ? void 0 : targetOptions['inlineStyleLanguage']) !== null && _e !== void 0 ? _e : 'CSS',
|
|
25
|
+
pagesPaths: ((_f = config.pages) === null || _f === void 0 ? void 0 : _f.length) ? (0, core_1.asArray)(config.pages) : [projectRoot],
|
|
26
26
|
assetsPath: path.join(buildPath, 'assets'),
|
|
27
27
|
cachedFiles: [configPath],
|
|
28
28
|
buildPath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-builder-context.js","sourceRoot":"","sources":["../../../../libs/builder/helpers/create-builder-context.ts"],"names":[],"mappings":";;;;AAEA,uCAAqD;AACrD,mDAA6B;AAG7B,+CAAyC;AAEzC;;;;;;GAMG;AACH,SAAgB,oBAAoB,CACnC,aAA8B,EAC9B,OAAoB,EACpB,OAAuB;;IAEvB,MAAM,
|
|
1
|
+
{"version":3,"file":"create-builder-context.js","sourceRoot":"","sources":["../../../../libs/builder/helpers/create-builder-context.ts"],"names":[],"mappings":";;;;AAEA,uCAAqD;AACrD,mDAA6B;AAG7B,+CAAyC;AAEzC;;;;;;GAMG;AACH,SAAgB,oBAAoB,CACnC,aAA8B,EAC9B,OAAoB,EACpB,OAAuB;;IAEvB,MAAM,WAAW,GAAW,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAW,CAAC,CAAC;IAC1E,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAiC,IAAA,wBAAU,EAAC,WAAW,CAAC,CAAC;IACnF,MAAM,SAAS,GAAW,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAA,MAAM,CAAC,MAAM,mCAAI,EAAE,EAAE,SAAS,EAAE,MAAA,MAAA,OAAO,CAAC,MAAM,0CAAE,OAAO,mCAAI,KAAK,CAAC,CAAC;IAE7H,OAAO;QACN,QAAQ,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,mCAAI,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM;QACN,OAAO;QACP,mBAAmB,EAAE,MAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,qBAAqB,CAAoB,mCAAI,KAAK;QACxF,UAAU,EAAE,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,MAAM,EAAC,CAAC,CAAC,IAAA,cAAO,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QACxE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;QAC1C,WAAW,EAAE,CAAC,UAAU,CAAC;QACzB,SAAS;QACT,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;QACpC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;KAC1C,CAAC;AACH,CAAC;AArBD,oDAqBC"}
|
package/helpers/format-code.js
CHANGED
|
@@ -8,10 +8,10 @@ exports.formatCode = void 0;
|
|
|
8
8
|
* @param {NgDocCodeType} codeType Type of code
|
|
9
9
|
* @returns {string} Formatted code
|
|
10
10
|
*/
|
|
11
|
-
function formatCode(code, codeType =
|
|
11
|
+
function formatCode(code, codeType = 'TypeScript') {
|
|
12
12
|
try {
|
|
13
13
|
const parser = getPrettierParserFromCodeType(codeType);
|
|
14
|
-
return require('prettier').format(code,
|
|
14
|
+
return require('prettier').format(code, { parser });
|
|
15
15
|
}
|
|
16
16
|
catch (e) {
|
|
17
17
|
return code;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-code.js","sourceRoot":"","sources":["../../../../libs/builder/helpers/format-code.ts"],"names":[],"mappings":";;;AAGA;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,IAAY,EAAE,WAA0B,YAAY;IAC9E,IAAI;QACH,MAAM,MAAM,GAAkC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAEtF,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"format-code.js","sourceRoot":"","sources":["../../../../libs/builder/helpers/format-code.ts"],"names":[],"mappings":";;;AAGA;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,IAAY,EAAE,WAA0B,YAAY;IAC9E,IAAI;QACH,MAAM,MAAM,GAAkC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAEtF,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;KAClD;IAAC,OAAO,CAAC,EAAE;QACX,OAAO,IAAI,CAAC;KACZ;AACF,CAAC;AARD,gCAQC;AAED;;;;;GAKG;AACH,SAAS,6BAA6B,CAAC,QAAuB;IAC7D,QAAQ,QAAQ,EAAE;QACjB,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACV,OAAO,KAAK,CAAC;QACd;YACC,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC;KAC/B;AACF,CAAC"}
|
|
@@ -34,7 +34,7 @@ function getComponentAsset(classDeclaration, inlineStyleLang, outDir) {
|
|
|
34
34
|
return {
|
|
35
35
|
[(_a = classDeclaration.getName()) !== null && _a !== void 0 ? _a : '']: assets.map((asset, i) => {
|
|
36
36
|
var _a;
|
|
37
|
-
const code = (0, format_code_1.formatCode)(asset.output, asset.type);
|
|
37
|
+
const code = (0, format_code_1.formatCode)(asset.output, asset.type).trim();
|
|
38
38
|
return Object.assign(Object.assign({}, asset), { code, output: (0, nunjucks_1.renderTemplate)('./code.html.nunj', {
|
|
39
39
|
context: {
|
|
40
40
|
code,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-component-asset.js","sourceRoot":"","sources":["../../../../libs/builder/helpers/get-component-asset.ts"],"names":[],"mappings":";;;;AACA,uCAAqD;AACrD,mDAA6B;AAG7B,iDAAkD;AAGlD,uCAAgD;AAChD,iDAA2C;AAC3C,+CAAyC;AACzC,mCAA8B;AAE9B;;;;;GAKG;AACH,SAAgB,iBAAiB,CAChC,gBAAkC,EAClC,eAA+B,EAC/B,MAAc;;IAEd,MAAM,aAAa,GAA0B,IAAA,+BAAqB,EAAC,gBAAgB,CAAC,CAAC;IAErF,IAAI,aAAa,EAAE;QAClB,MAAM,QAAQ,GAAW,gBAAgB,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC;QACxE,MAAM,OAAO,GAAW,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE/C,MAAM,MAAM,GAA0C;YACrD,oCAAoC;YACpC,GAAG,IAAA,0BAAW,EAAC,QAAQ,EAAE,eAAe,CAAC;YACzC,gDAAgD;YAChD,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,0BAAW,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjH,+CAA+C;YAC/C,GAAG,IAAA,cAAO,EAAC,aAAa,CAAC,SAAS,CAAC;iBACjC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,IAAA,0BAAW,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC;iBACrF,IAAI,EAAE;SACR,CAAC;QAEF,OAAO;YACN,CAAC,MAAA,gBAAgB,CAAC,OAAO,EAAE,mCAAI,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAqC,EAAE,CAAS,EAAE,EAAE;;gBACnG,MAAM,IAAI,GAAW,IAAA,wBAAU,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"get-component-asset.js","sourceRoot":"","sources":["../../../../libs/builder/helpers/get-component-asset.ts"],"names":[],"mappings":";;;;AACA,uCAAqD;AACrD,mDAA6B;AAG7B,iDAAkD;AAGlD,uCAAgD;AAChD,iDAA2C;AAC3C,+CAAyC;AACzC,mCAA8B;AAE9B;;;;;GAKG;AACH,SAAgB,iBAAiB,CAChC,gBAAkC,EAClC,eAA+B,EAC/B,MAAc;;IAEd,MAAM,aAAa,GAA0B,IAAA,+BAAqB,EAAC,gBAAgB,CAAC,CAAC;IAErF,IAAI,aAAa,EAAE;QAClB,MAAM,QAAQ,GAAW,gBAAgB,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC;QACxE,MAAM,OAAO,GAAW,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE/C,MAAM,MAAM,GAA0C;YACrD,oCAAoC;YACpC,GAAG,IAAA,0BAAW,EAAC,QAAQ,EAAE,eAAe,CAAC;YACzC,gDAAgD;YAChD,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,0BAAW,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjH,+CAA+C;YAC/C,GAAG,IAAA,cAAO,EAAC,aAAa,CAAC,SAAS,CAAC;iBACjC,GAAG,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,IAAA,0BAAW,EAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC;iBACrF,IAAI,EAAE;SACR,CAAC;QAEF,OAAO;YACN,CAAC,MAAA,gBAAgB,CAAC,OAAO,EAAE,mCAAI,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAqC,EAAE,CAAS,EAAE,EAAE;;gBACnG,MAAM,IAAI,GAAW,IAAA,wBAAU,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEjE,uCACI,KAAK,KACR,IAAI,EACJ,MAAM,EAAE,IAAA,yBAAc,EAAC,kBAAkB,EAAE;wBAC1C,OAAO,EAAE;4BACR,IAAI;4BACJ,IAAI,EAAE,KAAK,CAAC,IAAI;yBAChB;qBACD,CAAC,CAAC,IAAI,EAAE,EACT,UAAU,EAAE,IAAA,aAAK,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAA,gBAAgB,CAAC,OAAO,EAAE,mCAAI,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAC3G;YACH,CAAC,CAAC;SACF,CAAC;KACF;IAED,OAAO,EAAE,CAAC;AACX,CAAC;AA1CD,8CA0CC"}
|
package/helpers/marked.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.marked = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const builder_1 = require("@ng-doc/builder");
|
|
5
6
|
const core_1 = require("@ng-doc/core");
|
|
6
7
|
const fs = tslib_1.__importStar(require("fs"));
|
|
7
8
|
const marked_1 = require("marked");
|
|
@@ -18,19 +19,24 @@ const WARNING_ANCHOR = '<p><strong>Warning</strong>';
|
|
|
18
19
|
*/
|
|
19
20
|
function marked(markdown, page) {
|
|
20
21
|
const renderer = {
|
|
21
|
-
code(code,
|
|
22
|
-
var _a
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
22
|
+
code(code, lang) {
|
|
23
|
+
var _a;
|
|
24
|
+
const { language, file, fileName, highlightedLines, fileLineStart, fileLineEnd } = (0, builder_1.parseCodeBlockParams)((_a = lang === null || lang === void 0 ? void 0 : lang.trim()) !== null && _a !== void 0 ? _a : 'typescript');
|
|
25
|
+
// file path regexp
|
|
26
|
+
if (file && page) {
|
|
27
|
+
const relativeFilePath = path.join(page.mdFolder, file);
|
|
28
|
+
const fileContent = fs
|
|
29
|
+
.readFileSync(relativeFilePath !== null && relativeFilePath !== void 0 ? relativeFilePath : '', 'utf8')
|
|
30
|
+
.split(node_os_1.EOL)
|
|
31
|
+
.slice(fileLineStart, fileLineEnd)
|
|
32
|
+
.join(node_os_1.EOL);
|
|
33
|
+
page.dependencies.add(relativeFilePath);
|
|
34
|
+
code = fileContent;
|
|
32
35
|
}
|
|
33
|
-
return `<pre><code class="language-${
|
|
36
|
+
return `<pre><code class="language-${language !== null && language !== void 0 ? language : 'ts'}"
|
|
37
|
+
lang="${language}"
|
|
38
|
+
fileName="${fileName !== null && fileName !== void 0 ? fileName : ''}"
|
|
39
|
+
highlightedLines="${JSON.stringify(highlightedLines !== null && highlightedLines !== void 0 ? highlightedLines : [])}">${(0, core_1.escapeHtml)(code)}</code></pre>`;
|
|
34
40
|
},
|
|
35
41
|
blockquote(quote) {
|
|
36
42
|
if (new RegExp(`^${NOTE_ANCHOR}`).test(quote)) {
|
|
@@ -46,30 +52,4 @@ function marked(markdown, page) {
|
|
|
46
52
|
return marked_1.marked.parse(markdown, { headerIds: false });
|
|
47
53
|
}
|
|
48
54
|
exports.marked = marked;
|
|
49
|
-
/**
|
|
50
|
-
*
|
|
51
|
-
* @param str
|
|
52
|
-
* @param contextFolder
|
|
53
|
-
*/
|
|
54
|
-
function loadFile(str, contextFolder) {
|
|
55
|
-
var _a;
|
|
56
|
-
const res = /^file=(?<path>.+?)(?:(?:#(?:L(?<from>\d+)(?<dash>-)?)?)(?:L(?<to>\d+))?)?$/.exec(str);
|
|
57
|
-
if (!res || !res.groups || !res.groups['path']) {
|
|
58
|
-
throw new Error(`Unable to parse file path ${str}`);
|
|
59
|
-
}
|
|
60
|
-
const groupPath = res.groups['path'].replace(/"/g, '');
|
|
61
|
-
const relativeFilePath = path.join(contextFolder, groupPath);
|
|
62
|
-
const file = fs.readFileSync(relativeFilePath !== null && relativeFilePath !== void 0 ? relativeFilePath : '', 'utf8');
|
|
63
|
-
const fileLines = file.split(node_os_1.EOL);
|
|
64
|
-
const fromLine = res.groups['from'] ? parseInt(res.groups['from'], 10) : 1;
|
|
65
|
-
const hasDash = (_a = !!res.groups['dash']) !== null && _a !== void 0 ? _a : false;
|
|
66
|
-
let toLine = fileLines.length;
|
|
67
|
-
if (res.groups['to']) {
|
|
68
|
-
toLine = parseInt(res.groups['to'], 10);
|
|
69
|
-
}
|
|
70
|
-
if (!hasDash && res.groups['from']) {
|
|
71
|
-
toLine = fromLine;
|
|
72
|
-
}
|
|
73
|
-
return [relativeFilePath, fileLines.slice(fromLine - 1, toLine).join(node_os_1.EOL)];
|
|
74
|
-
}
|
|
75
55
|
//# sourceMappingURL=marked.js.map
|
package/helpers/marked.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marked.js","sourceRoot":"","sources":["../../../../libs/builder/helpers/marked.ts"],"names":[],"mappings":";;;;AAAA,uCAAwC;AACxC,+CAAyB;AACzB,mCAA8C;AAC9C,qCAA4B;AAC5B,mDAA6B;AAI7B,MAAM,WAAW,GAAW,0BAA0B,CAAC;AACvD,MAAM,cAAc,GAAW,6BAA6B,CAAC;AAE7D;;;;;;GAMG;AACH,SAAgB,MAAM,CAAC,QAAgB,EAAE,IAAsB;IAC9D,MAAM,QAAQ,GAAgC;QAC7C,IAAI,CAAC,IAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"marked.js","sourceRoot":"","sources":["../../../../libs/builder/helpers/marked.ts"],"names":[],"mappings":";;;;AAAA,6CAA2E;AAC3E,uCAAwC;AACxC,+CAAyB;AACzB,mCAA8C;AAC9C,qCAA4B;AAC5B,mDAA6B;AAI7B,MAAM,WAAW,GAAW,0BAA0B,CAAC;AACvD,MAAM,cAAc,GAAW,6BAA6B,CAAC;AAE7D;;;;;;GAMG;AACH,SAAgB,MAAM,CAAC,QAAgB,EAAE,IAAsB;IAC9D,MAAM,QAAQ,GAAgC;QAC7C,IAAI,CAAC,IAAY,EAAE,IAAwB;;YAC1C,MAAM,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAC,GAC7E,IAAA,8BAAoB,EAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,mCAAI,YAAY,CAAC,CAAC;YAEpD,mBAAmB;YAEnB,IAAI,IAAI,IAAI,IAAI,EAAE;gBACjB,MAAM,gBAAgB,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAChE,MAAM,WAAW,GAAW,EAAE;qBAC5B,YAAY,CAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,EAAE,MAAM,CAAC;qBAC5C,KAAK,CAAC,aAAG,CAAC;qBACV,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC;qBACjC,IAAI,CAAC,aAAG,CAAC,CAAC;gBAEZ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAExC,IAAI,GAAG,WAAW,CAAC;aACnB;YAED,OAAO,8BAA8B,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,IAAI;eACzC,QAAQ;mBACJ,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE;2BACN,IAAI,CAAC,SAAS,CAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,CAAC,KAAK,IAAA,iBAAU,EAAC,IAAI,CAAC,eAAe,CAAC;QACpG,CAAC;QACD,UAAU,CAAC,KAAa;YACvB,IAAI,IAAI,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC9C,OAAO,kCAAkC,KAAK,CAAC,OAAO,CACrD,IAAI,MAAM,CAAC,IAAI,WAAW,MAAM,CAAC,EACjC,KAAK,CACL,sBAAsB,CAAC;aACxB;YAED,IAAI,IAAI,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACjD,OAAO,qCAAqC,KAAK,CAAC,OAAO,CACxD,IAAI,MAAM,CAAC,IAAI,cAAc,MAAM,CAAC,EACpC,KAAK,CACL,sBAAsB,CAAC;aACxB;YAED,OAAO,sBAAsB,KAAK,sBAAsB,CAAC;QAC1D,CAAC;KACD,CAAC;IAEF,eAAY,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;IAE7B,OAAO,eAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;AACzD,CAAC;AAhDD,wBAgDC"}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -5,5 +5,6 @@ tslib_1.__exportStar(require("./browser"), exports);
|
|
|
5
5
|
tslib_1.__exportStar(require("./dev-server"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./engine"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./interfaces"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./parsers"), exports);
|
|
8
9
|
tslib_1.__exportStar(require("./types"), exports);
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/builder/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,uDAA6B;AAC7B,mDAAyB;AACzB,uDAA6B;AAC7B,kDAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/builder/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,uDAA6B;AAC7B,mDAAyB;AACzB,uDAA6B;AAC7B,oDAA0B;AAC1B,kDAAwB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-block-options.js","sourceRoot":"","sources":["../../../../libs/builder/interfaces/code-block-options.ts"],"names":[],"mappings":""}
|
|
@@ -18,6 +18,14 @@ export interface NgDocConfiguration {
|
|
|
18
18
|
* List of paths to your documentation location (e.g. "src/app")
|
|
19
19
|
*/
|
|
20
20
|
pages?: string | string[];
|
|
21
|
+
/**
|
|
22
|
+
* The path to the output directory, where the documentation will be generated. (e.g. 'src')
|
|
23
|
+
*
|
|
24
|
+
* Remember that if you change this path, you also need to change the following:
|
|
25
|
+
* - Change the path to the `@ng-doc/generated` directory in `tsconfig.json`
|
|
26
|
+
* - Change the path to the `.ng-doc/app-name/assets` folder in `angular.json`
|
|
27
|
+
*/
|
|
28
|
+
outDir?: string;
|
|
21
29
|
/**
|
|
22
30
|
* Route prefix uses to add some additional route segment before documentation pages,
|
|
23
31
|
* you can use it e.g. to wrap documentation with additional route like "docs".
|
package/interfaces/index.d.ts
CHANGED
package/interfaces/index.js
CHANGED
|
@@ -4,6 +4,7 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
tslib_1.__exportStar(require("./action-output"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./asset"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./builder-context"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./code-block-options"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./configuration"), exports);
|
|
8
9
|
tslib_1.__exportStar(require("./entity-keyword"), exports);
|
|
9
10
|
tslib_1.__exportStar(require("./output"), exports);
|
package/interfaces/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/builder/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,kDAAwB;AACxB,4DAAkC;AAClC,0DAAgC;AAChC,2DAAiC;AACjC,mDAAyB;AACzB,wDAA8B;AAC9B,gEAAsC;AACtC,6DAAmC;AACnC,wDAA8B;AAC9B,mDAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/builder/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,kDAAwB;AACxB,4DAAkC;AAClC,+DAAqC;AACrC,0DAAgC;AAChC,2DAAiC;AACjC,mDAAyB;AACzB,wDAA8B;AAC9B,gEAAsC;AACtC,6DAAmC;AACnC,wDAA8B;AAC9B,mDAAyB"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ng-doc/builder",
|
|
3
|
-
"version": "16.
|
|
3
|
+
"version": "16.6.0",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"builders": "./builders.json",
|
|
6
6
|
"schematics": "./schematics/collection.json",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@ng-doc/core": "16.
|
|
9
|
-
"@ng-doc/utils": "16.
|
|
8
|
+
"@ng-doc/core": "16.6.0",
|
|
9
|
+
"@ng-doc/utils": "16.6.0",
|
|
10
10
|
"@angular-devkit/architect": ">=0.1600.0",
|
|
11
11
|
"chokidar": "3.5.3",
|
|
12
12
|
"minimatch": "9.0.1",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './parse-code-block-params';
|
package/parsers/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/builder/parsers/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseCodeBlockParams = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const P = tslib_1.__importStar(require("parsimmon"));
|
|
6
|
+
/**
|
|
7
|
+
* Code block options parser
|
|
8
|
+
*
|
|
9
|
+
* @param options - Options string to parse
|
|
10
|
+
*/
|
|
11
|
+
function parseCodeBlockParams(options) {
|
|
12
|
+
const parser = P.createLanguage({
|
|
13
|
+
language: () => P.regexp(/[a-zA-Z]+/)
|
|
14
|
+
.skip(P.optWhitespace)
|
|
15
|
+
.map((language) => ({ language })),
|
|
16
|
+
content: () => P.regexp(/[a-zA-Z0-9\\./\-_]+/).wrap(P.string('"'), P.string('"')),
|
|
17
|
+
number: () => P.digits.map(Number),
|
|
18
|
+
// File Parsers
|
|
19
|
+
fileLineNumber: () => P.string('L').then(P.digits).map(Number),
|
|
20
|
+
fileLineRange: (p) => P.seqMap(P.string('#')
|
|
21
|
+
.then(p['fileLineNumber'])
|
|
22
|
+
.map((num) => num - 1), P.string('-').then(p['fileLineNumber'].fallback(undefined)), (fileLineStart, fileLineEnd) => ({ fileLineStart, fileLineEnd })),
|
|
23
|
+
fileLineStart: (p) => P.string('#')
|
|
24
|
+
.then(p['fileLineNumber'])
|
|
25
|
+
.map((num) => num - 1)
|
|
26
|
+
.map((fileLineStart) => ({ fileLineStart, fileLineEnd: fileLineStart + 1 })),
|
|
27
|
+
lineParams: (p) => p['fileLineRange'].or(p['fileLineStart']).fallback({}),
|
|
28
|
+
filePath: (p) => P.string('file')
|
|
29
|
+
.then(P.string('='))
|
|
30
|
+
.then(p['content'])
|
|
31
|
+
.map((file) => ({ file })),
|
|
32
|
+
highlightedLinesRange: (p) => P.seqMap(p['number'].skip(P.string('-')), p['number'], (start, end) => [...Array(end + 1).keys()].slice(start - end - 1)),
|
|
33
|
+
// Main Parsers
|
|
34
|
+
lineNumbers: () => P.string('lineNumbers').map(() => ({ lineNumbers: true })),
|
|
35
|
+
fileName: (p) => P.string('fileName')
|
|
36
|
+
.then(P.string('='))
|
|
37
|
+
.then(p['content'])
|
|
38
|
+
.map((fileName) => ({ fileName })),
|
|
39
|
+
file: (p) => P.seq(p['filePath'], p['lineParams'].map(({ fileLineStart, fileLineEnd }) => ({ fileLineStart, fileLineEnd }))).map(([file, lineParams]) => (Object.assign(Object.assign({}, file), lineParams))),
|
|
40
|
+
highlightedLines: (p) => p['highlightedLinesRange']
|
|
41
|
+
.or(p['number'])
|
|
42
|
+
.sepBy(P.string(',').then(P.optWhitespace))
|
|
43
|
+
.wrap(P.string('{'), P.string('}'))
|
|
44
|
+
.map((a) => Array.from(new Set(a.flat())))
|
|
45
|
+
.map((highlightedLines) => ({ highlightedLines })),
|
|
46
|
+
// Combined Parsers
|
|
47
|
+
paramsParser: (p) => p['lineNumbers'].or(p['fileName']).or(p['file']).or(p['highlightedLines']).sepBy(P.whitespace),
|
|
48
|
+
languageWithParamsParser: (p) => P.seq(p['language'], p['paramsParser']).map((v) => v.flat()),
|
|
49
|
+
});
|
|
50
|
+
let result = parser['paramsParser'].parse(options);
|
|
51
|
+
if (result.status) {
|
|
52
|
+
return result.value.reduce((acc, cur) => (Object.assign(Object.assign({}, acc), cur)), {});
|
|
53
|
+
}
|
|
54
|
+
result = parser['languageWithParamsParser'].parse(options);
|
|
55
|
+
if (result.status) {
|
|
56
|
+
return result.value.reduce((acc, cur) => (Object.assign(Object.assign({}, acc), cur)), {});
|
|
57
|
+
}
|
|
58
|
+
throw new Error(`Unable to parse code block options: "${options}"`);
|
|
59
|
+
}
|
|
60
|
+
exports.parseCodeBlockParams = parseCodeBlockParams;
|
|
61
|
+
//# sourceMappingURL=parse-code-block-params.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-code-block-params.js","sourceRoot":"","sources":["../../../../libs/builder/parsers/parse-code-block-params.ts"],"names":[],"mappings":"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"}
|