@marko/vite 2.0.1 → 2.2.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.
Files changed (61) hide show
  1. package/{components → dist/components}/vite-watch.marko +0 -0
  2. package/{components → dist/components}/vite.marko +0 -0
  3. package/dist/{cjs/index.d.ts → index.d.ts} +0 -0
  4. package/dist/index.js +413 -0
  5. package/dist/index.mjs +408 -0
  6. package/dist/{cjs/manifest-generator.d.ts → manifest-generator.d.ts} +0 -0
  7. package/dist/manifest-generator.js +88 -0
  8. package/dist/manifest-generator.mjs +60 -0
  9. package/dist/{cjs/render-assets-transform.d.ts → render-assets-transform.d.ts} +0 -0
  10. package/dist/render-assets-transform.js +21 -0
  11. package/dist/render-assets-transform.mjs +12 -0
  12. package/dist/{cjs/serializer.d.ts → serializer.d.ts} +0 -0
  13. package/dist/serializer.js +103 -0
  14. package/dist/serializer.mjs +78 -0
  15. package/dist/{cjs/server-entry-template.d.ts → server-entry-template.d.ts} +0 -0
  16. package/dist/server-entry-template.js +45 -0
  17. package/dist/server-entry-template.mjs +20 -0
  18. package/package.json +44 -42
  19. package/dist/cjs/index.js +0 -413
  20. package/dist/cjs/index.js.map +0 -1
  21. package/dist/cjs/manifest-generator.js +0 -63
  22. package/dist/cjs/manifest-generator.js.map +0 -1
  23. package/dist/cjs/package-relative-path.d.ts +0 -2
  24. package/dist/cjs/package-relative-path.js +0 -22
  25. package/dist/cjs/package-relative-path.js.map +0 -1
  26. package/dist/cjs/precompile-dependencies.d.ts +0 -5
  27. package/dist/cjs/precompile-dependencies.js +0 -73
  28. package/dist/cjs/precompile-dependencies.js.map +0 -1
  29. package/dist/cjs/relative-imports-translate.d.ts +0 -3
  30. package/dist/cjs/relative-imports-translate.js +0 -24
  31. package/dist/cjs/relative-imports-translate.js.map +0 -1
  32. package/dist/cjs/render-assets-transform.js +0 -12
  33. package/dist/cjs/render-assets-transform.js.map +0 -1
  34. package/dist/cjs/serializer.js +0 -81
  35. package/dist/cjs/serializer.js.map +0 -1
  36. package/dist/cjs/server-entry-template.js +0 -22
  37. package/dist/cjs/server-entry-template.js.map +0 -1
  38. package/dist/esm/index.d.ts +0 -10
  39. package/dist/esm/index.js +0 -409
  40. package/dist/esm/index.js.map +0 -1
  41. package/dist/esm/manifest-generator.d.ts +0 -11
  42. package/dist/esm/manifest-generator.js +0 -57
  43. package/dist/esm/manifest-generator.js.map +0 -1
  44. package/dist/esm/package-relative-path.d.ts +0 -2
  45. package/dist/esm/package-relative-path.js +0 -17
  46. package/dist/esm/package-relative-path.js.map +0 -1
  47. package/dist/esm/precompile-dependencies.d.ts +0 -5
  48. package/dist/esm/precompile-dependencies.js +0 -69
  49. package/dist/esm/precompile-dependencies.js.map +0 -1
  50. package/dist/esm/relative-imports-translate.d.ts +0 -3
  51. package/dist/esm/relative-imports-translate.js +0 -21
  52. package/dist/esm/relative-imports-translate.js.map +0 -1
  53. package/dist/esm/render-assets-transform.d.ts +0 -3
  54. package/dist/esm/render-assets-transform.js +0 -10
  55. package/dist/esm/render-assets-transform.js.map +0 -1
  56. package/dist/esm/serializer.d.ts +0 -2
  57. package/dist/esm/serializer.js +0 -78
  58. package/dist/esm/serializer.js.map +0 -1
  59. package/dist/esm/server-entry-template.d.ts +0 -6
  60. package/dist/esm/server-entry-template.js +0 -19
  61. package/dist/esm/server-entry-template.js.map +0 -1
