@open-rap/compiler 0.0.0-stage → 0.1.1
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/LICENSE +21 -0
- package/README.md +21 -2
- package/dist/agent/server.d.ts +35 -0
- package/dist/agent/server.js +408 -0
- package/dist/agent/server.js.map +1 -0
- package/dist/authoring/abapgit.d.ts +38 -0
- package/dist/authoring/abapgit.js +242 -0
- package/dist/authoring/abapgit.js.map +1 -0
- package/dist/authoring/catalog.d.ts +48 -0
- package/dist/authoring/catalog.js +117 -0
- package/dist/authoring/catalog.js.map +1 -0
- package/dist/authoring/floorplan.d.ts +28 -0
- package/dist/authoring/floorplan.js +31 -0
- package/dist/authoring/floorplan.js.map +1 -0
- package/dist/authoring/generate.d.ts +57 -0
- package/dist/authoring/generate.js +630 -0
- package/dist/authoring/generate.js.map +1 -0
- package/dist/authoring/mcp.d.ts +15 -0
- package/dist/authoring/mcp.js +52 -0
- package/dist/authoring/mcp.js.map +1 -0
- package/dist/authoring/new.d.ts +35 -0
- package/dist/authoring/new.js +389 -0
- package/dist/authoring/new.js.map +1 -0
- package/dist/bdef/ast.d.ts +249 -0
- package/dist/bdef/ast.js +3 -0
- package/dist/bdef/ast.js.map +1 -0
- package/dist/bdef/lexer.d.ts +105 -0
- package/dist/bdef/lexer.js +148 -0
- package/dist/bdef/lexer.js.map +1 -0
- package/dist/bdef/parser.d.ts +22 -0
- package/dist/bdef/parser.js +1012 -0
- package/dist/bdef/parser.js.map +1 -0
- package/dist/build.d.ts +26 -0
- package/dist/build.js +62 -0
- package/dist/build.js.map +1 -0
- package/dist/cds/adapter.d.ts +91 -0
- package/dist/cds/adapter.js +381 -0
- package/dist/cds/adapter.js.map +1 -0
- package/dist/cds/expression-ast.d.ts +65 -0
- package/dist/cds/expression-ast.js +330 -0
- package/dist/cds/expression-ast.js.map +1 -0
- package/dist/cli.d.ts +9 -0
- package/dist/cli.js +485 -0
- package/dist/cli.js.map +1 -0
- package/dist/dcl/parser.d.ts +59 -0
- package/dist/dcl/parser.js +338 -0
- package/dist/dcl/parser.js.map +1 -0
- package/dist/ddic/catalog.d.ts +17 -0
- package/dist/ddic/catalog.js +211 -0
- package/dist/ddic/catalog.js.map +1 -0
- package/dist/ddic/cds-types.d.ts +47 -0
- package/dist/ddic/cds-types.js +131 -0
- package/dist/ddic/cds-types.js.map +1 -0
- package/dist/ddic/table-source.d.ts +70 -0
- package/dist/ddic/table-source.js +500 -0
- package/dist/ddic/table-source.js.map +1 -0
- package/dist/ddic/xml.d.ts +65 -0
- package/dist/ddic/xml.js +201 -0
- package/dist/ddic/xml.js.map +1 -0
- package/dist/dev.d.ts +128 -0
- package/dist/dev.js +434 -0
- package/dist/dev.js.map +1 -0
- package/dist/diagnostics.d.ts +33 -0
- package/dist/diagnostics.js +53 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/gen/abap/derived-types.d.ts +26 -0
- package/dist/gen/abap/derived-types.js +323 -0
- package/dist/gen/abap/derived-types.js.map +1 -0
- package/dist/gen/abap/eml.d.ts +118 -0
- package/dist/gen/abap/eml.js +362 -0
- package/dist/gen/abap/eml.js.map +1 -0
- package/dist/gen/abap/enums.d.ts +13 -0
- package/dist/gen/abap/enums.js +74 -0
- package/dist/gen/abap/enums.js.map +1 -0
- package/dist/gen/abap/framework-http.d.ts +14 -0
- package/dist/gen/abap/framework-http.js +1049 -0
- package/dist/gen/abap/framework-http.js.map +1 -0
- package/dist/gen/abap/framework-query.d.ts +14 -0
- package/dist/gen/abap/framework-query.js +225 -0
- package/dist/gen/abap/framework-query.js.map +1 -0
- package/dist/gen/abap/framework-utils.d.ts +29 -0
- package/dist/gen/abap/framework-utils.js +3707 -0
- package/dist/gen/abap/framework-utils.js.map +1 -0
- package/dist/gen/abap/framework.d.ts +12 -0
- package/dist/gen/abap/framework.js +480 -0
- package/dist/gen/abap/framework.js.map +1 -0
- package/dist/gen/abap/generate.d.ts +40 -0
- package/dist/gen/abap/generate.js +238 -0
- package/dist/gen/abap/generate.js.map +1 -0
- package/dist/gen/abap/rewrite.d.ts +82 -0
- package/dist/gen/abap/rewrite.js +957 -0
- package/dist/gen/abap/rewrite.js.map +1 -0
- package/dist/gen/abap/shadow.d.ts +25 -0
- package/dist/gen/abap/shadow.js +175 -0
- package/dist/gen/abap/shadow.js.map +1 -0
- package/dist/gen/abap/tokens.d.ts +33 -0
- package/dist/gen/abap/tokens.js +87 -0
- package/dist/gen/abap/tokens.js.map +1 -0
- package/dist/gen/app/index.d.ts +25 -0
- package/dist/gen/app/index.js +322 -0
- package/dist/gen/app/index.js.map +1 -0
- package/dist/gen/csdl.d.ts +11 -0
- package/dist/gen/csdl.js +562 -0
- package/dist/gen/csdl.js.map +1 -0
- package/dist/gen/deploy.d.ts +12 -0
- package/dist/gen/deploy.js +53 -0
- package/dist/gen/deploy.js.map +1 -0
- package/dist/gen/docs/index.d.ts +35 -0
- package/dist/gen/docs/index.js +267 -0
- package/dist/gen/docs/index.js.map +1 -0
- package/dist/gen/docs/markdown.d.ts +23 -0
- package/dist/gen/docs/markdown.js +187 -0
- package/dist/gen/docs/markdown.js.map +1 -0
- package/dist/gen/docs/site.d.ts +17 -0
- package/dist/gen/docs/site.js +106 -0
- package/dist/gen/docs/site.js.map +1 -0
- package/dist/gen/keycloak.d.ts +21 -0
- package/dist/gen/keycloak.js +90 -0
- package/dist/gen/keycloak.js.map +1 -0
- package/dist/gen/launchpad/index.d.ts +48 -0
- package/dist/gen/launchpad/index.js +302 -0
- package/dist/gen/launchpad/index.js.map +1 -0
- package/dist/gen/launchpad/ui.d.ts +14 -0
- package/dist/gen/launchpad/ui.js +350 -0
- package/dist/gen/launchpad/ui.js.map +1 -0
- package/dist/gen/mcp.d.ts +23 -0
- package/dist/gen/mcp.js +244 -0
- package/dist/gen/mcp.js.map +1 -0
- package/dist/gen/sql-expressions.d.ts +12 -0
- package/dist/gen/sql-expressions.js +136 -0
- package/dist/gen/sql-expressions.js.map +1 -0
- package/dist/gen/sql.d.ts +38 -0
- package/dist/gen/sql.js +612 -0
- package/dist/gen/sql.js.map +1 -0
- package/dist/gen/ui/index.d.ts +7 -0
- package/dist/gen/ui/index.js +27 -0
- package/dist/gen/ui/index.js.map +1 -0
- package/dist/gen/ui/layout.d.ts +230 -0
- package/dist/gen/ui/layout.js +511 -0
- package/dist/gen/ui/layout.js.map +1 -0
- package/dist/gen/ui/static.d.ts +55 -0
- package/dist/gen/ui/static.js +2901 -0
- package/dist/gen/ui/static.js.map +1 -0
- package/dist/gen/ui/views.d.ts +10 -0
- package/dist/gen/ui/views.js +511 -0
- package/dist/gen/ui/views.js.map +1 -0
- package/dist/gen/vendor.d.ts +23 -0
- package/dist/gen/vendor.js +68 -0
- package/dist/gen/vendor.js.map +1 -0
- package/dist/gen/xml.d.ts +9 -0
- package/dist/gen/xml.js +42 -0
- package/dist/gen/xml.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/input/project.d.ts +50 -0
- package/dist/input/project.js +128 -0
- package/dist/input/project.js.map +1 -0
- package/dist/ir/access-controls.d.ts +11 -0
- package/dist/ir/access-controls.js +148 -0
- package/dist/ir/access-controls.js.map +1 -0
- package/dist/ir/authorizations.d.ts +25 -0
- package/dist/ir/authorizations.js +178 -0
- package/dist/ir/authorizations.js.map +1 -0
- package/dist/ir/behaviors.d.ts +16 -0
- package/dist/ir/behaviors.js +548 -0
- package/dist/ir/behaviors.js.map +1 -0
- package/dist/ir/builder.d.ts +20 -0
- package/dist/ir/builder.js +505 -0
- package/dist/ir/builder.js.map +1 -0
- package/dist/ir/config.d.ts +25 -0
- package/dist/ir/config.js +130 -0
- package/dist/ir/config.js.map +1 -0
- package/dist/ir/dictionary.d.ts +54 -0
- package/dist/ir/dictionary.js +328 -0
- package/dist/ir/dictionary.js.map +1 -0
- package/dist/ir/entities.d.ts +58 -0
- package/dist/ir/entities.js +676 -0
- package/dist/ir/entities.js.map +1 -0
- package/dist/ir/expressions.d.ts +33 -0
- package/dist/ir/expressions.js +327 -0
- package/dist/ir/expressions.js.map +1 -0
- package/dist/ir/handlers.d.ts +63 -0
- package/dist/ir/handlers.js +398 -0
- package/dist/ir/handlers.js.map +1 -0
- package/dist/ir/number-ranges.d.ts +24 -0
- package/dist/ir/number-ranges.js +74 -0
- package/dist/ir/number-ranges.js.map +1 -0
- package/dist/ir/seed.d.ts +23 -0
- package/dist/ir/seed.js +78 -0
- package/dist/ir/seed.js.map +1 -0
- package/dist/ir/service.d.ts +21 -0
- package/dist/ir/service.js +96 -0
- package/dist/ir/service.js.map +1 -0
- package/dist/launchpad/config.d.ts +47 -0
- package/dist/launchpad/config.js +321 -0
- package/dist/launchpad/config.js.map +1 -0
- package/dist/launchpad/workspace.d.ts +48 -0
- package/dist/launchpad/workspace.js +166 -0
- package/dist/launchpad/workspace.js.map +1 -0
- package/dist/srvd/parser.d.ts +36 -0
- package/dist/srvd/parser.js +193 -0
- package/dist/srvd/parser.js.map +1 -0
- package/dist/standard/data.d.ts +18 -0
- package/dist/standard/data.js +534 -0
- package/dist/standard/data.js.map +1 -0
- package/dist/standard/index.d.ts +36 -0
- package/dist/standard/index.js +507 -0
- package/dist/standard/index.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.js +4 -0
- package/dist/version.js.map +1 -0
- package/docs/AGENTS.md +79 -0
- package/docs/ANNOTATIONS.md +76 -0
- package/docs/DECISIONS.md +1554 -0
- package/docs/DEPLOYMENT.md +113 -0
- package/docs/DIAGNOSTICS.md +116 -0
- package/docs/FEATURES.md +287 -0
- package/docs/GUIDE.md +560 -0
- package/docs/KNOWN_GAPS.md +216 -0
- package/docs/MCP.md +84 -0
- package/docs/PLAN.md +690 -0
- package/docs/README.md +148 -0
- package/docs/REMOTE_APIS.md +121 -0
- package/docs/ROADMAP.md +35 -0
- package/docs/UTILITIES.md +95 -0
- package/package.json +49 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csdl.js","sourceRoot":"","sources":["../../src/gen/csdl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deployment files of a generated application or launchpad (decision D50): a Cloud Foundry
|
|
3
|
+
* manifest (SAP BTP), next to the Dockerfile. The runtime reads the route and the bound
|
|
4
|
+
* PostgreSQL service of Cloud Foundry by itself (VCAP_APPLICATION, VCAP_SERVICES).
|
|
5
|
+
*/
|
|
6
|
+
export declare function cloudFoundryManifest(name: string, options: {
|
|
7
|
+
database: boolean;
|
|
8
|
+
memory?: string;
|
|
9
|
+
}): string;
|
|
10
|
+
export declare const CFIGNORE = "node_modules\ndata\n.env\n*.log\n";
|
|
11
|
+
/** The section "Deploy" of the README of a generated application or launchpad. */
|
|
12
|
+
export declare function deploySection(name: string, kind: "application" | "launchpad"): string;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deployment files of a generated application or launchpad (decision D50): a Cloud Foundry
|
|
3
|
+
* manifest (SAP BTP), next to the Dockerfile. The runtime reads the route and the bound
|
|
4
|
+
* PostgreSQL service of Cloud Foundry by itself (VCAP_APPLICATION, VCAP_SERVICES).
|
|
5
|
+
*/
|
|
6
|
+
export function cloudFoundryManifest(name, options) {
|
|
7
|
+
return `# Cloud Foundry (SAP BTP, Cloud Foundry runtime): cf push
|
|
8
|
+
# The runtime reads its route (PUBLIC_URL) and the bound PostgreSQL service (DATABASE_URL) by itself.
|
|
9
|
+
# Secrets never go in this file: cf set-env ${name} SESSION_SECRET <random>, OIDC_CLIENT_SECRET <secret>.
|
|
10
|
+
applications:
|
|
11
|
+
- name: ${name}
|
|
12
|
+
memory: ${options.memory ?? "512M"}
|
|
13
|
+
disk_quota: 1G
|
|
14
|
+
instances: 1
|
|
15
|
+
buildpacks:
|
|
16
|
+
- nodejs_buildpack
|
|
17
|
+
command: npm start
|
|
18
|
+
health-check-type: http
|
|
19
|
+
health-check-http-endpoint: /health
|
|
20
|
+
env:
|
|
21
|
+
NODE_ENV: production
|
|
22
|
+
# an OpenID Connect identity provider: SAP Cloud Identity Services, Keycloak, Microsoft Entra ID…
|
|
23
|
+
AUTH_MODE: oidc
|
|
24
|
+
OIDC_ISSUER: https://<tenant>.accounts.ondemand.com
|
|
25
|
+
OIDC_CLIENT_ID: <client id>
|
|
26
|
+
${options.database ? ` services:
|
|
27
|
+
# cf create-service postgresql-db <plan> ${name}-db
|
|
28
|
+
- ${name}-db
|
|
29
|
+
` : ""}`;
|
|
30
|
+
}
|
|
31
|
+
export const CFIGNORE = `node_modules
|
|
32
|
+
data
|
|
33
|
+
.env
|
|
34
|
+
*.log
|
|
35
|
+
`;
|
|
36
|
+
/** The section "Deploy" of the README of a generated application or launchpad. */
|
|
37
|
+
export function deploySection(name, kind) {
|
|
38
|
+
return `
|
|
39
|
+
## Deploy
|
|
40
|
+
|
|
41
|
+
The ${kind} runs anywhere Node.js 22 or a container runs. Outside \`localhost\`, set at least
|
|
42
|
+
\`PUBLIC_URL\` (the address users see, for the OIDC redirects), \`AUTH_MODE=oidc\` with an identity
|
|
43
|
+
provider, a random \`SESSION_SECRET\`${kind === "application" ? " and a PostgreSQL database (`DATABASE_URL`, `DATABASE_CA` for its certificate)" : ""}.
|
|
44
|
+
|
|
45
|
+
- **Docker** (any VM, Kubernetes, Azure Container Apps, Google Cloud Run…): \`docker build -t ${name} .\`
|
|
46
|
+
then run the image with the variables of \`.env.example\`.
|
|
47
|
+
- **SAP BTP, Cloud Foundry**: ${kind === "application" ? `\`cf create-service postgresql-db <plan> ${name}-db\`, ` : ""}fill the
|
|
48
|
+
identity provider in \`manifest.yml\`, \`cf set-env ${name} SESSION_SECRET <random>\`, then \`cf push\`.
|
|
49
|
+
The route and the bound database are read from \`VCAP_APPLICATION\` and \`VCAP_SERVICES\`.
|
|
50
|
+
- **A machine of your network**: \`npm install && npm start\` (\`HOST=0.0.0.0\` by default).
|
|
51
|
+
`;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=deploy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/gen/deploy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,OAA+C;IAChG,OAAO;;8CAEqC,IAAI;;YAEtC,IAAI;cACF,OAAO,CAAC,MAAM,IAAI,MAAM;;;;;;;;;;;;;;EAcpC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;iDAC4B,IAAI;UAC3C,IAAI;CACb,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACT,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;CAIvB,CAAC;AAEF,kFAAkF;AAClF,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,IAAiC;IAC3E,OAAO;;;MAGH,IAAI;;uCAE6B,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,gFAAgF,CAAC,CAAC,CAAC,EAAE;;gGAErD,IAAI;;gCAEpE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,4CAA4C,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;wDAC/D,IAAI;;;CAG3D,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The documentation app of `rapt dev` (decision D49): the documentation of Open RAP Runtime (README,
|
|
3
|
+
* guide, features, diagnostics, decisions…) as an OpenUI5 application of the development
|
|
4
|
+
* launchpad, with a search. The pages are rendered from Markdown when the app is built.
|
|
5
|
+
*/
|
|
6
|
+
import { type RenderOptions } from "./markdown.js";
|
|
7
|
+
export interface DocPage {
|
|
8
|
+
id: string;
|
|
9
|
+
title: string;
|
|
10
|
+
/** The file it comes from (README.md, docs/GUIDE.md…). */
|
|
11
|
+
file: string;
|
|
12
|
+
html: string;
|
|
13
|
+
/** Plain text, for the search. */
|
|
14
|
+
text: string;
|
|
15
|
+
headings: Array<{
|
|
16
|
+
id: string;
|
|
17
|
+
title: string;
|
|
18
|
+
level: number;
|
|
19
|
+
}>;
|
|
20
|
+
}
|
|
21
|
+
/** The folder of the documentation: copied next to the compiled compiler, or that of the repository. */
|
|
22
|
+
export declare function documentationDir(): string | undefined;
|
|
23
|
+
/** The Markdown of the documentation, page by page (for `rapt agent`, D64). */
|
|
24
|
+
export declare function documentationSources(dir?: string | undefined): Array<{
|
|
25
|
+
id: string;
|
|
26
|
+
file: string;
|
|
27
|
+
title: string;
|
|
28
|
+
markdown: string;
|
|
29
|
+
}>;
|
|
30
|
+
export declare function documentationPages(dir?: string | undefined, options?: RenderOptions): DocPage[];
|
|
31
|
+
/** The files of the documentation app (`docs/` of the development build). */
|
|
32
|
+
export declare function generateDocsApp(pages?: DocPage[]): Array<{
|
|
33
|
+
path: string;
|
|
34
|
+
content: string;
|
|
35
|
+
}>;
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The documentation app of `rapt dev` (decision D49): the documentation of Open RAP Runtime (README,
|
|
3
|
+
* guide, features, diagnostics, decisions…) as an OpenUI5 application of the development
|
|
4
|
+
* launchpad, with a search. The pages are rendered from Markdown when the app is built.
|
|
5
|
+
*/
|
|
6
|
+
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
7
|
+
import path from "node:path";
|
|
8
|
+
import { fileURLToPath } from "node:url";
|
|
9
|
+
import { SHELL_STYLE } from "../ui/static.js";
|
|
10
|
+
import { headingId, pageId, renderMarkdown } from "./markdown.js";
|
|
11
|
+
/** The order of the pages; the others follow, by name. */
|
|
12
|
+
const ORDER = ["README.md", "GUIDE.md", "FEATURES.md", "ANNOTATIONS.md", "DIAGNOSTICS.md", "DEPLOYMENT.md", "MCP.md", "UTILITIES.md", "REMOTE_APIS.md", "KNOWN_GAPS.md", "ROADMAP.md", "AGENTS.md", "DECISIONS.md", "PLAN.md"];
|
|
13
|
+
/** The folder of the documentation: copied next to the compiled compiler, or that of the repository. */
|
|
14
|
+
export function documentationDir() {
|
|
15
|
+
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
16
|
+
for (const candidate of [path.join(here, "..", "..", "..", "docs"), path.join(here, "..", "..", "..", "..", "..", "docs")]) {
|
|
17
|
+
if (existsSync(path.join(candidate, "FEATURES.md"))) {
|
|
18
|
+
return candidate;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
/** The Markdown files of the documentation folder (and, in the repository, the files of its root). */
|
|
24
|
+
function markdownFiles(dir) {
|
|
25
|
+
const files = readdirSync(dir).filter((f) => f.toLowerCase().endsWith(".md")).map((f) => path.join(dir, f));
|
|
26
|
+
const root = path.dirname(dir);
|
|
27
|
+
for (const name of ["README.md", "KNOWN_GAPS.md", "AGENTS.md", "PLAN.md"]) {
|
|
28
|
+
if (!files.some((f) => path.basename(f) === name) && existsSync(path.join(root, name)) && existsSync(path.join(root, "pnpm-workspace.yaml"))) {
|
|
29
|
+
files.push(path.join(root, name));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const rank = (f) => {
|
|
33
|
+
const i = ORDER.indexOf(path.basename(f));
|
|
34
|
+
return i < 0 ? ORDER.length : i;
|
|
35
|
+
};
|
|
36
|
+
return files.sort((a, b) => rank(a) - rank(b) || path.basename(a).localeCompare(path.basename(b)));
|
|
37
|
+
}
|
|
38
|
+
/** The Markdown of the documentation, page by page (for `rapt agent`, D64). */
|
|
39
|
+
export function documentationSources(dir = documentationDir()) {
|
|
40
|
+
if (dir === undefined) {
|
|
41
|
+
return [];
|
|
42
|
+
}
|
|
43
|
+
return markdownFiles(dir).map((file) => {
|
|
44
|
+
const markdown = readFileSync(file, "utf8");
|
|
45
|
+
const name = path.basename(file);
|
|
46
|
+
const first = /^#\s+(.+)$/m.exec(markdown)?.[1]?.replace(/`/g, "");
|
|
47
|
+
return { id: pageId(name), file: name, title: name === "README.md" ? "Open RAP Runtime" : (first ?? name), markdown };
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
export function documentationPages(dir = documentationDir(), options = {}) {
|
|
51
|
+
if (dir === undefined) {
|
|
52
|
+
return [];
|
|
53
|
+
}
|
|
54
|
+
return markdownFiles(dir).map((file) => {
|
|
55
|
+
const markdown = readFileSync(file, "utf8");
|
|
56
|
+
const headings = [...markdown.matchAll(/^(#{1,3})\s+(.+)$/gm)].map((m) => ({ id: `anchor-${headingId(m[2] ?? "")}`, title: (m[2] ?? "").replace(/`/g, ""), level: m[1]?.length ?? 1 }));
|
|
57
|
+
const name = path.basename(file);
|
|
58
|
+
return {
|
|
59
|
+
id: pageId(name),
|
|
60
|
+
title: name === "README.md" ? "Open RAP Runtime" : (headings[0]?.title ?? name),
|
|
61
|
+
file: name,
|
|
62
|
+
html: renderMarkdown(markdown, options),
|
|
63
|
+
text: markdown.replace(/[#*`|>[\]()_-]+/g, " ").replace(/\s+/g, " "),
|
|
64
|
+
headings: headings.filter((h) => h.level > 1),
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
const INDEX = `<!DOCTYPE html>
|
|
69
|
+
<html lang="en">
|
|
70
|
+
<head>
|
|
71
|
+
<meta charset="utf-8">
|
|
72
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
73
|
+
<title>Documentation – Open RAP Runtime</title>
|
|
74
|
+
<script id="sap-ui-bootstrap" src="../resources/sap-ui-core.js"
|
|
75
|
+
data-sap-ui-theme="sap_horizon"
|
|
76
|
+
data-sap-ui-async="true"
|
|
77
|
+
data-sap-ui-compat-version="edge"
|
|
78
|
+
data-sap-ui-resource-roots='{"rapt.docs": "./"}'
|
|
79
|
+
data-sap-ui-on-init="module:sap/ui/core/ComponentSupport"></script>
|
|
80
|
+
<link rel="stylesheet" href="css/style.css">
|
|
81
|
+
<style>html, body { height: 100%; margin: 0; }</style>
|
|
82
|
+
</head>
|
|
83
|
+
<body class="sapUiBody" id="content">
|
|
84
|
+
<div data-sap-ui-component data-name="rapt.docs" data-id="container" data-height="100%" data-settings='{"id": "docs"}' style="height: 100%"></div>
|
|
85
|
+
</body>
|
|
86
|
+
</html>
|
|
87
|
+
`;
|
|
88
|
+
const MANIFEST = `${JSON.stringify({
|
|
89
|
+
_version: "1.65.0",
|
|
90
|
+
"sap.app": { id: "rapt.docs", type: "application", title: "Documentation", applicationVersion: { version: "1.0.0" }, dataSources: { pages: { uri: "pages.json", type: "JSON" } } },
|
|
91
|
+
"sap.ui": { technology: "UI5", deviceTypes: { desktop: true, tablet: true, phone: true } },
|
|
92
|
+
"sap.ui5": {
|
|
93
|
+
rootView: { viewName: "rapt.docs.view.Docs", type: "XML", id: "app" },
|
|
94
|
+
dependencies: { minUI5Version: "1.136.0", libs: { "sap.m": {}, "sap.f": {} } },
|
|
95
|
+
models: { "": { type: "sap.ui.model.json.JSONModel", dataSource: "pages" }, ui: { type: "sap.ui.model.json.JSONModel" } },
|
|
96
|
+
routing: {
|
|
97
|
+
config: { routerClass: "sap.m.routing.Router", async: true },
|
|
98
|
+
routes: [
|
|
99
|
+
{ pattern: "", name: "home" },
|
|
100
|
+
{ pattern: "page/{page}/:anchor:", name: "page" },
|
|
101
|
+
],
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
}, null, 2)}\n`;
|
|
105
|
+
const COMPONENT = `sap.ui.define(["sap/ui/core/UIComponent"], function (UIComponent) {
|
|
106
|
+
"use strict";
|
|
107
|
+
return UIComponent.extend("rapt.docs.Component", {
|
|
108
|
+
metadata: { manifest: "json", interfaces: ["sap.ui.core.IAsyncContentCreation"] },
|
|
109
|
+
init: function () {
|
|
110
|
+
UIComponent.prototype.init.apply(this, arguments);
|
|
111
|
+
// the view listens to the routes: the router starts once it is created
|
|
112
|
+
var oRouter = this.getRouter();
|
|
113
|
+
this.rootControlLoaded().then(function () {
|
|
114
|
+
oRouter.initialize();
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
`;
|
|
120
|
+
const VIEW = `<mvc:View controllerName="rapt.docs.controller.Docs" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:f="sap.f" xmlns:core="sap.ui.core" displayBlock="true" height="100%">
|
|
121
|
+
<Page id="shell" showHeader="{= !!\${ui>/shell} }" enableScrolling="false" class="raptShell">
|
|
122
|
+
<customHeader>
|
|
123
|
+
<f:ShellBar id="shellBar" title="Documentation" secondTitle="{ui>/shell/title}" homeIcon="{ui>/shell/logo}" homeIconPressed=".onHome" showNavButton="false"/>
|
|
124
|
+
</customHeader>
|
|
125
|
+
<content>
|
|
126
|
+
<SplitApp id="split" mode="ShowHideMode">
|
|
127
|
+
<masterPages>
|
|
128
|
+
<Page id="master" title="Documentation" class="raptDocsMaster">
|
|
129
|
+
<subHeader>
|
|
130
|
+
<Toolbar><SearchField id="search" liveChange=".onSearch" placeholder="Search the documentation" width="100%"/></Toolbar>
|
|
131
|
+
</subHeader>
|
|
132
|
+
<List id="pages" items="{path: '/', templateShareable: false}" mode="SingleSelectMaster" selectionChange=".onSelect">
|
|
133
|
+
<StandardListItem title="{title}" description="{file}" type="Active" counter="{= \${ui>/hits}[\${id}] || 0 }">
|
|
134
|
+
<customData><core:CustomData key="id" value="{id}"/></customData>
|
|
135
|
+
</StandardListItem>
|
|
136
|
+
</List>
|
|
137
|
+
</Page>
|
|
138
|
+
</masterPages>
|
|
139
|
+
<detailPages>
|
|
140
|
+
<Page id="detail" title="{ui>/title}" class="raptDocsDetail">
|
|
141
|
+
<core:HTML id="html" sanitizeContent="false"/>
|
|
142
|
+
</Page>
|
|
143
|
+
</detailPages>
|
|
144
|
+
</SplitApp>
|
|
145
|
+
</content>
|
|
146
|
+
</Page>
|
|
147
|
+
</mvc:View>
|
|
148
|
+
`;
|
|
149
|
+
const CONTROLLER = `sap.ui.define([
|
|
150
|
+
"sap/ui/core/mvc/Controller",
|
|
151
|
+
"sap/ui/model/Filter",
|
|
152
|
+
"sap/ui/model/FilterOperator"
|
|
153
|
+
], function (Controller, Filter, FilterOperator) {
|
|
154
|
+
"use strict";
|
|
155
|
+
|
|
156
|
+
return Controller.extend("rapt.docs.controller.Docs", {
|
|
157
|
+
onInit: function () {
|
|
158
|
+
var that = this;
|
|
159
|
+
this._ui = this.getOwnerComponent().getModel("ui");
|
|
160
|
+
this._ui.setData({ title: "", hits: {} });
|
|
161
|
+
this.getOwnerComponent().getRouter().attachRouteMatched(this._onRoute, this);
|
|
162
|
+
// behind the development launchpad: its shell bar, the way home
|
|
163
|
+
fetch("/launchpad/config", { credentials: "same-origin", headers: { accept: "application/json" } })
|
|
164
|
+
.then(function (r) { return r.ok ? r.json() : undefined; })
|
|
165
|
+
.then(function (c) { if (c && c.user) { that._ui.setProperty("/shell", { title: c.title, home: c.home || "/", logo: c.logo || "" }); } })
|
|
166
|
+
.catch(function () { /* standalone */ });
|
|
167
|
+
// links between pages and to the headings of a page
|
|
168
|
+
this.byId("html").attachAfterRendering(function () {
|
|
169
|
+
var oDom = that.byId("html").getDomRef();
|
|
170
|
+
if (oDom && that._anchor) {
|
|
171
|
+
var oTarget = document.getElementById("anchor-" + that._anchor);
|
|
172
|
+
if (oTarget) { oTarget.scrollIntoView(); }
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
},
|
|
176
|
+
|
|
177
|
+
_pages: function () {
|
|
178
|
+
return this.getView().getModel().getData() || [];
|
|
179
|
+
},
|
|
180
|
+
|
|
181
|
+
_onRoute: function (oEvent) {
|
|
182
|
+
var that = this;
|
|
183
|
+
var oModel = this.getView().getModel();
|
|
184
|
+
var show = function () {
|
|
185
|
+
var aPages = that._pages();
|
|
186
|
+
var sId = oEvent.getParameter("name") === "page" ? oEvent.getParameter("arguments").page : (aPages[0] || {}).id;
|
|
187
|
+
that._anchor = oEvent.getParameter("arguments").anchor;
|
|
188
|
+
var oPage = aPages.find(function (p) { return p.id === sId; }) || aPages[0];
|
|
189
|
+
if (!oPage) { return; }
|
|
190
|
+
that._ui.setProperty("/title", oPage.title);
|
|
191
|
+
that.byId("html").setContent("<div class='raptDoc'>" + oPage.html + "</div>");
|
|
192
|
+
var oList = that.byId("pages");
|
|
193
|
+
oList.getItems().forEach(function (oItem) {
|
|
194
|
+
if (oItem.data("id") === oPage.id) { oList.setSelectedItem(oItem); }
|
|
195
|
+
});
|
|
196
|
+
that.byId("split").toDetail(that.createId("detail"));
|
|
197
|
+
if (!that._anchor) { that.byId("detail").scrollTo(0); }
|
|
198
|
+
};
|
|
199
|
+
if (oModel.getData() && oModel.getData().length) {
|
|
200
|
+
show();
|
|
201
|
+
} else {
|
|
202
|
+
oModel.dataLoaded().then(show);
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
|
|
206
|
+
onSelect: function (oEvent) {
|
|
207
|
+
var sId = oEvent.getParameter("listItem").data("id");
|
|
208
|
+
this.getOwnerComponent().getRouter().navTo("page", { page: sId });
|
|
209
|
+
},
|
|
210
|
+
|
|
211
|
+
onHome: function () {
|
|
212
|
+
window.location.assign(this._ui.getProperty("/shell/home") || "/");
|
|
213
|
+
},
|
|
214
|
+
|
|
215
|
+
/** The pages containing the words searched, with the number of hits. */
|
|
216
|
+
onSearch: function (oEvent) {
|
|
217
|
+
var sQuery = (oEvent.getParameter("newValue") || "").trim().toLowerCase();
|
|
218
|
+
var oHits = {};
|
|
219
|
+
if (sQuery !== "") {
|
|
220
|
+
this._pages().forEach(function (p) {
|
|
221
|
+
var sText = (p.title + " " + p.text).toLowerCase();
|
|
222
|
+
var n = 0;
|
|
223
|
+
var i = sText.indexOf(sQuery);
|
|
224
|
+
while (i >= 0) { n++; i = sText.indexOf(sQuery, i + sQuery.length); }
|
|
225
|
+
oHits[p.id] = n;
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
this._ui.setProperty("/hits", oHits);
|
|
229
|
+
this.byId("pages").getBinding("items").filter(sQuery === "" ? [] : new Filter({
|
|
230
|
+
path: "id",
|
|
231
|
+
test: function (sId) { return (oHits[sId] || 0) > 0; }
|
|
232
|
+
}));
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
});
|
|
236
|
+
`;
|
|
237
|
+
const STYLE = `${SHELL_STYLE}.raptDoc { padding: 1rem 2rem 3rem 2rem; max-width: 60rem; font-family: var(--sapFontFamily); color: var(--sapTextColor); line-height: 1.5; }
|
|
238
|
+
.raptDoc h1 { font-size: 1.75rem; margin: 0.5rem 0 1rem; }
|
|
239
|
+
.raptDoc h2 { font-size: 1.35rem; margin: 2rem 0 0.75rem; border-bottom: 1px solid var(--sapGroup_TitleBorderColor); padding-bottom: 0.25rem; }
|
|
240
|
+
.raptDoc h3 { font-size: 1.1rem; margin: 1.5rem 0 0.5rem; }
|
|
241
|
+
.raptDoc code { font-family: var(--sapFontFamilyMonospace, monospace); background: var(--sapNeutralBackground, #eef0f2); padding: 0 0.25rem; border-radius: 0.25rem; font-size: 0.875em; }
|
|
242
|
+
.raptDoc pre { background: var(--sapShell_Background, #eff1f2); padding: 0.75rem 1rem; border-radius: 0.5rem; overflow-x: auto; }
|
|
243
|
+
.raptDoc pre code { background: none; padding: 0; }
|
|
244
|
+
.raptDoc table { border-collapse: collapse; margin: 0.75rem 0; font-size: 0.875rem; }
|
|
245
|
+
.raptDoc th, .raptDoc td { border: 1px solid var(--sapList_BorderColor, #d9d9d9); padding: 0.375rem 0.5rem; vertical-align: top; text-align: left; }
|
|
246
|
+
.raptDoc th { background: var(--sapList_HeaderBackground, #f5f6f7); }
|
|
247
|
+
.raptDoc blockquote { margin: 0.75rem 0; padding: 0.25rem 1rem; border-left: 0.25rem solid var(--sapInformativeColor, #0070f2); background: var(--sapInformationBackgroundColor, #f5faff); }
|
|
248
|
+
.raptDoc a { color: var(--sapLinkColor); }
|
|
249
|
+
`;
|
|
250
|
+
/** The files of the documentation app (`docs/` of the development build). */
|
|
251
|
+
export function generateDocsApp(pages = documentationPages()) {
|
|
252
|
+
if (pages.length === 0) {
|
|
253
|
+
// never an empty app: say where the documentation should have been (a packaging problem)
|
|
254
|
+
const text = "The documentation of Open RAP Runtime was not found next to the compiler (packages/compiler/docs). Run pnpm build, or reinstall the VS Code extension.";
|
|
255
|
+
pages = [{ id: "readme", title: "Documentation not found", file: "README.md", html: `<h1 id="anchor-documentation-not-found">Documentation not found</h1><p>${text}</p>`, text, headings: [] }];
|
|
256
|
+
}
|
|
257
|
+
return [
|
|
258
|
+
{ path: "index.html", content: INDEX },
|
|
259
|
+
{ path: "manifest.json", content: MANIFEST },
|
|
260
|
+
{ path: "Component.js", content: COMPONENT },
|
|
261
|
+
{ path: "view/Docs.view.xml", content: VIEW },
|
|
262
|
+
{ path: "controller/Docs.controller.js", content: CONTROLLER },
|
|
263
|
+
{ path: "css/style.css", content: STYLE },
|
|
264
|
+
{ path: "pages.json", content: JSON.stringify(pages) },
|
|
265
|
+
];
|
|
266
|
+
}
|
|
267
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/gen/docs/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A small Markdown renderer for the documentation app of `rapt dev` (D49): the subset the
|
|
3
|
+
* documentation of Open RAP Runtime uses — headings, paragraphs, lists (nested), code blocks and
|
|
4
|
+
* inline code, tables, block quotes, links, emphasis. Text is escaped; links to other pages
|
|
5
|
+
* (`FILE.md`, `FILE.md#anchor`) become routes of the app (`#/page/file`). The website renders the
|
|
6
|
+
* same Markdown with its own links and images (`RenderOptions`, D63).
|
|
7
|
+
*/
|
|
8
|
+
/** Where a link or an image of the Markdown goes; `null`: the link is shown as plain text. */
|
|
9
|
+
export interface RenderOptions {
|
|
10
|
+
link?: (href: string) => {
|
|
11
|
+
href: string;
|
|
12
|
+
external: boolean;
|
|
13
|
+
} | null;
|
|
14
|
+
image?: (src: string) => string | undefined;
|
|
15
|
+
}
|
|
16
|
+
/** The id of a heading, as GitHub writes it. */
|
|
17
|
+
export declare function headingId(text: string): string;
|
|
18
|
+
/** The page id of a Markdown file name: `docs/DIAGNOSTICS.md` → `diagnostics`. */
|
|
19
|
+
export declare function pageId(file: string): string;
|
|
20
|
+
/** Inline Markdown: code spans first (their content stays as written), then links and emphasis. */
|
|
21
|
+
export declare function inline(text: string, options?: RenderOptions): string;
|
|
22
|
+
/** Renders a Markdown document as HTML. */
|
|
23
|
+
export declare function renderMarkdown(markdown: string, options?: RenderOptions): string;
|