@rindo/core 1.8.12 → 1.17.4

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 (545) hide show
  1. package/bin/rindo +53 -19
  2. package/cli/index.cjs.js +524 -0
  3. package/cli/index.d.ts +15 -0
  4. package/cli/index.js +500 -0
  5. package/cli/package.json +9 -0
  6. package/compiler/package.json +8 -6
  7. package/compiler/rindo.d.ts +111 -0
  8. package/compiler/rindo.js +62852 -6655
  9. package/compiler/rindo.min.js +17 -0
  10. package/dependencies.json +80 -0
  11. package/dev-server/client/app-error.d.ts +18 -0
  12. package/dev-server/client/events.d.ts +6 -0
  13. package/dev-server/client/hmr-components.d.ts +1 -0
  14. package/dev-server/client/hmr-external-styles.d.ts +1 -0
  15. package/dev-server/client/hmr-images.d.ts +1 -0
  16. package/dev-server/client/hmr-inline-styles.d.ts +1 -0
  17. package/dev-server/client/hmr-util.d.ts +9 -0
  18. package/dev-server/client/hmr-window.d.ts +10 -0
  19. package/dev-server/client/index.d.ts +6 -0
  20. package/dev-server/client/index.js +785 -0
  21. package/dev-server/client/logger.d.ts +5 -0
  22. package/dev-server/client/package.json +8 -0
  23. package/dev-server/client/progress.d.ts +3 -0
  24. package/dev-server/client/status.d.ts +4 -0
  25. package/dev-server/connector.html +6 -0
  26. package/dev-server/content-type-db.json +1 -0
  27. package/dev-server/index.d.ts +6 -0
  28. package/dev-server/index.js +260 -0
  29. package/dev-server/open-in-editor-api.js +1 -0
  30. package/dev-server/package.json +8 -0
  31. package/dev-server/server-worker.js +1570 -0
  32. package/{dist/dev-server → dev-server}/static/favicon.ico +0 -0
  33. package/{dist/dev-server → dev-server}/templates/directory-index.html +132 -132
  34. package/dev-server/templates/initial-load.html +160 -0
  35. package/{dist/sys/node → dev-server}/visualstudio.vbs +0 -0
  36. package/dev-server/ws.js +1 -0
  37. package/{dist/sys/node → dev-server}/xdg-open +0 -0
  38. package/internal/app-data/index.cjs.js +88 -0
  39. package/internal/app-data/index.d.ts +3 -0
  40. package/internal/{client/build-conditionals.mjs → app-data/index.js} +24 -21
  41. package/internal/app-data/package.json +9 -0
  42. package/internal/client/css-shim.js +4 -0
  43. package/internal/client/{dom.rindo-client.mjs → dom.js} +73 -137
  44. package/{dist/client/index.mjs → internal/client/index.js} +736 -736
  45. package/internal/client/package.json +7 -0
  46. package/internal/client/patch.js +136 -0
  47. package/internal/client/polyfills/core-js.js +11 -10
  48. package/internal/client/polyfills/css-shim.js +1 -656
  49. package/internal/client/polyfills/dom.js +79 -146
  50. package/internal/client/polyfills/es5-html-element.js +1 -18
  51. package/internal/client/polyfills/index.js +6 -7
  52. package/internal/client/{shadow-css.rindo-client.mjs → shadow-css.js} +14 -17
  53. package/internal/hydrate/index.js +1073 -0
  54. package/internal/hydrate/package.json +7 -0
  55. package/internal/hydrate/runner.d.ts +205 -0
  56. package/internal/hydrate/runner.js +748 -0
  57. package/internal/hydrate/shadow-css.js +146 -0
  58. package/internal/index.d.ts +4 -18
  59. package/internal/index.js +1 -1
  60. package/internal/package.json +8 -6
  61. package/internal/rindo-core/index.d.ts +2 -0
  62. package/{dist → internal/rindo-core}/index.js +0 -0
  63. package/internal/rindo-ext-modules.d.ts +39 -0
  64. package/internal/rindo-private.d.ts +2183 -0
  65. package/internal/rindo-public-compiler.d.ts +2094 -0
  66. package/{dist/declarations/docs.d.ts → internal/rindo-public-docs.d.ts} +13 -1
  67. package/internal/rindo-public-runtime.d.ts +1552 -0
  68. package/internal/testing/index.js +1032 -0
  69. package/internal/testing/package.json +7 -0
  70. package/internal/testing/shadow-css.js +146 -0
  71. package/mock-doc/index.cjs.js +4500 -0
  72. package/mock-doc/index.d.ts +905 -0
  73. package/mock-doc/index.js +4464 -2
  74. package/mock-doc/package.json +9 -10
  75. package/package.json +84 -137
  76. package/readme.md +3 -82
  77. package/screenshot/compare/build/app.css +1 -1
  78. package/screenshot/compare/build/app.esm.js +1 -1
  79. package/screenshot/compare/build/app.js +27 -812
  80. package/{dist/compiler/polyfills.d.ts → screenshot/compare/build/index.esm.js} +0 -0
  81. package/screenshot/compare/build/{p-113f7459.js → p-081b0641.js} +1 -1
  82. package/screenshot/compare/build/p-227a1e18.entry.js +1 -0
  83. package/screenshot/compare/build/p-2c298727.entry.js +1 -0
  84. package/screenshot/compare/build/p-5479268c.entry.js +1 -0
  85. package/screenshot/compare/build/p-573ec8a4.entry.js +1 -0
  86. package/screenshot/compare/build/p-6ba08604.entry.js +1 -0
  87. package/screenshot/compare/build/p-6bc63295.entry.js +1 -0
  88. package/screenshot/compare/build/p-7a3759fd.entry.js +1 -0
  89. package/screenshot/compare/build/{p-ejpsp3kx.js → p-7b4e3ba7.js} +1 -1
  90. package/screenshot/compare/build/p-988eb362.css +1 -0
  91. package/screenshot/compare/build/p-9b6a9315.js +1 -0
  92. package/screenshot/compare/build/p-b4cc611c.entry.js +1 -0
  93. package/screenshot/compare/build/p-d1bf53f5.entry.js +1 -0
  94. package/screenshot/compare/build/{p-efb0eac6.js → p-e2efe0df.js} +1 -1
  95. package/screenshot/compare/build/p-e8ca6d97.entry.js +1 -0
  96. package/screenshot/compare/build/p-ec2f13e0.entry.js +1 -0
  97. package/screenshot/compare/build/p-f0b99977.entry.js +1 -0
  98. package/screenshot/compare/build/p-f4745c2f.entry.js +1 -0
  99. package/screenshot/compare/build/p-fbbae598.js +1 -0
  100. package/screenshot/compare/host.config.json +14 -14
  101. package/screenshot/compare/index.html +1 -1
  102. package/{dist/screenshot → screenshot}/connector-base.d.ts +1 -1
  103. package/{dist/screenshot → screenshot}/connector-local.d.ts +1 -1
  104. package/screenshot/connector.js +2 -3
  105. package/{dist/screenshot → screenshot}/index.d.ts +1 -1
  106. package/screenshot/index.js +642 -2
  107. package/screenshot/local-connector.js +2 -3
  108. package/screenshot/package.json +8 -13
  109. package/{dist/screenshot → screenshot}/pixel-match.d.ts +0 -0
  110. package/screenshot/pixel-match.js +22 -6
  111. package/screenshot/screenshot-compare.d.ts +3 -0
  112. package/{dist/screenshot → screenshot}/screenshot-fs.d.ts +1 -1
  113. package/sys/node/autoprefixer.js +1 -0
  114. package/sys/node/glob.js +1 -0
  115. package/sys/node/graceful-fs.js +1 -0
  116. package/sys/node/index.d.ts +18 -0
  117. package/sys/node/index.js +1402 -2
  118. package/sys/node/node-fetch.js +1 -0
  119. package/sys/node/package.json +8 -5
  120. package/sys/node/prompts.js +1 -0
  121. package/sys/node/worker.js +33 -0
  122. package/{dist/testing → testing}/index.d.ts +5 -6
  123. package/testing/index.js +3903 -2
  124. package/testing/jest/jest-config.d.ts +92 -0
  125. package/{dist/testing → testing}/jest/jest-environment.d.ts +4 -2
  126. package/{dist/testing → testing}/jest/jest-preprocessor.d.ts +1 -0
  127. package/{dist/testing → testing}/jest/jest-runner.d.ts +1 -1
  128. package/{dist/testing → testing}/jest/jest-screenshot.d.ts +1 -1
  129. package/{dist/testing → testing}/jest/jest-serializer.d.ts +1 -1
  130. package/{dist/testing → testing}/jest/jest-setup-test-framework.d.ts +0 -0
  131. package/testing/jest-environment.js +3 -3
  132. package/testing/jest-preprocessor.js +3 -3
  133. package/testing/jest-preset.js +20 -28
  134. package/testing/jest-runner.js +3 -3
  135. package/testing/jest-setuptestframework.js +3 -3
  136. package/{dist/testing → testing}/matchers/attributes.d.ts +0 -0
  137. package/{dist/testing → testing}/matchers/class-list.d.ts +0 -0
  138. package/{dist/testing → testing}/matchers/events.d.ts +9 -1
  139. package/{dist/testing → testing}/matchers/html.d.ts +0 -0
  140. package/{dist/testing → testing}/matchers/index.d.ts +3 -1
  141. package/{dist/testing → testing}/matchers/screenshot.d.ts +1 -1
  142. package/{dist/testing → testing}/matchers/text.d.ts +0 -0
  143. package/testing/mock-fetch.d.ts +11 -0
  144. package/testing/mocks.d.ts +14 -0
  145. package/testing/package.json +8 -6
  146. package/testing/puppeteer/index.d.ts +2 -0
  147. package/{dist/testing → testing}/puppeteer/puppeteer-browser.d.ts +2 -2
  148. package/{dist/testing → testing}/puppeteer/puppeteer-declarations.d.ts +9 -9
  149. package/{dist/testing → testing}/puppeteer/puppeteer-element.d.ts +5 -3
  150. package/testing/puppeteer/puppeteer-emulate.d.ts +2 -0
  151. package/{dist/testing → testing}/puppeteer/puppeteer-events.d.ts +7 -7
  152. package/testing/puppeteer/puppeteer-page.d.ts +2 -0
  153. package/testing/puppeteer/puppeteer-screenshot.d.ts +4 -0
  154. package/testing/reset-build-conditionals.d.ts +2 -0
  155. package/testing/spec-page.d.ts +2 -0
  156. package/testing/test-transpile.d.ts +2 -0
  157. package/{dist/testing → testing}/testing-logger.d.ts +10 -8
  158. package/testing/testing-sys.d.ts +1 -0
  159. package/{dist/testing → testing}/testing-utils.d.ts +3 -2
  160. package/testing/testing.d.ts +2 -0
  161. package/build-conditionals/index.d.ts +0 -2
  162. package/build-conditionals/index.mjs +0 -66
  163. package/build-conditionals/package.json +0 -6
  164. package/compiler/index.js +0 -2
  165. package/dist/cli/index.js +0 -6068
  166. package/dist/client/css-shim-14a9812e.js +0 -656
  167. package/dist/client/css-shim-69821662.js +0 -658
  168. package/dist/client/declarations/rindo.core.d.ts +0 -1347
  169. package/dist/client/dom-68c8fe31.js +0 -139
  170. package/dist/client/dom-af01458a.js +0 -137
  171. package/dist/client/index.js +0 -2937
  172. package/dist/client/polyfills/core-js.js +0 -10
  173. package/dist/client/polyfills/css-shim.js +0 -656
  174. package/dist/client/polyfills/dom.js +0 -146
  175. package/dist/client/polyfills/es5-html-element.js +0 -18
  176. package/dist/client/polyfills/index.js +0 -35
  177. package/dist/client/polyfills/promise.js +0 -9
  178. package/dist/client/polyfills/system.js +0 -6
  179. package/dist/client/shadow-css-6ef31c68.js +0 -386
  180. package/dist/client/shadow-css-8fd1a9e4.js +0 -388
  181. package/dist/compiler/app-core/app-es5-disabled.d.ts +0 -2
  182. package/dist/compiler/app-core/app-polyfills.d.ts +0 -3
  183. package/dist/compiler/app-core/build-conditionals.d.ts +0 -6
  184. package/dist/compiler/app-core/bundle-app-core.d.ts +0 -6
  185. package/dist/compiler/app-core/component-styles.d.ts +0 -4
  186. package/dist/compiler/app-core/format-component-runtime-meta.d.ts +0 -4
  187. package/dist/compiler/app-core/optimize-module.d.ts +0 -7
  188. package/dist/compiler/browser/build-conditionals-client.d.ts +0 -3
  189. package/dist/compiler/browser/compile-options.d.ts +0 -12
  190. package/dist/compiler/browser/compile.d.ts +0 -2
  191. package/dist/compiler/browser/create-compiler.d.ts +0 -14
  192. package/dist/compiler/browser/index.d.ts +0 -11
  193. package/dist/compiler/build/build-ctx.d.ts +0 -74
  194. package/dist/compiler/build/build-finish.d.ts +0 -3
  195. package/dist/compiler/build/build-hmr.d.ts +0 -2
  196. package/dist/compiler/build/build-results.d.ts +0 -2
  197. package/dist/compiler/build/build-stats.d.ts +0 -3
  198. package/dist/compiler/build/build.d.ts +0 -2
  199. package/dist/compiler/build/cache-stats.d.ts +0 -4
  200. package/dist/compiler/build/compiler-build-id.d.ts +0 -6
  201. package/dist/compiler/build/compiler-ctx.d.ts +0 -44
  202. package/dist/compiler/build/init-index-html.d.ts +0 -2
  203. package/dist/compiler/build/validate-files.d.ts +0 -2
  204. package/dist/compiler/build/write-build.d.ts +0 -2
  205. package/dist/compiler/cache.d.ts +0 -22
  206. package/dist/compiler/compiler.d.ts +0 -27
  207. package/dist/compiler/component-hydrate/bundle-hydrate-factory.d.ts +0 -3
  208. package/dist/compiler/component-hydrate/generate-hydrate-app.d.ts +0 -2
  209. package/dist/compiler/component-hydrate/hydrate-factory-closure.d.ts +0 -2
  210. package/dist/compiler/component-hydrate/update-to-hydrate-components.d.ts +0 -2
  211. package/dist/compiler/component-hydrate/write-hydrate-outputs.d.ts +0 -3
  212. package/dist/compiler/component-lazy/generate-cjs.d.ts +0 -3
  213. package/dist/compiler/component-lazy/generate-esm-browser.d.ts +0 -3
  214. package/dist/compiler/component-lazy/generate-esm.d.ts +0 -3
  215. package/dist/compiler/component-lazy/generate-lazy-app.d.ts +0 -3
  216. package/dist/compiler/component-lazy/generate-lazy-module.d.ts +0 -4
  217. package/dist/compiler/component-lazy/generate-system.d.ts +0 -3
  218. package/dist/compiler/component-lazy/update-to-lazy-component.d.ts +0 -2
  219. package/dist/compiler/component-lazy/write-lazy-entry-module.d.ts +0 -2
  220. package/dist/compiler/component-native/update-to-native-component.d.ts +0 -2
  221. package/dist/compiler/config/config-reload.d.ts +0 -3
  222. package/dist/compiler/config/config-utils.d.ts +0 -4
  223. package/dist/compiler/config/validate-config.d.ts +0 -4
  224. package/dist/compiler/config/validate-copy.d.ts +0 -2
  225. package/dist/compiler/config/validate-dev-server.d.ts +0 -2
  226. package/dist/compiler/config/validate-docs.d.ts +0 -2
  227. package/dist/compiler/config/validate-namespace.d.ts +0 -3
  228. package/dist/compiler/config/validate-output-stats.d.ts +0 -2
  229. package/dist/compiler/config/validate-outputs-angular.d.ts +0 -2
  230. package/dist/compiler/config/validate-outputs-custom.d.ts +0 -2
  231. package/dist/compiler/config/validate-outputs-dist-module.d.ts +0 -2
  232. package/dist/compiler/config/validate-outputs-dist.d.ts +0 -2
  233. package/dist/compiler/config/validate-outputs-hydrate-script.d.ts +0 -2
  234. package/dist/compiler/config/validate-outputs-www.d.ts +0 -2
  235. package/dist/compiler/config/validate-outputs.d.ts +0 -2
  236. package/dist/compiler/config/validate-paths.d.ts +0 -2
  237. package/dist/compiler/config/validate-plugins.d.ts +0 -2
  238. package/dist/compiler/config/validate-prerender.d.ts +0 -2
  239. package/dist/compiler/config/validate-rollup-config.d.ts +0 -2
  240. package/dist/compiler/config/validate-service-worker.d.ts +0 -2
  241. package/dist/compiler/config/validate-testing.d.ts +0 -2
  242. package/dist/compiler/config/validate-workers.d.ts +0 -2
  243. package/dist/compiler/copy/assets-copy-tasks.d.ts +0 -3
  244. package/dist/compiler/copy/hashed-copy.d.ts +0 -2
  245. package/dist/compiler/copy/local-copy-tasks.d.ts +0 -3
  246. package/dist/compiler/docs/constants.d.ts +0 -2
  247. package/dist/compiler/docs/custom/index.d.ts +0 -2
  248. package/dist/compiler/docs/docs.d.ts +0 -2
  249. package/dist/compiler/docs/generate-doc-data.d.ts +0 -3
  250. package/dist/compiler/docs/json/index.d.ts +0 -3
  251. package/dist/compiler/docs/readme/docs-util.d.ts +0 -13
  252. package/dist/compiler/docs/readme/index.d.ts +0 -3
  253. package/dist/compiler/docs/readme/markdown-css-props.d.ts +0 -2
  254. package/dist/compiler/docs/readme/markdown-dependencies.d.ts +0 -2
  255. package/dist/compiler/docs/readme/markdown-events.d.ts +0 -2
  256. package/dist/compiler/docs/readme/markdown-methods.d.ts +0 -2
  257. package/dist/compiler/docs/readme/markdown-props.d.ts +0 -2
  258. package/dist/compiler/docs/readme/markdown-slots.d.ts +0 -2
  259. package/dist/compiler/docs/readme/markdown-usage.d.ts +0 -6
  260. package/dist/compiler/docs/readme/output-docs.d.ts +0 -3
  261. package/dist/compiler/docs/style-docs.d.ts +0 -2
  262. package/dist/compiler/docs/vscode/index.d.ts +0 -2
  263. package/dist/compiler/entries/component-bundles.d.ts +0 -3
  264. package/dist/compiler/entries/component-graph.d.ts +0 -2
  265. package/dist/compiler/entries/default-bundles.d.ts +0 -3
  266. package/dist/compiler/entries/entry-modules.d.ts +0 -6
  267. package/dist/compiler/entries/resolve-component-dependencies.d.ts +0 -2
  268. package/dist/compiler/events.d.ts +0 -15
  269. package/dist/compiler/fs-watch/fs-watch-init.d.ts +0 -2
  270. package/dist/compiler/fs-watch/fs-watch-log.d.ts +0 -2
  271. package/dist/compiler/fs-watch/fs-watch-rebuild.d.ts +0 -7
  272. package/dist/compiler/html/inject-module-preloads.d.ts +0 -3
  273. package/dist/compiler/html/inject-sw-script.d.ts +0 -4
  274. package/dist/compiler/html/inline-esm-import.d.ts +0 -2
  275. package/dist/compiler/html/inline-style-sheets.d.ts +0 -2
  276. package/dist/compiler/html/update-global-styles-link.d.ts +0 -2
  277. package/dist/compiler/html/used-components.d.ts +0 -2
  278. package/dist/compiler/html/utils.d.ts +0 -2
  279. package/dist/compiler/html/validate-manifest-json.d.ts +0 -2
  280. package/dist/compiler/index.d.ts +0 -10
  281. package/dist/compiler/index.js +0 -18008
  282. package/dist/compiler/output-targets/empty-dir.d.ts +0 -6
  283. package/dist/compiler/output-targets/index.d.ts +0 -2
  284. package/dist/compiler/output-targets/output-angular.d.ts +0 -4
  285. package/dist/compiler/output-targets/output-app.d.ts +0 -4
  286. package/dist/compiler/output-targets/output-collection.d.ts +0 -3
  287. package/dist/compiler/output-targets/output-copy.d.ts +0 -2
  288. package/dist/compiler/output-targets/output-custom.d.ts +0 -2
  289. package/dist/compiler/output-targets/output-docs.d.ts +0 -2
  290. package/dist/compiler/output-targets/output-hydrate.d.ts +0 -2
  291. package/dist/compiler/output-targets/output-lazy-loader.d.ts +0 -2
  292. package/dist/compiler/output-targets/output-module.d.ts +0 -4
  293. package/dist/compiler/output-targets/output-prerender.d.ts +0 -2
  294. package/dist/compiler/output-targets/output-service-workers.d.ts +0 -2
  295. package/dist/compiler/output-targets/output-types.d.ts +0 -2
  296. package/dist/compiler/output-targets/output-utils.d.ts +0 -54
  297. package/dist/compiler/output-targets/output-www.d.ts +0 -2
  298. package/dist/compiler/plugin/plugin.d.ts +0 -6
  299. package/dist/compiler/prerender/crawl-urls.d.ts +0 -3
  300. package/dist/compiler/prerender/host-config.d.ts +0 -12
  301. package/dist/compiler/prerender/prerender-config.d.ts +0 -2
  302. package/dist/compiler/prerender/prerender-main.d.ts +0 -2
  303. package/dist/compiler/prerender/prerender-queue.d.ts +0 -3
  304. package/dist/compiler/prerender/prerender-template-html.d.ts +0 -2
  305. package/dist/compiler/prerender/prerendered-write-path.d.ts +0 -2
  306. package/dist/compiler/prerender/robots-txt.d.ts +0 -2
  307. package/dist/compiler/prerender/sitemap-xml.d.ts +0 -3
  308. package/dist/compiler/rollup-plugins/component-entry.d.ts +0 -3
  309. package/dist/compiler/rollup-plugins/css-transformer.d.ts +0 -3
  310. package/dist/compiler/rollup-plugins/global-scripts.d.ts +0 -4
  311. package/dist/compiler/rollup-plugins/image-plugin.d.ts +0 -3
  312. package/dist/compiler/rollup-plugins/in-memory-fs-read.d.ts +0 -3
  313. package/dist/compiler/rollup-plugins/loader.d.ts +0 -4
  314. package/dist/compiler/rollup-plugins/plugin-helper.d.ts +0 -5
  315. package/dist/compiler/rollup-plugins/rindo-build-conditionals.d.ts +0 -7
  316. package/dist/compiler/rollup-plugins/rindo-client.d.ts +0 -3
  317. package/dist/compiler/rollup-plugins/rindo-external-runtime.d.ts +0 -2
  318. package/dist/compiler/rollup-plugins/rindo-hydrate.d.ts +0 -3
  319. package/dist/compiler/rollup-plugins/rindo-public-plugin.d.ts +0 -2
  320. package/dist/compiler/service-worker/generate-sw.d.ts +0 -7
  321. package/dist/compiler/service-worker/service-worker-util.d.ts +0 -2
  322. package/dist/compiler/style/cached-styles.d.ts +0 -5
  323. package/dist/compiler/style/component-styles.d.ts +0 -2
  324. package/dist/compiler/style/css-imports.d.ts +0 -9
  325. package/dist/compiler/style/css-to-esm.d.ts +0 -5
  326. package/dist/compiler/style/generate-styles.d.ts +0 -2
  327. package/dist/compiler/style/global-styles.d.ts +0 -3
  328. package/dist/compiler/style/normalize-styles.d.ts +0 -2
  329. package/dist/compiler/style/optimize-css.d.ts +0 -2
  330. package/dist/compiler/style/scope-css.d.ts +0 -3
  331. package/dist/compiler/style/style-utils.d.ts +0 -10
  332. package/dist/compiler/transformers/add-component-meta-proxy.d.ts +0 -3
  333. package/dist/compiler/transformers/add-component-meta-static.d.ts +0 -4
  334. package/dist/compiler/transformers/add-imports.d.ts +0 -3
  335. package/dist/compiler/transformers/collections/add-external-import.d.ts +0 -2
  336. package/dist/compiler/transformers/collections/parse-collection-components.d.ts +0 -2
  337. package/dist/compiler/transformers/collections/parse-collection-deprecated.d.ts +0 -2
  338. package/dist/compiler/transformers/collections/parse-collection-manifest.d.ts +0 -7
  339. package/dist/compiler/transformers/collections/parse-collection-module.d.ts +0 -2
  340. package/dist/compiler/transformers/component-build-conditionals.d.ts +0 -2
  341. package/dist/compiler/transformers/component-hydrate/hydrate-component.d.ts +0 -3
  342. package/dist/compiler/transformers/component-hydrate/hydrate-runtime-cmp-meta.d.ts +0 -3
  343. package/dist/compiler/transformers/component-hydrate/tranform-to-hydrate-component.d.ts +0 -2
  344. package/dist/compiler/transformers/component-lazy/lazy-component.d.ts +0 -3
  345. package/dist/compiler/transformers/component-lazy/lazy-constructor.d.ts +0 -3
  346. package/dist/compiler/transformers/component-lazy/lazy-element-getter.d.ts +0 -3
  347. package/dist/compiler/transformers/component-lazy/transform-lazy-component.d.ts +0 -4
  348. package/dist/compiler/transformers/component-native/native-component.d.ts +0 -3
  349. package/dist/compiler/transformers/component-native/native-connected-callback.d.ts +0 -3
  350. package/dist/compiler/transformers/component-native/native-constructor.d.ts +0 -3
  351. package/dist/compiler/transformers/component-native/native-element-getter.d.ts +0 -3
  352. package/dist/compiler/transformers/component-native/native-static-style.d.ts +0 -3
  353. package/dist/compiler/transformers/component-native/tranform-to-native-component.d.ts +0 -4
  354. package/dist/compiler/transformers/core-runtime-apis.d.ts +0 -30
  355. package/dist/compiler/transformers/create-event.d.ts +0 -3
  356. package/dist/compiler/transformers/decorators-to-static/component-decorator.d.ts +0 -3
  357. package/dist/compiler/transformers/decorators-to-static/convert-decorators.d.ts +0 -3
  358. package/dist/compiler/transformers/decorators-to-static/decorator-utils.d.ts +0 -10
  359. package/dist/compiler/transformers/decorators-to-static/element-decorator.d.ts +0 -3
  360. package/dist/compiler/transformers/decorators-to-static/event-decorator.d.ts +0 -4
  361. package/dist/compiler/transformers/decorators-to-static/listen-decorator.d.ts +0 -6
  362. package/dist/compiler/transformers/decorators-to-static/method-decorator.d.ts +0 -3
  363. package/dist/compiler/transformers/decorators-to-static/prop-decorator.d.ts +0 -4
  364. package/dist/compiler/transformers/decorators-to-static/state-decorator.d.ts +0 -3
  365. package/dist/compiler/transformers/decorators-to-static/style-to-static.d.ts +0 -3
  366. package/dist/compiler/transformers/decorators-to-static/watch-decorator.d.ts +0 -3
  367. package/dist/compiler/transformers/define-custom-element.d.ts +0 -3
  368. package/dist/compiler/transformers/host-data-transform.d.ts +0 -3
  369. package/dist/compiler/transformers/legacy-props.d.ts +0 -3
  370. package/dist/compiler/transformers/remove-static-meta-properties.d.ts +0 -2
  371. package/dist/compiler/transformers/reserved-public-members.d.ts +0 -3
  372. package/dist/compiler/transformers/rindo-import-path.d.ts +0 -3
  373. package/dist/compiler/transformers/static-to-meta/call-expression.d.ts +0 -3
  374. package/dist/compiler/transformers/static-to-meta/class-methods.d.ts +0 -3
  375. package/dist/compiler/transformers/static-to-meta/component.d.ts +0 -3
  376. package/dist/compiler/transformers/static-to-meta/element-ref.d.ts +0 -2
  377. package/dist/compiler/transformers/static-to-meta/encapsulation.d.ts +0 -3
  378. package/dist/compiler/transformers/static-to-meta/events.d.ts +0 -3
  379. package/dist/compiler/transformers/static-to-meta/import.d.ts +0 -3
  380. package/dist/compiler/transformers/static-to-meta/listeners.d.ts +0 -3
  381. package/dist/compiler/transformers/static-to-meta/methods.d.ts +0 -3
  382. package/dist/compiler/transformers/static-to-meta/props.d.ts +0 -3
  383. package/dist/compiler/transformers/static-to-meta/states.d.ts +0 -3
  384. package/dist/compiler/transformers/static-to-meta/string-literal.d.ts +0 -3
  385. package/dist/compiler/transformers/static-to-meta/styles.d.ts +0 -3
  386. package/dist/compiler/transformers/static-to-meta/vdom.d.ts +0 -3
  387. package/dist/compiler/transformers/static-to-meta/visitor.d.ts +0 -3
  388. package/dist/compiler/transformers/static-to-meta/watchers.d.ts +0 -3
  389. package/dist/compiler/transformers/style-imports.d.ts +0 -3
  390. package/dist/compiler/transformers/transform-utils.d.ts +0 -31
  391. package/dist/compiler/transformers/update-component-class.d.ts +0 -3
  392. package/dist/compiler/transformers/update-rindo-core-import.d.ts +0 -3
  393. package/dist/compiler/transformers/watcher-meta-transform.d.ts +0 -3
  394. package/dist/compiler/transpile/compiler-options.d.ts +0 -4
  395. package/dist/compiler/transpile/transpile-app.d.ts +0 -2
  396. package/dist/compiler/transpile/transpile-module.d.ts +0 -5
  397. package/dist/compiler/transpile/transpile-service.d.ts +0 -3
  398. package/dist/compiler/transpile/transpile-to-es5-main.d.ts +0 -2
  399. package/dist/compiler/transpile/validate-types-main.d.ts +0 -2
  400. package/dist/compiler/types/generate-app-types.d.ts +0 -2
  401. package/dist/compiler/types/generate-component-types.d.ts +0 -8
  402. package/dist/compiler/types/generate-event-types.d.ts +0 -2
  403. package/dist/compiler/types/generate-method-types.d.ts +0 -2
  404. package/dist/compiler/types/generate-prop-types.d.ts +0 -2
  405. package/dist/compiler/types/generate-types.d.ts +0 -2
  406. package/dist/compiler/types/rindo-types.d.ts +0 -3
  407. package/dist/compiler/types/types-utils.d.ts +0 -4
  408. package/dist/compiler/types/update-import-refs.d.ts +0 -11
  409. package/dist/compiler/types/validate-package-json.d.ts +0 -9
  410. package/dist/declarations/assets.d.ts +0 -17
  411. package/dist/declarations/browser-compile.d.ts +0 -47
  412. package/dist/declarations/build-conditionals.d.ts +0 -91
  413. package/dist/declarations/build-events.d.ts +0 -19
  414. package/dist/declarations/build.d.ts +0 -247
  415. package/dist/declarations/cache.d.ts +0 -11
  416. package/dist/declarations/collection-manifest.d.ts +0 -106
  417. package/dist/declarations/collection.d.ts +0 -139
  418. package/dist/declarations/compiler.d.ts +0 -53
  419. package/dist/declarations/component-compiler-meta.d.ts +0 -198
  420. package/dist/declarations/component-constructor.d.ts +0 -61
  421. package/dist/declarations/component-interfaces.d.ts +0 -123
  422. package/dist/declarations/config.d.ts +0 -409
  423. package/dist/declarations/css-var-shim.d.ts +0 -9
  424. package/dist/declarations/decorators.d.ts +0 -150
  425. package/dist/declarations/dev-server.d.ts +0 -135
  426. package/dist/declarations/diagnostics.d.ts +0 -21
  427. package/dist/declarations/entry.d.ts +0 -28
  428. package/dist/declarations/events.d.ts +0 -13
  429. package/dist/declarations/file-system.d.ts +0 -91
  430. package/dist/declarations/fs-watch.d.ts +0 -15
  431. package/dist/declarations/host-element.d.ts +0 -53
  432. package/dist/declarations/hydrate.d.ts +0 -99
  433. package/dist/declarations/in-memory-fs.d.ts +0 -59
  434. package/dist/declarations/index.d.ts +0 -45
  435. package/dist/declarations/jsdoc.d.ts +0 -16
  436. package/dist/declarations/jsx.d.ts +0 -1050
  437. package/dist/declarations/logger.d.ts +0 -25
  438. package/dist/declarations/minify-js.d.ts +0 -11
  439. package/dist/declarations/module.d.ts +0 -35
  440. package/dist/declarations/optimize-css.d.ts +0 -12
  441. package/dist/declarations/output-targets.d.ts +0 -189
  442. package/dist/declarations/plugin.d.ts +0 -23
  443. package/dist/declarations/prerender.d.ts +0 -79
  444. package/dist/declarations/render.d.ts +0 -62
  445. package/dist/declarations/runtime.d.ts +0 -92
  446. package/dist/declarations/screenshots.d.ts +0 -192
  447. package/dist/declarations/server.d.ts +0 -19
  448. package/dist/declarations/style.d.ts +0 -35
  449. package/dist/declarations/system.d.ts +0 -174
  450. package/dist/declarations/testing.d.ts +0 -523
  451. package/dist/declarations/transpile.d.ts +0 -24
  452. package/dist/declarations/types.d.ts +0 -24
  453. package/dist/declarations/vdom.d.ts +0 -55
  454. package/dist/declarations/worker.d.ts +0 -33
  455. package/dist/dev-server/content-type-db.json +0 -1
  456. package/dist/dev-server/index.js +0 -887
  457. package/dist/dev-server/static/app-error.css +0 -257
  458. package/dist/dev-server/static/dev-server-client.html +0 -13
  459. package/dist/dev-server/templates/initial-load.html +0 -160
  460. package/dist/hydrate/index.d.ts +0 -101
  461. package/dist/hydrate/index.mjs +0 -1281
  462. package/dist/hydrate/platform.mjs +0 -347
  463. package/dist/index.d.ts +0 -99
  464. package/dist/mock-doc/index.d.ts +0 -851
  465. package/dist/mock-doc/index.js +0 -3982
  466. package/dist/mock-doc/index.mjs +0 -3954
  467. package/dist/runtime/index.js +0 -2576
  468. package/dist/runtime/index.mjs +0 -2521
  469. package/dist/runtime/shadow-css-6ef31c68.js +0 -386
  470. package/dist/runtime/shadow-css-8fd1a9e4.js +0 -388
  471. package/dist/screenshot/index.js +0 -520
  472. package/dist/sys/node/graceful-fs.js +0 -975
  473. package/dist/sys/node/index.js +0 -33545
  474. package/dist/sys/node/node-fetch.js +0 -1779
  475. package/dist/sys/node/open-in-editor.js +0 -734
  476. package/dist/sys/node/sys-worker.js +0 -67035
  477. package/dist/sys/node/websocket.js +0 -3728
  478. package/dist/testing/build-conditionals.d.ts +0 -4
  479. package/dist/testing/build-conditionals.js +0 -43
  480. package/dist/testing/core.d.ts +0 -35
  481. package/dist/testing/core.js +0 -52
  482. package/dist/testing/index.js +0 -40511
  483. package/dist/testing/jest/jest-config.d.ts +0 -4
  484. package/dist/testing/mock-fetch.d.ts +0 -46
  485. package/dist/testing/mocks.d.ts +0 -12
  486. package/dist/testing/platform.d.ts +0 -23
  487. package/dist/testing/platform.js +0 -321
  488. package/dist/testing/puppeteer/puppeteer-emulate.d.ts +0 -2
  489. package/dist/testing/puppeteer/puppeteer-find.d.ts +0 -5
  490. package/dist/testing/puppeteer/puppeteer-page.d.ts +0 -2
  491. package/dist/testing/puppeteer/puppeteer-screenshot.d.ts +0 -4
  492. package/dist/testing/spec-page.d.ts +0 -5
  493. package/dist/testing/task-queue.d.ts +0 -15
  494. package/dist/testing/test-transpile.d.ts +0 -5
  495. package/dist/testing/testing-fs.d.ts +0 -31
  496. package/dist/testing/testing-sys.d.ts +0 -19
  497. package/dist/testing/testing.d.ts +0 -12
  498. package/dist/utils/index.js +0 -1575
  499. package/dist/utils/index.mjs +0 -1511
  500. package/internal/client/css-shim.rindo-client.mjs +0 -656
  501. package/internal/client/index.mjs +0 -2859
  502. package/internal/client/polyfills/promise.js +0 -9
  503. package/internal/images.d.ts +0 -5
  504. package/runtime/package.json +0 -5
  505. package/screenshot/compare/build/p-020f8d73.js +0 -1
  506. package/screenshot/compare/build/p-09qdknbg.system.entry.js +0 -1
  507. package/screenshot/compare/build/p-0a13mpsc.system.entry.js +0 -1
  508. package/screenshot/compare/build/p-168ec2c4.system.js +0 -1
  509. package/screenshot/compare/build/p-2ab1fdf1.system.js +0 -1
  510. package/screenshot/compare/build/p-2pxcsgrj.entry.js +0 -1
  511. package/screenshot/compare/build/p-42fb7034.system.js +0 -1
  512. package/screenshot/compare/build/p-54d9d7c2.system.js +0 -1
  513. package/screenshot/compare/build/p-67c1f911.js +0 -1
  514. package/screenshot/compare/build/p-68613371.system.js +0 -1
  515. package/screenshot/compare/build/p-7dvsjpu0.entry.js +0 -1
  516. package/screenshot/compare/build/p-aa67fb06.js +0 -1
  517. package/screenshot/compare/build/p-aeb3cec1.system.js +0 -1
  518. package/screenshot/compare/build/p-b6e44a24.js +0 -1
  519. package/screenshot/compare/build/p-c1c25b8a.js +0 -1
  520. package/screenshot/compare/build/p-c9bopbjy.system.entry.js +0 -1
  521. package/screenshot/compare/build/p-c9iqz1pp.system.entry.js +0 -1
  522. package/screenshot/compare/build/p-dizjz8rg.entry.js +0 -1
  523. package/screenshot/compare/build/p-dnta0rwp.system.entry.js +0 -1
  524. package/screenshot/compare/build/p-e9670d22.system.js +0 -1
  525. package/screenshot/compare/build/p-ei9jkpd0.system.entry.js +0 -1
  526. package/screenshot/compare/build/p-ejwcppol.entry.js +0 -1
  527. package/screenshot/compare/build/p-f6612d5d.system.js +0 -1
  528. package/screenshot/compare/build/p-foiivsfc.css +0 -1
  529. package/screenshot/compare/build/p-gpjjyogx.entry.js +0 -1
  530. package/screenshot/compare/build/p-howklem2.system.entry.js +0 -1
  531. package/screenshot/compare/build/p-knv9wvoc.entry.js +0 -1
  532. package/screenshot/compare/build/p-nsqsfhhy.entry.js +0 -1
  533. package/screenshot/compare/build/p-ojt278pp.entry.js +0 -1
  534. package/screenshot/compare/build/p-oywass99.entry.js +0 -1
  535. package/screenshot/compare/build/p-q3ujhub6.entry.js +0 -1
  536. package/screenshot/compare/build/p-qw4xnmxv.entry.js +0 -1
  537. package/screenshot/compare/build/p-t1wvevhc.system.entry.js +0 -1
  538. package/screenshot/compare/build/p-tnjarrex.system.entry.js +0 -1
  539. package/screenshot/compare/build/p-vhfpd6kk.system.entry.js +0 -1
  540. package/screenshot/compare/build/p-vk6rhemd.system.entry.js +0 -1
  541. package/screenshot/compare/build/p-w6bnm16k.entry.js +0 -1
  542. package/screenshot/compare/build/p-xje6d7zl.system.entry.js +0 -1
  543. package/screenshot/compare/build/p-y5jlrcha.system.entry.js +0 -1
  544. package/screenshot/compare/build/p-yh170wkt.entry.js +0 -1
  545. package/testing/jest.preprocessor.js +0 -7
