diff --git a/package-lock.json b/package-lock.json index eff9719a1..4212c98af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,6 +23,7 @@ "fast-glob": "^3.3.3", "github-markdown-css": "^5.9.0", "handlebars": "^4.7.9", + "js-yaml": "^4.1.1", "showdown": "^2.1.0", "showdown-footnotes": "^2.1.2", "showdown-highlight": "^3.1.0" diff --git a/package.json b/package.json index fb8cd6ce3..1218eaa9f 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "fast-glob": "^3.3.3", "github-markdown-css": "^5.9.0", "handlebars": "^4.7.9", + "js-yaml": "^4.1.1", "showdown": "^2.1.0", "showdown-footnotes": "^2.1.2", "showdown-highlight": "^3.1.0" diff --git a/tools/builder/prepare-gh-pages.js b/tools/builder/prepare-gh-pages.js index 77b7eb1ae..6b913137f 100644 --- a/tools/builder/prepare-gh-pages.js +++ b/tools/builder/prepare-gh-pages.js @@ -8,7 +8,7 @@ const archiver = require("archiver"); const fg = require('fast-glob'); const sanitize = require("./sanitze"); -const { title } = require("process"); +const yaml = require('js-yaml'); const cwd = process.cwd(); @@ -44,6 +44,23 @@ function getSteps(tutorialDir) { return steps.filter((step) => statSync(join(tutorialDir, "steps", step)).isDirectory()); } +function removeTSfromPackageJSON(packageJson) { + delete packageJson.devDependencies.typescript; + delete packageJson.devDependencies["@types/openui5"]; + delete packageJson.devDependencies["ui5-tooling-transpile"]; + delete packageJson.scripts.typecheck; + return packageJson; +} + +function removeTSfromUI5YAML(ui5yaml) { + delete ui5yaml.builder; + if (ui5yaml?.server?.customMiddleware) { + const tsOnlyMiddlewares = ["ui5-tooling-transpile-middleware"]; + ui5yaml.server.customMiddleware = ui5yaml.server.customMiddleware.filter((middleware) => !tsOnlyMiddlewares.includes(middleware.name)); + } + return ui5yaml; +} + (async function() { if (existsSync(join(cwd, "dist"))) { @@ -166,6 +183,12 @@ function getSteps(tutorialDir) { console.error("No JS file found for", source); } } + } else if(file === "package.json") { + const packageJson = removeTSfromPackageJSON(JSON.parse(readFileSync(source, { encoding: "utf8" }))); + writeFileSync(target, JSON.stringify(packageJson, null, 2), { encoding: "utf8" }); + } else if(file.endsWith(".yaml")) { + const ui5yaml = removeTSfromUI5YAML(yaml.load(readFileSync(source, { encoding: "utf8" }))); + writeFileSync(target, yaml.dump(ui5yaml)); } else if (file !== "tsconfig.json") { mkdirSync(dirname(target), { recursive: true }); copyFileSync(source, target);