tkeron 3.7.1 → 4.0.0-alpha.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.
Files changed (113) hide show
  1. package/.github/workflows/npm_deploy.yml +29 -0
  2. package/bun.lock +38 -0
  3. package/changelog.md +19 -0
  4. package/examples/basic_build/src/index.html +13 -0
  5. package/examples/basic_build/src/index.ts +10 -0
  6. package/index.ts +18 -0
  7. package/package.json +15 -29
  8. package/readme.md +25 -51
  9. package/src/build.test.ts +45 -0
  10. package/src/build.ts +26 -0
  11. package/src/buildFile.ts +44 -0
  12. package/tkeron_library/index.ts +23 -0
  13. package/tsconfig.json +25 -7
  14. package/dist/base64.d.ts +0 -2
  15. package/dist/base64.js +0 -7
  16. package/dist/build.d.ts +0 -10
  17. package/dist/build.js +0 -138
  18. package/dist/buildFront.d.ts +0 -10
  19. package/dist/buildFront.js +0 -27
  20. package/dist/buildLoaders.d.ts +0 -14
  21. package/dist/buildLoaders.js +0 -24
  22. package/dist/bundleTs.d.ts +0 -1
  23. package/dist/bundleTs.js +0 -35
  24. package/dist/cicd.d.ts +0 -1
  25. package/dist/cicd.js +0 -12
  26. package/dist/cmdBuild.d.ts +0 -4
  27. package/dist/cmdBuild.js +0 -12
  28. package/dist/cmdDev.d.ts +0 -17
  29. package/dist/cmdDev.js +0 -76
  30. package/dist/cmdGenerate.d.ts +0 -4
  31. package/dist/cmdGenerate.js +0 -41
  32. package/dist/cmdInit.d.ts +0 -4
  33. package/dist/cmdInit.js +0 -28
  34. package/dist/copyDir.d.ts +0 -2
  35. package/dist/copyDir.js +0 -17
  36. package/dist/copyFile.d.ts +0 -8
  37. package/dist/copyFile.js +0 -27
  38. package/dist/createTsConfigFile.d.ts +0 -1
  39. package/dist/createTsConfigFile.js +0 -39
  40. package/dist/eventEmitter.d.ts +0 -5
  41. package/dist/eventEmitter.js +0 -29
  42. package/dist/fileExist.d.ts +0 -2
  43. package/dist/fileExist.js +0 -17
  44. package/dist/generateItems.d.ts +0 -11
  45. package/dist/generateItems.js +0 -16
  46. package/dist/getDocument.d.ts +0 -11
  47. package/dist/getDocument.js +0 -38
  48. package/dist/getFilesRecursive.d.ts +0 -9
  49. package/dist/getFilesRecursive.js +0 -57
  50. package/dist/getOptions.d.ts +0 -8
  51. package/dist/getOptions.js +0 -27
  52. package/dist/getType.d.ts +0 -1
  53. package/dist/getType.js +0 -5
  54. package/dist/getVersion.d.ts +0 -2
  55. package/dist/getVersion.js +0 -16
  56. package/dist/index.d.ts +0 -2
  57. package/dist/index.js +0 -5
  58. package/dist/injectCode.d.ts +0 -1
  59. package/dist/injectCode.js +0 -7
  60. package/dist/injectTsFile.d.ts +0 -8
  61. package/dist/injectTsFile.js +0 -22
  62. package/dist/jsDom/crypto.d.ts +0 -3
  63. package/dist/jsDom/crypto.js +0 -42
  64. package/dist/jsDom/errors.d.ts +0 -3
  65. package/dist/jsDom/errors.js +0 -30
  66. package/dist/jsDom/fetch.d.ts +0 -2
  67. package/dist/jsDom/fetch.js +0 -13
  68. package/dist/jsDom/joinScripts.d.ts +0 -1
  69. package/dist/jsDom/joinScripts.js +0 -25
  70. package/dist/jsDom/logs.d.ts +0 -1
  71. package/dist/jsDom/logs.js +0 -10
  72. package/dist/jsDom/writeLogElement.d.ts +0 -1
  73. package/dist/jsDom/writeLogElement.js +0 -50
  74. package/dist/libFiles.ts.d.ts +0 -1
  75. package/dist/libFiles.ts.js +0 -13
  76. package/dist/main.d.ts +0 -1
  77. package/dist/main.js +0 -62
  78. package/dist/mod.d.ts +0 -12
  79. package/dist/mod.js +0 -9
  80. package/dist/pathToUrlResource.d.ts +0 -4
  81. package/dist/pathToUrlResource.js +0 -11
  82. package/dist/random.d.ts +0 -3
  83. package/dist/random.js +0 -31
  84. package/dist/range.d.ts +0 -1
  85. package/dist/range.js +0 -5
  86. package/dist/readJsonFile.d.ts +0 -1
  87. package/dist/readJsonFile.js +0 -20
  88. package/dist/rectReady.d.ts +0 -1
  89. package/dist/rectReady.js +0 -33
  90. package/dist/rnd.d.ts +0 -2
  91. package/dist/rnd.js +0 -11
  92. package/dist/rnda.d.ts +0 -1
  93. package/dist/rnda.js +0 -8
  94. package/dist/runOncePerTime.d.ts +0 -1
  95. package/dist/runOncePerTime.js +0 -17
  96. package/dist/serializeDocument.d.ts +0 -1
  97. package/dist/serializeDocument.js +0 -5
  98. package/dist/simpleHotRestart.d.ts +0 -1
  99. package/dist/simpleHotRestart.js +0 -26
  100. package/dist/tk.d.ts +0 -2
  101. package/dist/tk.js +0 -5
  102. package/dist/wait.d.ts +0 -1
  103. package/dist/wait.js +0 -5
  104. package/distFiles/eventEmitter.ts +0 -28
  105. package/distFiles/getType.ts +0 -2
  106. package/distFiles/random.ts +0 -25
  107. package/distFiles/range.ts +0 -2
  108. package/distFiles/rectReady.ts +0 -30
  109. package/distFiles/rnda.ts +0 -5
  110. package/distFiles/runOncePerTime.ts +0 -13
  111. package/distFiles/simpleHotRestart.ts +0 -28
  112. package/jest.config.js +0 -8
  113. package/tkeron.json +0 -4
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildFront = void 0;
4
- const promises_1 = require("fs/promises");
5
- const path_1 = require("path");
6
- const bundleTs_1 = require("./bundleTs");
7
- const fileExist_1 = require("./fileExist");
8
- const injectCode_1 = require("./injectCode");
9
- const buildFront = async (options) => {
10
- const { hotRestart, outHtmlFile, scriptId, tsFile, outTsFile, minify } = options;
11
- let { html } = options;
12
- const outHtmlDir = (0, path_1.dirname)(outHtmlFile);
13
- if (hotRestart === true) {
14
- const code = await (0, bundleTs_1.bundleTs)((0, path_1.join)(__dirname, "..", "distFiles", "simpleHotRestart.ts"), "shr.js", true, true);
15
- html = (0, injectCode_1.injectCode)(html, code, "tkeron_simple_hot_restart");
16
- }
17
- if (await (0, fileExist_1.fileExists)(tsFile)) {
18
- const tsCode = await (0, bundleTs_1.bundleTs)(tsFile, outTsFile, minify);
19
- await (0, promises_1.unlink)(outTsFile);
20
- if (tsCode.trim() !== "")
21
- html = (0, injectCode_1.injectCode)(html, tsCode, scriptId);
22
- }
23
- await (0, promises_1.mkdir)(outHtmlDir, { recursive: true });
24
- await (0, promises_1.writeFile)(outHtmlFile, html, { encoding: "utf-8" });
25
- return html;
26
- };
27
- exports.buildFront = buildFront;
@@ -1,14 +0,0 @@
1
- import { Loader } from "esbuild";
2
- export declare const buildLoaders: {
3
- ".jpg": Loader;
4
- ".png": Loader;
5
- ".gif": Loader;
6
- ".ico": Loader;
7
- ".webp": Loader;
8
- ".mp3": Loader;
9
- ".svg": Loader;
10
- ".js": Loader;
11
- ".css": Loader;
12
- ".html": Loader;
13
- };
14
- export declare const getExtModules: () => string;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getExtModules = exports.buildLoaders = void 0;
4
- exports.buildLoaders = {
5
- ".jpg": "file",
6
- ".png": "file",
7
- ".gif": "file",
8
- ".ico": "file",
9
- ".webp": "file",
10
- ".mp3": "file",
11
- ".svg": "file",
12
- ".js": "file",
13
- ".css": "text",
14
- ".html": "text",
15
- };
16
- const getExtModules = () => {
17
- let content = "";
18
- const exts = Object.keys(exports.buildLoaders).sort();
19
- for (const ext of exts) {
20
- content += `declare module '*${ext}';\n`;
21
- }
22
- return content;
23
- };
24
- exports.getExtModules = getExtModules;
@@ -1 +0,0 @@
1
- export declare const bundleTs: (file: string, outfile: string, minify?: boolean, deleteOutfile?: boolean) => Promise<string>;
package/dist/bundleTs.js DELETED
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bundleTs = void 0;
4
- const path_1 = require("path");
5
- const fileExist_1 = require("./fileExist");
6
- const esbuild_1 = require("esbuild");
7
- const buildLoaders_1 = require("./buildLoaders");
8
- const promises_1 = require("fs/promises");
9
- const bundleTs = async (file, outfile, minify = true, deleteOutfile = false) => {
10
- if (!file)
11
- throw "file must be defined";
12
- if (!outfile)
13
- throw "outfile must be defined";
14
- file = (0, path_1.normalize)(file);
15
- const exist = await (0, fileExist_1.fileExists)(file);
16
- if (!exist)
17
- throw `file ${file} doesn't exist`;
18
- const minifySyntax = minify;
19
- const minifyWhitespace = minify;
20
- const buildResult = await (0, esbuild_1.build)({
21
- entryPoints: [file],
22
- outfile,
23
- bundle: true,
24
- minifySyntax,
25
- minifyWhitespace,
26
- loader: buildLoaders_1.buildLoaders,
27
- });
28
- if (buildResult.errors.length)
29
- throw buildResult.errors;
30
- const tsResult = await (0, promises_1.readFile)(outfile, { encoding: "utf-8" });
31
- if (deleteOutfile)
32
- await (0, promises_1.unlink)(outfile);
33
- return tsResult;
34
- };
35
- exports.bundleTs = bundleTs;
package/dist/cicd.d.ts DELETED
@@ -1 +0,0 @@
1
- export {};
package/dist/cicd.js DELETED
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const path_1 = require("path");
4
- const libFiles_ts_1 = require("./libFiles.ts");
5
- const copyFile_js_1 = require("./copyFile.js");
6
- (async () => {
7
- const copiedFiles = [];
8
- for (const file of libFiles_ts_1.libFiles) {
9
- copiedFiles.push((0, copyFile_js_1.copyFile)((0, path_1.join)("src", file), (0, path_1.join)("distFiles", file)));
10
- }
11
- await Promise.all(copiedFiles);
12
- })();
@@ -1,4 +0,0 @@
1
- export declare const cmdBuild: ({ sourceDir, outputDir }?: {
2
- sourceDir: string;
3
- outputDir: string;
4
- }) => Promise<void>;
package/dist/cmdBuild.js DELETED
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cmdBuild = void 0;
4
- const build_1 = require("./build");
5
- const cmdBuild = ({ sourceDir, outputDir } = { sourceDir: "", outputDir: "" }) => (0, build_1.build)({
6
- sourceDir,
7
- outputDir,
8
- hotRestart: false,
9
- ignoreConsoleLogs: true,
10
- ignoreErrors: true,
11
- });
12
- exports.cmdBuild = cmdBuild;
package/dist/cmdDev.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import { Server } from "http";
2
- export declare const dev: (sourceDir: string, outputDir: string, port?: number, addr?: string) => Promise<{
3
- closeWatcher: () => void;
4
- closeServer: () => Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>;
5
- }>;
6
- declare const exampleCmdDev: {
7
- sourceDir: string;
8
- outputDir: string;
9
- port: string;
10
- addr: string;
11
- };
12
- export type CmdDevType = typeof exampleCmdDev;
13
- export declare const cmdDev: (args?: CmdDevType) => Promise<{
14
- closeWatcher: () => void;
15
- closeServer: () => Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>;
16
- }>;
17
- export {};
package/dist/cmdDev.js DELETED
@@ -1,76 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.cmdDev = exports.dev = void 0;
7
- const express_1 = __importDefault(require("express"));
8
- const node_watch_1 = __importDefault(require("node-watch"));
9
- const stream_1 = require("stream");
10
- const build_1 = require("./build");
11
- const fileExist_1 = require("./fileExist");
12
- const getOptions_1 = require("./getOptions");
13
- const dev = async (sourceDir, outputDir, port = 5000, addr = "127.0.0.1") => {
14
- const opts = (0, getOptions_1.getOptions)({ outputDir, sourceDir });
15
- sourceDir = opts.sourceDir;
16
- outputDir = opts.outputDir;
17
- if (!(await (0, fileExist_1.fileExists)(sourceDir)))
18
- throw `source directory doesn't exist`;
19
- await (0, build_1.build)({ sourceDir, outputDir, hotRestart: true });
20
- let building = false;
21
- let rebuild = false;
22
- const events = new stream_1.EventEmitter();
23
- const watcher = (0, node_watch_1.default)(sourceDir, { recursive: true }, async (_event, _) => {
24
- if (building) {
25
- rebuild = true;
26
- return;
27
- }
28
- building = true;
29
- await (0, build_1.build)({ sourceDir, outputDir, hotRestart: true });
30
- if (rebuild)
31
- await (0, build_1.build)({ sourceDir, outputDir, hotRestart: true });
32
- events.emit("built");
33
- building = false;
34
- });
35
- const app = (0, express_1.default)();
36
- let firstRequest = true;
37
- app.get("/compdate.txt", (_request, reply) => {
38
- if (firstRequest) {
39
- firstRequest = false;
40
- reply.send({ reload: true });
41
- return;
42
- }
43
- const lastListener = () => reply.send({ reload: true });
44
- events.once("built", lastListener);
45
- });
46
- app.use(express_1.default.static(outputDir));
47
- let server;
48
- try {
49
- server = app.listen(port, addr, () => console["log"](`linstening on ${addr}:${port}`));
50
- }
51
- catch (_) {
52
- console["log"]("error starting local dev server", _);
53
- }
54
- return {
55
- closeWatcher: () => watcher.close(),
56
- closeServer: () => server.close(),
57
- };
58
- };
59
- exports.dev = dev;
60
- const exampleCmdDev = {
61
- sourceDir: "",
62
- outputDir: "",
63
- port: "5000",
64
- addr: "127.0.0.1",
65
- };
66
- const cmdDev = (args = {
67
- sourceDir: "",
68
- outputDir: "",
69
- port: "5000",
70
- addr: "127.0.0.1",
71
- }) => {
72
- const { addr, outputDir, port, sourceDir } = args;
73
- const numberPort = Number(port) || 5000;
74
- return (0, exports.dev)(sourceDir, outputDir, numberPort, addr);
75
- };
76
- exports.cmdDev = cmdDev;
@@ -1,4 +0,0 @@
1
- export declare const cmdGenerate: ({ item, path }?: {
2
- item: string;
3
- path: string;
4
- }) => Promise<void>;
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cmdGenerate = void 0;
4
- const colorette_1 = require("colorette");
5
- const promises_1 = require("fs/promises");
6
- const path_1 = require("path");
7
- const generateItems_1 = require("./generateItems");
8
- const getOptions_1 = require("./getOptions");
9
- const cmdGenerate = async ({ item, path } = { item: "", path: "" }) => {
10
- const { sourceDir } = (0, getOptions_1.getOptions)();
11
- const name = (0, path_1.basename)(path);
12
- if (!generateItems_1.validItems.includes(item)) {
13
- console["log"]((0, colorette_1.red)(`item "${item}" does not exist`));
14
- return;
15
- }
16
- if (item === "component" || item === "c") {
17
- const { css, ts } = (0, generateItems_1.componentItem)(name);
18
- if (path.slice(0, 2) !== "./")
19
- path = (0, path_1.join)("comps", path);
20
- const tsFilePath = (0, path_1.join)(sourceDir, path, `${name}.ts`);
21
- const cssFilePath = (0, path_1.join)(sourceDir, path, `${name}.css`);
22
- const tsDir = (0, path_1.dirname)(tsFilePath);
23
- await (0, promises_1.mkdir)(tsDir, { recursive: true });
24
- await (0, promises_1.writeFile)(tsFilePath, ts, { encoding: "utf-8" });
25
- await (0, promises_1.writeFile)(cssFilePath, css, { encoding: "utf-8" });
26
- }
27
- if (item === "page" || item === "p") {
28
- const { css, ts, back, html } = (0, generateItems_1.pageItem)(name);
29
- const tsFilePath = (0, path_1.join)(sourceDir, `${path}.page.ts`);
30
- const cssFilePath = (0, path_1.join)(sourceDir, `${path}.page.css`);
31
- const htmlFilePath = (0, path_1.join)(sourceDir, `${path}.page.html`);
32
- const backFilePath = (0, path_1.join)(sourceDir, `${path}.back.ts`);
33
- const tsDir = (0, path_1.dirname)(tsFilePath);
34
- await (0, promises_1.mkdir)(tsDir, { recursive: true });
35
- await (0, promises_1.writeFile)(tsFilePath, ts, { encoding: "utf-8" });
36
- await (0, promises_1.writeFile)(cssFilePath, css, { encoding: "utf-8" });
37
- await (0, promises_1.writeFile)(htmlFilePath, html, { encoding: "utf-8" });
38
- await (0, promises_1.writeFile)(backFilePath, back, { encoding: "utf-8" });
39
- }
40
- };
41
- exports.cmdGenerate = cmdGenerate;
package/dist/cmdInit.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export declare const cmdInit: ({ sourceDir, outputDir }?: {
2
- sourceDir: string;
3
- outputDir: string;
4
- }) => Promise<void>;
package/dist/cmdInit.js DELETED
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cmdInit = void 0;
4
- const promises_1 = require("fs/promises");
5
- const path_1 = require("path");
6
- const buildLoaders_1 = require("./buildLoaders");
7
- const createTsConfigFile_1 = require("./createTsConfigFile");
8
- const fileExist_1 = require("./fileExist");
9
- const getOptions_1 = require("./getOptions");
10
- const copyDir_1 = require("./copyDir");
11
- const cmdInit = async ({ sourceDir, outputDir } = { sourceDir: "", outputDir: "" }) => {
12
- const options = (0, getOptions_1.getOptions)({ sourceDir, outputDir });
13
- sourceDir = options.sourceDir;
14
- await (0, promises_1.writeFile)("tkeron.json", JSON.stringify(options, null, 4));
15
- await (0, createTsConfigFile_1.createTsConfigFile)();
16
- if (!(await (0, fileExist_1.fileExists)(sourceDir)))
17
- await (0, promises_1.mkdir)(sourceDir, { recursive: true });
18
- const dotTkeron = (0, path_1.join)(sourceDir, "..", ".tkeron");
19
- if (!(await (0, fileExist_1.fileExists)(dotTkeron)))
20
- await (0, promises_1.mkdir)(dotTkeron, { recursive: true });
21
- const extModules = (0, buildLoaders_1.getExtModules)();
22
- const extModName = (0, path_1.join)(dotTkeron, "..", "extensions.d.ts");
23
- await (0, promises_1.writeFile)(extModName, extModules, { encoding: "utf-8" });
24
- const tkeronLibSrc = (0, path_1.join)(__dirname, "..", "tkeron_library");
25
- const tkeronLibDir = (0, path_1.join)(dotTkeron, "tkeron_library");
26
- await (0, copyDir_1.copyDir)(tkeronLibSrc, tkeronLibDir);
27
- };
28
- exports.cmdInit = cmdInit;
package/dist/copyDir.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { CopyFileResponse } from "./copyFile";
2
- export declare const copyDir: (sourceDir: string, targetDir: string) => Promise<CopyFileResponse[]>;
package/dist/copyDir.js DELETED
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.copyDir = void 0;
4
- const path_1 = require("path");
5
- const getFilesRecursive_1 = require("./getFilesRecursive");
6
- const copyFile_1 = require("./copyFile");
7
- const copyDir = async (sourceDir, targetDir) => {
8
- const files = (0, getFilesRecursive_1.getFilesRecursive)(sourceDir);
9
- const allFilesPromises = [];
10
- for (const file of files) {
11
- const targetFileName = (0, path_1.normalize)(file).slice((0, path_1.normalize)(sourceDir).length);
12
- const target = (0, path_1.join)(targetDir, targetFileName);
13
- allFilesPromises.push((0, copyFile_1.copyFile)(file, target));
14
- }
15
- return await Promise.all(allFilesPromises);
16
- };
17
- exports.copyDir = copyDir;
@@ -1,8 +0,0 @@
1
- export interface CopyFileResponse {
2
- status: boolean;
3
- message: string;
4
- from: string;
5
- to: string;
6
- err?: Error;
7
- }
8
- export declare const copyFile: (from: string, to: string) => Promise<CopyFileResponse>;
package/dist/copyFile.js DELETED
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.copyFile = void 0;
4
- const fs_1 = require("fs");
5
- const promises_1 = require("fs/promises");
6
- const path_1 = require("path");
7
- const copyFile = async (from, to) => new Promise(async (resume) => {
8
- const toDirectory = (0, path_1.dirname)(to);
9
- await (0, promises_1.mkdir)(toDirectory, { recursive: true });
10
- const rs = (0, fs_1.createReadStream)(from);
11
- const ws = (0, fs_1.createWriteStream)(to);
12
- rs.on("error", (err) => {
13
- ws.close();
14
- resume({ status: false, message: "error reading file", err, from, to });
15
- });
16
- ws.on("error", (err) => {
17
- rs.close();
18
- resume({ status: false, message: "error writing file", err, from, to });
19
- });
20
- rs.on("end", () => {
21
- rs.close();
22
- ws.close();
23
- resume({ status: true, message: "file copied", from, to });
24
- });
25
- rs.pipe(ws);
26
- });
27
- exports.copyFile = copyFile;
@@ -1 +0,0 @@
1
- export declare const createTsConfigFile: () => Promise<void>;
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTsConfigFile = void 0;
4
- const promises_1 = require("fs/promises");
5
- const getOptions_1 = require("./getOptions");
6
- const createTsConfigFile = async () => {
7
- const { sourceDir } = (0, getOptions_1.getOptions)();
8
- const data = `{
9
- "compilerOptions": {
10
- "experimentalDecorators": true,
11
- "module": "ESNext",
12
- "target": "ESNext",
13
- "esModuleInterop": true,
14
- "moduleResolution": "Node",
15
- "declaration": false,
16
- "skipLibCheck": true,
17
- "baseUrl": ".",
18
- "paths": {
19
- "@comps/*": [
20
- "./${sourceDir}/comps/*",
21
- ],
22
- "@src/*": [
23
- "./${sourceDir}/*",
24
- ],
25
- "@tkeron": [
26
- "./.tkeron/tkeron_library"
27
- ],
28
- }
29
- },
30
- "compileOnSave": true,
31
- "lib": [
32
- "dom",
33
- "es2015",
34
- "esnext.asynciterable"
35
- ]
36
- }`;
37
- await (0, promises_1.writeFile)("tsconfig.json", data, { encoding: "utf-8" });
38
- };
39
- exports.createTsConfigFile = createTsConfigFile;
@@ -1,5 +0,0 @@
1
- export interface EventEmitter {
2
- emit: (event: string, ...args: any[]) => void;
3
- on: (event: string, listener: (...args: any[]) => void) => () => void;
4
- }
5
- export declare const getEventEmitter: () => EventEmitter;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getEventEmitter = void 0;
4
- const getEventEmitter = () => {
5
- let handlers = {};
6
- let n = 0;
7
- const ee = {
8
- emit: (event, ...args) => {
9
- if (!(event in handlers))
10
- return;
11
- for (const listener of handlers[event]) {
12
- listener(...args);
13
- }
14
- },
15
- on: (event, listener) => {
16
- if (!(event in handlers))
17
- handlers[event] = [];
18
- n++;
19
- const id = n;
20
- listener.id = id;
21
- handlers[event].push(listener);
22
- return () => {
23
- handlers[event] = handlers[event].filter((_) => _.id !== id);
24
- };
25
- },
26
- };
27
- return ee;
28
- };
29
- exports.getEventEmitter = getEventEmitter;
@@ -1,2 +0,0 @@
1
- export declare const fileExists: (path: string) => Promise<boolean>;
2
- export declare const fileExistsSync: (path: string) => boolean;
package/dist/fileExist.js DELETED
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fileExistsSync = exports.fileExists = void 0;
4
- const promises_1 = require("fs/promises");
5
- const fs_1 = require("fs");
6
- const fileExists = async (path) => !!(await (0, promises_1.stat)(path).catch((_) => false));
7
- exports.fileExists = fileExists;
8
- const fileExistsSync = (path) => {
9
- try {
10
- (0, fs_1.statSync)(path);
11
- }
12
- catch (e) {
13
- return false;
14
- }
15
- return true;
16
- };
17
- exports.fileExistsSync = fileExistsSync;
@@ -1,11 +0,0 @@
1
- export declare const componentItem: (name: string) => {
2
- ts: string;
3
- css: string;
4
- };
5
- export declare const pageItem: (name: string) => {
6
- html: string;
7
- ts: string;
8
- back: string;
9
- css: string;
10
- };
11
- export declare const validItems: string[];
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validItems = exports.pageItem = exports.componentItem = void 0;
4
- const componentItem = (name) => ({
5
- ts: `import { addCss, tk, TkeronElement } from "@tkeron";\nimport css from "./${name}.css";\n\n\nexport const ${name} = (): TkeronElement => {\n const com = tk.addClass("${name}");\n\n return com;\n};\n\naddCss(css);\n`,
6
- css: `.${name} {\n \n}\n`,
7
- });
8
- exports.componentItem = componentItem;
9
- const pageItem = (name) => ({
10
- html: `<!DOCTYPE html>\n<html lang="en">\n\n<head>\n <meta charset="UTF-8" />\n <meta http-equiv="X-UA-Compatible" content="IE=edge" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n <title>${name}</title>\n</head>\n\n<body></body>\n\n</html>`,
11
- ts: `import { tk } from "@tkeron";\n\n\ntk("h1").setText("h1 rendered in front (browser)").appendIn.body;\n`,
12
- back: `import { addCss, tk } from "@tkeron";\nimport css from "./${name}.page.css";\n\n\naddCss(css);\n\ntk("h1").setText("h1 rendered in back (pre rendered)").appendIn.body;\n`,
13
- css: `html, body {\n margin: 0;\n padding: 0;\n}\n`,
14
- });
15
- exports.pageItem = pageItem;
16
- exports.validItems = ["component", "c", "page", "p"];
@@ -1,11 +0,0 @@
1
- import { ConstructorOptions } from "jsdom";
2
- export interface getDocumentOptions {
3
- ignoreConsoleLogs?: boolean;
4
- ignoreErrors?: boolean;
5
- constructorOptions?: ConstructorOptions;
6
- }
7
- export declare const getDocument: (html: string, options?: getDocumentOptions) => {
8
- document: Document;
9
- window: import("jsdom").DOMWindow;
10
- jsDomErrors: Error[];
11
- };
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDocument = void 0;
4
- const jsdom_1 = require("jsdom");
5
- const crypto_1 = require("./jsDom/crypto");
6
- const errors_1 = require("./jsDom/errors");
7
- const logs_1 = require("./jsDom/logs");
8
- const fetch_1 = require("./jsDom/fetch");
9
- const getDocument = (html, options) => {
10
- if (!options)
11
- options = {};
12
- const { constructorOptions } = options;
13
- let { ignoreConsoleLogs, ignoreErrors } = options;
14
- const virtualConsole = new jsdom_1.VirtualConsole({ captureRejections: true });
15
- const jsDomErrors = [];
16
- const logs = [];
17
- virtualConsole.on("jsdomError", (e) => jsDomErrors.push(e));
18
- virtualConsole.on("log", (e) => logs.push(e));
19
- if (html.trim() === "")
20
- html = `<!DOCTYPE html>\n<html lang="en">\n <head>\n <meta charset="UTF-8" />\n <meta http-equiv="X-UA-Compatible" content="IE=edge" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n <title>Document</title>\n </head>\n <body></body>\n</html>\n`;
21
- const { window } = new jsdom_1.JSDOM(html, constructorOptions || {
22
- resources: "usable",
23
- runScripts: "dangerously",
24
- virtualConsole,
25
- beforeParse: (window) => {
26
- (0, errors_1.ext_errors)(window);
27
- (0, crypto_1.ext_crypto)(window);
28
- (0, fetch_1.ext_fetch)(window);
29
- },
30
- });
31
- const document = window.document;
32
- if (!ignoreErrors)
33
- (0, errors_1.handleJsDomError)(jsDomErrors, document);
34
- if (!ignoreConsoleLogs)
35
- (0, logs_1.handleLogs)(logs, document);
36
- return { document, window, jsDomErrors };
37
- };
38
- exports.getDocument = getDocument;
@@ -1,9 +0,0 @@
1
- interface getFilesRecursiveOptions {
2
- pattern?: RegExp;
3
- excludePattern?: RegExp;
4
- returnNamesOnly?: boolean;
5
- returnOnlyDirs?: boolean;
6
- useDirectoryBase?: boolean;
7
- }
8
- export declare function getFilesRecursive(directory: string, options?: getFilesRecursiveOptions): Generator<string, void, unknown>;
9
- export {};
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFilesRecursive = getFilesRecursive;
4
- const fs_1 = require("fs");
5
- const path_1 = require("path");
6
- const pathToUrlResource_1 = require("./pathToUrlResource");
7
- function* getFilesRecursive(directory, options) {
8
- if (!options)
9
- options = {};
10
- const { pattern, returnNamesOnly, excludePattern, returnOnlyDirs, useDirectoryBase, } = options;
11
- let files = [];
12
- try {
13
- files = (0, fs_1.readdirSync)(directory, { withFileTypes: true });
14
- }
15
- catch (_) {
16
- return;
17
- }
18
- const topDirectory = directory;
19
- const pending = files.map((file) => ({ file, directory }));
20
- while (pending.length) {
21
- const { file, directory } = pending.pop();
22
- if (file.isDirectory()) {
23
- const path = (0, path_1.join)(directory, file.name);
24
- if (returnOnlyDirs && useDirectoryBase)
25
- yield (0, pathToUrlResource_1.pathToUrlResource)(path, topDirectory).url;
26
- if (returnOnlyDirs && !useDirectoryBase)
27
- yield path;
28
- let files = [];
29
- try {
30
- files = (0, fs_1.readdirSync)(path, { withFileTypes: true });
31
- }
32
- catch (e) {
33
- continue;
34
- }
35
- files
36
- .map((file) => ({ file, directory: path }))
37
- .forEach((item) => pending.push(item));
38
- continue;
39
- }
40
- if (!file.isFile())
41
- continue;
42
- if (excludePattern && file.name.match(excludePattern))
43
- continue;
44
- if (useDirectoryBase && !pattern)
45
- yield returnNamesOnly
46
- ? file.name
47
- : (0, pathToUrlResource_1.pathToUrlResource)((0, path_1.join)(directory, file.name), topDirectory).url;
48
- if (useDirectoryBase && pattern && file.name.match(pattern))
49
- yield returnNamesOnly
50
- ? file.name
51
- : (0, pathToUrlResource_1.pathToUrlResource)((0, path_1.join)(directory, file.name), topDirectory).url;
52
- if (!useDirectoryBase && !pattern)
53
- yield returnNamesOnly ? file.name : (0, path_1.join)(directory, file.name);
54
- if (!useDirectoryBase && pattern && file.name.match(pattern))
55
- yield returnNamesOnly ? file.name : (0, path_1.join)(directory, file.name);
56
- }
57
- }
@@ -1,8 +0,0 @@
1
- export interface tkeronOpts {
2
- sourceDir: string;
3
- outputDir: string;
4
- }
5
- export declare const getOptions: (opts?: {
6
- sourceDir?: string;
7
- outputDir?: string;
8
- }) => tkeronOpts;