@@ -1,520 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
-
7
- var fs = _interopDefault(require('../sys/node/graceful-fs.js'));
8
- var path = require('path');
9
- var path__default = _interopDefault(path);
10
- var os = require('os');
11
- var utils = require('../utils');
12
- var url = require('url');
13
-
14
- function fileExists(filePath) {
15
- return new Promise(resolve => {
16
- fs.access(filePath, (err) => resolve(!err));
17
- });
18
- }
19
- function readFile(filePath) {
20
- return new Promise((resolve, reject) => {
21
- fs.readFile(filePath, 'utf-8', (err, data) => {
22
- if (err) {
23
- reject(err);
24
- }
25
- else {
26
- resolve(data);
27
- }
28
- });
29
- });
30
- }
31
- function readFileBuffer(filePath) {
32
- return new Promise((resolve, reject) => {
33
- fs.readFile(filePath, (err, data) => {
34
- if (err) {
35
- reject(err);
36
- }
37
- else {
38
- resolve(data);
39
- }
40
- });
41
- });
42
- }
43
- function writeFile(filePath, data) {
44
- return new Promise((resolve, reject) => {
45
- fs.writeFile(filePath, data, (err) => {
46
- if (err) {
47
- reject(err);
48
- }
49
- else {
50
- resolve();
51
- }
52
- });
53
- });
54
- }
55
- function mkDir(filePath) {
56
- return new Promise(resolve => {
57
- fs.mkdir(filePath, () => {
58
- resolve();
59
- });
60
- });
61
- }
62
- function rmDir(filePath) {
63
- return new Promise(resolve => {
64
- fs.rmdir(filePath, () => {
65
- resolve();
66
- });
67
- });
68
- }
69
- async function emptyDir(dir) {
70
- const files = await readDir(dir);
71
- const promises = files.map(async (fileName) => {
72
- const filePath = path__default.join(dir, fileName);
73
- const isDirFile = await isFile(filePath);
74
- if (isDirFile) {
75
- await unlink(filePath);
76
- }
77
- });
78
- await Promise.all(promises);
79
- }
80
- async function readDir(dir) {
81
- return new Promise(resolve => {
82
- fs.readdir(dir, (err, files) => {
83
- if (err) {
84
- resolve([]);
85
- }
86
- else {
87
- resolve(files);
88
- }
89
- });
90
- });
91
- }
92
- async function isFile(itemPath) {
93
- return new Promise(resolve => {
94
- fs.stat(itemPath, (err, stat) => {
95
- if (err) {
96
- resolve(false);
97
- }
98
- else {
99
- resolve(stat.isFile());
100
- }
101
- });
102
- });
103
- }
104
- async function unlink(filePath) {
105
- return new Promise(resolve => {
106
- fs.unlink(filePath, () => {
107
- resolve();
108
- });
109
- });
110
- }
111
-
112
- class ScreenshotConnector {
113
- constructor() {
114
- this.screenshotDirName = 'screenshot';
115
- this.imagesDirName = 'images';
116
- this.buildsDirName = 'builds';
117
- this.masterBuildFileName = 'master.json';
118
- this.screenshotCacheFileName = 'screenshot-cache.json';
119
- }
120
- async initBuild(opts) {
121
- this.logger = opts.logger;
122
- this.buildId = opts.buildId;
123
- this.buildMessage = opts.buildMessage || '';
124
- this.buildAuthor = opts.buildAuthor;
125
- this.buildUrl = opts.buildUrl;
126
- this.previewUrl = opts.previewUrl;
127
- this.buildTimestamp = typeof opts.buildTimestamp === 'number' ? opts.buildTimestamp : Date.now(),
128
- this.cacheDir = opts.cacheDir;
129
- this.packageDir = opts.packageDir;
130
- this.rootDir = opts.rootDir;
131
- this.appNamespace = opts.appNamespace;
132
- this.waitBeforeScreenshot = opts.waitBeforeScreenshot;
133
- this.pixelmatchModulePath = opts.pixelmatchModulePath;
134
- if (!opts.logger) {
135
- throw new Error(`logger option required`);
136
- }
137
- if (typeof opts.buildId !== 'string') {
138
- throw new Error(`buildId option required`);
139
- }
140
- if (typeof opts.cacheDir !== 'string') {
141
- throw new Error(`cacheDir option required`);
142
- }
143
- if (typeof opts.packageDir !== 'string') {
144
- throw new Error(`packageDir option required`);
145
- }
146
- if (typeof opts.rootDir !== 'string') {
147
- throw new Error(`rootDir option required`);
148
- }
149
- this.updateMaster = !!opts.updateMaster;
150
- this.allowableMismatchedPixels = opts.allowableMismatchedPixels;
151
- this.allowableMismatchedRatio = opts.allowableMismatchedRatio;
152
- this.pixelmatchThreshold = opts.pixelmatchThreshold;
153
- this.logger.debug(`screenshot build: ${this.buildId}, ${this.buildMessage}, updateMaster: ${this.updateMaster}`);
154
- this.logger.debug(`screenshot, allowableMismatchedPixels: ${this.allowableMismatchedPixels}, allowableMismatchedRatio: ${this.allowableMismatchedRatio}, pixelmatchThreshold: ${this.pixelmatchThreshold}`);
155
- if (typeof opts.screenshotDirName === 'string') {
156
- this.screenshotDirName = opts.screenshotDirName;
157
- }
158
- if (typeof opts.imagesDirName === 'string') {
159
- this.imagesDirName = opts.imagesDirName;
160
- }
161
- if (typeof opts.buildsDirName === 'string') {
162
- this.buildsDirName = opts.buildsDirName;
163
- }
164
- this.screenshotDir = path.join(this.rootDir, this.screenshotDirName);
165
- this.imagesDir = path.join(this.screenshotDir, this.imagesDirName);
166
- this.buildsDir = path.join(this.screenshotDir, this.buildsDirName);
167
- this.masterBuildFilePath = path.join(this.buildsDir, this.masterBuildFileName);
168
- this.screenshotCacheFilePath = path.join(this.cacheDir, this.screenshotCacheFileName);
169
- this.currentBuildDir = path.join(os.tmpdir(), 'screenshot-build-' + this.buildId);
170
- this.logger.debug(`screenshotDirPath: ${this.screenshotDir}`);
171
- this.logger.debug(`imagesDirPath: ${this.imagesDir}`);
172
- this.logger.debug(`buildsDirPath: ${this.buildsDir}`);
173
- this.logger.debug(`currentBuildDir: ${this.currentBuildDir}`);
174
- this.logger.debug(`cacheDir: ${this.cacheDir}`);
175
- await mkDir(this.screenshotDir);
176
- await Promise.all([
177
- mkDir(this.imagesDir),
178
- mkDir(this.buildsDir),
179
- mkDir(this.currentBuildDir),
180
- mkDir(this.cacheDir)
181
- ]);
182
- }
183
- async pullMasterBuild() { }
184
- async getMasterBuild() {
185
- let masterBuild = null;
186
- try {
187
- masterBuild = JSON.parse(await readFile(this.masterBuildFilePath));
188
- }
189
- catch (e) { }
190
- return masterBuild;
191
- }
192
- async completeBuild(masterBuild) {
193
- const filePaths = (await readDir(this.currentBuildDir)).map(f => path.join(this.currentBuildDir, f)).filter(f => f.endsWith('.json'));
194
- const screenshots = await Promise.all(filePaths.map(async (f) => JSON.parse(await readFile(f))));
195
- this.sortScreenshots(screenshots);
196
- if (!masterBuild) {
197
- masterBuild = {
198
- id: this.buildId,
199
- message: this.buildMessage,
200
- author: this.buildAuthor,
201
- url: this.buildUrl,
202
- previewUrl: this.previewUrl,
203
- appNamespace: this.appNamespace,
204
- timestamp: this.buildTimestamp,
205
- screenshots: screenshots
206
- };
207
- }
208
- const results = {
209
- appNamespace: this.appNamespace,
210
- masterBuild: masterBuild,
211
- currentBuild: {
212
- id: this.buildId,
213
- message: this.buildMessage,
214
- author: this.buildAuthor,
215
- url: this.buildUrl,
216
- previewUrl: this.previewUrl,
217
- appNamespace: this.appNamespace,
218
- timestamp: this.buildTimestamp,
219
- screenshots: screenshots
220
- },
221
- compare: {
222
- id: `${masterBuild.id}-${this.buildId}`,
223
- a: {
224
- id: masterBuild.id,
225
- message: masterBuild.message,
226
- author: masterBuild.author,
227
- url: masterBuild.url,
228
- previewUrl: masterBuild.previewUrl
229
- },
230
- b: {
231
- id: this.buildId,
232
- message: this.buildMessage,
233
- author: this.buildAuthor,
234
- url: this.buildUrl,
235
- previewUrl: this.previewUrl,
236
- },
237
- url: null,
238
- appNamespace: this.appNamespace,
239
- timestamp: this.buildTimestamp,
240
- diffs: []
241
- }
242
- };
243
- results.currentBuild.screenshots.forEach(screenshot => {
244
- screenshot.diff.device = (screenshot.diff.device || screenshot.diff.userAgent);
245
- results.compare.diffs.push(screenshot.diff);
246
- delete screenshot.diff;
247
- });
248
- this.sortCompares(results.compare.diffs);
249
- await emptyDir(this.currentBuildDir);
250
- await rmDir(this.currentBuildDir);
251
- return results;
252
- }
253
- async publishBuild(results) {
254
- return results;
255
- }
256
- async generateJsonpDataUris(build) {
257
- if (build && Array.isArray(build.screenshots)) {
258
- for (let i = 0; i < build.screenshots.length; i++) {
259
- const screenshot = build.screenshots[i];
260
- const jsonpFileName = `screenshot_${screenshot.image}.js`;
261
- const jsonFilePath = path.join(this.cacheDir, jsonpFileName);
262
- const jsonpExists = await fileExists(jsonFilePath);
263
- if (!jsonpExists) {
264
- const imageFilePath = path.join(this.imagesDir, screenshot.image);
265
- const imageBuf = await readFileBuffer(imageFilePath);
266
- const jsonpContent = `loadScreenshot("${screenshot.image}","data:image/png;base64,${imageBuf.toString('base64')}");`;
267
- await writeFile(jsonFilePath, jsonpContent);
268
- }
269
- }
270
- }
271
- }
272
- async getScreenshotCache() {
273
- return null;
274
- }
275
- async updateScreenshotCache(screenshotCache, buildResults) {
276
- screenshotCache = screenshotCache || {};
277
- screenshotCache.timestamp = this.buildTimestamp;
278
- screenshotCache.lastBuildId = this.buildId;
279
- screenshotCache.size = 0;
280
- screenshotCache.items = screenshotCache.items || [];
281
- if (buildResults && buildResults.compare && Array.isArray(buildResults.compare.diffs)) {
282
- buildResults.compare.diffs.forEach(diff => {
283
- if (typeof diff.cacheKey !== 'string') {
284
- return;
285
- }
286
- if (diff.imageA === diff.imageB) {
287
- // no need to cache identical matches
288
- return;
289
- }
290
- const existingItem = screenshotCache.items.find(i => i.key === diff.cacheKey);
291
- if (existingItem) {
292
- // already have this cached, but update its timestamp
293
- existingItem.ts = this.buildTimestamp;
294
- }
295
- else {
296
- // add this item to the cache
297
- screenshotCache.items.push({
298
- key: diff.cacheKey,
299
- ts: this.buildTimestamp,
300
- mp: diff.mismatchedPixels
301
- });
302
- }
303
- });
304
- }
305
- // sort so the newest items are on top
306
- screenshotCache.items.sort((a, b) => {
307
- if (a.ts > b.ts)
308
- return -1;
309
- if (a.ts < b.ts)
310
- return 1;
311
- if (a.mp > b.mp)
312
- return -1;
313
- if (a.mp < b.mp)
314
- return 1;
315
- return 0;
316
- });
317
- // keep only the most recent items
318
- screenshotCache.items = screenshotCache.items.slice(0, 1000);
319
- screenshotCache.size = screenshotCache.items.length;
320
- return screenshotCache;
321
- }
322
- toJson(masterBuild, screenshotCache) {
323
- const masterScreenshots = {};
324
- if (masterBuild && Array.isArray(masterBuild.screenshots)) {
325
- masterBuild.screenshots.forEach(masterScreenshot => {
326
- masterScreenshots[masterScreenshot.id] = masterScreenshot.image;
327
- });
328
- }
329
- const mismatchCache = {};
330
- if (screenshotCache && Array.isArray(screenshotCache.items)) {
331
- screenshotCache.items.forEach(cacheItem => {
332
- mismatchCache[cacheItem.key] = cacheItem.mp;
333
- });
334
- }
335
- const screenshotBuild = {
336
- buildId: this.buildId,
337
- rootDir: this.rootDir,
338
- screenshotDir: this.screenshotDir,
339
- imagesDir: this.imagesDir,
340
- buildsDir: this.buildsDir,
341
- masterScreenshots: masterScreenshots,
342
- cache: mismatchCache,
343
- currentBuildDir: this.currentBuildDir,
344
- updateMaster: this.updateMaster,
345
- allowableMismatchedPixels: this.allowableMismatchedPixels,
346
- allowableMismatchedRatio: this.allowableMismatchedRatio,
347
- pixelmatchThreshold: this.pixelmatchThreshold,
348
- timeoutBeforeScreenshot: this.waitBeforeScreenshot,
349
- pixelmatchModulePath: this.pixelmatchModulePath
350
- };
351
- return JSON.stringify(screenshotBuild);
352
- }
353
- sortScreenshots(screenshots) {
354
- return screenshots.sort((a, b) => {
355
- if (a.desc && b.desc) {
356
- if (a.desc.toLowerCase() < b.desc.toLowerCase())
357
- return -1;
358
- if (a.desc.toLowerCase() > b.desc.toLowerCase())
359
- return 1;
360
- }
361
- if (a.device && b.device) {
362
- if (a.device.toLowerCase() < b.device.toLowerCase())
363
- return -1;
364
- if (a.device.toLowerCase() > b.device.toLowerCase())
365
- return 1;
366
- }
367
- if (a.userAgent && b.userAgent) {
368
- if (a.userAgent.toLowerCase() < b.userAgent.toLowerCase())
369
- return -1;
370
- if (a.userAgent.toLowerCase() > b.userAgent.toLowerCase())
371
- return 1;
372
- }
373
- if (a.width < b.width)
374
- return -1;
375
- if (a.width > b.width)
376
- return 1;
377
- if (a.height < b.height)
378
- return -1;
379
- if (a.height > b.height)
380
- return 1;
381
- if (a.id < b.id)
382
- return -1;
383
- if (a.id > b.id)
384
- return 1;
385
- return 0;
386
- });
387
- }
388
- sortCompares(compares) {
389
- return compares.sort((a, b) => {
390
- if (a.allowableMismatchedPixels > b.allowableMismatchedPixels)
391
- return -1;
392
- if (a.allowableMismatchedPixels < b.allowableMismatchedPixels)
393
- return 1;
394
- if (a.allowableMismatchedRatio > b.allowableMismatchedRatio)
395
- return -1;
396
- if (a.allowableMismatchedRatio < b.allowableMismatchedRatio)
397
- return 1;
398
- if (a.desc && b.desc) {
399
- if (a.desc.toLowerCase() < b.desc.toLowerCase())
400
- return -1;
401
- if (a.desc.toLowerCase() > b.desc.toLowerCase())
402
- return 1;
403
- }
404
- if (a.device && b.device) {
405
- if (a.device.toLowerCase() < b.device.toLowerCase())
406
- return -1;
407
- if (a.device.toLowerCase() > b.device.toLowerCase())
408
- return 1;
409
- }
410
- if (a.userAgent && b.userAgent) {
411
- if (a.userAgent.toLowerCase() < b.userAgent.toLowerCase())
412
- return -1;
413
- if (a.userAgent.toLowerCase() > b.userAgent.toLowerCase())
414
- return 1;
415
- }
416
- if (a.width < b.width)
417
- return -1;
418
- if (a.width > b.width)
419
- return 1;
420
- if (a.height < b.height)
421
- return -1;
422
- if (a.height > b.height)
423
- return 1;
424
- if (a.id < b.id)
425
- return -1;
426
- if (a.id > b.id)
427
- return 1;
428
- return 0;
429
- });
430
- }
431
- }
432
-
433
- class ScreenshotLocalConnector extends ScreenshotConnector {
434
- async publishBuild(results) {
435
- if (this.updateMaster || !results.masterBuild) {
436
- results.masterBuild = {
437
- id: 'master',
438
- message: 'Master',
439
- appNamespace: this.appNamespace,
440
- timestamp: Date.now(),
441
- screenshots: []
442
- };
443
- }
444
- results.currentBuild.screenshots.forEach(currentScreenshot => {
445
- const masterHasScreenshot = results.masterBuild.screenshots.some(masterScreenshot => {
446
- return currentScreenshot.id === masterScreenshot.id;
447
- });
448
- if (!masterHasScreenshot) {
449
- results.masterBuild.screenshots.push(Object.assign({}, currentScreenshot));
450
- }
451
- });
452
- this.sortScreenshots(results.masterBuild.screenshots);
453
- await writeFile(this.masterBuildFilePath, JSON.stringify(results.masterBuild, null, 2));
454
- await this.generateJsonpDataUris(results.currentBuild);
455
- const compareAppSourceDir = path.join(this.packageDir, 'screenshot', 'compare');
456
- const appSrcUrl = utils.normalizePath(path.relative(this.screenshotDir, compareAppSourceDir));
457
- const imagesUrl = utils.normalizePath(path.relative(this.screenshotDir, this.imagesDir));
458
- const jsonpUrl = utils.normalizePath(path.relative(this.screenshotDir, this.cacheDir));
459
- const compareAppHtml = createLocalCompareApp(this.appNamespace, appSrcUrl, imagesUrl, jsonpUrl, results.masterBuild, results.currentBuild);
460
- const compareAppFileName = 'compare.html';
461
- const compareAppFilePath = path.join(this.screenshotDir, compareAppFileName);
462
- await writeFile(compareAppFilePath, compareAppHtml);
463
- const gitIgnorePath = path.join(this.screenshotDir, '.gitignore');
464
- const gitIgnoreExists = await fileExists(gitIgnorePath);
465
- if (!gitIgnoreExists) {
466
- const content = [
467
- this.imagesDirName,
468
- this.buildsDirName,
469
- compareAppFileName
470
- ];
471
- await writeFile(gitIgnorePath, content.join('\n'));
472
- }
473
- const url$1 = new url.URL(`file://${compareAppFilePath}`);
474
- results.compare.url = url$1.href;
475
- return results;
476
- }
477
- async getScreenshotCache() {
478
- let screenshotCache = null;
479
- try {
480
- screenshotCache = JSON.parse(await readFile(this.screenshotCacheFilePath));
481
- }
482
- catch (e) { }
483
- return screenshotCache;
484
- }
485
- async updateScreenshotCache(cache, buildResults) {
486
- cache = await super.updateScreenshotCache(cache, buildResults);
487
- await writeFile(this.screenshotCacheFilePath, JSON.stringify(cache, null, 2));
488
- return cache;
489
- }
490
- }
491
- function createLocalCompareApp(namespace, appSrcUrl, imagesUrl, jsonpUrl, a, b) {
492
- return `<!doctype html>
493
- <html dir="ltr" lang="en">
494
- <head>
495
- <meta charset="utf-8">
496
- <title>Local ${namespace || ''} - Rindo Screenshot Visual Diff</title>
497
- <meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
498
- <meta http-equiv="x-ua-compatible" content="IE=Edge">
499
- <link href="${appSrcUrl}/build/app.css" rel="stylesheet">
500
- <script src="${appSrcUrl}/build/app.js"></script>
501
- <link rel="icon" type="image/x-icon" href="${appSrcUrl}/assets/favicon.ico">
502
- </head>
503
- <body>
504
- <script>
505
- (function() {
506
- var app = document.createElement('screenshot-compare');
507
- app.appSrcUrl = '${appSrcUrl}';
508
- app.imagesUrl = '${imagesUrl}/';
509
- app.jsonpUrl = '${jsonpUrl}/';
510
- app.a = ${JSON.stringify(a)};
511
- app.b = ${JSON.stringify(b)};
512
- document.body.appendChild(app);
513
- })();
514
- </script>
515
- </body>
516
- </html>`;
517
- }
518
-
519
- exports.ScreenshotConnector = ScreenshotConnector;
520
- exports.ScreenshotLocalConnector = ScreenshotLocalConnector;