@marko/vite 2.0.0 → 2.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.
Files changed (50) 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 +415 -0
  5. package/dist/index.mjs +410 -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/CHANGELOG.md +0 -72
  20. package/dist/cjs/esbuild-plugin.d.ts +0 -0
  21. package/dist/cjs/esbuild-plugin.js +0 -2
  22. package/dist/cjs/esbuild-plugin.js.map +0 -1
  23. package/dist/cjs/index.js +0 -417
  24. package/dist/cjs/index.js.map +0 -1
  25. package/dist/cjs/manifest-generator.js +0 -63
  26. package/dist/cjs/manifest-generator.js.map +0 -1
  27. package/dist/cjs/render-assets-transform.js +0 -12
  28. package/dist/cjs/render-assets-transform.js.map +0 -1
  29. package/dist/cjs/serializer.js +0 -81
  30. package/dist/cjs/serializer.js.map +0 -1
  31. package/dist/cjs/server-entry-template.js +0 -22
  32. package/dist/cjs/server-entry-template.js.map +0 -1
  33. package/dist/esm/esbuild-plugin.d.ts +0 -0
  34. package/dist/esm/esbuild-plugin.js +0 -2
  35. package/dist/esm/esbuild-plugin.js.map +0 -1
  36. package/dist/esm/index.d.ts +0 -10
  37. package/dist/esm/index.js +0 -413
  38. package/dist/esm/index.js.map +0 -1
  39. package/dist/esm/manifest-generator.d.ts +0 -11
  40. package/dist/esm/manifest-generator.js +0 -57
  41. package/dist/esm/manifest-generator.js.map +0 -1
  42. package/dist/esm/render-assets-transform.d.ts +0 -3
  43. package/dist/esm/render-assets-transform.js +0 -10
  44. package/dist/esm/render-assets-transform.js.map +0 -1
  45. package/dist/esm/serializer.d.ts +0 -2
  46. package/dist/esm/serializer.js +0 -78
  47. package/dist/esm/serializer.js.map +0 -1
  48. package/dist/esm/server-entry-template.d.ts +0 -6
  49. package/dist/esm/server-entry-template.js +0 -19
  50. 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.0",
4
+ "version": "2.1.1",
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": "^6.1.0",
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.4.4"
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
  }
package/CHANGELOG.md DELETED
@@ -1,72 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
-
5
- ## [2.0.0](https://github.com/marko-js/vite/compare/v1.3.2...v2.0.0) (2021-07-30)
6
-
7
-
8
- ### ⚠ BREAKING CHANGES
9
-
10
- * requires a minimum Marko peer version of `^5.15.0`
11
-
12
- ### Features
13
-
14
- * improve support for loading Marko files from node_modules ([c9d189f](https://github.com/marko-js/vite/commit/c9d189f48333aa04f6e997d80cce86afc86bead2))
15
-
16
- ### [1.3.2](https://github.com/marko-js/vite/compare/v1.3.1...v1.3.2) (2021-05-18)
17
-
18
-
19
- ### Bug Fixes
20
-
21
- * issue with resolving nested entry paths ([e0b2dd4](https://github.com/marko-js/vite/commit/e0b2dd4a08ccc719782d19645e9385071369e2e6))
22
-
23
- ### [1.3.1](https://github.com/marko-js/vite/compare/v1.3.0...v1.3.1) (2021-05-03)
24
-
25
-
26
- ### Bug Fixes
27
-
28
- * issue with loading missing virtual file in build mode ([493466e](https://github.com/marko-js/vite/commit/493466e0c08e012ef831f1adcf38a994d975dd27))
29
-
30
- ## [1.3.0](https://github.com/marko-js/vite/compare/v1.2.1...v1.3.0) (2021-05-03)
31
-
32
-
33
- ### Features
34
-
35
- * handle adding/removing optional related files ([5756ad2](https://github.com/marko-js/vite/commit/5756ad224b6397630e4d936128bc4a9968cdcac0))
36
-
37
- ### [1.2.1](https://github.com/marko-js/vite/compare/v1.2.0...v1.2.1) (2021-04-30)
38
-
39
-
40
- ### Bug Fixes
41
-
42
- * issue with common ids across multiple templates for entry files ([7633c9b](https://github.com/marko-js/vite/commit/7633c9bbf6198bb1ae33e86fc382ca8c4163d54f))
43
-
44
- ## 1.2.0 (2021-04-30)
45
-
46
-
47
- ### Features
48
-
49
- * enable hmr ([8d3fca7](https://github.com/marko-js/vite/commit/8d3fca71b29c22cbf08f1b3d264f25b69fc4b670))
50
- * initial release ([c4c1747](https://github.com/marko-js/vite/commit/c4c17471260fc8c1ea0640198fefd946a66a75be))
51
-
52
-
53
- ### Bug Fixes
54
-
55
- * invalid entry id output in windows ([cbe9696](https://github.com/marko-js/vite/commit/cbe9696ca79d79a9d0541a61e61b82a9e1fa85eb))
56
-
57
- ## 1.1.0 (2021-04-28)
58
-
59
- ### Bug Fixes
60
-
61
- * invalid entry id output in windows ([8db353f](https://github.com/marko-js/vite/commit/8db353f8d986df076dc89c2f23490f549d092330))
62
-
63
- ## 1.0.0 (2021-04-24)
64
-
65
-
66
- ### Features
67
-
68
- * initial commit ([9204a9d](https://github.com/marko-js/vite/commit/9204a9d5112429d7b835caf431c46a32a2939776))
69
-
70
- # Changelog
71
-
72
- All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
File without changes
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=esbuild-plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"esbuild-plugin.js","sourceRoot":"","sources":["../../src/esbuild-plugin.ts"],"names":[],"mappings":""}