@@ -0,0 +1,103 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ __markAsModule(target);
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __reExport = (target, module2, desc) => {
14
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
15
+ for (let key of __getOwnPropNames(module2))
16
+ if (!__hasOwnProp.call(target, key) && key !== "default")
17
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
18
+ }
19
+ return target;
20
+ };
21
+ var __toModule = (module2) => {
22
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
23
+ };
24
+ __export(exports, {
25
+ default: () => serialize
26
+ });
27
+ var import_domelementtype = __toModule(require("domelementtype"));
28
+ const voidElements = /* @__PURE__ */ new Set([
29
+ "area",
30
+ "base",
31
+ "br",
32
+ "col",
33
+ "embed",
34
+ "hr",
35
+ "img",
36
+ "input",
37
+ "link",
38
+ "meta",
39
+ "param",
40
+ "source",
41
+ "track",
42
+ "wbr"
43
+ ]);
44
+ function serialize(nodes, parts) {
45
+ let curString = parts ? parts.pop() : "";
46
+ parts != null ? parts : parts = [];
47
+ for (const node of nodes) {
48
+ switch (node.type) {
49
+ case import_domelementtype.ElementType.Tag:
50
+ case import_domelementtype.ElementType.Style:
51
+ case import_domelementtype.ElementType.Script: {
52
+ const tag = node;
53
+ const { name } = tag;
54
+ curString += `<${name}`;
55
+ switch (tag.tagName) {
56
+ case "script":
57
+ parts.push(curString);
58
+ curString = "";
59
+ break;
60
+ case "style":
61
+ parts.push(curString);
62
+ curString = "";
63
+ break;
64
+ case "link":
65
+ if (tag.attribs.rel === "stylesheet") {
66
+ parts.push(curString);
67
+ curString = "";
68
+ }
69
+ break;
70
+ }
71
+ for (const attr of tag.attributes) {
72
+ curString += ` ${attr.value === "" ? attr.name : `${attr.name}="${attr.value.replace(/"/g, "&#39;")}"`}`;
73
+ }
74
+ curString += ">";
75
+ if (tag.children.length) {
76
+ parts.push(curString);
77
+ serialize(tag.children, parts);
78
+ curString = parts.pop();
79
+ }
80
+ if (!voidElements.has(name)) {
81
+ curString += `</${name}>`;
82
+ }
83
+ break;
84
+ }
85
+ case import_domelementtype.ElementType.Text: {
86
+ const text = node.data;
87
+ if (!/^\s*$/.test(text)) {
88
+ curString += text;
89
+ }
90
+ break;
91
+ }
92
+ case import_domelementtype.ElementType.Comment:
93
+ curString += `<!--${node.data}-->`;
94
+ break;
95
+ }
96
+ }
97
+ if (curString) {
98
+ parts.push(curString);
99
+ }
100
+ return parts;
101
+ }
102
+ // Annotate the CommonJS export names for ESM import in node:
103
+ 0 && (module.exports = {});
@@ -0,0 +1,78 @@
1
+ import { ElementType } from "domelementtype";
2
+ const voidElements = /* @__PURE__ */ new Set([
3
+ "area",
4
+ "base",
5
+ "br",
6
+ "col",
7
+ "embed",
8
+ "hr",
9
+ "img",
10
+ "input",
11
+ "link",
12
+ "meta",
13
+ "param",
14
+ "source",
15
+ "track",
16
+ "wbr"
17
+ ]);
18
+ function serialize(nodes, parts) {
19
+ let curString = parts ? parts.pop() : "";
20
+ parts != null ? parts : parts = [];
21
+ for (const node of nodes) {
22
+ switch (node.type) {
23
+ case ElementType.Tag:
24
+ case ElementType.Style:
25
+ case ElementType.Script: {
26
+ const tag = node;
27
+ const { name } = tag;
28
+ curString += `<${name}`;
29
+ switch (tag.tagName) {
30
+ case "script":
31
+ parts.push(curString);
32
+ curString = "";
33
+ break;
34
+ case "style":
35
+ parts.push(curString);
36
+ curString = "";
37
+ break;
38
+ case "link":
39
+ if (tag.attribs.rel === "stylesheet") {
40
+ parts.push(curString);
41
+ curString = "";
42
+ }
43
+ break;
44
+ }
45
+ for (const attr of tag.attributes) {
46
+ curString += ` ${attr.value === "" ? attr.name : `${attr.name}="${attr.value.replace(/"/g, "&#39;")}"`}`;
47
+ }
48
+ curString += ">";
49
+ if (tag.children.length) {
50
+ parts.push(curString);
51
+ serialize(tag.children, parts);
52
+ curString = parts.pop();
53
+ }
54
+ if (!voidElements.has(name)) {
55
+ curString += `</${name}>`;
56
+ }
57
+ break;
58
+ }
59
+ case ElementType.Text: {
60
+ const text = node.data;
61
+ if (!/^\s*$/.test(text)) {
62
+ curString += text;
63
+ }
64
+ break;
65
+ }
66
+ case ElementType.Comment:
67
+ curString += `<!--${node.data}-->`;
68
+ break;
69
+ }
70
+ }
71
+ if (curString) {
72
+ parts.push(curString);
73
+ }
74
+ return parts;
75
+ }
76
+ export {
77
+ serialize as default
78
+ };
@@ -0,0 +1,45 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ __markAsModule(target);
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __reExport = (target, module2, desc) => {
14
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
15
+ for (let key of __getOwnPropNames(module2))
16
+ if (!__hasOwnProp.call(target, key) && key !== "default")
17
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
18
+ }
19
+ return target;
20
+ };
21
+ var __toModule = (module2) => {
22
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
23
+ };
24
+ __export(exports, {
25
+ default: () => server_entry_template_default
26
+ });
27
+ var import_path = __toModule(require("path"));
28
+ var server_entry_template_default = async (opts) => {
29
+ const fileNameStr = JSON.stringify(`./${import_path.default.basename(opts.fileName)}`);
30
+ return `import template from ${fileNameStr};
31
+ export * from ${fileNameStr};
32
+ $ const $global = out.global;
33
+ ${opts.runtimeId ? `$ $global.runtimeId = ${JSON.stringify(opts.runtimeId)};
34
+ ` : ""}$ ($global.___viteEntries || ($global.___viteEntries = [])).push(${opts.entryData});
35
+ <_vite slot="head-prepend"/>
36
+ <_vite slot="head"/>
37
+ <_vite slot="body-prepend"/>
38
+ <\${template} ...input/>
39
+ <init-components/>
40
+ <await-reorderer/>
41
+ <_vite slot="body"/>
42
+ `;
43
+ };
44
+ // Annotate the CommonJS export names for ESM import in node:
45
+ 0 && (module.exports = {});
@@ -0,0 +1,20 @@
1
+ import path from "path";
2
+ var server_entry_template_default = async (opts) => {
3
+ const fileNameStr = JSON.stringify(`./${path.basename(opts.fileName)}`);
4
+ return `import template from ${fileNameStr};
5
+ export * from ${fileNameStr};
6
+ $ const $global = out.global;
7
+ ${opts.runtimeId ? `$ $global.runtimeId = ${JSON.stringify(opts.runtimeId)};
8
+ ` : ""}$ ($global.___viteEntries || ($global.___viteEntries = [])).push(${opts.entryData});
9
+ <_vite slot="head-prepend"/>
10
+ <_vite slot="head"/>
11
+ <_vite slot="body-prepend"/>
12
+ <\${template} ...input/>
13
+ <init-components/>
14
+ <await-reorderer/>
15
+ <_vite slot="body"/>
16
+ `;
17
+ };
18
+ export {
19
+ server_entry_template_default as default
20
+ };
package/package.json CHANGED
@@ -1,46 +1,45 @@
1
1
  {
2
2
  "name": "@marko/vite",
3
3
  "description": "A Marko plugin for Vite",
4
- "version": "2.0.1",
4
+ "version": "2.2.0",
5
5
  "author": "Dylan Piercey <dpiercey@ebay.com>",
6
6
  "bugs": "https://github.com/marko-js/vite/issues",
7
7
  "dependencies": {
8
8
  "anymatch": "^3.1.2",
9
9
  "domelementtype": "^2.2.0",
10
- "domhandler": "^4.2.0",
11
- "htmlparser2": "^7.1.1",
12
- "tslib": "^2.3.0"
10
+ "domhandler": "^4.3.0",
11
+ "htmlparser2": "^7.2.0"
13
12
  },
14
13
  "devDependencies": {
15
- "@commitlint/cli": "^13.1.0",
16
- "@commitlint/config-conventional": "^13.1.0",
17
- "@marko/compiler": "^5.15.0",
18
- "@types/jest": "^26.0.24",
19
- "@types/jsesc": "^3.0.1",
20
- "@types/node": "^16.4.7",
21
- "@typescript-eslint/eslint-plugin": "^4.28.5",
22
- "@typescript-eslint/parser": "^4.28.5",
23
- "codecov": "^3.8.3",
24
- "eslint": "^7.31.0",
14
+ "@commitlint/cli": "^15.0.0",
15
+ "@commitlint/config-conventional": "^15.0.0",
16
+ "@istanbuljs/nyc-config-typescript": "^1.0.2",
17
+ "@marko/compiler": "^5.17.4",
18
+ "@types/mocha": "^9.0.0",
19
+ "@types/node": "^16.11.11",
20
+ "@typescript-eslint/eslint-plugin": "^5.5.0",
21
+ "@typescript-eslint/parser": "^5.5.0",
22
+ "esbuild": "^0.14.2",
23
+ "esbuild-register": "^3.2.0",
24
+ "eslint": "^8.4.0",
25
25
  "eslint-config-prettier": "^8.3.0",
26
- "eslint-plugin-jest": "^24.4.0",
27
- "eslint-plugin-prettier": "^3.4.0",
26
+ "fast-glob": "^3.2.7",
28
27
  "fixpack": "^4.0.0",
29
- "husky": "^4.3.8",
30
- "jest": "^26.6.3",
31
- "jest-file-snapshot": "0.3.8",
32
- "lint-staged": "^11.1.1",
33
- "marko": "^5.15.0",
34
- "prettier": "^2.3.2",
35
- "standard-version": "^9.3.1",
36
- "ts-jest": "^26.5.4",
37
- "typescript": "^4.3.5",
38
- "vite": "^2.5.3"
28
+ "husky": "^7.0.4",
29
+ "lint-staged": "^12.1.2",
30
+ "marko": "^5.17.5",
31
+ "mocha": "^9.1.3",
32
+ "mocha-snap": "^4.2.1",
33
+ "nyc": "^15.1.0",
34
+ "prettier": "^2.5.1",
35
+ "semantic-release": "^18.0.1",
36
+ "typescript": "^4.5.2",
37
+ "vite": "^2.6.14"
39
38
  },
40
39
  "files": [
41
- "components",
42
- "dist/cjs",
43
- "dist/esm"
40
+ "dist",
41
+ "!**/__tests__",
42
+ "!**/*.tsbuildinfo"
44
43
  ],
45
44
  "homepage": "https://github.com/marko-js/vite",
46
45
  "keywords": [
@@ -51,28 +50,31 @@
51
50
  "vite"
52
51
  ],
53
52
  "license": "MIT",
54
- "main": "dist/cjs/index.js",
55
- "module": "dist/esm/index.js",
53
+ "main": "dist/index.js",
54
+ "module": "dist/index.mjs",
56
55
  "peerDependencies": {
57
- "@marko/compiler": "^5.15.0",
58
- "vite": "^2.4.4"
56
+ "@marko/compiler": "^5",
57
+ "vite": "^2"
59
58
  },
60
59
  "repository": {
61
60
  "type": "git",
62
61
  "url": "https://github.com/marko-js/vite"
63
62
  },
64
63
  "scripts": {
65
- "build": "tsc -b",
66
- "ci:report": "codecov",
67
- "ci:test": "jest --ci --coverage",
64
+ "build": "tsc -b && node -r esbuild-register build",
65
+ "ci:test": "nyc npm run mocha -- --forbid-pending --forbid-only",
68
66
  "format": "npm run lint:eslint -- --fix && npm run lint:prettier -- --write && (fixpack || true)",
69
- "lint": "npm run build && npm run lint:eslint && npm run lint:prettier -- -l && fixpack",
67
+ "lint": "tsc -b && npm run lint:eslint && npm run lint:prettier -- -l && fixpack",
70
68
  "lint:eslint": "eslint -f visualstudio .",
71
- "lint:prettier": "prettier \"**/*{.ts,.js,.json,.md,.yml,rc}\"",
69
+ "lint:prettier": "prettier '**/*{.ts,.js,.json,.md,.yml,rc}'",
70
+ "mocha": "NODE_ENV=test mocha 'src/**/__tests__/*.test.ts'",
71
+ "prepare": "husky install",
72
72
  "prepublishOnly": "npm run build",
73
- "release": "standard-version",
74
- "test": "jest --watch",
75
- "test:inspect": "node --inspect=0.0.0.0 $(which jest) --watch --runInBand --testTimeout 99999999"
73
+ "release": "semantic-release",
74
+ "report": "open ./coverage/lcov-report/index.html",
75
+ "test": "npm run mocha -- --watch",
76
+ "test:inspect": "npm test -- --inspect",
77
+ "test:update": "npm run mocha -- --update"
76
78
  },
77
- "types": "dist/esm/index.d.ts"
79
+ "types": "dist/index.d.ts"
78
80
  }