@postnord/pn-marketweb-components 2.3.12 → 2.3.13
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.
- package/cjs/{index-e3e27c79.js → index-4199ff85.js} +828 -278
- package/cjs/{index-28bbc937.js → index-95e5b7f9.js} +1 -1
- package/cjs/loader.cjs.js +3 -2
- package/cjs/pn-animated-tile.cjs.entry.js +5 -5
- package/cjs/pn-bonus-progressbar-level.cjs.entry.js +2 -2
- package/cjs/pn-bonus-progressbar.cjs.entry.js +2 -2
- package/cjs/pn-breakpoints.cjs.entry.js +2 -2
- package/cjs/pn-chart.cjs.entry.js +3 -2
- package/cjs/pn-charts-card.cjs.entry.js +10 -3
- package/cjs/pn-choice-button.cjs.entry.js +5 -2
- package/cjs/pn-customernumber-selector-option.cjs.entry.js +2 -2
- package/cjs/pn-customernumber-selector.cjs.entry.js +2 -2
- package/cjs/pn-filter-checkbox.cjs.entry.js +5 -2
- package/cjs/pn-find-price-result.cjs.entry.js +7 -4
- package/cjs/{pn-find-price-store-a91ce3f6.js → pn-find-price-store-e0d1e412.js} +1 -1
- package/cjs/pn-find-price.cjs.entry.js +4 -4
- package/cjs/pn-find-service-and-price-result.cjs.entry.js +4 -4
- package/cjs/{pn-find-service-and-price-store-16a7936c.js → pn-find-service-and-price-store-6e26630d.js} +1 -1
- package/cjs/pn-find-service-and-price.cjs.entry.js +4 -4
- package/cjs/pn-language-selector_9.cjs.entry.js +18 -42
- package/cjs/pn-line-shape.cjs.entry.js +2 -2
- package/cjs/pn-mainnav-link.cjs.entry.js +4 -10
- package/cjs/{pn-mainnav-store-61a75ea0.js → pn-mainnav-store-8c337865.js} +1 -1
- package/cjs/pn-market-web-components.cjs.js +6 -2
- package/cjs/pn-marketweb-input.cjs.entry.js +2 -7
- package/cjs/pn-marketweb-search.cjs.entry.js +2 -6
- package/cjs/pn-marketweb-sitefooter.cjs.entry.js +10 -15
- package/cjs/pn-marketweb-siteheader-login-button_5.cjs.entry.js +12 -10
- package/cjs/pn-marketweb-siteheader-login-linklist.cjs.entry.js +4 -4
- package/cjs/{pn-marketweb-siteheader-store-e29ad918.js → pn-marketweb-siteheader-store-5ced6902.js} +1 -1
- package/cjs/pn-marketweb-siteheader.cjs.entry.js +10 -38
- package/cjs/pn-multi-formfield.cjs.entry.js +10 -10
- package/cjs/pn-parcel-tracker.cjs.entry.js +2 -2
- package/cjs/pn-pex-pricefinder.cjs.entry.js +2 -5
- package/cjs/pn-product-card_3.cjs.entry.js +15 -4
- package/cjs/pn-product-pricelist-result.cjs.entry.js +3 -3
- package/cjs/pn-product-pricelist.cjs.entry.js +4 -4
- package/cjs/pn-product-tile-info_2.cjs.entry.js +10 -3
- package/cjs/pn-product-tile.cjs.entry.js +2 -2
- package/cjs/pn-profile-modal-customernumber.cjs.entry.js +2 -2
- package/cjs/pn-profile-modal-profile.cjs.entry.js +4 -4
- package/cjs/{pn-profile-modal-store-6117e304.js → pn-profile-modal-store-947b08ae.js} +1 -1
- package/cjs/pn-profile-modal-type.cjs.entry.js +4 -4
- package/cjs/pn-profile-modal.cjs.entry.js +4 -4
- package/cjs/pn-profile-selector-option.cjs.entry.js +2 -2
- package/cjs/pn-profile-selector.cjs.entry.js +5 -5
- package/cjs/pn-proxio-findprice-result.cjs.entry.js +5 -2
- package/cjs/pn-proxio-findprice.cjs.entry.js +4 -4
- package/cjs/pn-proxio-pricegroup.cjs.entry.js +3 -5
- package/cjs/pn-proxio-productcard_4.cjs.entry.js +12 -5
- package/cjs/pn-quick-cta.cjs.entry.js +2 -2
- package/cjs/pn-quote-card.cjs.entry.js +2 -3
- package/cjs/pn-scroll.cjs.entry.js +2 -2
- package/cjs/pn-share-item.cjs.entry.js +2 -2
- package/cjs/pn-share.cjs.entry.js +3 -2
- package/cjs/pn-sidenav-level.cjs.entry.js +4 -4
- package/cjs/pn-sidenav-link.cjs.entry.js +4 -12
- package/cjs/{pn-sidenav-store-d9bd9e00.js → pn-sidenav-store-d2389306.js} +1 -1
- package/cjs/pn-sidenav-togglebutton.cjs.entry.js +4 -5
- package/cjs/pn-sidenav.cjs.entry.js +4 -6
- package/cjs/pn-site-footer_2.cjs.entry.js +3 -4
- package/cjs/pn-spotlight.cjs.entry.js +2 -2
- package/cjs/pn-stats-info-data.cjs.entry.js +8 -8
- package/cjs/pn-stats-info.cjs.entry.js +3 -2
- package/cjs/pn-teaser-card.cjs.entry.js +3 -4
- package/cjs/pn-titletag.cjs.entry.js +2 -4
- package/collection/collection-manifest.json +2 -2
- package/collection/components/animation/pn-animated-tile/pn-animated-tile.js +28 -26
- package/collection/components/animation/pn-scroll/pn-scroll.js +92 -86
- package/collection/components/cards/pn-quote-card/pn-line-shape/pn-line-shape.js +12 -11
- package/collection/components/cards/pn-quote-card/pn-quote-card.js +68 -79
- package/collection/components/cards/pn-teaser-card/pn-teaser-card.js +109 -113
- package/collection/components/charts/pn-chart/pn-chart.js +83 -74
- package/collection/components/charts/pn-charts-card/pn-charts-card.js +162 -169
- package/collection/components/cta/pn-parcel-tracker/pn-parcel-tracker.js +133 -128
- package/collection/components/cta/pn-quick-cta/pn-quick-cta.js +51 -49
- package/collection/components/cta/pn-share/pn-share-item.js +51 -50
- package/collection/components/cta/pn-share/pn-share.js +65 -60
- package/collection/components/cta/pn-spotlight/pn-spotlight.js +73 -71
- package/collection/components/data-visualization/pn-stats-info/pn-stats-info-data/pn-stats-info-data.js +120 -115
- package/collection/components/data-visualization/pn-stats-info/pn-stats-info.js +82 -78
- package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar-level.js +93 -87
- package/collection/components/input/pn-bonus-progressbar/pn-bonus-progressbar.js +193 -195
- package/collection/components/input/pn-choice-button/pn-choice-button.js +145 -137
- package/collection/components/input/pn-filter-checkbox/pn-filter-checkbox.js +128 -122
- package/collection/components/input/pn-marketweb-input/pn-marketweb-input.js +347 -355
- package/collection/components/input/pn-marketweb-search/pn-marketweb-search.js +258 -260
- package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter-types.js +0 -3
- package/collection/components/layout-components/pn-marketweb-sitefooter/pn-marketweb-sitefooter.js +201 -221
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-button.js +34 -29
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-linklist.js +101 -101
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-links.js +110 -105
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-mypage-button.js +51 -45
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login-profileselection.js +174 -181
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-login.js +259 -256
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-search.js +170 -172
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader-unified-login.js +84 -75
- package/collection/components/layout-components/pn-marketweb-siteheader/pn-marketweb-siteheader.js +509 -560
- package/collection/components/layout-components/pn-multi-formfield/pn-multi-formfield.js +105 -99
- package/collection/components/minor/pn-titletag/pn-titletag.js +51 -49
- package/collection/components/navigation/pn-language-selector/pn-language-selector-option.js +119 -123
- package/collection/components/navigation/pn-language-selector/pn-language-selector.js +71 -64
- package/collection/components/navigation/pn-mainnav/pn-mainnav-level.js +58 -58
- package/collection/components/navigation/pn-mainnav/pn-mainnav-link.js +92 -97
- package/collection/components/navigation/pn-mainnav/pn-mainnav-list.js +39 -33
- package/collection/components/navigation/pn-mainnav/pn-mainnav.js +182 -183
- package/collection/components/navigation/pn-sidenav/pn-sidenav-level.js +29 -22
- package/collection/components/navigation/pn-sidenav/pn-sidenav-link.js +128 -134
- package/collection/components/navigation/pn-sidenav/pn-sidenav-togglebutton.js +39 -34
- package/collection/components/navigation/pn-sidenav/pn-sidenav.js +71 -66
- package/collection/components/navigation/pn-site-footer/pn-site-footer-col.js +34 -29
- package/collection/components/navigation/pn-site-footer/pn-site-footer.js +68 -75
- package/collection/components/navigation/pn-site-selector/pn-site-selector-item.js +85 -89
- package/collection/components/navigation/pn-site-selector/pn-site-selector.js +73 -73
- package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector-option.js +68 -67
- package/collection/components/profile/pn-customernumber-selector/pn-customernumber-selector.js +90 -90
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-customernumber.js +85 -79
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-profile.js +182 -188
- package/collection/components/profile/pn-profile-modal/pn-profile-modal-type.js +91 -84
- package/collection/components/profile/pn-profile-modal/pn-profile-modal.js +116 -115
- package/collection/components/profile/pn-profile-selector/pn-profile-selector-option.js +68 -67
- package/collection/components/profile/pn-profile-selector/pn-profile-selector.js +78 -76
- package/collection/components/utilities/pn-breakpoints/pn-breakpoints.js +48 -42
- package/collection/components/widgets/pn-find-price/pn-find-price-result.js +163 -179
- package/collection/components/widgets/pn-find-price/pn-find-price.js +99 -113
- package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price-result.js +66 -67
- package/collection/components/widgets/pn-find-service-and-price/pn-find-service-and-price.js +133 -148
- package/collection/components/widgets/pn-pex-pricefinder/pn-pex-pricefinder.js +87 -102
- package/collection/components/widgets/pn-product-card/pn-product-card-info.js +92 -94
- package/collection/components/widgets/pn-product-card/pn-product-card-price.js +138 -131
- package/collection/components/widgets/pn-product-card/pn-product-card.js +12 -21
- package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist-result.js +101 -108
- package/collection/components/widgets/pn-product-pricelist/pn-product-pricelist.js +137 -140
- package/collection/components/widgets/pn-product-tile/pn-product-tile-info.js +70 -62
- package/collection/components/widgets/pn-product-tile/pn-product-tile-price.js +87 -83
- package/collection/components/widgets/pn-product-tile/pn-product-tile.js +12 -16
- package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice-result.js +205 -206
- package/collection/components/widgets/pn-proxio-findprice/pn-proxio-findprice.js +134 -152
- package/collection/components/widgets/pn-proxio-pricegroup/pn-proxio-pricegroup.js +130 -145
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-description.js +87 -82
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-information.js +55 -57
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard-pricelink.js +85 -81
- package/collection/components/widgets/pn-proxio-productcard/pn-proxio-productcard.js +12 -20
- package/components/MarketWebContextService.js +318 -0
- package/components/_commonjsHelpers.js +32 -0
- package/components/convert.js +1823 -0
- package/components/data.js +37 -0
- package/components/index.d.ts +105 -0
- package/components/index.js +76 -0
- package/components/index2.js +59 -0
- package/components/index3.js +187 -0
- package/components/pn-animated-tile.d.ts +11 -0
- package/components/pn-animated-tile.js +52 -0
- package/components/pn-bonus-progressbar-level.d.ts +11 -0
- package/components/pn-bonus-progressbar-level.js +65 -0
- package/components/pn-bonus-progressbar.d.ts +11 -0
- package/components/pn-bonus-progressbar.js +128 -0
- package/components/pn-breakpoints.d.ts +11 -0
- package/components/pn-breakpoints.js +45 -0
- package/components/pn-chart.d.ts +11 -0
- package/components/pn-chart.js +22151 -0
- package/components/pn-charts-card.d.ts +11 -0
- package/components/pn-charts-card.js +57 -0
- package/components/pn-choice-button.d.ts +11 -0
- package/components/pn-choice-button.js +6 -0
- package/components/pn-choice-button2.js +61 -0
- package/components/pn-customernumber-selector-option.d.ts +11 -0
- package/components/pn-customernumber-selector-option.js +41 -0
- package/components/pn-customernumber-selector.d.ts +11 -0
- package/components/pn-customernumber-selector.js +77 -0
- package/components/pn-filter-checkbox.d.ts +11 -0
- package/components/pn-filter-checkbox.js +93 -0
- package/components/pn-find-price-result.d.ts +11 -0
- package/components/pn-find-price-result.js +6 -0
- package/components/pn-find-price-result2.js +192 -0
- package/components/pn-find-price.d.ts +11 -0
- package/components/pn-find-price.js +281 -0
- package/components/pn-find-service-and-price-result.d.ts +11 -0
- package/components/pn-find-service-and-price-result.js +6 -0
- package/components/pn-find-service-and-price-result2.js +96 -0
- package/components/pn-find-service-and-price.d.ts +11 -0
- package/components/pn-find-service-and-price.js +314 -0
- package/components/pn-language-selector-option.d.ts +11 -0
- package/components/pn-language-selector-option.js +6 -0
- package/components/pn-language-selector-option2.js +51 -0
- package/components/pn-language-selector.d.ts +11 -0
- package/components/pn-language-selector.js +6 -0
- package/components/pn-language-selector2.js +142 -0
- package/components/pn-line-shape.d.ts +11 -0
- package/components/pn-line-shape.js +35 -0
- package/components/pn-mainnav-level.d.ts +11 -0
- package/components/pn-mainnav-level.js +6 -0
- package/components/pn-mainnav-level2.js +117 -0
- package/components/pn-mainnav-link.d.ts +11 -0
- package/components/pn-mainnav-link.js +6 -0
- package/components/pn-mainnav-link2.js +57 -0
- package/components/pn-mainnav-list.d.ts +11 -0
- package/components/pn-mainnav-list.js +6 -0
- package/components/pn-mainnav-list2.js +39 -0
- package/{esm/pn-mainnav-store-28571e54.js → components/pn-mainnav-store.js} +1 -1
- package/components/pn-mainnav.d.ts +11 -0
- package/components/pn-mainnav.js +6 -0
- package/components/pn-mainnav2.js +120 -0
- package/components/pn-marketweb-input.d.ts +11 -0
- package/components/pn-marketweb-input.js +6 -0
- package/components/pn-marketweb-input2.js +102 -0
- package/components/pn-marketweb-search.d.ts +11 -0
- package/components/pn-marketweb-search.js +129 -0
- package/components/pn-marketweb-sitefooter.d.ts +11 -0
- package/components/pn-marketweb-sitefooter.js +335 -0
- package/components/pn-marketweb-siteheader-login-button.d.ts +11 -0
- package/components/pn-marketweb-siteheader-login-button.js +6 -0
- package/components/pn-marketweb-siteheader-login-button2.js +79 -0
- package/components/pn-marketweb-siteheader-login-linklist.d.ts +11 -0
- package/components/pn-marketweb-siteheader-login-linklist.js +6 -0
- package/components/pn-marketweb-siteheader-login-linklist2.js +105 -0
- package/components/pn-marketweb-siteheader-login-links.d.ts +11 -0
- package/components/pn-marketweb-siteheader-login-links.js +6 -0
- package/components/pn-marketweb-siteheader-login-links2.js +116 -0
- package/components/pn-marketweb-siteheader-login-mypage-button.d.ts +11 -0
- package/components/pn-marketweb-siteheader-login-mypage-button.js +6 -0
- package/components/pn-marketweb-siteheader-login-mypage-button2.js +36 -0
- package/components/pn-marketweb-siteheader-login-profileselection.d.ts +11 -0
- package/components/pn-marketweb-siteheader-login-profileselection.js +6 -0
- package/components/pn-marketweb-siteheader-login-profileselection2.js +244 -0
- package/components/pn-marketweb-siteheader-login.d.ts +11 -0
- package/components/pn-marketweb-siteheader-login.js +6 -0
- package/components/pn-marketweb-siteheader-login2.js +589 -0
- package/components/pn-marketweb-siteheader-search.d.ts +11 -0
- package/components/pn-marketweb-siteheader-search.js +6 -0
- package/components/pn-marketweb-siteheader-search2.js +131 -0
- package/components/pn-marketweb-siteheader-unified-login.d.ts +11 -0
- package/components/pn-marketweb-siteheader-unified-login.js +6 -0
- package/components/pn-marketweb-siteheader-unified-login2.js +52 -0
- package/components/pn-marketweb-siteheader.d.ts +11 -0
- package/components/pn-marketweb-siteheader.js +560 -0
- package/components/pn-multi-formfield.d.ts +11 -0
- package/components/pn-multi-formfield.js +277 -0
- package/components/pn-parcel-tracker.d.ts +11 -0
- package/components/pn-parcel-tracker.js +58 -0
- package/components/pn-pex-pricefinder.d.ts +11 -0
- package/components/pn-pex-pricefinder.js +156 -0
- package/components/pn-product-card-info.d.ts +11 -0
- package/components/pn-product-card-info.js +6 -0
- package/components/pn-product-card-info2.js +45 -0
- package/components/pn-product-card-price.d.ts +11 -0
- package/components/pn-product-card-price.js +6 -0
- package/components/pn-product-card-price2.js +48 -0
- package/components/pn-product-card.d.ts +11 -0
- package/components/pn-product-card.js +6 -0
- package/components/pn-product-card2.js +30 -0
- package/components/pn-product-pricelist-result.d.ts +11 -0
- package/components/pn-product-pricelist-result.js +130 -0
- package/components/pn-product-pricelist.d.ts +11 -0
- package/components/pn-product-pricelist.js +259 -0
- package/components/pn-product-tile-info.d.ts +11 -0
- package/components/pn-product-tile-info.js +6 -0
- package/components/pn-product-tile-info2.js +38 -0
- package/components/pn-product-tile-price.d.ts +11 -0
- package/components/pn-product-tile-price.js +6 -0
- package/components/pn-product-tile-price2.js +42 -0
- package/components/pn-product-tile.d.ts +11 -0
- package/components/pn-product-tile.js +33 -0
- package/components/pn-profile-modal-customernumber.d.ts +11 -0
- package/components/pn-profile-modal-customernumber.js +46 -0
- package/components/pn-profile-modal-profile.d.ts +11 -0
- package/components/pn-profile-modal-profile.js +71 -0
- package/{esm/pn-profile-modal-store-ae9e0d5a.js → components/pn-profile-modal-store.js} +1 -1
- package/components/pn-profile-modal-type.d.ts +11 -0
- package/components/pn-profile-modal-type.js +56 -0
- package/components/pn-profile-modal.d.ts +11 -0
- package/components/pn-profile-modal.js +92 -0
- package/components/pn-profile-selector-option.d.ts +11 -0
- package/components/pn-profile-selector-option.js +41 -0
- package/components/pn-profile-selector.d.ts +11 -0
- package/components/pn-profile-selector.js +79 -0
- package/components/pn-proxio-findprice-result.d.ts +11 -0
- package/components/pn-proxio-findprice-result.js +6 -0
- package/components/pn-proxio-findprice-result2.js +124 -0
- package/components/pn-proxio-findprice.d.ts +11 -0
- package/components/pn-proxio-findprice.js +454 -0
- package/components/pn-proxio-pricegroup.d.ts +11 -0
- package/components/pn-proxio-pricegroup.js +194 -0
- package/components/pn-proxio-productcard-description.d.ts +11 -0
- package/components/pn-proxio-productcard-description.js +6 -0
- package/components/pn-proxio-productcard-description2.js +43 -0
- package/components/pn-proxio-productcard-information.d.ts +11 -0
- package/components/pn-proxio-productcard-information.js +6 -0
- package/components/pn-proxio-productcard-information2.js +37 -0
- package/components/pn-proxio-productcard-pricelink.d.ts +11 -0
- package/components/pn-proxio-productcard-pricelink.js +6 -0
- package/components/pn-proxio-productcard-pricelink2.js +40 -0
- package/components/pn-proxio-productcard.d.ts +11 -0
- package/components/pn-proxio-productcard.js +6 -0
- package/components/pn-proxio-productcard2.js +30 -0
- package/components/pn-quick-cta.d.ts +11 -0
- package/components/pn-quick-cta.js +39 -0
- package/components/pn-quote-card.d.ts +11 -0
- package/components/pn-quote-card.js +41 -0
- package/components/pn-scroll.d.ts +11 -0
- package/components/pn-scroll.js +79 -0
- package/components/pn-share-item.d.ts +11 -0
- package/components/pn-share-item.js +6 -0
- package/components/pn-share-item2.js +36 -0
- package/components/pn-share.d.ts +11 -0
- package/components/pn-share.js +89 -0
- package/components/pn-sidenav-level.d.ts +11 -0
- package/components/pn-sidenav-level.js +84 -0
- package/components/pn-sidenav-link.d.ts +11 -0
- package/components/pn-sidenav-link.js +87 -0
- package/{esm/pn-sidenav-store-50b186d6.js → components/pn-sidenav-store.js} +1 -1
- package/components/pn-sidenav-togglebutton.d.ts +11 -0
- package/components/pn-sidenav-togglebutton.js +45 -0
- package/components/pn-sidenav.d.ts +11 -0
- package/components/pn-sidenav.js +95 -0
- package/components/pn-site-footer-col.d.ts +11 -0
- package/components/pn-site-footer-col.js +6 -0
- package/components/pn-site-footer-col2.js +33 -0
- package/components/pn-site-footer.d.ts +11 -0
- package/components/pn-site-footer.js +6 -0
- package/components/pn-site-footer2.js +38 -0
- package/components/pn-site-selector-item.d.ts +11 -0
- package/components/pn-site-selector-item.js +6 -0
- package/components/pn-site-selector-item2.js +39 -0
- package/components/pn-site-selector.d.ts +11 -0
- package/components/pn-site-selector.js +6 -0
- package/components/pn-site-selector2.js +69 -0
- package/components/pn-spotlight.d.ts +11 -0
- package/components/pn-spotlight.js +47 -0
- package/components/pn-stats-info-data.d.ts +11 -0
- package/components/pn-stats-info-data.js +6 -0
- package/components/pn-stats-info-data2.js +93 -0
- package/components/pn-stats-info.d.ts +11 -0
- package/components/pn-stats-info.js +59 -0
- package/components/pn-teaser-card.d.ts +11 -0
- package/components/pn-teaser-card.js +56 -0
- package/components/pn-titletag.d.ts +11 -0
- package/components/pn-titletag.js +6 -0
- package/components/pn-titletag2.js +36 -0
- package/components/translations.js +19 -0
- package/components/v4.js +66 -0
- package/esm/{index-7b21ecff.js → index-7f77b0ba.js} +1 -1
- package/esm/{index-5397620b.js → index-c118284d.js} +828 -279
- package/esm/loader.js +3 -2
- package/esm/pn-animated-tile.entry.js +5 -5
- package/esm/pn-bonus-progressbar-level.entry.js +2 -2
- package/esm/pn-bonus-progressbar.entry.js +2 -2
- package/esm/pn-breakpoints.entry.js +2 -2
- package/esm/pn-chart.entry.js +3 -2
- package/esm/pn-charts-card.entry.js +10 -3
- package/esm/pn-choice-button.entry.js +5 -2
- package/esm/pn-customernumber-selector-option.entry.js +2 -2
- package/esm/pn-customernumber-selector.entry.js +2 -2
- package/esm/pn-filter-checkbox.entry.js +5 -2
- package/esm/pn-find-price-result.entry.js +7 -4
- package/esm/{pn-find-price-store-bde5071d.js → pn-find-price-store-e13b6651.js} +1 -1
- package/esm/pn-find-price.entry.js +4 -4
- package/esm/pn-find-service-and-price-result.entry.js +4 -4
- package/esm/{pn-find-service-and-price-store-65df46a0.js → pn-find-service-and-price-store-f09ca219.js} +1 -1
- package/esm/pn-find-service-and-price.entry.js +4 -4
- package/esm/pn-language-selector_9.entry.js +18 -42
- package/esm/pn-line-shape.entry.js +2 -2
- package/esm/pn-mainnav-link.entry.js +4 -10
- package/esm/pn-mainnav-store-5d91f523.js +17 -0
- package/esm/pn-market-web-components.js +3 -2
- package/esm/pn-marketweb-input.entry.js +2 -7
- package/esm/pn-marketweb-search.entry.js +2 -6
- package/esm/pn-marketweb-sitefooter.entry.js +10 -15
- package/esm/pn-marketweb-siteheader-login-button_5.entry.js +12 -10
- package/esm/pn-marketweb-siteheader-login-linklist.entry.js +4 -4
- package/esm/{pn-marketweb-siteheader-store-cd0a1dab.js → pn-marketweb-siteheader-store-9df5290d.js} +1 -1
- package/esm/pn-marketweb-siteheader.entry.js +10 -38
- package/esm/pn-multi-formfield.entry.js +10 -10
- package/esm/pn-parcel-tracker.entry.js +2 -2
- package/esm/pn-pex-pricefinder.entry.js +2 -5
- package/esm/pn-product-card_3.entry.js +15 -4
- package/esm/pn-product-pricelist-result.entry.js +3 -3
- package/esm/pn-product-pricelist.entry.js +4 -4
- package/esm/pn-product-tile-info_2.entry.js +10 -3
- package/esm/pn-product-tile.entry.js +2 -2
- package/esm/pn-profile-modal-customernumber.entry.js +2 -2
- package/esm/pn-profile-modal-profile.entry.js +4 -4
- package/esm/pn-profile-modal-store-81f53310.js +15 -0
- package/esm/pn-profile-modal-type.entry.js +4 -4
- package/esm/pn-profile-modal.entry.js +4 -4
- package/esm/pn-profile-selector-option.entry.js +2 -2
- package/esm/pn-profile-selector.entry.js +5 -5
- package/esm/pn-proxio-findprice-result.entry.js +5 -2
- package/esm/pn-proxio-findprice.entry.js +4 -4
- package/esm/pn-proxio-pricegroup.entry.js +3 -5
- package/esm/pn-proxio-productcard_4.entry.js +12 -5
- package/esm/pn-quick-cta.entry.js +2 -2
- package/esm/pn-quote-card.entry.js +2 -3
- package/esm/pn-scroll.entry.js +2 -2
- package/esm/pn-share-item.entry.js +2 -2
- package/esm/pn-share.entry.js +3 -2
- package/esm/pn-sidenav-level.entry.js +4 -4
- package/esm/pn-sidenav-link.entry.js +4 -12
- package/esm/pn-sidenav-store-94be19c8.js +14 -0
- package/esm/pn-sidenav-togglebutton.entry.js +4 -5
- package/esm/pn-sidenav.entry.js +4 -6
- package/esm/pn-site-footer_2.entry.js +3 -4
- package/esm/pn-spotlight.entry.js +2 -2
- package/esm/pn-stats-info-data.entry.js +8 -8
- package/esm/pn-stats-info.entry.js +3 -2
- package/esm/pn-teaser-card.entry.js +3 -4
- package/esm/pn-titletag.entry.js +2 -4
- package/esm/polyfills/css-shim.js +1 -1
- package/esm-es5/MarketWebContextService-3ed3fe80.js +1 -1
- package/esm-es5/convert-f6377d13.js +1 -1
- package/esm-es5/{index-7b21ecff.js → index-7f77b0ba.js} +1 -1
- package/esm-es5/index-c118284d.js +1 -0
- package/esm-es5/loader.js +1 -1
- package/esm-es5/pn-animated-tile.entry.js +1 -1
- package/esm-es5/pn-bonus-progressbar-level.entry.js +1 -1
- package/esm-es5/pn-bonus-progressbar.entry.js +1 -1
- package/esm-es5/pn-breakpoints.entry.js +1 -1
- package/esm-es5/pn-chart.entry.js +2 -2
- package/esm-es5/pn-charts-card.entry.js +1 -1
- package/esm-es5/pn-choice-button.entry.js +1 -1
- package/esm-es5/pn-customernumber-selector-option.entry.js +1 -1
- package/esm-es5/pn-customernumber-selector.entry.js +1 -1
- package/esm-es5/pn-filter-checkbox.entry.js +1 -1
- package/esm-es5/pn-find-price-result.entry.js +1 -1
- package/esm-es5/{pn-find-price-store-bde5071d.js → pn-find-price-store-e13b6651.js} +1 -1
- package/esm-es5/pn-find-price.entry.js +1 -1
- package/esm-es5/pn-find-service-and-price-result.entry.js +1 -1
- package/esm-es5/{pn-find-service-and-price-store-65df46a0.js → pn-find-service-and-price-store-f09ca219.js} +1 -1
- package/esm-es5/pn-find-service-and-price.entry.js +1 -1
- package/esm-es5/pn-language-selector_9.entry.js +1 -1
- package/esm-es5/pn-line-shape.entry.js +1 -1
- package/esm-es5/pn-mainnav-link.entry.js +1 -1
- package/esm-es5/{pn-mainnav-store-28571e54.js → pn-mainnav-store-5d91f523.js} +1 -1
- package/esm-es5/pn-market-web-components.js +1 -1
- package/esm-es5/pn-marketweb-input.entry.js +1 -1
- package/esm-es5/pn-marketweb-search.entry.js +1 -1
- package/esm-es5/pn-marketweb-sitefooter.entry.js +1 -1
- package/esm-es5/pn-marketweb-siteheader-login-button_5.entry.js +1 -1
- package/esm-es5/pn-marketweb-siteheader-login-linklist.entry.js +1 -1
- package/esm-es5/pn-marketweb-siteheader-store-9df5290d.js +1 -0
- package/esm-es5/pn-marketweb-siteheader.entry.js +1 -1
- package/esm-es5/pn-multi-formfield.entry.js +1 -1
- package/esm-es5/pn-parcel-tracker.entry.js +1 -1
- package/esm-es5/pn-pex-pricefinder.entry.js +1 -1
- package/esm-es5/pn-product-card_3.entry.js +1 -1
- package/esm-es5/pn-product-pricelist-result.entry.js +1 -1
- package/esm-es5/pn-product-pricelist.entry.js +1 -1
- package/esm-es5/pn-product-tile-info_2.entry.js +1 -1
- package/esm-es5/pn-product-tile.entry.js +1 -1
- package/esm-es5/pn-profile-modal-customernumber.entry.js +1 -1
- package/esm-es5/pn-profile-modal-profile.entry.js +1 -1
- package/esm-es5/{pn-profile-modal-store-ae9e0d5a.js → pn-profile-modal-store-81f53310.js} +1 -1
- package/esm-es5/pn-profile-modal-type.entry.js +1 -1
- package/esm-es5/pn-profile-modal.entry.js +1 -1
- package/esm-es5/pn-profile-selector-option.entry.js +1 -1
- package/esm-es5/pn-profile-selector.entry.js +1 -1
- package/esm-es5/pn-proxio-findprice-result.entry.js +1 -1
- package/esm-es5/pn-proxio-findprice.entry.js +1 -1
- package/esm-es5/pn-proxio-pricegroup.entry.js +1 -1
- package/esm-es5/pn-proxio-productcard_4.entry.js +1 -1
- package/esm-es5/pn-quick-cta.entry.js +1 -1
- package/esm-es5/pn-quote-card.entry.js +1 -1
- package/esm-es5/pn-scroll.entry.js +1 -1
- package/esm-es5/pn-share-item.entry.js +1 -1
- package/esm-es5/pn-share.entry.js +1 -1
- package/esm-es5/pn-sidenav-level.entry.js +1 -1
- package/esm-es5/pn-sidenav-link.entry.js +1 -1
- package/esm-es5/{pn-sidenav-store-50b186d6.js → pn-sidenav-store-94be19c8.js} +1 -1
- package/esm-es5/pn-sidenav-togglebutton.entry.js +1 -1
- package/esm-es5/pn-sidenav.entry.js +1 -1
- package/esm-es5/pn-site-footer_2.entry.js +1 -1
- package/esm-es5/pn-spotlight.entry.js +1 -1
- package/esm-es5/pn-stats-info-data.entry.js +1 -1
- package/esm-es5/pn-stats-info.entry.js +1 -1
- package/esm-es5/pn-teaser-card.entry.js +1 -1
- package/esm-es5/pn-titletag.entry.js +1 -1
- package/loader/cdn.js +3 -0
- package/loader/index.cjs.js +3 -0
- package/loader/index.d.ts +21 -0
- package/loader/index.es2017.js +3 -0
- package/{umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/client/polyfills/es5-html-element.js → loader/index.js} +4 -1
- package/loader/package.json +11 -0
- package/package.json +7 -5
- package/pn-market-web-components/{p-3d05a6c1.system.entry.js → p-0159804c.system.entry.js} +1 -1
- package/pn-market-web-components/{p-13baed17.system.entry.js → p-02632961.system.entry.js} +1 -1
- package/pn-market-web-components/p-0f1115aa.entry.js +1 -0
- package/pn-market-web-components/p-0fbcacf3.system.entry.js +1 -0
- package/pn-market-web-components/p-12f461db.entry.js +1 -0
- package/pn-market-web-components/{p-3738a2df.system.js → p-13d2d138.system.js} +1 -1
- package/pn-market-web-components/p-14d288d5.entry.js +1 -0
- package/pn-market-web-components/p-1545fb34.entry.js +1 -0
- package/pn-market-web-components/p-156fedd7.entry.js +1 -0
- package/pn-market-web-components/p-15e680a8.entry.js +1 -0
- package/pn-market-web-components/p-1646c170.system.entry.js +1 -0
- package/pn-market-web-components/p-17fb8d9e.entry.js +1 -0
- package/pn-market-web-components/p-186266ae.system.entry.js +1 -0
- package/pn-market-web-components/p-18abec91.entry.js +1 -0
- package/pn-market-web-components/p-1a064ded.entry.js +1 -0
- package/pn-market-web-components/p-1a9b2a0e.system.entry.js +1 -0
- package/pn-market-web-components/p-1c382898.entry.js +1 -0
- package/pn-market-web-components/{p-fc1083d2.system.entry.js → p-1d50340b.system.entry.js} +1 -1
- package/pn-market-web-components/p-1d9de480.system.entry.js +1 -0
- package/pn-market-web-components/{p-1ce871c5.system.entry.js → p-1fb4eae4.system.entry.js} +1 -1
- package/pn-market-web-components/{p-80dce81e.system.entry.js → p-2145d5e0.system.entry.js} +1 -1
- package/pn-market-web-components/{p-a1cf4618.system.entry.js → p-2844f3b2.system.entry.js} +1 -1
- package/pn-market-web-components/{p-8e890ab1.system.entry.js → p-29d0ec91.system.entry.js} +1 -1
- package/pn-market-web-components/p-2a5cd298.entry.js +1 -0
- package/pn-market-web-components/{p-c9fb0f01.system.entry.js → p-2e507907.system.entry.js} +2 -2
- package/pn-market-web-components/p-31b703f9.entry.js +1 -0
- package/pn-market-web-components/p-34c0b146.entry.js +1 -0
- package/pn-market-web-components/p-368dbf3c.system.entry.js +1 -0
- package/pn-market-web-components/p-37d26cef.entry.js +1 -0
- package/pn-market-web-components/p-38f135fd.entry.js +1 -0
- package/pn-market-web-components/{p-a5f75560.system.js → p-396b254a.system.js} +1 -1
- package/pn-market-web-components/{p-94958580.system.js → p-3a450371.system.js} +1 -1
- package/pn-market-web-components/p-3d8925bd.entry.js +1 -0
- package/pn-market-web-components/p-3d89445b.entry.js +1 -0
- package/pn-market-web-components/{p-add7d76c.system.js → p-441249d9.system.js} +1 -1
- package/pn-market-web-components/p-44c05fba.entry.js +1 -0
- package/pn-market-web-components/p-44f58f15.js +1 -0
- package/pn-market-web-components/p-47d717a3.entry.js +1 -0
- package/pn-market-web-components/p-48c74c53.entry.js +1 -0
- package/pn-market-web-components/p-49f60496.entry.js +1 -0
- package/pn-market-web-components/p-4b2e76e9.entry.js +1 -0
- package/pn-market-web-components/{p-7079df88.system.entry.js → p-4d561de4.system.entry.js} +1 -1
- package/pn-market-web-components/p-4ef54288.entry.js +1 -0
- package/pn-market-web-components/p-507f8886.entry.js +1 -0
- package/pn-market-web-components/p-530be6fe.entry.js +1 -0
- package/pn-market-web-components/p-54544560.system.entry.js +1 -0
- package/pn-market-web-components/{p-74d35edf.system.entry.js → p-545a40a7.system.entry.js} +1 -1
- package/pn-market-web-components/p-5521aeaa.entry.js +1 -0
- package/pn-market-web-components/{p-4a03854b.system.entry.js → p-589a9a4c.system.entry.js} +1 -1
- package/pn-market-web-components/p-59024d31.entry.js +1 -0
- package/pn-market-web-components/{p-c62a91ba.system.entry.js → p-5a41c1bb.system.entry.js} +1 -1
- package/pn-market-web-components/{p-723b9901.system.entry.js → p-5a506356.system.entry.js} +1 -1
- package/pn-market-web-components/p-5a6761da.js +1 -0
- package/pn-market-web-components/p-5e768b73.entry.js +1 -0
- package/pn-market-web-components/{p-f782ce94.system.entry.js → p-658f6ff7.system.entry.js} +1 -1
- package/pn-market-web-components/{p-8117b79e.system.entry.js → p-68324e6f.system.entry.js} +1 -1
- package/pn-market-web-components/{p-9c3de760.system.entry.js → p-6a4ae9af.system.entry.js} +1 -1
- package/pn-market-web-components/p-6b5ff47f.entry.js +1 -0
- package/pn-market-web-components/{p-7b9fb94f.system.entry.js → p-6d050c3a.system.entry.js} +1 -1
- package/pn-market-web-components/{p-02ea55ad.system.js → p-6f1d6a1a.system.js} +1 -1
- package/pn-market-web-components/p-73ee3141.entry.js +1 -0
- package/pn-market-web-components/{p-ecf712bb.system.entry.js → p-752616b7.system.entry.js} +1 -1
- package/pn-market-web-components/p-7620beb6.entry.js +1 -0
- package/pn-market-web-components/p-773b59c0.entry.js +24 -0
- package/pn-market-web-components/p-7c1b31e8.js +2 -0
- package/pn-market-web-components/p-7d992089.entry.js +1 -0
- package/pn-market-web-components/p-7dff99ed.entry.js +1 -0
- package/pn-market-web-components/p-8079dfd5.system.entry.js +1 -0
- package/pn-market-web-components/p-82db879c.entry.js +1 -0
- package/pn-market-web-components/p-833bab34.entry.js +1 -0
- package/pn-market-web-components/{p-290d5824.system.entry.js → p-853e6559.system.entry.js} +1 -1
- package/pn-market-web-components/{p-f58bde56.js → p-8666d14d.js} +1 -1
- package/pn-market-web-components/p-8766fa86.system.js +1 -1
- package/pn-market-web-components/p-87fd21d8.entry.js +1 -0
- package/pn-market-web-components/{p-054f8b3a.system.entry.js → p-8805bc30.system.entry.js} +1 -1
- package/pn-market-web-components/{p-086a72ca.system.entry.js → p-893a4a26.system.entry.js} +1 -1
- package/pn-market-web-components/{p-450cbe76.system.entry.js → p-8ca063a9.system.entry.js} +1 -1
- package/pn-market-web-components/{p-9edaf6b6.system.entry.js → p-8cefd900.system.entry.js} +1 -1
- package/pn-market-web-components/p-8e62ef84.system.entry.js +1 -0
- package/pn-market-web-components/p-8f32fa2b.system.entry.js +1 -0
- package/pn-market-web-components/{p-58a57436.system.entry.js → p-8fee0115.system.entry.js} +1 -1
- package/pn-market-web-components/{p-aa271997.system.entry.js → p-9010c32a.system.entry.js} +1 -1
- package/pn-market-web-components/{p-f312ff98.system.entry.js → p-939b5792.system.entry.js} +1 -1
- package/pn-market-web-components/p-97564852.entry.js +1 -0
- package/pn-market-web-components/p-9a1c267d.entry.js +1 -0
- package/pn-market-web-components/p-9ed7a18f.entry.js +1 -0
- package/pn-market-web-components/{p-4f67721e.system.entry.js → p-9f95b3c9.system.entry.js} +1 -1
- package/pn-market-web-components/{p-0cacf9fb.js → p-a1a58fe4.js} +1 -1
- package/pn-market-web-components/p-a5faec68.system.js +2 -0
- package/pn-market-web-components/p-a799fee1.entry.js +1 -0
- package/pn-market-web-components/p-aaa94bee.system.entry.js +1 -0
- package/pn-market-web-components/{p-2718b89a.system.entry.js → p-abfed655.system.entry.js} +1 -1
- package/pn-market-web-components/p-ac62dc33.entry.js +1 -0
- package/pn-market-web-components/p-ad1f57dc.entry.js +1 -0
- package/pn-market-web-components/{p-dbe032f7.system.js → p-ad836c55.system.js} +1 -1
- package/pn-market-web-components/p-b0102ff6.entry.js +1 -0
- package/pn-market-web-components/{p-625fb7fb.system.entry.js → p-b890f3f9.system.entry.js} +1 -1
- package/pn-market-web-components/{p-d790293c.system.entry.js → p-bab17118.system.entry.js} +1 -1
- package/pn-market-web-components/p-bdd1ec55.entry.js +1 -0
- package/pn-market-web-components/p-beefd9f7.entry.js +1 -0
- package/pn-market-web-components/p-bfe239ca.js +1 -1
- package/pn-market-web-components/p-c0db1ffd.js +1 -0
- package/pn-market-web-components/p-c1d9a064.entry.js +1 -0
- package/pn-market-web-components/{p-84699999.js → p-c5727e83.js} +1 -1
- package/pn-market-web-components/{p-447ef543.system.entry.js → p-c576ac3e.system.entry.js} +1 -1
- package/pn-market-web-components/p-c668f453.entry.js +1 -0
- package/pn-market-web-components/p-cb53b67f.system.js +1 -1
- package/pn-market-web-components/{p-879c0887.system.entry.js → p-cccb53f2.system.entry.js} +1 -1
- package/pn-market-web-components/p-d295ef71.system.js +1 -0
- package/pn-market-web-components/{p-825b8fb8.system.js → p-d34c9be2.system.js} +1 -1
- package/pn-market-web-components/p-d3c1d6f0.entry.js +1 -0
- package/pn-market-web-components/p-d5ae9797.entry.js +1 -0
- package/pn-market-web-components/p-d6ee168b.system.entry.js +1 -0
- package/pn-market-web-components/p-d70e685c.entry.js +1 -0
- package/pn-market-web-components/p-dbd7837e.entry.js +1 -0
- package/pn-market-web-components/p-dc598ef8.entry.js +1 -0
- package/pn-market-web-components/p-dce8a335.system.entry.js +1 -0
- package/pn-market-web-components/p-e0e45eb0.system.entry.js +1 -0
- package/pn-market-web-components/p-e2abebd7.entry.js +1 -0
- package/pn-market-web-components/{p-36a1b8e1.system.entry.js → p-e4961116.system.entry.js} +1 -1
- package/pn-market-web-components/p-e4fbd06c.entry.js +1 -0
- package/pn-market-web-components/p-e54c80d8.system.entry.js +1 -0
- package/pn-market-web-components/{p-93cecc43.system.entry.js → p-e737c51d.system.entry.js} +1 -1
- package/pn-market-web-components/p-e7f43cc2.entry.js +1 -0
- package/pn-market-web-components/{p-86f06e26.js → p-ecaad0c1.js} +1 -1
- package/pn-market-web-components/p-ed5e91eb.system.entry.js +1 -0
- package/pn-market-web-components/{p-e6fa11ad.system.entry.js → p-ef721555.system.entry.js} +1 -1
- package/pn-market-web-components/{p-41220f82.system.entry.js → p-f2817445.system.entry.js} +1 -1
- package/pn-market-web-components/{p-1151bf60.system.entry.js → p-f7cb2ef9.system.entry.js} +1 -1
- package/pn-market-web-components/{p-a864fbed.system.entry.js → p-fca11f16.system.entry.js} +1 -1
- package/pn-market-web-components/{p-47f4f5b5.system.entry.js → p-fe0d832d.system.entry.js} +1 -1
- package/pn-market-web-components/{p-b88337dd.system.entry.js → p-ffe18938.system.entry.js} +1 -1
- package/pn-market-web-components/pn-market-web-components.esm.js +1 -1
- package/pn-market-web-components/pn-market-web-components.js +2 -1
- package/types/components.d.ts +58 -22
- package/types/stencil-public-runtime.d.ts +79 -7
- package/custom-elements/index.d.ts +0 -489
- package/custom-elements/index.js +0 -30532
- package/esm-es5/index-5397620b.js +0 -1
- package/esm-es5/pn-marketweb-siteheader-store-cd0a1dab.js +0 -1
- package/pn-market-web-components/p-0796f9b2.entry.js +0 -1
- package/pn-market-web-components/p-07ca420d.entry.js +0 -1
- package/pn-market-web-components/p-138b1e76.entry.js +0 -1
- package/pn-market-web-components/p-15112837.entry.js +0 -1
- package/pn-market-web-components/p-16c4bc50.entry.js +0 -1
- package/pn-market-web-components/p-17c4004f.entry.js +0 -1
- package/pn-market-web-components/p-1ca41ab1.entry.js +0 -1
- package/pn-market-web-components/p-21c01c47.entry.js +0 -1
- package/pn-market-web-components/p-227e1d46.entry.js +0 -1
- package/pn-market-web-components/p-2da8e5e8.system.entry.js +0 -1
- package/pn-market-web-components/p-2e2dfb79.entry.js +0 -1
- package/pn-market-web-components/p-2e3bde56.entry.js +0 -1
- package/pn-market-web-components/p-3343610e.entry.js +0 -1
- package/pn-market-web-components/p-35fcd76c.system.entry.js +0 -1
- package/pn-market-web-components/p-36654f2a.system.js +0 -1
- package/pn-market-web-components/p-381b3ec0.entry.js +0 -1
- package/pn-market-web-components/p-381c034b.entry.js +0 -1
- package/pn-market-web-components/p-3969ec4d.entry.js +0 -1
- package/pn-market-web-components/p-397514bc.system.entry.js +0 -1
- package/pn-market-web-components/p-3f4a0538.entry.js +0 -1
- package/pn-market-web-components/p-468025b2.system.entry.js +0 -1
- package/pn-market-web-components/p-479b970a.entry.js +0 -1
- package/pn-market-web-components/p-499bb3ac.entry.js +0 -1
- package/pn-market-web-components/p-4bef1bf3.entry.js +0 -1
- package/pn-market-web-components/p-4de40b15.entry.js +0 -1
- package/pn-market-web-components/p-557328e3.system.entry.js +0 -1
- package/pn-market-web-components/p-5776275b.entry.js +0 -1
- package/pn-market-web-components/p-58e8d7d5.js +0 -1
- package/pn-market-web-components/p-5f0acbbd.entry.js +0 -1
- package/pn-market-web-components/p-61dbe832.entry.js +0 -1
- package/pn-market-web-components/p-67380aa4.entry.js +0 -1
- package/pn-market-web-components/p-67887512.system.js +0 -1
- package/pn-market-web-components/p-6f28cfba.entry.js +0 -1
- package/pn-market-web-components/p-715d1ef7.entry.js +0 -1
- package/pn-market-web-components/p-77c907d9.entry.js +0 -1
- package/pn-market-web-components/p-7ce41d14.entry.js +0 -1
- package/pn-market-web-components/p-81d764a0.entry.js +0 -1
- package/pn-market-web-components/p-861def61.entry.js +0 -1
- package/pn-market-web-components/p-88185835.entry.js +0 -1
- package/pn-market-web-components/p-885bc8d7.system.entry.js +0 -1
- package/pn-market-web-components/p-8b684578.entry.js +0 -1
- package/pn-market-web-components/p-8e146205.entry.js +0 -1
- package/pn-market-web-components/p-8e4d292f.entry.js +0 -1
- package/pn-market-web-components/p-8f1b7c70.system.entry.js +0 -1
- package/pn-market-web-components/p-906719be.system.entry.js +0 -1
- package/pn-market-web-components/p-91c5cd79.entry.js +0 -1
- package/pn-market-web-components/p-9344cd23.js +0 -1
- package/pn-market-web-components/p-93d454ea.entry.js +0 -1
- package/pn-market-web-components/p-951861fa.entry.js +0 -1
- package/pn-market-web-components/p-98a7ddd1.system.entry.js +0 -1
- package/pn-market-web-components/p-996d8a6a.entry.js +0 -1
- package/pn-market-web-components/p-9b855b11.entry.js +0 -24
- package/pn-market-web-components/p-9c2c1aa2.entry.js +0 -1
- package/pn-market-web-components/p-a247058b.system.entry.js +0 -1
- package/pn-market-web-components/p-a5171cb9.system.entry.js +0 -1
- package/pn-market-web-components/p-a7bb94a0.entry.js +0 -1
- package/pn-market-web-components/p-a921d3fd.system.entry.js +0 -1
- package/pn-market-web-components/p-b1474b9e.entry.js +0 -1
- package/pn-market-web-components/p-b9a84e67.entry.js +0 -1
- package/pn-market-web-components/p-bb4f0673.system.entry.js +0 -1
- package/pn-market-web-components/p-bb626ab4.js +0 -1
- package/pn-market-web-components/p-bd22aaac.entry.js +0 -1
- package/pn-market-web-components/p-c2e55f38.entry.js +0 -1
- package/pn-market-web-components/p-c5179a9b.system.entry.js +0 -1
- package/pn-market-web-components/p-c714a790.entry.js +0 -1
- package/pn-market-web-components/p-d0155ddf.entry.js +0 -1
- package/pn-market-web-components/p-d7e3d918.entry.js +0 -1
- package/pn-market-web-components/p-e32dc098.entry.js +0 -1
- package/pn-market-web-components/p-e9576f26.entry.js +0 -1
- package/pn-market-web-components/p-e9fe5c54.entry.js +0 -1
- package/pn-market-web-components/p-ecdf2b69.system.entry.js +0 -1
- package/pn-market-web-components/p-ee589138.entry.js +0 -1
- package/pn-market-web-components/p-f008015e.system.entry.js +0 -1
- package/pn-market-web-components/p-f61342c3.js +0 -1
- package/pn-market-web-components/p-f774e2cc.entry.js +0 -1
- package/pn-market-web-components/p-f82c5d08.entry.js +0 -1
- package/pn-market-web-components/p-fc974bca.entry.js +0 -1
- package/pn-market-web-components/p-fea72975.entry.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/LICENSE.md +0 -27
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/bin/stencil +0 -57
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/cli/config-flags.d.ts +0 -122
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/cli/index.cjs +0 -2609
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/cli/index.d.ts +0 -19
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/cli/index.js +0 -2583
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/cli/package.json +0 -14
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.d.ts +0 -24
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.dom.d.ts +0 -18505
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.dom.iterable.d.ts +0 -341
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2015.collection.d.ts +0 -150
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2015.core.d.ts +0 -559
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2015.d.ts +0 -30
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2015.generator.d.ts +0 -79
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2015.iterable.d.ts +0 -498
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2015.promise.d.ts +0 -83
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2015.proxy.d.ts +0 -130
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2015.reflect.d.ts +0 -146
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2015.symbol.d.ts +0 -48
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2015.symbol.wellknown.d.ts +0 -324
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2016.array.include.d.ts +0 -118
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2016.d.ts +0 -22
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2016.full.d.ts +0 -25
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2017.d.ts +0 -26
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2017.full.d.ts +0 -25
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2017.intl.d.ts +0 -47
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2017.object.d.ts +0 -51
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2017.sharedmemory.d.ts +0 -137
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2017.string.d.ts +0 -47
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2017.typedarrays.d.ts +0 -55
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2018.asyncgenerator.d.ts +0 -79
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2018.asynciterable.d.ts +0 -45
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2018.d.ts +0 -26
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2018.full.d.ts +0 -25
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2018.intl.d.ts +0 -73
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2018.promise.d.ts +0 -32
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2018.regexp.d.ts +0 -39
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2019.array.d.ts +0 -85
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2019.d.ts +0 -26
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2019.full.d.ts +0 -25
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2019.intl.d.ts +0 -25
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2019.object.d.ts +0 -35
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2019.string.d.ts +0 -39
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2019.symbol.d.ts +0 -26
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2020.bigint.d.ts +0 -730
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2020.d.ts +0 -29
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2020.date.d.ts +0 -44
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2020.full.d.ts +0 -25
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2020.intl.d.ts +0 -433
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2020.number.d.ts +0 -30
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2020.promise.d.ts +0 -49
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2020.sharedmemory.d.ts +0 -99
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2020.string.d.ts +0 -30
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2020.symbol.wellknown.d.ts +0 -39
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2021.d.ts +0 -25
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2021.full.d.ts +0 -25
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2021.intl.d.ts +0 -154
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2021.promise.d.ts +0 -50
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2021.string.d.ts +0 -35
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2021.weakref.d.ts +0 -75
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2022.array.d.ts +0 -123
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2022.d.ts +0 -27
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2022.error.d.ts +0 -75
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2022.full.d.ts +0 -25
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2022.intl.d.ts +0 -111
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2022.object.d.ts +0 -28
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2022.sharedmemory.d.ts +0 -27
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es2022.string.d.ts +0 -27
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es5.d.ts +0 -4526
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.es6.d.ts +0 -25
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.esnext.d.ts +0 -22
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.esnext.full.d.ts +0 -25
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.esnext.intl.d.ts +0 -30
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.esnext.promise.d.ts +0 -43
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.esnext.string.d.ts +0 -35
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.esnext.weakref.d.ts +0 -75
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.scripthost.d.ts +0 -327
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.webworker.d.ts +0 -6192
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.webworker.importscripts.d.ts +0 -26
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/lib.webworker.iterable.d.ts +0 -175
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/package.json +0 -8
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/stencil.d.ts +0 -73
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/stencil.js +0 -70673
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/stencil.min.js +0 -4
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/sys/in-memory-fs.d.ts +0 -218
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/compiler/transpile.d.ts +0 -32
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dependencies.json +0 -120
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/client/app-error.d.ts +0 -18
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/client/events.d.ts +0 -6
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/client/hmr-components.d.ts +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/client/hmr-external-styles.d.ts +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/client/hmr-images.d.ts +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/client/hmr-inline-styles.d.ts +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/client/hmr-util.d.ts +0 -9
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/client/hmr-window.d.ts +0 -10
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/client/index.d.ts +0 -6
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/client/index.js +0 -808
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/client/logger.d.ts +0 -5
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/client/package.json +0 -8
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/client/progress.d.ts +0 -3
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/client/status.d.ts +0 -4
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/client/test/hmr-util.spec.d.ts +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/client/test/status.spec.d.ts +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/connector.html +0 -6
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/index.d.ts +0 -3
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/index.js +0 -264
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/open-in-editor-api.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/package.json +0 -8
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/server-process.js +0 -1799
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/server-worker-thread.js +0 -39
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/static/favicon.ico +0 -0
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/templates/directory-index.html +0 -132
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/templates/initial-load.html +0 -160
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/visualstudio.vbs +0 -82
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/ws.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/xdg-open +0 -1066
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/app-data/index.cjs +0 -92
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/app-data/index.d.ts +0 -4
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/app-data/index.js +0 -88
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/app-data/package.json +0 -15
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/client/css-shim.js +0 -4
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/client/dom.js +0 -73
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/client/index.js +0 -3371
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/client/package.json +0 -8
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/client/patch-browser.js +0 -142
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/client/patch-esm.js +0 -23
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/client/polyfills/core-js.js +0 -11
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/client/polyfills/css-shim.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/client/polyfills/dom.js +0 -79
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/client/polyfills/index.js +0 -34
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/client/polyfills/system.js +0 -6
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/client/shadow-css.js +0 -387
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/hydrate/index.js +0 -1143
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/hydrate/package.json +0 -7
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/hydrate/runner.d.ts +0 -217
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/hydrate/runner.js +0 -777
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/hydrate/shadow-css.js +0 -143
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/index.d.ts +0 -4
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/index.js +0 -2
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/package.json +0 -9
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/stencil-core/index.cjs +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/stencil-core/index.d.ts +0 -51
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/stencil-core/index.js +0 -16
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/stencil-ext-modules.d.ts +0 -41
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/stencil-private.d.ts +0 -2268
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/stencil-public-compiler.d.ts +0 -2338
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/stencil-public-docs.d.ts +0 -140
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/stencil-public-runtime.d.ts +0 -1637
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/testing/index.js +0 -1105
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/testing/package.json +0 -7
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/internal/testing/shadow-css.js +0 -143
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/mock-doc/index.cjs +0 -4858
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/mock-doc/index.d.ts +0 -1020
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/mock-doc/index.js +0 -4822
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/mock-doc/package.json +0 -15
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/package.json +0 -190
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/readme.md +0 -99
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/assets/favicon.ico +0 -0
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/assets/logo.png +0 -0
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/app.css +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/app.esm.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/app.js +0 -33
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/index.esm.js +0 -0
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-081b0641.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-227a1e18.entry.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-2c298727.entry.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-5479268c.entry.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-573ec8a4.entry.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-6ba08604.entry.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-6bc63295.entry.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-7a3759fd.entry.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-7b4e3ba7.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-988eb362.css +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-9b6a9315.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-b4cc611c.entry.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-d1bf53f5.entry.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-e2efe0df.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-e8ca6d97.entry.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-ec2f13e0.entry.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-f0b99977.entry.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-f4745c2f.entry.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/build/p-fbbae598.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/host.config.json +0 -15
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/index.html +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/compare/manifest.json +0 -13
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/connector.js +0 -2
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/index.js +0 -661
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/local-connector.js +0 -2
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/package.json +0 -15
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/screenshot/pixel-match.js +0 -2807
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/sys/node/autoprefixer.js +0 -8
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/sys/node/glob.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/sys/node/graceful-fs.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/sys/node/index.d.ts +0 -22
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/sys/node/index.js +0 -6121
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/sys/node/node-fetch.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/sys/node/package.json +0 -8
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/sys/node/prompts.js +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/sys/node/worker.js +0 -52
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/index.d.ts +0 -12
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/index.js +0 -4155
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/jest/jest-config.d.ts +0 -16
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/jest/jest-environment.d.ts +0 -15
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/jest/jest-preprocessor.d.ts +0 -59
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/jest/jest-runner.d.ts +0 -10
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/jest/jest-screenshot.d.ts +0 -2
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/jest/jest-serializer.d.ts +0 -4
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/jest/jest-setup-test-framework.d.ts +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/jest/test/jest-config.spec.d.ts +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/jest/test/jest-preprocessor.spec.d.ts +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/jest/test/jest-runner.spec.d.ts +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/jest/test/jest-serializer.spec.d.ts +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/jest-environment.js +0 -3
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/jest-preprocessor.js +0 -3
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/jest-preset.js +0 -37
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/jest-runner.js +0 -3
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/jest-setuptestframework.js +0 -3
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/matchers/attributes.d.ts +0 -14
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/matchers/class-list.d.ts +0 -12
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/matchers/events.d.ts +0 -21
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/matchers/html.d.ts +0 -12
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/matchers/index.d.ts +0 -23
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/matchers/screenshot.d.ts +0 -5
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/matchers/text.d.ts +0 -4
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/mock-fetch.d.ts +0 -11
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/mocks.d.ts +0 -56
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/package.json +0 -8
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/puppeteer/index.d.ts +0 -2
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/puppeteer/puppeteer-browser.d.ts +0 -6
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/puppeteer/puppeteer-declarations.d.ts +0 -429
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/puppeteer/puppeteer-element.d.ts +0 -67
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/puppeteer/puppeteer-emulate.d.ts +0 -2
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/puppeteer/puppeteer-events.d.ts +0 -21
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/puppeteer/puppeteer-page.d.ts +0 -2
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/puppeteer/puppeteer-screenshot.d.ts +0 -4
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/reset-build-conditionals.d.ts +0 -2
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/spec-page.d.ts +0 -2
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/test/testing-utils.spec.d.ts +0 -1
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/test-transpile.d.ts +0 -2
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/testing-logger.d.ts +0 -25
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/testing-sys.d.ts +0 -6
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/testing-utils.d.ts +0 -79
- package/umd/modules/@postnord/web-components/node_modules/@stencil/core/testing/testing.d.ts +0 -2
- /package/{custom-elements → components}/mockresponse.js +0 -0
package/umd/modules/@postnord/web-components/node_modules/@stencil/core/dev-server/server-process.js
DELETED
|
@@ -1,1799 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
Stencil Dev Server Process v2.22.2 | MIT Licensed | https://stenciljs.com
|
|
3
|
-
*/
|
|
4
|
-
'use strict';
|
|
5
|
-
|
|
6
|
-
const index_js = require('../sys/node/index.js');
|
|
7
|
-
const path = require('path');
|
|
8
|
-
const childProcess = require('child_process');
|
|
9
|
-
const fs$1 = require('fs');
|
|
10
|
-
const os = require('os');
|
|
11
|
-
const fs$2 = require('../sys/node/graceful-fs.js');
|
|
12
|
-
const util = require('util');
|
|
13
|
-
const http = require('http');
|
|
14
|
-
const https = require('https');
|
|
15
|
-
const net = require('net');
|
|
16
|
-
const openInEditorApi = require('./open-in-editor-api.js');
|
|
17
|
-
const buffer = require('buffer');
|
|
18
|
-
const zlib = require('zlib');
|
|
19
|
-
const ws = require('./ws.js');
|
|
20
|
-
|
|
21
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
22
|
-
|
|
23
|
-
function _interopNamespace(e) {
|
|
24
|
-
if (e && e.__esModule) return e;
|
|
25
|
-
var n = Object.create(null);
|
|
26
|
-
if (e) {
|
|
27
|
-
Object.keys(e).forEach(function (k) {
|
|
28
|
-
if (k !== 'default') {
|
|
29
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
30
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function () {
|
|
33
|
-
return e[k];
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
n['default'] = e;
|
|
40
|
-
return Object.freeze(n);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
|
44
|
-
const childProcess__default = /*#__PURE__*/_interopDefaultLegacy(childProcess);
|
|
45
|
-
const fs__default = /*#__PURE__*/_interopDefaultLegacy(fs$1);
|
|
46
|
-
const os__default = /*#__PURE__*/_interopDefaultLegacy(os);
|
|
47
|
-
const fs__default$1 = /*#__PURE__*/_interopDefaultLegacy(fs$2);
|
|
48
|
-
const util__default = /*#__PURE__*/_interopDefaultLegacy(util);
|
|
49
|
-
const http__namespace = /*#__PURE__*/_interopNamespace(http);
|
|
50
|
-
const https__namespace = /*#__PURE__*/_interopNamespace(https);
|
|
51
|
-
const net__namespace = /*#__PURE__*/_interopNamespace(net);
|
|
52
|
-
const openInEditorApi__default = /*#__PURE__*/_interopDefaultLegacy(openInEditorApi);
|
|
53
|
-
const zlib__namespace = /*#__PURE__*/_interopNamespace(zlib);
|
|
54
|
-
const ws__namespace = /*#__PURE__*/_interopNamespace(ws);
|
|
55
|
-
|
|
56
|
-
const noop = () => {
|
|
57
|
-
/* noop*/
|
|
58
|
-
};
|
|
59
|
-
const isFunction = (v) => typeof v === 'function';
|
|
60
|
-
const isString = (v) => typeof v === 'string';
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Builds a diagnostic from an `Error`, appends it to the `diagnostics` parameter, and returns the created diagnostic
|
|
64
|
-
* @param diagnostics the series of diagnostics the newly created diagnostics should be added to
|
|
65
|
-
* @param err the error to derive information from in generating the diagnostic
|
|
66
|
-
* @param msg an optional message to use in place of `err` to generate the diagnostic
|
|
67
|
-
* @returns the generated diagnostic
|
|
68
|
-
*/
|
|
69
|
-
const catchError = (diagnostics, err, msg) => {
|
|
70
|
-
const diagnostic = {
|
|
71
|
-
level: 'error',
|
|
72
|
-
type: 'build',
|
|
73
|
-
header: 'Build Error',
|
|
74
|
-
messageText: 'build error',
|
|
75
|
-
relFilePath: null,
|
|
76
|
-
absFilePath: null,
|
|
77
|
-
lines: [],
|
|
78
|
-
};
|
|
79
|
-
if (isString(msg)) {
|
|
80
|
-
diagnostic.messageText = msg.length ? msg : 'UNKNOWN ERROR';
|
|
81
|
-
}
|
|
82
|
-
else if (err != null) {
|
|
83
|
-
if (err.stack != null) {
|
|
84
|
-
diagnostic.messageText = err.stack.toString();
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
if (err.message != null) {
|
|
88
|
-
diagnostic.messageText = err.message.length ? err.message : 'UNKNOWN ERROR';
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
diagnostic.messageText = err.toString();
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
if (diagnostics != null && !shouldIgnoreError(diagnostic.messageText)) {
|
|
96
|
-
diagnostics.push(diagnostic);
|
|
97
|
-
}
|
|
98
|
-
return diagnostic;
|
|
99
|
-
};
|
|
100
|
-
const shouldIgnoreError = (msg) => {
|
|
101
|
-
return msg === TASK_CANCELED_MSG;
|
|
102
|
-
};
|
|
103
|
-
const TASK_CANCELED_MSG = `task canceled`;
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Convert Windows backslash paths to slash paths: foo\\bar ➔ foo/bar
|
|
107
|
-
* Forward-slash paths can be used in Windows as long as they're not
|
|
108
|
-
* extended-length paths and don't contain any non-ascii characters.
|
|
109
|
-
* This was created since the path methods in Node.js outputs \\ paths on Windows.
|
|
110
|
-
* @param path the Windows-based path to convert
|
|
111
|
-
* @returns the converted path
|
|
112
|
-
*/
|
|
113
|
-
const normalizePath = (path) => {
|
|
114
|
-
if (typeof path !== 'string') {
|
|
115
|
-
throw new Error(`invalid path to normalize`);
|
|
116
|
-
}
|
|
117
|
-
path = normalizeSlashes(path.trim());
|
|
118
|
-
const components = pathComponents(path, getRootLength(path));
|
|
119
|
-
const reducedComponents = reducePathComponents(components);
|
|
120
|
-
const rootPart = reducedComponents[0];
|
|
121
|
-
const secondPart = reducedComponents[1];
|
|
122
|
-
const normalized = rootPart + reducedComponents.slice(1).join('/');
|
|
123
|
-
if (normalized === '') {
|
|
124
|
-
return '.';
|
|
125
|
-
}
|
|
126
|
-
if (rootPart === '' &&
|
|
127
|
-
secondPart &&
|
|
128
|
-
path.includes('/') &&
|
|
129
|
-
!secondPart.startsWith('.') &&
|
|
130
|
-
!secondPart.startsWith('@')) {
|
|
131
|
-
return './' + normalized;
|
|
132
|
-
}
|
|
133
|
-
return normalized;
|
|
134
|
-
};
|
|
135
|
-
const normalizeSlashes = (path) => path.replace(backslashRegExp, '/');
|
|
136
|
-
const altDirectorySeparator = '\\';
|
|
137
|
-
const urlSchemeSeparator = '://';
|
|
138
|
-
const backslashRegExp = /\\/g;
|
|
139
|
-
const reducePathComponents = (components) => {
|
|
140
|
-
if (!Array.isArray(components) || components.length === 0) {
|
|
141
|
-
return [];
|
|
142
|
-
}
|
|
143
|
-
const reduced = [components[0]];
|
|
144
|
-
for (let i = 1; i < components.length; i++) {
|
|
145
|
-
const component = components[i];
|
|
146
|
-
if (!component)
|
|
147
|
-
continue;
|
|
148
|
-
if (component === '.')
|
|
149
|
-
continue;
|
|
150
|
-
if (component === '..') {
|
|
151
|
-
if (reduced.length > 1) {
|
|
152
|
-
if (reduced[reduced.length - 1] !== '..') {
|
|
153
|
-
reduced.pop();
|
|
154
|
-
continue;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
else if (reduced[0])
|
|
158
|
-
continue;
|
|
159
|
-
}
|
|
160
|
-
reduced.push(component);
|
|
161
|
-
}
|
|
162
|
-
return reduced;
|
|
163
|
-
};
|
|
164
|
-
const getRootLength = (path) => {
|
|
165
|
-
const rootLength = getEncodedRootLength(path);
|
|
166
|
-
return rootLength < 0 ? ~rootLength : rootLength;
|
|
167
|
-
};
|
|
168
|
-
const getEncodedRootLength = (path) => {
|
|
169
|
-
if (!path)
|
|
170
|
-
return 0;
|
|
171
|
-
const ch0 = path.charCodeAt(0);
|
|
172
|
-
// POSIX or UNC
|
|
173
|
-
if (ch0 === 47 /* CharacterCodes.slash */ || ch0 === 92 /* CharacterCodes.backslash */) {
|
|
174
|
-
if (path.charCodeAt(1) !== ch0)
|
|
175
|
-
return 1; // POSIX: "/" (or non-normalized "\")
|
|
176
|
-
const p1 = path.indexOf(ch0 === 47 /* CharacterCodes.slash */ ? '/' : altDirectorySeparator, 2);
|
|
177
|
-
if (p1 < 0)
|
|
178
|
-
return path.length; // UNC: "//server" or "\\server"
|
|
179
|
-
return p1 + 1; // UNC: "//server/" or "\\server\"
|
|
180
|
-
}
|
|
181
|
-
// DOS
|
|
182
|
-
if (isVolumeCharacter(ch0) && path.charCodeAt(1) === 58 /* CharacterCodes.colon */) {
|
|
183
|
-
const ch2 = path.charCodeAt(2);
|
|
184
|
-
if (ch2 === 47 /* CharacterCodes.slash */ || ch2 === 92 /* CharacterCodes.backslash */)
|
|
185
|
-
return 3; // DOS: "c:/" or "c:\"
|
|
186
|
-
if (path.length === 2)
|
|
187
|
-
return 2; // DOS: "c:" (but not "c:d")
|
|
188
|
-
}
|
|
189
|
-
// URL
|
|
190
|
-
const schemeEnd = path.indexOf(urlSchemeSeparator);
|
|
191
|
-
if (schemeEnd !== -1) {
|
|
192
|
-
const authorityStart = schemeEnd + urlSchemeSeparator.length;
|
|
193
|
-
const authorityEnd = path.indexOf('/', authorityStart);
|
|
194
|
-
if (authorityEnd !== -1) {
|
|
195
|
-
// URL: "file:///", "file://server/", "file://server/path"
|
|
196
|
-
// For local "file" URLs, include the leading DOS volume (if present).
|
|
197
|
-
// Per https://www.ietf.org/rfc/rfc1738.txt, a host of "" or "localhost" is a
|
|
198
|
-
// special case interpreted as "the machine from which the URL is being interpreted".
|
|
199
|
-
const scheme = path.slice(0, schemeEnd);
|
|
200
|
-
const authority = path.slice(authorityStart, authorityEnd);
|
|
201
|
-
if (scheme === 'file' &&
|
|
202
|
-
(authority === '' || authority === 'localhost') &&
|
|
203
|
-
isVolumeCharacter(path.charCodeAt(authorityEnd + 1))) {
|
|
204
|
-
const volumeSeparatorEnd = getFileUrlVolumeSeparatorEnd(path, authorityEnd + 2);
|
|
205
|
-
if (volumeSeparatorEnd !== -1) {
|
|
206
|
-
if (path.charCodeAt(volumeSeparatorEnd) === 47 /* CharacterCodes.slash */) {
|
|
207
|
-
// URL: "file:///c:/", "file://localhost/c:/", "file:///c%3a/", "file://localhost/c%3a/"
|
|
208
|
-
return ~(volumeSeparatorEnd + 1);
|
|
209
|
-
}
|
|
210
|
-
if (volumeSeparatorEnd === path.length) {
|
|
211
|
-
// URL: "file:///c:", "file://localhost/c:", "file:///c$3a", "file://localhost/c%3a"
|
|
212
|
-
// but not "file:///c:d" or "file:///c%3ad"
|
|
213
|
-
return ~volumeSeparatorEnd;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
return ~(authorityEnd + 1); // URL: "file://server/", "http://server/"
|
|
218
|
-
}
|
|
219
|
-
return ~path.length; // URL: "file://server", "http://server"
|
|
220
|
-
}
|
|
221
|
-
// relative
|
|
222
|
-
return 0;
|
|
223
|
-
};
|
|
224
|
-
const isVolumeCharacter = (charCode) => (charCode >= 97 /* CharacterCodes.a */ && charCode <= 122 /* CharacterCodes.z */) ||
|
|
225
|
-
(charCode >= 65 /* CharacterCodes.A */ && charCode <= 90 /* CharacterCodes.Z */);
|
|
226
|
-
const getFileUrlVolumeSeparatorEnd = (url, start) => {
|
|
227
|
-
const ch0 = url.charCodeAt(start);
|
|
228
|
-
if (ch0 === 58 /* CharacterCodes.colon */)
|
|
229
|
-
return start + 1;
|
|
230
|
-
if (ch0 === 37 /* CharacterCodes.percent */ && url.charCodeAt(start + 1) === 51 /* CharacterCodes._3 */) {
|
|
231
|
-
const ch2 = url.charCodeAt(start + 2);
|
|
232
|
-
if (ch2 === 97 /* CharacterCodes.a */ || ch2 === 65 /* CharacterCodes.A */)
|
|
233
|
-
return start + 3;
|
|
234
|
-
}
|
|
235
|
-
return -1;
|
|
236
|
-
};
|
|
237
|
-
const pathComponents = (path, rootLength) => {
|
|
238
|
-
const root = path.substring(0, rootLength);
|
|
239
|
-
const rest = path.substring(rootLength).split('/');
|
|
240
|
-
const restLen = rest.length;
|
|
241
|
-
if (restLen > 0 && !rest[restLen - 1]) {
|
|
242
|
-
rest.pop();
|
|
243
|
-
}
|
|
244
|
-
return [root, ...rest];
|
|
245
|
-
};
|
|
246
|
-
|
|
247
|
-
const DEV_SERVER_URL = '/~dev-server';
|
|
248
|
-
const DEV_MODULE_URL = '/~dev-module';
|
|
249
|
-
const DEV_SERVER_INIT_URL = `${DEV_SERVER_URL}-init`;
|
|
250
|
-
const OPEN_IN_EDITOR_URL = `${DEV_SERVER_URL}-open-in-editor`;
|
|
251
|
-
|
|
252
|
-
const version = '2.22.2';
|
|
253
|
-
|
|
254
|
-
const contentTypes = {"123":"application/vnd.lotus-1-2-3","1km":"application/vnd.1000minds.decision-model+xml","3dml":"text/vnd.in3d.3dml","3ds":"image/x-3ds","3g2":"video/3gpp2","3gp":"video/3gpp","3gpp":"video/3gpp","3mf":"model/3mf","7z":"application/x-7z-compressed","aab":"application/x-authorware-bin","aac":"audio/x-aac","aam":"application/x-authorware-map","aas":"application/x-authorware-seg","abw":"application/x-abiword","ac":"application/vnd.nokia.n-gage.ac+xml","acc":"application/vnd.americandynamics.acc","ace":"application/x-ace-compressed","acu":"application/vnd.acucobol","acutc":"application/vnd.acucorp","adp":"audio/adpcm","aep":"application/vnd.audiograph","afm":"application/x-font-type1","afp":"application/vnd.ibm.modcap","age":"application/vnd.age","ahead":"application/vnd.ahead.space","ai":"application/postscript","aif":"audio/x-aiff","aifc":"audio/x-aiff","aiff":"audio/x-aiff","air":"application/vnd.adobe.air-application-installer-package+zip","ait":"application/vnd.dvb.ait","ami":"application/vnd.amiga.ami","amr":"audio/amr","apk":"application/vnd.android.package-archive","apng":"image/apng","appcache":"text/cache-manifest","application":"application/x-ms-application","apr":"application/vnd.lotus-approach","arc":"application/x-freearc","arj":"application/x-arj","asc":"application/pgp-signature","asf":"video/x-ms-asf","asm":"text/x-asm","aso":"application/vnd.accpac.simply.aso","asx":"video/x-ms-asf","atc":"application/vnd.acucorp","atom":"application/atom+xml","atomcat":"application/atomcat+xml","atomdeleted":"application/atomdeleted+xml","atomsvc":"application/atomsvc+xml","atx":"application/vnd.antix.game-component","au":"audio/basic","avci":"image/avci","avcs":"image/avcs","avi":"video/x-msvideo","avif":"image/avif","aw":"application/applixware","azf":"application/vnd.airzip.filesecure.azf","azs":"application/vnd.airzip.filesecure.azs","azv":"image/vnd.airzip.accelerator.azv","azw":"application/vnd.amazon.ebook","b16":"image/vnd.pco.b16","bat":"application/x-msdownload","bcpio":"application/x-bcpio","bdf":"application/x-font-bdf","bdm":"application/vnd.syncml.dm+wbxml","bdoc":"application/x-bdoc","bed":"application/vnd.realvnc.bed","bh2":"application/vnd.fujitsu.oasysprs","bin":"application/octet-stream","blb":"application/x-blorb","blorb":"application/x-blorb","bmi":"application/vnd.bmi","bmml":"application/vnd.balsamiq.bmml+xml","bmp":"image/x-ms-bmp","book":"application/vnd.framemaker","box":"application/vnd.previewsystems.box","boz":"application/x-bzip2","bpk":"application/octet-stream","bsp":"model/vnd.valve.source.compiled-map","btif":"image/prs.btif","buffer":"application/octet-stream","bz":"application/x-bzip","bz2":"application/x-bzip2","c":"text/x-c","c11amc":"application/vnd.cluetrust.cartomobile-config","c11amz":"application/vnd.cluetrust.cartomobile-config-pkg","c4d":"application/vnd.clonk.c4group","c4f":"application/vnd.clonk.c4group","c4g":"application/vnd.clonk.c4group","c4p":"application/vnd.clonk.c4group","c4u":"application/vnd.clonk.c4group","cab":"application/vnd.ms-cab-compressed","caf":"audio/x-caf","cap":"application/vnd.tcpdump.pcap","car":"application/vnd.curl.car","cat":"application/vnd.ms-pki.seccat","cb7":"application/x-cbr","cba":"application/x-cbr","cbr":"application/x-cbr","cbt":"application/x-cbr","cbz":"application/x-cbr","cc":"text/x-c","cco":"application/x-cocoa","cct":"application/x-director","ccxml":"application/ccxml+xml","cdbcmsg":"application/vnd.contact.cmsg","cdf":"application/x-netcdf","cdfx":"application/cdfx+xml","cdkey":"application/vnd.mediastation.cdkey","cdmia":"application/cdmi-capability","cdmic":"application/cdmi-container","cdmid":"application/cdmi-domain","cdmio":"application/cdmi-object","cdmiq":"application/cdmi-queue","cdx":"chemical/x-cdx","cdxml":"application/vnd.chemdraw+xml","cdy":"application/vnd.cinderella","cer":"application/pkix-cert","cfs":"application/x-cfs-compressed","cgm":"image/cgm","chat":"application/x-chat","chm":"application/vnd.ms-htmlhelp","chrt":"application/vnd.kde.kchart","cif":"chemical/x-cif","cii":"application/vnd.anser-web-certificate-issue-initiation","cil":"application/vnd.ms-artgalry","cjs":"application/node","cla":"application/vnd.claymore","class":"application/java-vm","clkk":"application/vnd.crick.clicker.keyboard","clkp":"application/vnd.crick.clicker.palette","clkt":"application/vnd.crick.clicker.template","clkw":"application/vnd.crick.clicker.wordbank","clkx":"application/vnd.crick.clicker","clp":"application/x-msclip","cmc":"application/vnd.cosmocaller","cmdf":"chemical/x-cmdf","cml":"chemical/x-cml","cmp":"application/vnd.yellowriver-custom-menu","cmx":"image/x-cmx","cod":"application/vnd.rim.cod","coffee":"text/coffeescript","com":"application/x-msdownload","conf":"text/plain","cpio":"application/x-cpio","cpl":"application/cpl+xml","cpp":"text/x-c","cpt":"application/mac-compactpro","crd":"application/x-mscardfile","crl":"application/pkix-crl","crt":"application/x-x509-ca-cert","crx":"application/x-chrome-extension","cryptonote":"application/vnd.rig.cryptonote","csh":"application/x-csh","csl":"application/vnd.citationstyles.style+xml","csml":"chemical/x-csml","csp":"application/vnd.commonspace","css":"text/css","cst":"application/x-director","csv":"text/csv","cu":"application/cu-seeme","curl":"text/vnd.curl","cww":"application/prs.cww","cxt":"application/x-director","cxx":"text/x-c","dae":"model/vnd.collada+xml","daf":"application/vnd.mobius.daf","dart":"application/vnd.dart","dataless":"application/vnd.fdsn.seed","davmount":"application/davmount+xml","dbf":"application/vnd.dbf","dbk":"application/docbook+xml","dcr":"application/x-director","dcurl":"text/vnd.curl.dcurl","dd2":"application/vnd.oma.dd2+xml","ddd":"application/vnd.fujixerox.ddd","ddf":"application/vnd.syncml.dmddf+xml","dds":"image/vnd.ms-dds","deb":"application/x-debian-package","def":"text/plain","deploy":"application/octet-stream","der":"application/x-x509-ca-cert","dfac":"application/vnd.dreamfactory","dgc":"application/x-dgc-compressed","dic":"text/x-c","dir":"application/x-director","dis":"application/vnd.mobius.dis","disposition-notification":"message/disposition-notification","dist":"application/octet-stream","distz":"application/octet-stream","djv":"image/vnd.djvu","djvu":"image/vnd.djvu","dll":"application/x-msdownload","dmg":"application/x-apple-diskimage","dmp":"application/vnd.tcpdump.pcap","dms":"application/octet-stream","dna":"application/vnd.dna","doc":"application/msword","docm":"application/vnd.ms-word.document.macroenabled.12","docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document","dot":"application/msword","dotm":"application/vnd.ms-word.template.macroenabled.12","dotx":"application/vnd.openxmlformats-officedocument.wordprocessingml.template","dp":"application/vnd.osgi.dp","dpg":"application/vnd.dpgraph","dra":"audio/vnd.dra","drle":"image/dicom-rle","dsc":"text/prs.lines.tag","dssc":"application/dssc+der","dtb":"application/x-dtbook+xml","dtd":"application/xml-dtd","dts":"audio/vnd.dts","dtshd":"audio/vnd.dts.hd","dump":"application/octet-stream","dvb":"video/vnd.dvb.file","dvi":"application/x-dvi","dwd":"application/atsc-dwd+xml","dwf":"model/vnd.dwf","dwg":"image/vnd.dwg","dxf":"image/vnd.dxf","dxp":"application/vnd.spotfire.dxp","dxr":"application/x-director","ear":"application/java-archive","ecelp4800":"audio/vnd.nuera.ecelp4800","ecelp7470":"audio/vnd.nuera.ecelp7470","ecelp9600":"audio/vnd.nuera.ecelp9600","ecma":"application/ecmascript","edm":"application/vnd.novadigm.edm","edx":"application/vnd.novadigm.edx","efif":"application/vnd.picsel","ei6":"application/vnd.pg.osasli","elc":"application/octet-stream","emf":"image/emf","eml":"message/rfc822","emma":"application/emma+xml","emotionml":"application/emotionml+xml","emz":"application/x-msmetafile","eol":"audio/vnd.digital-winds","eot":"application/vnd.ms-fontobject","eps":"application/postscript","epub":"application/epub+zip","es":"application/ecmascript","es3":"application/vnd.eszigno3+xml","esa":"application/vnd.osgi.subsystem","esf":"application/vnd.epson.esf","et3":"application/vnd.eszigno3+xml","etx":"text/x-setext","eva":"application/x-eva","evy":"application/x-envoy","exe":"application/x-msdownload","exi":"application/exi","exp":"application/express","exr":"image/aces","ext":"application/vnd.novadigm.ext","ez":"application/andrew-inset","ez2":"application/vnd.ezpix-album","ez3":"application/vnd.ezpix-package","f":"text/x-fortran","f4v":"video/x-f4v","f77":"text/x-fortran","f90":"text/x-fortran","fbs":"image/vnd.fastbidsheet","fcdt":"application/vnd.adobe.formscentral.fcdt","fcs":"application/vnd.isac.fcs","fdf":"application/vnd.fdf","fdt":"application/fdt+xml","fe_launch":"application/vnd.denovo.fcselayout-link","fg5":"application/vnd.fujitsu.oasysgp","fgd":"application/x-director","fh":"image/x-freehand","fh4":"image/x-freehand","fh5":"image/x-freehand","fh7":"image/x-freehand","fhc":"image/x-freehand","fig":"application/x-xfig","fits":"image/fits","flac":"audio/x-flac","fli":"video/x-fli","flo":"application/vnd.micrografx.flo","flv":"video/x-flv","flw":"application/vnd.kde.kivio","flx":"text/vnd.fmi.flexstor","fly":"text/vnd.fly","fm":"application/vnd.framemaker","fnc":"application/vnd.frogans.fnc","fo":"application/vnd.software602.filler.form+xml","for":"text/x-fortran","fpx":"image/vnd.fpx","frame":"application/vnd.framemaker","fsc":"application/vnd.fsc.weblaunch","fst":"image/vnd.fst","ftc":"application/vnd.fluxtime.clip","fti":"application/vnd.anser-web-funds-transfer-initiation","fvt":"video/vnd.fvt","fxp":"application/vnd.adobe.fxp","fxpl":"application/vnd.adobe.fxp","fzs":"application/vnd.fuzzysheet","g2w":"application/vnd.geoplan","g3":"image/g3fax","g3w":"application/vnd.geospace","gac":"application/vnd.groove-account","gam":"application/x-tads","gbr":"application/rpki-ghostbusters","gca":"application/x-gca-compressed","gdl":"model/vnd.gdl","gdoc":"application/vnd.google-apps.document","ged":"text/vnd.familysearch.gedcom","geo":"application/vnd.dynageo","geojson":"application/geo+json","gex":"application/vnd.geometry-explorer","ggb":"application/vnd.geogebra.file","ggt":"application/vnd.geogebra.tool","ghf":"application/vnd.groove-help","gif":"image/gif","gim":"application/vnd.groove-identity-message","glb":"model/gltf-binary","gltf":"model/gltf+json","gml":"application/gml+xml","gmx":"application/vnd.gmx","gnumeric":"application/x-gnumeric","gph":"application/vnd.flographit","gpx":"application/gpx+xml","gqf":"application/vnd.grafeq","gqs":"application/vnd.grafeq","gram":"application/srgs","gramps":"application/x-gramps-xml","gre":"application/vnd.geometry-explorer","grv":"application/vnd.groove-injector","grxml":"application/srgs+xml","gsf":"application/x-font-ghostscript","gsheet":"application/vnd.google-apps.spreadsheet","gslides":"application/vnd.google-apps.presentation","gtar":"application/x-gtar","gtm":"application/vnd.groove-tool-message","gtw":"model/vnd.gtw","gv":"text/vnd.graphviz","gxf":"application/gxf","gxt":"application/vnd.geonext","gz":"application/gzip","h":"text/x-c","h261":"video/h261","h263":"video/h263","h264":"video/h264","hal":"application/vnd.hal+xml","hbci":"application/vnd.hbci","hbs":"text/x-handlebars-template","hdd":"application/x-virtualbox-hdd","hdf":"application/x-hdf","heic":"image/heic","heics":"image/heic-sequence","heif":"image/heif","heifs":"image/heif-sequence","hej2":"image/hej2k","held":"application/atsc-held+xml","hh":"text/x-c","hjson":"application/hjson","hlp":"application/winhlp","hpgl":"application/vnd.hp-hpgl","hpid":"application/vnd.hp-hpid","hps":"application/vnd.hp-hps","hqx":"application/mac-binhex40","hsj2":"image/hsj2","htc":"text/x-component","htke":"application/vnd.kenameaapp","htm":"text/html","html":"text/html","hvd":"application/vnd.yamaha.hv-dic","hvp":"application/vnd.yamaha.hv-voice","hvs":"application/vnd.yamaha.hv-script","i2g":"application/vnd.intergeo","icc":"application/vnd.iccprofile","ice":"x-conference/x-cooltalk","icm":"application/vnd.iccprofile","ico":"image/x-icon","ics":"text/calendar","ief":"image/ief","ifb":"text/calendar","ifm":"application/vnd.shana.informed.formdata","iges":"model/iges","igl":"application/vnd.igloader","igm":"application/vnd.insors.igm","igs":"model/iges","igx":"application/vnd.micrografx.igx","iif":"application/vnd.shana.informed.interchange","img":"application/octet-stream","imp":"application/vnd.accpac.simply.imp","ims":"application/vnd.ms-ims","in":"text/plain","ini":"text/plain","ink":"application/inkml+xml","inkml":"application/inkml+xml","install":"application/x-install-instructions","iota":"application/vnd.astraea-software.iota","ipfix":"application/ipfix","ipk":"application/vnd.shana.informed.package","irm":"application/vnd.ibm.rights-management","irp":"application/vnd.irepository.package+xml","iso":"application/x-iso9660-image","itp":"application/vnd.shana.informed.formtemplate","its":"application/its+xml","ivp":"application/vnd.immervision-ivp","ivu":"application/vnd.immervision-ivu","jad":"text/vnd.sun.j2me.app-descriptor","jade":"text/jade","jam":"application/vnd.jam","jar":"application/java-archive","jardiff":"application/x-java-archive-diff","java":"text/x-java-source","jhc":"image/jphc","jisp":"application/vnd.jisp","jls":"image/jls","jlt":"application/vnd.hp-jlyt","jng":"image/x-jng","jnlp":"application/x-java-jnlp-file","joda":"application/vnd.joost.joda-archive","jp2":"image/jp2","jpe":"image/jpeg","jpeg":"image/jpeg","jpf":"image/jpx","jpg":"image/jpeg","jpg2":"image/jp2","jpgm":"video/jpm","jpgv":"video/jpeg","jph":"image/jph","jpm":"video/jpm","jpx":"image/jpx","js":"application/javascript","json":"application/json","json5":"application/json5","jsonld":"application/ld+json","jsonml":"application/jsonml+json","jsx":"text/jsx","jxr":"image/jxr","jxra":"image/jxra","jxrs":"image/jxrs","jxs":"image/jxs","jxsc":"image/jxsc","jxsi":"image/jxsi","jxss":"image/jxss","kar":"audio/midi","karbon":"application/vnd.kde.karbon","kdbx":"application/x-keepass2","key":"application/x-iwork-keynote-sffkey","kfo":"application/vnd.kde.kformula","kia":"application/vnd.kidspiration","kml":"application/vnd.google-earth.kml+xml","kmz":"application/vnd.google-earth.kmz","kne":"application/vnd.kinar","knp":"application/vnd.kinar","kon":"application/vnd.kde.kontour","kpr":"application/vnd.kde.kpresenter","kpt":"application/vnd.kde.kpresenter","kpxx":"application/vnd.ds-keypoint","ksp":"application/vnd.kde.kspread","ktr":"application/vnd.kahootz","ktx":"image/ktx","ktx2":"image/ktx2","ktz":"application/vnd.kahootz","kwd":"application/vnd.kde.kword","kwt":"application/vnd.kde.kword","lasxml":"application/vnd.las.las+xml","latex":"application/x-latex","lbd":"application/vnd.llamagraphics.life-balance.desktop","lbe":"application/vnd.llamagraphics.life-balance.exchange+xml","les":"application/vnd.hhe.lesson-player","less":"text/less","lgr":"application/lgr+xml","lha":"application/x-lzh-compressed","link66":"application/vnd.route66.link66+xml","list":"text/plain","list3820":"application/vnd.ibm.modcap","listafp":"application/vnd.ibm.modcap","litcoffee":"text/coffeescript","lnk":"application/x-ms-shortcut","log":"text/plain","lostxml":"application/lost+xml","lrf":"application/octet-stream","lrm":"application/vnd.ms-lrm","ltf":"application/vnd.frogans.ltf","lua":"text/x-lua","luac":"application/x-lua-bytecode","lvp":"audio/vnd.lucent.voice","lwp":"application/vnd.lotus-wordpro","lzh":"application/x-lzh-compressed","m13":"application/x-msmediaview","m14":"application/x-msmediaview","m1v":"video/mpeg","m21":"application/mp21","m2a":"audio/mpeg","m2v":"video/mpeg","m3a":"audio/mpeg","m3u":"audio/x-mpegurl","m3u8":"application/vnd.apple.mpegurl","m4a":"audio/x-m4a","m4p":"application/mp4","m4s":"video/iso.segment","m4u":"video/vnd.mpegurl","m4v":"video/x-m4v","ma":"application/mathematica","mads":"application/mads+xml","maei":"application/mmt-aei+xml","mag":"application/vnd.ecowin.chart","maker":"application/vnd.framemaker","man":"text/troff","manifest":"text/cache-manifest","map":"application/json","mar":"application/octet-stream","markdown":"text/markdown","mathml":"application/mathml+xml","mb":"application/mathematica","mbk":"application/vnd.mobius.mbk","mbox":"application/mbox","mc1":"application/vnd.medcalcdata","mcd":"application/vnd.mcd","mcurl":"text/vnd.curl.mcurl","md":"text/markdown","mdb":"application/x-msaccess","mdi":"image/vnd.ms-modi","mdx":"text/mdx","me":"text/troff","mesh":"model/mesh","meta4":"application/metalink4+xml","metalink":"application/metalink+xml","mets":"application/mets+xml","mfm":"application/vnd.mfmp","mft":"application/rpki-manifest","mgp":"application/vnd.osgeo.mapguide.package","mgz":"application/vnd.proteus.magazine","mid":"audio/midi","midi":"audio/midi","mie":"application/x-mie","mif":"application/vnd.mif","mime":"message/rfc822","mj2":"video/mj2","mjp2":"video/mj2","mjs":"application/javascript","mk3d":"video/x-matroska","mka":"audio/x-matroska","mkd":"text/x-markdown","mks":"video/x-matroska","mkv":"video/x-matroska","mlp":"application/vnd.dolby.mlp","mmd":"application/vnd.chipnuts.karaoke-mmd","mmf":"application/vnd.smaf","mml":"text/mathml","mmr":"image/vnd.fujixerox.edmics-mmr","mng":"video/x-mng","mny":"application/x-msmoney","mobi":"application/x-mobipocket-ebook","mods":"application/mods+xml","mov":"video/quicktime","movie":"video/x-sgi-movie","mp2":"audio/mpeg","mp21":"application/mp21","mp2a":"audio/mpeg","mp3":"audio/mpeg","mp4":"video/mp4","mp4a":"audio/mp4","mp4s":"application/mp4","mp4v":"video/mp4","mpc":"application/vnd.mophun.certificate","mpd":"application/dash+xml","mpe":"video/mpeg","mpeg":"video/mpeg","mpf":"application/media-policy-dataset+xml","mpg":"video/mpeg","mpg4":"video/mp4","mpga":"audio/mpeg","mpkg":"application/vnd.apple.installer+xml","mpm":"application/vnd.blueice.multipass","mpn":"application/vnd.mophun.application","mpp":"application/vnd.ms-project","mpt":"application/vnd.ms-project","mpy":"application/vnd.ibm.minipay","mqy":"application/vnd.mobius.mqy","mrc":"application/marc","mrcx":"application/marcxml+xml","ms":"text/troff","mscml":"application/mediaservercontrol+xml","mseed":"application/vnd.fdsn.mseed","mseq":"application/vnd.mseq","msf":"application/vnd.epson.msf","msg":"application/vnd.ms-outlook","msh":"model/mesh","msi":"application/x-msdownload","msl":"application/vnd.mobius.msl","msm":"application/octet-stream","msp":"application/octet-stream","msty":"application/vnd.muvee.style","mtl":"model/mtl","mts":"model/vnd.mts","mus":"application/vnd.musician","musd":"application/mmt-usd+xml","musicxml":"application/vnd.recordare.musicxml+xml","mvb":"application/x-msmediaview","mvt":"application/vnd.mapbox-vector-tile","mwf":"application/vnd.mfer","mxf":"application/mxf","mxl":"application/vnd.recordare.musicxml","mxmf":"audio/mobile-xmf","mxml":"application/xv+xml","mxs":"application/vnd.triscape.mxs","mxu":"video/vnd.mpegurl","n-gage":"application/vnd.nokia.n-gage.symbian.install","n3":"text/n3","nb":"application/mathematica","nbp":"application/vnd.wolfram.player","nc":"application/x-netcdf","ncx":"application/x-dtbncx+xml","nfo":"text/x-nfo","ngdat":"application/vnd.nokia.n-gage.data","nitf":"application/vnd.nitf","nlu":"application/vnd.neurolanguage.nlu","nml":"application/vnd.enliven","nnd":"application/vnd.noblenet-directory","nns":"application/vnd.noblenet-sealer","nnw":"application/vnd.noblenet-web","npx":"image/vnd.net-fpx","nq":"application/n-quads","nsc":"application/x-conference","nsf":"application/vnd.lotus-notes","nt":"application/n-triples","ntf":"application/vnd.nitf","numbers":"application/x-iwork-numbers-sffnumbers","nzb":"application/x-nzb","oa2":"application/vnd.fujitsu.oasys2","oa3":"application/vnd.fujitsu.oasys3","oas":"application/vnd.fujitsu.oasys","obd":"application/x-msbinder","obgx":"application/vnd.openblox.game+xml","obj":"model/obj","oda":"application/oda","odb":"application/vnd.oasis.opendocument.database","odc":"application/vnd.oasis.opendocument.chart","odf":"application/vnd.oasis.opendocument.formula","odft":"application/vnd.oasis.opendocument.formula-template","odg":"application/vnd.oasis.opendocument.graphics","odi":"application/vnd.oasis.opendocument.image","odm":"application/vnd.oasis.opendocument.text-master","odp":"application/vnd.oasis.opendocument.presentation","ods":"application/vnd.oasis.opendocument.spreadsheet","odt":"application/vnd.oasis.opendocument.text","oga":"audio/ogg","ogex":"model/vnd.opengex","ogg":"audio/ogg","ogv":"video/ogg","ogx":"application/ogg","omdoc":"application/omdoc+xml","onepkg":"application/onenote","onetmp":"application/onenote","onetoc":"application/onenote","onetoc2":"application/onenote","opf":"application/oebps-package+xml","opml":"text/x-opml","oprc":"application/vnd.palm","opus":"audio/ogg","org":"text/x-org","osf":"application/vnd.yamaha.openscoreformat","osfpvg":"application/vnd.yamaha.openscoreformat.osfpvg+xml","osm":"application/vnd.openstreetmap.data+xml","otc":"application/vnd.oasis.opendocument.chart-template","otf":"font/otf","otg":"application/vnd.oasis.opendocument.graphics-template","oth":"application/vnd.oasis.opendocument.text-web","oti":"application/vnd.oasis.opendocument.image-template","otp":"application/vnd.oasis.opendocument.presentation-template","ots":"application/vnd.oasis.opendocument.spreadsheet-template","ott":"application/vnd.oasis.opendocument.text-template","ova":"application/x-virtualbox-ova","ovf":"application/x-virtualbox-ovf","owl":"application/rdf+xml","oxps":"application/oxps","oxt":"application/vnd.openofficeorg.extension","p":"text/x-pascal","p10":"application/pkcs10","p12":"application/x-pkcs12","p7b":"application/x-pkcs7-certificates","p7c":"application/pkcs7-mime","p7m":"application/pkcs7-mime","p7r":"application/x-pkcs7-certreqresp","p7s":"application/pkcs7-signature","p8":"application/pkcs8","pac":"application/x-ns-proxy-autoconfig","pages":"application/x-iwork-pages-sffpages","pas":"text/x-pascal","paw":"application/vnd.pawaafile","pbd":"application/vnd.powerbuilder6","pbm":"image/x-portable-bitmap","pcap":"application/vnd.tcpdump.pcap","pcf":"application/x-font-pcf","pcl":"application/vnd.hp-pcl","pclxl":"application/vnd.hp-pclxl","pct":"image/x-pict","pcurl":"application/vnd.curl.pcurl","pcx":"image/x-pcx","pdb":"application/x-pilot","pde":"text/x-processing","pdf":"application/pdf","pem":"application/x-x509-ca-cert","pfa":"application/x-font-type1","pfb":"application/x-font-type1","pfm":"application/x-font-type1","pfr":"application/font-tdpfr","pfx":"application/x-pkcs12","pgm":"image/x-portable-graymap","pgn":"application/x-chess-pgn","pgp":"application/pgp-encrypted","php":"application/x-httpd-php","pic":"image/x-pict","pkg":"application/octet-stream","pki":"application/pkixcmp","pkipath":"application/pkix-pkipath","pkpass":"application/vnd.apple.pkpass","pl":"application/x-perl","plb":"application/vnd.3gpp.pic-bw-large","plc":"application/vnd.mobius.plc","plf":"application/vnd.pocketlearn","pls":"application/pls+xml","pm":"application/x-perl","pml":"application/vnd.ctc-posml","png":"image/png","pnm":"image/x-portable-anymap","portpkg":"application/vnd.macports.portpkg","pot":"application/vnd.ms-powerpoint","potm":"application/vnd.ms-powerpoint.template.macroenabled.12","potx":"application/vnd.openxmlformats-officedocument.presentationml.template","ppam":"application/vnd.ms-powerpoint.addin.macroenabled.12","ppd":"application/vnd.cups-ppd","ppm":"image/x-portable-pixmap","pps":"application/vnd.ms-powerpoint","ppsm":"application/vnd.ms-powerpoint.slideshow.macroenabled.12","ppsx":"application/vnd.openxmlformats-officedocument.presentationml.slideshow","ppt":"application/vnd.ms-powerpoint","pptm":"application/vnd.ms-powerpoint.presentation.macroenabled.12","pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation","pqa":"application/vnd.palm","prc":"application/x-pilot","pre":"application/vnd.lotus-freelance","prf":"application/pics-rules","provx":"application/provenance+xml","ps":"application/postscript","psb":"application/vnd.3gpp.pic-bw-small","psd":"image/vnd.adobe.photoshop","psf":"application/x-font-linux-psf","pskcxml":"application/pskc+xml","pti":"image/prs.pti","ptid":"application/vnd.pvi.ptid1","pub":"application/x-mspublisher","pvb":"application/vnd.3gpp.pic-bw-var","pwn":"application/vnd.3m.post-it-notes","pya":"audio/vnd.ms-playready.media.pya","pyv":"video/vnd.ms-playready.media.pyv","qam":"application/vnd.epson.quickanime","qbo":"application/vnd.intu.qbo","qfx":"application/vnd.intu.qfx","qps":"application/vnd.publishare-delta-tree","qt":"video/quicktime","qwd":"application/vnd.quark.quarkxpress","qwt":"application/vnd.quark.quarkxpress","qxb":"application/vnd.quark.quarkxpress","qxd":"application/vnd.quark.quarkxpress","qxl":"application/vnd.quark.quarkxpress","qxt":"application/vnd.quark.quarkxpress","ra":"audio/x-realaudio","ram":"audio/x-pn-realaudio","raml":"application/raml+yaml","rapd":"application/route-apd+xml","rar":"application/x-rar-compressed","ras":"image/x-cmu-raster","rcprofile":"application/vnd.ipunplugged.rcprofile","rdf":"application/rdf+xml","rdz":"application/vnd.data-vision.rdz","relo":"application/p2p-overlay+xml","rep":"application/vnd.businessobjects","res":"application/x-dtbresource+xml","rgb":"image/x-rgb","rif":"application/reginfo+xml","rip":"audio/vnd.rip","ris":"application/x-research-info-systems","rl":"application/resource-lists+xml","rlc":"image/vnd.fujixerox.edmics-rlc","rld":"application/resource-lists-diff+xml","rm":"application/vnd.rn-realmedia","rmi":"audio/midi","rmp":"audio/x-pn-realaudio-plugin","rms":"application/vnd.jcp.javame.midlet-rms","rmvb":"application/vnd.rn-realmedia-vbr","rnc":"application/relax-ng-compact-syntax","rng":"application/xml","roa":"application/rpki-roa","roff":"text/troff","rp9":"application/vnd.cloanto.rp9","rpm":"application/x-redhat-package-manager","rpss":"application/vnd.nokia.radio-presets","rpst":"application/vnd.nokia.radio-preset","rq":"application/sparql-query","rs":"application/rls-services+xml","rsat":"application/atsc-rsat+xml","rsd":"application/rsd+xml","rsheet":"application/urc-ressheet+xml","rss":"application/rss+xml","rtf":"text/rtf","rtx":"text/richtext","run":"application/x-makeself","rusd":"application/route-usd+xml","s":"text/x-asm","s3m":"audio/s3m","saf":"application/vnd.yamaha.smaf-audio","sass":"text/x-sass","sbml":"application/sbml+xml","sc":"application/vnd.ibm.secure-container","scd":"application/x-msschedule","scm":"application/vnd.lotus-screencam","scq":"application/scvp-cv-request","scs":"application/scvp-cv-response","scss":"text/x-scss","scurl":"text/vnd.curl.scurl","sda":"application/vnd.stardivision.draw","sdc":"application/vnd.stardivision.calc","sdd":"application/vnd.stardivision.impress","sdkd":"application/vnd.solent.sdkm+xml","sdkm":"application/vnd.solent.sdkm+xml","sdp":"application/sdp","sdw":"application/vnd.stardivision.writer","sea":"application/x-sea","see":"application/vnd.seemail","seed":"application/vnd.fdsn.seed","sema":"application/vnd.sema","semd":"application/vnd.semd","semf":"application/vnd.semf","senmlx":"application/senml+xml","sensmlx":"application/sensml+xml","ser":"application/java-serialized-object","setpay":"application/set-payment-initiation","setreg":"application/set-registration-initiation","sfd-hdstx":"application/vnd.hydrostatix.sof-data","sfs":"application/vnd.spotfire.sfs","sfv":"text/x-sfv","sgi":"image/sgi","sgl":"application/vnd.stardivision.writer-global","sgm":"text/sgml","sgml":"text/sgml","sh":"application/x-sh","shar":"application/x-shar","shex":"text/shex","shf":"application/shf+xml","shtml":"text/html","sid":"image/x-mrsid-image","sieve":"application/sieve","sig":"application/pgp-signature","sil":"audio/silk","silo":"model/mesh","sis":"application/vnd.symbian.install","sisx":"application/vnd.symbian.install","sit":"application/x-stuffit","sitx":"application/x-stuffitx","siv":"application/sieve","skd":"application/vnd.koan","skm":"application/vnd.koan","skp":"application/vnd.koan","skt":"application/vnd.koan","sldm":"application/vnd.ms-powerpoint.slide.macroenabled.12","sldx":"application/vnd.openxmlformats-officedocument.presentationml.slide","slim":"text/slim","slm":"text/slim","sls":"application/route-s-tsid+xml","slt":"application/vnd.epson.salt","sm":"application/vnd.stepmania.stepchart","smf":"application/vnd.stardivision.math","smi":"application/smil+xml","smil":"application/smil+xml","smv":"video/x-smv","smzip":"application/vnd.stepmania.package","snd":"audio/basic","snf":"application/x-font-snf","so":"application/octet-stream","spc":"application/x-pkcs7-certificates","spdx":"text/spdx","spf":"application/vnd.yamaha.smaf-phrase","spl":"application/x-futuresplash","spot":"text/vnd.in3d.spot","spp":"application/scvp-vp-response","spq":"application/scvp-vp-request","spx":"audio/ogg","sql":"application/x-sql","src":"application/x-wais-source","srt":"application/x-subrip","sru":"application/sru+xml","srx":"application/sparql-results+xml","ssdl":"application/ssdl+xml","sse":"application/vnd.kodak-descriptor","ssf":"application/vnd.epson.ssf","ssml":"application/ssml+xml","st":"application/vnd.sailingtracker.track","stc":"application/vnd.sun.xml.calc.template","std":"application/vnd.sun.xml.draw.template","stf":"application/vnd.wt.stf","sti":"application/vnd.sun.xml.impress.template","stk":"application/hyperstudio","stl":"model/stl","stpx":"model/step+xml","stpxz":"model/step-xml+zip","stpz":"model/step+zip","str":"application/vnd.pg.format","stw":"application/vnd.sun.xml.writer.template","styl":"text/stylus","stylus":"text/stylus","sub":"text/vnd.dvb.subtitle","sus":"application/vnd.sus-calendar","susp":"application/vnd.sus-calendar","sv4cpio":"application/x-sv4cpio","sv4crc":"application/x-sv4crc","svc":"application/vnd.dvb.service","svd":"application/vnd.svd","svg":"image/svg+xml","svgz":"image/svg+xml","swa":"application/x-director","swf":"application/x-shockwave-flash","swi":"application/vnd.aristanetworks.swi","swidtag":"application/swid+xml","sxc":"application/vnd.sun.xml.calc","sxd":"application/vnd.sun.xml.draw","sxg":"application/vnd.sun.xml.writer.global","sxi":"application/vnd.sun.xml.impress","sxm":"application/vnd.sun.xml.math","sxw":"application/vnd.sun.xml.writer","t":"text/troff","t3":"application/x-t3vm-image","t38":"image/t38","taglet":"application/vnd.mynfc","tao":"application/vnd.tao.intent-module-archive","tap":"image/vnd.tencent.tap","tar":"application/x-tar","tcap":"application/vnd.3gpp2.tcap","tcl":"application/x-tcl","td":"application/urc-targetdesc+xml","teacher":"application/vnd.smart.teacher","tei":"application/tei+xml","teicorpus":"application/tei+xml","tex":"application/x-tex","texi":"application/x-texinfo","texinfo":"application/x-texinfo","text":"text/plain","tfi":"application/thraud+xml","tfm":"application/x-tex-tfm","tfx":"image/tiff-fx","tga":"image/x-tga","thmx":"application/vnd.ms-officetheme","tif":"image/tiff","tiff":"image/tiff","tk":"application/x-tcl","tmo":"application/vnd.tmobile-livetv","toml":"application/toml","torrent":"application/x-bittorrent","tpl":"application/vnd.groove-tool-template","tpt":"application/vnd.trid.tpt","tr":"text/troff","tra":"application/vnd.trueapp","trig":"application/trig","trm":"application/x-msterminal","ts":"video/mp2t","tsd":"application/timestamped-data","tsv":"text/tab-separated-values","ttc":"font/collection","ttf":"font/ttf","ttl":"text/turtle","ttml":"application/ttml+xml","twd":"application/vnd.simtech-mindmapper","twds":"application/vnd.simtech-mindmapper","txd":"application/vnd.genomatix.tuxedo","txf":"application/vnd.mobius.txf","txt":"text/plain","u32":"application/x-authorware-bin","u8dsn":"message/global-delivery-status","u8hdr":"message/global-headers","u8mdn":"message/global-disposition-notification","u8msg":"message/global","ubj":"application/ubjson","udeb":"application/x-debian-package","ufd":"application/vnd.ufdl","ufdl":"application/vnd.ufdl","ulx":"application/x-glulx","umj":"application/vnd.umajin","unityweb":"application/vnd.unity","uoml":"application/vnd.uoml+xml","uri":"text/uri-list","uris":"text/uri-list","urls":"text/uri-list","usdz":"model/vnd.usdz+zip","ustar":"application/x-ustar","utz":"application/vnd.uiq.theme","uu":"text/x-uuencode","uva":"audio/vnd.dece.audio","uvd":"application/vnd.dece.data","uvf":"application/vnd.dece.data","uvg":"image/vnd.dece.graphic","uvh":"video/vnd.dece.hd","uvi":"image/vnd.dece.graphic","uvm":"video/vnd.dece.mobile","uvp":"video/vnd.dece.pd","uvs":"video/vnd.dece.sd","uvt":"application/vnd.dece.ttml+xml","uvu":"video/vnd.uvvu.mp4","uvv":"video/vnd.dece.video","uvva":"audio/vnd.dece.audio","uvvd":"application/vnd.dece.data","uvvf":"application/vnd.dece.data","uvvg":"image/vnd.dece.graphic","uvvh":"video/vnd.dece.hd","uvvi":"image/vnd.dece.graphic","uvvm":"video/vnd.dece.mobile","uvvp":"video/vnd.dece.pd","uvvs":"video/vnd.dece.sd","uvvt":"application/vnd.dece.ttml+xml","uvvu":"video/vnd.uvvu.mp4","uvvv":"video/vnd.dece.video","uvvx":"application/vnd.dece.unspecified","uvvz":"application/vnd.dece.zip","uvx":"application/vnd.dece.unspecified","uvz":"application/vnd.dece.zip","vbox":"application/x-virtualbox-vbox","vbox-extpack":"application/x-virtualbox-vbox-extpack","vcard":"text/vcard","vcd":"application/x-cdlink","vcf":"text/x-vcard","vcg":"application/vnd.groove-vcard","vcs":"text/x-vcalendar","vcx":"application/vnd.vcx","vdi":"application/x-virtualbox-vdi","vds":"model/vnd.sap.vds","vhd":"application/x-virtualbox-vhd","vis":"application/vnd.visionary","viv":"video/vnd.vivo","vmdk":"application/x-virtualbox-vmdk","vob":"video/x-ms-vob","vor":"application/vnd.stardivision.writer","vox":"application/x-authorware-bin","vrml":"model/vrml","vsd":"application/vnd.visio","vsf":"application/vnd.vsf","vss":"application/vnd.visio","vst":"application/vnd.visio","vsw":"application/vnd.visio","vtf":"image/vnd.valve.source.texture","vtt":"text/vtt","vtu":"model/vnd.vtu","vxml":"application/voicexml+xml","w3d":"application/x-director","wad":"application/x-doom","wadl":"application/vnd.sun.wadl+xml","war":"application/java-archive","wasm":"application/wasm","wav":"audio/x-wav","wax":"audio/x-ms-wax","wbmp":"image/vnd.wap.wbmp","wbs":"application/vnd.criticaltools.wbs+xml","wbxml":"application/vnd.wap.wbxml","wcm":"application/vnd.ms-works","wdb":"application/vnd.ms-works","wdp":"image/vnd.ms-photo","weba":"audio/webm","webapp":"application/x-web-app-manifest+json","webm":"video/webm","webmanifest":"application/manifest+json","webp":"image/webp","wg":"application/vnd.pmi.widget","wgt":"application/widget","wif":"application/watcherinfo+xml","wks":"application/vnd.ms-works","wm":"video/x-ms-wm","wma":"audio/x-ms-wma","wmd":"application/x-ms-wmd","wmf":"image/wmf","wml":"text/vnd.wap.wml","wmlc":"application/vnd.wap.wmlc","wmls":"text/vnd.wap.wmlscript","wmlsc":"application/vnd.wap.wmlscriptc","wmv":"video/x-ms-wmv","wmx":"video/x-ms-wmx","wmz":"application/x-msmetafile","woff":"font/woff","woff2":"font/woff2","wpd":"application/vnd.wordperfect","wpl":"application/vnd.ms-wpl","wps":"application/vnd.ms-works","wqd":"application/vnd.wqd","wri":"application/x-mswrite","wrl":"model/vrml","wsc":"message/vnd.wfa.wsc","wsdl":"application/wsdl+xml","wspolicy":"application/wspolicy+xml","wtb":"application/vnd.webturbo","wvx":"video/x-ms-wvx","x32":"application/x-authorware-bin","x3d":"model/x3d+xml","x3db":"model/x3d+fastinfoset","x3dbz":"model/x3d+binary","x3dv":"model/x3d-vrml","x3dvz":"model/x3d+vrml","x3dz":"model/x3d+xml","x_b":"model/vnd.parasolid.transmit.binary","x_t":"model/vnd.parasolid.transmit.text","xaml":"application/xaml+xml","xap":"application/x-silverlight-app","xar":"application/vnd.xara","xav":"application/xcap-att+xml","xbap":"application/x-ms-xbap","xbd":"application/vnd.fujixerox.docuworks.binder","xbm":"image/x-xbitmap","xca":"application/xcap-caps+xml","xcs":"application/calendar+xml","xdf":"application/xcap-diff+xml","xdm":"application/vnd.syncml.dm+xml","xdp":"application/vnd.adobe.xdp+xml","xdssc":"application/dssc+xml","xdw":"application/vnd.fujixerox.docuworks","xel":"application/xcap-el+xml","xenc":"application/xenc+xml","xer":"application/patch-ops-error+xml","xfdf":"application/vnd.adobe.xfdf","xfdl":"application/vnd.xfdl","xht":"application/xhtml+xml","xhtml":"application/xhtml+xml","xhvml":"application/xv+xml","xif":"image/vnd.xiff","xla":"application/vnd.ms-excel","xlam":"application/vnd.ms-excel.addin.macroenabled.12","xlc":"application/vnd.ms-excel","xlf":"application/xliff+xml","xlm":"application/vnd.ms-excel","xls":"application/vnd.ms-excel","xlsb":"application/vnd.ms-excel.sheet.binary.macroenabled.12","xlsm":"application/vnd.ms-excel.sheet.macroenabled.12","xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","xlt":"application/vnd.ms-excel","xltm":"application/vnd.ms-excel.template.macroenabled.12","xltx":"application/vnd.openxmlformats-officedocument.spreadsheetml.template","xlw":"application/vnd.ms-excel","xm":"audio/xm","xml":"text/xml","xns":"application/xcap-ns+xml","xo":"application/vnd.olpc-sugar","xop":"application/xop+xml","xpi":"application/x-xpinstall","xpl":"application/xproc+xml","xpm":"image/x-xpixmap","xpr":"application/vnd.is-xpr","xps":"application/vnd.ms-xpsdocument","xpw":"application/vnd.intercon.formnet","xpx":"application/vnd.intercon.formnet","xsd":"application/xml","xsl":"application/xslt+xml","xslt":"application/xslt+xml","xsm":"application/vnd.syncml+xml","xspf":"application/xspf+xml","xul":"application/vnd.mozilla.xul+xml","xvm":"application/xv+xml","xvml":"application/xv+xml","xwd":"image/x-xwindowdump","xyz":"chemical/x-xyz","xz":"application/x-xz","yaml":"text/yaml","yang":"application/yang","yin":"application/yin+xml","yml":"text/yaml","ymp":"text/x-suse-ymp","z1":"application/x-zmachine","z2":"application/x-zmachine","z3":"application/x-zmachine","z4":"application/x-zmachine","z5":"application/x-zmachine","z6":"application/x-zmachine","z7":"application/x-zmachine","z8":"application/x-zmachine","zaz":"application/vnd.zzazz.deck+xml","zip":"application/zip","zir":"application/vnd.zul","zirz":"application/vnd.zul","zmm":"application/vnd.handheld-entertainment+xml"};
|
|
255
|
-
|
|
256
|
-
function responseHeaders(headers, httpCache = false) {
|
|
257
|
-
headers = { ...DEFAULT_HEADERS, ...headers };
|
|
258
|
-
if (httpCache) {
|
|
259
|
-
headers['cache-control'] = 'max-age=3600';
|
|
260
|
-
delete headers['date'];
|
|
261
|
-
delete headers['expires'];
|
|
262
|
-
}
|
|
263
|
-
return headers;
|
|
264
|
-
}
|
|
265
|
-
const DEFAULT_HEADERS = {
|
|
266
|
-
'cache-control': 'no-cache, no-store, must-revalidate, max-age=0',
|
|
267
|
-
expires: '0',
|
|
268
|
-
date: 'Wed, 1 Jan 2000 00:00:00 GMT',
|
|
269
|
-
server: 'Stencil Dev Server ' + version,
|
|
270
|
-
'access-control-allow-origin': '*',
|
|
271
|
-
'access-control-expose-headers': '*',
|
|
272
|
-
};
|
|
273
|
-
function getBrowserUrl(protocol, address, port, basePath, pathname) {
|
|
274
|
-
address = address === `0.0.0.0` ? `localhost` : address;
|
|
275
|
-
const portSuffix = !port || port === 80 || port === 443 ? '' : ':' + port;
|
|
276
|
-
let path = basePath;
|
|
277
|
-
if (pathname.startsWith('/')) {
|
|
278
|
-
pathname = pathname.substring(1);
|
|
279
|
-
}
|
|
280
|
-
path += pathname;
|
|
281
|
-
protocol = protocol.replace(/\:/g, '');
|
|
282
|
-
return `${protocol}://${address}${portSuffix}${path}`;
|
|
283
|
-
}
|
|
284
|
-
function getDevServerClientUrl(devServerConfig, host, protocol) {
|
|
285
|
-
let address = devServerConfig.address;
|
|
286
|
-
let port = devServerConfig.port;
|
|
287
|
-
if (host) {
|
|
288
|
-
address = host;
|
|
289
|
-
port = null;
|
|
290
|
-
}
|
|
291
|
-
return getBrowserUrl(protocol !== null && protocol !== void 0 ? protocol : devServerConfig.protocol, address, port, devServerConfig.basePath, DEV_SERVER_URL);
|
|
292
|
-
}
|
|
293
|
-
function getContentType(filePath) {
|
|
294
|
-
const last = filePath.replace(/^.*[/\\]/, '').toLowerCase();
|
|
295
|
-
const ext = last.replace(/^.*\./, '').toLowerCase();
|
|
296
|
-
const hasPath = last.length < filePath.length;
|
|
297
|
-
const hasDot = ext.length < last.length - 1;
|
|
298
|
-
return ((hasDot || !hasPath) && contentTypes[ext]) || 'application/octet-stream';
|
|
299
|
-
}
|
|
300
|
-
function isHtmlFile(filePath) {
|
|
301
|
-
filePath = filePath.toLowerCase().trim();
|
|
302
|
-
return filePath.endsWith('.html') || filePath.endsWith('.htm');
|
|
303
|
-
}
|
|
304
|
-
function isCssFile(filePath) {
|
|
305
|
-
filePath = filePath.toLowerCase().trim();
|
|
306
|
-
return filePath.endsWith('.css');
|
|
307
|
-
}
|
|
308
|
-
const TXT_EXT = ['css', 'html', 'htm', 'js', 'json', 'svg', 'xml'];
|
|
309
|
-
function isSimpleText(filePath) {
|
|
310
|
-
const ext = filePath.toLowerCase().trim().split('.').pop();
|
|
311
|
-
return TXT_EXT.includes(ext);
|
|
312
|
-
}
|
|
313
|
-
function isExtensionLessPath(pathname) {
|
|
314
|
-
const parts = pathname.split('/');
|
|
315
|
-
const lastPart = parts[parts.length - 1];
|
|
316
|
-
return !lastPart.includes('.');
|
|
317
|
-
}
|
|
318
|
-
function isSsrStaticDataPath(pathname) {
|
|
319
|
-
const parts = pathname.split('/');
|
|
320
|
-
const fileName = parts[parts.length - 1].split('?')[0];
|
|
321
|
-
return fileName === 'page.state.json';
|
|
322
|
-
}
|
|
323
|
-
function getSsrStaticDataPath(req) {
|
|
324
|
-
const parts = req.url.href.split('/');
|
|
325
|
-
const fileName = parts[parts.length - 1];
|
|
326
|
-
const fileNameParts = fileName.split('?');
|
|
327
|
-
parts.pop();
|
|
328
|
-
let ssrPath = new URL(parts.join('/')).href;
|
|
329
|
-
if (!ssrPath.endsWith('/') && req.headers) {
|
|
330
|
-
const h = new Headers(req.headers);
|
|
331
|
-
if (h.get('referer').endsWith('/')) {
|
|
332
|
-
ssrPath += '/';
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
return {
|
|
336
|
-
ssrPath,
|
|
337
|
-
fileName: fileNameParts[0],
|
|
338
|
-
hasQueryString: typeof fileNameParts[1] === 'string' && fileNameParts[1].length > 0,
|
|
339
|
-
};
|
|
340
|
-
}
|
|
341
|
-
function isDevClient(pathname) {
|
|
342
|
-
return pathname.startsWith(DEV_SERVER_URL);
|
|
343
|
-
}
|
|
344
|
-
function isDevModule(pathname) {
|
|
345
|
-
return pathname.includes(DEV_MODULE_URL);
|
|
346
|
-
}
|
|
347
|
-
function isOpenInEditor(pathname) {
|
|
348
|
-
return pathname === OPEN_IN_EDITOR_URL;
|
|
349
|
-
}
|
|
350
|
-
function isInitialDevServerLoad(pathname) {
|
|
351
|
-
return pathname === DEV_SERVER_INIT_URL;
|
|
352
|
-
}
|
|
353
|
-
function isDevServerClient(pathname) {
|
|
354
|
-
return pathname === DEV_SERVER_URL;
|
|
355
|
-
}
|
|
356
|
-
function shouldCompress(devServerConfig, req) {
|
|
357
|
-
if (!devServerConfig.gzip) {
|
|
358
|
-
return false;
|
|
359
|
-
}
|
|
360
|
-
if (req.method !== 'GET') {
|
|
361
|
-
return false;
|
|
362
|
-
}
|
|
363
|
-
const acceptEncoding = req.headers && req.headers['accept-encoding'];
|
|
364
|
-
if (typeof acceptEncoding !== 'string') {
|
|
365
|
-
return false;
|
|
366
|
-
}
|
|
367
|
-
if (!acceptEncoding.includes('gzip')) {
|
|
368
|
-
return false;
|
|
369
|
-
}
|
|
370
|
-
return true;
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
function createCommonjsModule(fn, basedir, module) {
|
|
374
|
-
return module = {
|
|
375
|
-
path: basedir,
|
|
376
|
-
exports: {},
|
|
377
|
-
require: function (path, base) {
|
|
378
|
-
return commonjsRequire(path, (base === undefined || base === null) ? module.path : base);
|
|
379
|
-
}
|
|
380
|
-
}, fn(module, module.exports), module.exports;
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
function commonjsRequire () {
|
|
384
|
-
throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
let isDocker;
|
|
388
|
-
|
|
389
|
-
function hasDockerEnv() {
|
|
390
|
-
try {
|
|
391
|
-
fs__default['default'].statSync('/.dockerenv');
|
|
392
|
-
return true;
|
|
393
|
-
} catch (_) {
|
|
394
|
-
return false;
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
function hasDockerCGroup() {
|
|
399
|
-
try {
|
|
400
|
-
return fs__default['default'].readFileSync('/proc/self/cgroup', 'utf8').includes('docker');
|
|
401
|
-
} catch (_) {
|
|
402
|
-
return false;
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
var isDocker_1 = () => {
|
|
407
|
-
if (isDocker === undefined) {
|
|
408
|
-
isDocker = hasDockerEnv() || hasDockerCGroup();
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
return isDocker;
|
|
412
|
-
};
|
|
413
|
-
|
|
414
|
-
var isWsl_1 = createCommonjsModule(function (module) {
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
const isWsl = () => {
|
|
420
|
-
if (process.platform !== 'linux') {
|
|
421
|
-
return false;
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
if (os__default['default'].release().toLowerCase().includes('microsoft')) {
|
|
425
|
-
if (isDocker_1()) {
|
|
426
|
-
return false;
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
return true;
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
try {
|
|
433
|
-
return fs__default['default'].readFileSync('/proc/version', 'utf8').toLowerCase().includes('microsoft') ?
|
|
434
|
-
!isDocker_1() : false;
|
|
435
|
-
} catch (_) {
|
|
436
|
-
return false;
|
|
437
|
-
}
|
|
438
|
-
};
|
|
439
|
-
|
|
440
|
-
if (process.env.__IS_WSL_TEST__) {
|
|
441
|
-
module.exports = isWsl;
|
|
442
|
-
} else {
|
|
443
|
-
module.exports = isWsl();
|
|
444
|
-
}
|
|
445
|
-
});
|
|
446
|
-
|
|
447
|
-
var defineLazyProp = (object, propertyName, fn) => {
|
|
448
|
-
const define = value => Object.defineProperty(object, propertyName, {value, enumerable: true, writable: true});
|
|
449
|
-
|
|
450
|
-
Object.defineProperty(object, propertyName, {
|
|
451
|
-
configurable: true,
|
|
452
|
-
enumerable: true,
|
|
453
|
-
get() {
|
|
454
|
-
const result = fn();
|
|
455
|
-
define(result);
|
|
456
|
-
return result;
|
|
457
|
-
},
|
|
458
|
-
set(value) {
|
|
459
|
-
define(value);
|
|
460
|
-
}
|
|
461
|
-
});
|
|
462
|
-
|
|
463
|
-
return object;
|
|
464
|
-
};
|
|
465
|
-
|
|
466
|
-
const {promises: fs, constants: fsConstants} = fs__default['default'];
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
// Path to included `xdg-open`.
|
|
472
|
-
const localXdgOpenPath = path__default['default'].join(__dirname, 'xdg-open');
|
|
473
|
-
|
|
474
|
-
const {platform, arch} = process;
|
|
475
|
-
|
|
476
|
-
/**
|
|
477
|
-
Get the mount point for fixed drives in WSL.
|
|
478
|
-
|
|
479
|
-
@inner
|
|
480
|
-
@returns {string} The mount point.
|
|
481
|
-
*/
|
|
482
|
-
const getWslDrivesMountPoint = (() => {
|
|
483
|
-
// Default value for "root" param
|
|
484
|
-
// according to https://docs.microsoft.com/en-us/windows/wsl/wsl-config
|
|
485
|
-
const defaultMountPoint = '/mnt/';
|
|
486
|
-
|
|
487
|
-
let mountPoint;
|
|
488
|
-
|
|
489
|
-
return async function () {
|
|
490
|
-
if (mountPoint) {
|
|
491
|
-
// Return memoized mount point value
|
|
492
|
-
return mountPoint;
|
|
493
|
-
}
|
|
494
|
-
|
|
495
|
-
const configFilePath = '/etc/wsl.conf';
|
|
496
|
-
|
|
497
|
-
let isConfigFileExists = false;
|
|
498
|
-
try {
|
|
499
|
-
await fs.access(configFilePath, fsConstants.F_OK);
|
|
500
|
-
isConfigFileExists = true;
|
|
501
|
-
} catch {}
|
|
502
|
-
|
|
503
|
-
if (!isConfigFileExists) {
|
|
504
|
-
return defaultMountPoint;
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
const configContent = await fs.readFile(configFilePath, {encoding: 'utf8'});
|
|
508
|
-
const configMountPoint = /(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(configContent);
|
|
509
|
-
|
|
510
|
-
if (!configMountPoint) {
|
|
511
|
-
return defaultMountPoint;
|
|
512
|
-
}
|
|
513
|
-
|
|
514
|
-
mountPoint = configMountPoint.groups.mountPoint.trim();
|
|
515
|
-
mountPoint = mountPoint.endsWith('/') ? mountPoint : `${mountPoint}/`;
|
|
516
|
-
|
|
517
|
-
return mountPoint;
|
|
518
|
-
};
|
|
519
|
-
})();
|
|
520
|
-
|
|
521
|
-
const pTryEach = async (array, mapper) => {
|
|
522
|
-
let latestError;
|
|
523
|
-
|
|
524
|
-
for (const item of array) {
|
|
525
|
-
try {
|
|
526
|
-
return await mapper(item); // eslint-disable-line no-await-in-loop
|
|
527
|
-
} catch (error) {
|
|
528
|
-
latestError = error;
|
|
529
|
-
}
|
|
530
|
-
}
|
|
531
|
-
|
|
532
|
-
throw latestError;
|
|
533
|
-
};
|
|
534
|
-
|
|
535
|
-
const baseOpen = async options => {
|
|
536
|
-
options = {
|
|
537
|
-
wait: false,
|
|
538
|
-
background: false,
|
|
539
|
-
newInstance: false,
|
|
540
|
-
allowNonzeroExitCode: false,
|
|
541
|
-
...options
|
|
542
|
-
};
|
|
543
|
-
|
|
544
|
-
if (Array.isArray(options.app)) {
|
|
545
|
-
return pTryEach(options.app, singleApp => baseOpen({
|
|
546
|
-
...options,
|
|
547
|
-
app: singleApp
|
|
548
|
-
}));
|
|
549
|
-
}
|
|
550
|
-
|
|
551
|
-
let {name: app, arguments: appArguments = []} = options.app || {};
|
|
552
|
-
appArguments = [...appArguments];
|
|
553
|
-
|
|
554
|
-
if (Array.isArray(app)) {
|
|
555
|
-
return pTryEach(app, appName => baseOpen({
|
|
556
|
-
...options,
|
|
557
|
-
app: {
|
|
558
|
-
name: appName,
|
|
559
|
-
arguments: appArguments
|
|
560
|
-
}
|
|
561
|
-
}));
|
|
562
|
-
}
|
|
563
|
-
|
|
564
|
-
let command;
|
|
565
|
-
const cliArguments = [];
|
|
566
|
-
const childProcessOptions = {};
|
|
567
|
-
|
|
568
|
-
if (platform === 'darwin') {
|
|
569
|
-
command = 'open';
|
|
570
|
-
|
|
571
|
-
if (options.wait) {
|
|
572
|
-
cliArguments.push('--wait-apps');
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
if (options.background) {
|
|
576
|
-
cliArguments.push('--background');
|
|
577
|
-
}
|
|
578
|
-
|
|
579
|
-
if (options.newInstance) {
|
|
580
|
-
cliArguments.push('--new');
|
|
581
|
-
}
|
|
582
|
-
|
|
583
|
-
if (app) {
|
|
584
|
-
cliArguments.push('-a', app);
|
|
585
|
-
}
|
|
586
|
-
} else if (platform === 'win32' || (isWsl_1 && !isDocker_1())) {
|
|
587
|
-
const mountPoint = await getWslDrivesMountPoint();
|
|
588
|
-
|
|
589
|
-
command = isWsl_1 ?
|
|
590
|
-
`${mountPoint}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe` :
|
|
591
|
-
`${process.env.SYSTEMROOT}\\System32\\WindowsPowerShell\\v1.0\\powershell`;
|
|
592
|
-
|
|
593
|
-
cliArguments.push(
|
|
594
|
-
'-NoProfile',
|
|
595
|
-
'-NonInteractive',
|
|
596
|
-
'–ExecutionPolicy',
|
|
597
|
-
'Bypass',
|
|
598
|
-
'-EncodedCommand'
|
|
599
|
-
);
|
|
600
|
-
|
|
601
|
-
if (!isWsl_1) {
|
|
602
|
-
childProcessOptions.windowsVerbatimArguments = true;
|
|
603
|
-
}
|
|
604
|
-
|
|
605
|
-
const encodedArguments = ['Start'];
|
|
606
|
-
|
|
607
|
-
if (options.wait) {
|
|
608
|
-
encodedArguments.push('-Wait');
|
|
609
|
-
}
|
|
610
|
-
|
|
611
|
-
if (app) {
|
|
612
|
-
// Double quote with double quotes to ensure the inner quotes are passed through.
|
|
613
|
-
// Inner quotes are delimited for PowerShell interpretation with backticks.
|
|
614
|
-
encodedArguments.push(`"\`"${app}\`""`, '-ArgumentList');
|
|
615
|
-
if (options.target) {
|
|
616
|
-
appArguments.unshift(options.target);
|
|
617
|
-
}
|
|
618
|
-
} else if (options.target) {
|
|
619
|
-
encodedArguments.push(`"${options.target}"`);
|
|
620
|
-
}
|
|
621
|
-
|
|
622
|
-
if (appArguments.length > 0) {
|
|
623
|
-
appArguments = appArguments.map(arg => `"\`"${arg}\`""`);
|
|
624
|
-
encodedArguments.push(appArguments.join(','));
|
|
625
|
-
}
|
|
626
|
-
|
|
627
|
-
// Using Base64-encoded command, accepted by PowerShell, to allow special characters.
|
|
628
|
-
options.target = Buffer.from(encodedArguments.join(' '), 'utf16le').toString('base64');
|
|
629
|
-
} else {
|
|
630
|
-
if (app) {
|
|
631
|
-
command = app;
|
|
632
|
-
} else {
|
|
633
|
-
// When bundled by Webpack, there's no actual package file path and no local `xdg-open`.
|
|
634
|
-
const isBundled = !__dirname || __dirname === '/';
|
|
635
|
-
|
|
636
|
-
// Check if local `xdg-open` exists and is executable.
|
|
637
|
-
let exeLocalXdgOpen = false;
|
|
638
|
-
try {
|
|
639
|
-
await fs.access(localXdgOpenPath, fsConstants.X_OK);
|
|
640
|
-
exeLocalXdgOpen = true;
|
|
641
|
-
} catch {}
|
|
642
|
-
|
|
643
|
-
const useSystemXdgOpen = process.versions.electron ||
|
|
644
|
-
platform === 'android' || isBundled || !exeLocalXdgOpen;
|
|
645
|
-
command = useSystemXdgOpen ? 'xdg-open' : localXdgOpenPath;
|
|
646
|
-
}
|
|
647
|
-
|
|
648
|
-
if (appArguments.length > 0) {
|
|
649
|
-
cliArguments.push(...appArguments);
|
|
650
|
-
}
|
|
651
|
-
|
|
652
|
-
if (!options.wait) {
|
|
653
|
-
// `xdg-open` will block the process unless stdio is ignored
|
|
654
|
-
// and it's detached from the parent even if it's unref'd.
|
|
655
|
-
childProcessOptions.stdio = 'ignore';
|
|
656
|
-
childProcessOptions.detached = true;
|
|
657
|
-
}
|
|
658
|
-
}
|
|
659
|
-
|
|
660
|
-
if (options.target) {
|
|
661
|
-
cliArguments.push(options.target);
|
|
662
|
-
}
|
|
663
|
-
|
|
664
|
-
if (platform === 'darwin' && appArguments.length > 0) {
|
|
665
|
-
cliArguments.push('--args', ...appArguments);
|
|
666
|
-
}
|
|
667
|
-
|
|
668
|
-
const subprocess = childProcess__default['default'].spawn(command, cliArguments, childProcessOptions);
|
|
669
|
-
|
|
670
|
-
if (options.wait) {
|
|
671
|
-
return new Promise((resolve, reject) => {
|
|
672
|
-
subprocess.once('error', reject);
|
|
673
|
-
|
|
674
|
-
subprocess.once('close', exitCode => {
|
|
675
|
-
if (options.allowNonzeroExitCode && exitCode > 0) {
|
|
676
|
-
reject(new Error(`Exited with code ${exitCode}`));
|
|
677
|
-
return;
|
|
678
|
-
}
|
|
679
|
-
|
|
680
|
-
resolve(subprocess);
|
|
681
|
-
});
|
|
682
|
-
});
|
|
683
|
-
}
|
|
684
|
-
|
|
685
|
-
subprocess.unref();
|
|
686
|
-
|
|
687
|
-
return subprocess;
|
|
688
|
-
};
|
|
689
|
-
|
|
690
|
-
const open = (target, options) => {
|
|
691
|
-
if (typeof target !== 'string') {
|
|
692
|
-
throw new TypeError('Expected a `target`');
|
|
693
|
-
}
|
|
694
|
-
|
|
695
|
-
return baseOpen({
|
|
696
|
-
...options,
|
|
697
|
-
target
|
|
698
|
-
});
|
|
699
|
-
};
|
|
700
|
-
|
|
701
|
-
const openApp = (name, options) => {
|
|
702
|
-
if (typeof name !== 'string') {
|
|
703
|
-
throw new TypeError('Expected a `name`');
|
|
704
|
-
}
|
|
705
|
-
|
|
706
|
-
const {arguments: appArguments = []} = options || {};
|
|
707
|
-
if (appArguments !== undefined && appArguments !== null && !Array.isArray(appArguments)) {
|
|
708
|
-
throw new TypeError('Expected `appArguments` as Array type');
|
|
709
|
-
}
|
|
710
|
-
|
|
711
|
-
return baseOpen({
|
|
712
|
-
...options,
|
|
713
|
-
app: {
|
|
714
|
-
name,
|
|
715
|
-
arguments: appArguments
|
|
716
|
-
}
|
|
717
|
-
});
|
|
718
|
-
};
|
|
719
|
-
|
|
720
|
-
function detectArchBinary(binary) {
|
|
721
|
-
if (typeof binary === 'string' || Array.isArray(binary)) {
|
|
722
|
-
return binary;
|
|
723
|
-
}
|
|
724
|
-
|
|
725
|
-
const {[arch]: archBinary} = binary;
|
|
726
|
-
|
|
727
|
-
if (!archBinary) {
|
|
728
|
-
throw new Error(`${arch} is not supported`);
|
|
729
|
-
}
|
|
730
|
-
|
|
731
|
-
return archBinary;
|
|
732
|
-
}
|
|
733
|
-
|
|
734
|
-
function detectPlatformBinary({[platform]: platformBinary}, {wsl}) {
|
|
735
|
-
if (wsl && isWsl_1) {
|
|
736
|
-
return detectArchBinary(wsl);
|
|
737
|
-
}
|
|
738
|
-
|
|
739
|
-
if (!platformBinary) {
|
|
740
|
-
throw new Error(`${platform} is not supported`);
|
|
741
|
-
}
|
|
742
|
-
|
|
743
|
-
return detectArchBinary(platformBinary);
|
|
744
|
-
}
|
|
745
|
-
|
|
746
|
-
const apps = {};
|
|
747
|
-
|
|
748
|
-
defineLazyProp(apps, 'chrome', () => detectPlatformBinary({
|
|
749
|
-
darwin: 'google chrome',
|
|
750
|
-
win32: 'chrome',
|
|
751
|
-
linux: ['google-chrome', 'google-chrome-stable', 'chromium']
|
|
752
|
-
}, {
|
|
753
|
-
wsl: {
|
|
754
|
-
ia32: '/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe',
|
|
755
|
-
x64: ['/mnt/c/Program Files/Google/Chrome/Application/chrome.exe', '/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe']
|
|
756
|
-
}
|
|
757
|
-
}));
|
|
758
|
-
|
|
759
|
-
defineLazyProp(apps, 'firefox', () => detectPlatformBinary({
|
|
760
|
-
darwin: 'firefox',
|
|
761
|
-
win32: 'C:\\Program Files\\Mozilla Firefox\\firefox.exe',
|
|
762
|
-
linux: 'firefox'
|
|
763
|
-
}, {
|
|
764
|
-
wsl: '/mnt/c/Program Files/Mozilla Firefox/firefox.exe'
|
|
765
|
-
}));
|
|
766
|
-
|
|
767
|
-
defineLazyProp(apps, 'edge', () => detectPlatformBinary({
|
|
768
|
-
darwin: 'microsoft edge',
|
|
769
|
-
win32: 'msedge',
|
|
770
|
-
linux: ['microsoft-edge', 'microsoft-edge-dev']
|
|
771
|
-
}, {
|
|
772
|
-
wsl: '/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe'
|
|
773
|
-
}));
|
|
774
|
-
|
|
775
|
-
open.apps = apps;
|
|
776
|
-
open.openApp = openApp;
|
|
777
|
-
|
|
778
|
-
var open_1 = open;
|
|
779
|
-
|
|
780
|
-
async function openInBrowser(opts) {
|
|
781
|
-
// await open(opts.url, { app: ['google chrome', '--auto-open-devtools-for-tabs'] });
|
|
782
|
-
await open_1(opts.url);
|
|
783
|
-
}
|
|
784
|
-
|
|
785
|
-
function createServerContext(sys, sendMsg, devServerConfig, buildResultsResolves, compilerRequestResolves) {
|
|
786
|
-
const logRequest = (req, status) => {
|
|
787
|
-
if (devServerConfig) {
|
|
788
|
-
sendMsg({
|
|
789
|
-
requestLog: {
|
|
790
|
-
method: req.method || '?',
|
|
791
|
-
url: req.pathname || '?',
|
|
792
|
-
status,
|
|
793
|
-
},
|
|
794
|
-
});
|
|
795
|
-
}
|
|
796
|
-
};
|
|
797
|
-
const serve500 = (req, res, error, xSource) => {
|
|
798
|
-
try {
|
|
799
|
-
res.writeHead(500, responseHeaders({
|
|
800
|
-
'content-type': 'text/plain; charset=utf-8',
|
|
801
|
-
'x-source': xSource,
|
|
802
|
-
}));
|
|
803
|
-
res.write(util__default['default'].inspect(error));
|
|
804
|
-
res.end();
|
|
805
|
-
logRequest(req, 500);
|
|
806
|
-
}
|
|
807
|
-
catch (e) {
|
|
808
|
-
sendMsg({ error: { message: 'serve500: ' + e } });
|
|
809
|
-
}
|
|
810
|
-
};
|
|
811
|
-
const serve404 = (req, res, xSource, content = null) => {
|
|
812
|
-
try {
|
|
813
|
-
if (req.pathname === '/favicon.ico') {
|
|
814
|
-
const defaultFavicon = path__default['default'].join(devServerConfig.devServerDir, 'static', 'favicon.ico');
|
|
815
|
-
res.writeHead(200, responseHeaders({
|
|
816
|
-
'content-type': 'image/x-icon',
|
|
817
|
-
'x-source': `favicon: ${xSource}`,
|
|
818
|
-
}));
|
|
819
|
-
const rs = fs__default$1['default'].createReadStream(defaultFavicon);
|
|
820
|
-
rs.on('error', (err) => {
|
|
821
|
-
res.writeHead(404, responseHeaders({
|
|
822
|
-
'content-type': 'text/plain; charset=utf-8',
|
|
823
|
-
'x-source': `createReadStream error: ${err}, ${xSource}`,
|
|
824
|
-
}));
|
|
825
|
-
res.write(util__default['default'].inspect(err));
|
|
826
|
-
res.end();
|
|
827
|
-
});
|
|
828
|
-
rs.pipe(res);
|
|
829
|
-
return;
|
|
830
|
-
}
|
|
831
|
-
if (content == null) {
|
|
832
|
-
content = ['404 File Not Found', 'Url: ' + req.pathname, 'File: ' + req.filePath].join('\n');
|
|
833
|
-
}
|
|
834
|
-
res.writeHead(404, responseHeaders({
|
|
835
|
-
'content-type': 'text/plain; charset=utf-8',
|
|
836
|
-
'x-source': xSource,
|
|
837
|
-
}));
|
|
838
|
-
res.write(content);
|
|
839
|
-
res.end();
|
|
840
|
-
logRequest(req, 400);
|
|
841
|
-
}
|
|
842
|
-
catch (e) {
|
|
843
|
-
serve500(req, res, e, xSource);
|
|
844
|
-
}
|
|
845
|
-
};
|
|
846
|
-
const serve302 = (req, res, pathname = null) => {
|
|
847
|
-
logRequest(req, 302);
|
|
848
|
-
res.writeHead(302, { location: pathname || devServerConfig.basePath || '/' });
|
|
849
|
-
res.end();
|
|
850
|
-
};
|
|
851
|
-
const getBuildResults = () => new Promise((resolve, reject) => {
|
|
852
|
-
if (serverCtx.isServerListening) {
|
|
853
|
-
buildResultsResolves.push({ resolve, reject });
|
|
854
|
-
sendMsg({ requestBuildResults: true });
|
|
855
|
-
}
|
|
856
|
-
else {
|
|
857
|
-
reject('dev server closed');
|
|
858
|
-
}
|
|
859
|
-
});
|
|
860
|
-
const getCompilerRequest = (compilerRequestPath) => new Promise((resolve, reject) => {
|
|
861
|
-
if (serverCtx.isServerListening) {
|
|
862
|
-
compilerRequestResolves.push({
|
|
863
|
-
path: compilerRequestPath,
|
|
864
|
-
resolve,
|
|
865
|
-
reject,
|
|
866
|
-
});
|
|
867
|
-
sendMsg({ compilerRequestPath });
|
|
868
|
-
}
|
|
869
|
-
else {
|
|
870
|
-
reject('dev server closed');
|
|
871
|
-
}
|
|
872
|
-
});
|
|
873
|
-
const serverCtx = {
|
|
874
|
-
connectorHtml: null,
|
|
875
|
-
dirTemplate: null,
|
|
876
|
-
getBuildResults,
|
|
877
|
-
getCompilerRequest,
|
|
878
|
-
isServerListening: false,
|
|
879
|
-
logRequest,
|
|
880
|
-
prerenderConfig: null,
|
|
881
|
-
serve302,
|
|
882
|
-
serve404,
|
|
883
|
-
serve500,
|
|
884
|
-
sys,
|
|
885
|
-
};
|
|
886
|
-
return serverCtx;
|
|
887
|
-
}
|
|
888
|
-
|
|
889
|
-
async function serveOpenInEditor(serverCtx, req, res) {
|
|
890
|
-
let status = 200;
|
|
891
|
-
const data = {};
|
|
892
|
-
try {
|
|
893
|
-
const editors = await getEditors();
|
|
894
|
-
if (editors.length > 0) {
|
|
895
|
-
await parseData(editors, serverCtx.sys, req, data);
|
|
896
|
-
await openDataInEditor(data);
|
|
897
|
-
}
|
|
898
|
-
else {
|
|
899
|
-
data.error = `no editors available`;
|
|
900
|
-
}
|
|
901
|
-
}
|
|
902
|
-
catch (e) {
|
|
903
|
-
data.error = e + '';
|
|
904
|
-
status = 500;
|
|
905
|
-
}
|
|
906
|
-
serverCtx.logRequest(req, status);
|
|
907
|
-
res.writeHead(status, responseHeaders({
|
|
908
|
-
'content-type': 'application/json; charset=utf-8',
|
|
909
|
-
}));
|
|
910
|
-
res.write(JSON.stringify(data, null, 2));
|
|
911
|
-
res.end();
|
|
912
|
-
}
|
|
913
|
-
async function parseData(editors, sys, req, data) {
|
|
914
|
-
const qs = req.searchParams;
|
|
915
|
-
if (!qs.has('file')) {
|
|
916
|
-
data.error = `missing file`;
|
|
917
|
-
return;
|
|
918
|
-
}
|
|
919
|
-
data.file = qs.get('file');
|
|
920
|
-
if (qs.has('line') && !isNaN(qs.get('line'))) {
|
|
921
|
-
data.line = parseInt(qs.get('line'), 10);
|
|
922
|
-
}
|
|
923
|
-
if (typeof data.line !== 'number' || data.line < 1) {
|
|
924
|
-
data.line = 1;
|
|
925
|
-
}
|
|
926
|
-
if (qs.has('column') && !isNaN(qs.get('column'))) {
|
|
927
|
-
data.column = parseInt(qs.get('column'), 10);
|
|
928
|
-
}
|
|
929
|
-
if (typeof data.column !== 'number' || data.column < 1) {
|
|
930
|
-
data.column = 1;
|
|
931
|
-
}
|
|
932
|
-
let editor = qs.get('editor');
|
|
933
|
-
if (typeof editor === 'string') {
|
|
934
|
-
editor = editor.trim().toLowerCase();
|
|
935
|
-
if (editors.some((e) => e.id === editor)) {
|
|
936
|
-
data.editor = editor;
|
|
937
|
-
}
|
|
938
|
-
else {
|
|
939
|
-
data.error = `invalid editor: ${editor}`;
|
|
940
|
-
return;
|
|
941
|
-
}
|
|
942
|
-
}
|
|
943
|
-
else {
|
|
944
|
-
data.editor = editors[0].id;
|
|
945
|
-
}
|
|
946
|
-
const stat = await sys.stat(data.file);
|
|
947
|
-
data.exists = stat.isFile;
|
|
948
|
-
}
|
|
949
|
-
async function openDataInEditor(data) {
|
|
950
|
-
if (!data.exists || data.error) {
|
|
951
|
-
return;
|
|
952
|
-
}
|
|
953
|
-
try {
|
|
954
|
-
const opts = {
|
|
955
|
-
editor: data.editor,
|
|
956
|
-
};
|
|
957
|
-
const editor = openInEditorApi__default['default'].configure(opts, (err) => (data.error = err + ''));
|
|
958
|
-
if (data.error) {
|
|
959
|
-
return;
|
|
960
|
-
}
|
|
961
|
-
data.open = `${data.file}:${data.line}:${data.column}`;
|
|
962
|
-
await editor.open(data.open);
|
|
963
|
-
}
|
|
964
|
-
catch (e) {
|
|
965
|
-
data.error = e + '';
|
|
966
|
-
}
|
|
967
|
-
}
|
|
968
|
-
let editors = null;
|
|
969
|
-
function getEditors() {
|
|
970
|
-
if (!editors) {
|
|
971
|
-
editors = new Promise(async (resolve) => {
|
|
972
|
-
const editors = [];
|
|
973
|
-
try {
|
|
974
|
-
await Promise.all(Object.keys(openInEditorApi__default['default'].editors).map(async (editorId) => {
|
|
975
|
-
const isSupported = await isEditorSupported(editorId);
|
|
976
|
-
editors.push({
|
|
977
|
-
id: editorId,
|
|
978
|
-
priority: EDITOR_PRIORITY[editorId],
|
|
979
|
-
supported: isSupported,
|
|
980
|
-
});
|
|
981
|
-
}));
|
|
982
|
-
}
|
|
983
|
-
catch (e) { }
|
|
984
|
-
resolve(editors
|
|
985
|
-
.filter((e) => e.supported)
|
|
986
|
-
.sort((a, b) => {
|
|
987
|
-
if (a.priority < b.priority)
|
|
988
|
-
return -1;
|
|
989
|
-
if (a.priority > b.priority)
|
|
990
|
-
return 1;
|
|
991
|
-
return 0;
|
|
992
|
-
})
|
|
993
|
-
.map((e) => {
|
|
994
|
-
return {
|
|
995
|
-
id: e.id,
|
|
996
|
-
name: EDITORS[e.id],
|
|
997
|
-
};
|
|
998
|
-
}));
|
|
999
|
-
});
|
|
1000
|
-
}
|
|
1001
|
-
return editors;
|
|
1002
|
-
}
|
|
1003
|
-
async function isEditorSupported(editorId) {
|
|
1004
|
-
let isSupported = false;
|
|
1005
|
-
try {
|
|
1006
|
-
await openInEditorApi__default['default'].editors[editorId].detect();
|
|
1007
|
-
isSupported = true;
|
|
1008
|
-
}
|
|
1009
|
-
catch (e) { }
|
|
1010
|
-
return isSupported;
|
|
1011
|
-
}
|
|
1012
|
-
const EDITORS = {
|
|
1013
|
-
atom: 'Atom',
|
|
1014
|
-
code: 'Code',
|
|
1015
|
-
emacs: 'Emacs',
|
|
1016
|
-
idea14ce: 'IDEA 14 Community Edition',
|
|
1017
|
-
phpstorm: 'PhpStorm',
|
|
1018
|
-
sublime: 'Sublime',
|
|
1019
|
-
webstorm: 'WebStorm',
|
|
1020
|
-
vim: 'Vim',
|
|
1021
|
-
visualstudio: 'Visual Studio',
|
|
1022
|
-
};
|
|
1023
|
-
const EDITOR_PRIORITY = {
|
|
1024
|
-
code: 1,
|
|
1025
|
-
atom: 2,
|
|
1026
|
-
sublime: 3,
|
|
1027
|
-
visualstudio: 4,
|
|
1028
|
-
idea14ce: 5,
|
|
1029
|
-
webstorm: 6,
|
|
1030
|
-
phpstorm: 7,
|
|
1031
|
-
vim: 8,
|
|
1032
|
-
emacs: 9,
|
|
1033
|
-
};
|
|
1034
|
-
|
|
1035
|
-
async function serveFile(devServerConfig, serverCtx, req, res) {
|
|
1036
|
-
try {
|
|
1037
|
-
if (isSimpleText(req.filePath)) {
|
|
1038
|
-
// easy text file, use the internal cache
|
|
1039
|
-
let content = await serverCtx.sys.readFile(req.filePath, 'utf8');
|
|
1040
|
-
if (devServerConfig.websocket && isHtmlFile(req.filePath) && !isDevServerClient(req.pathname)) {
|
|
1041
|
-
// auto inject our dev server script
|
|
1042
|
-
content = appendDevServerClientScript(devServerConfig, req, content);
|
|
1043
|
-
}
|
|
1044
|
-
else if (isCssFile(req.filePath)) {
|
|
1045
|
-
content = updateStyleUrls(req.url, content);
|
|
1046
|
-
}
|
|
1047
|
-
if (shouldCompress(devServerConfig, req)) {
|
|
1048
|
-
// let's gzip this well known web dev text file
|
|
1049
|
-
res.writeHead(200, responseHeaders({
|
|
1050
|
-
'content-type': getContentType(req.filePath) + '; charset=utf-8',
|
|
1051
|
-
'content-encoding': 'gzip',
|
|
1052
|
-
vary: 'Accept-Encoding',
|
|
1053
|
-
}));
|
|
1054
|
-
zlib__namespace.gzip(content, { level: 9 }, (_, data) => {
|
|
1055
|
-
res.end(data);
|
|
1056
|
-
});
|
|
1057
|
-
}
|
|
1058
|
-
else {
|
|
1059
|
-
// let's not gzip this file
|
|
1060
|
-
res.writeHead(200, responseHeaders({
|
|
1061
|
-
'content-type': getContentType(req.filePath) + '; charset=utf-8',
|
|
1062
|
-
'content-length': buffer.Buffer.byteLength(content, 'utf8'),
|
|
1063
|
-
}));
|
|
1064
|
-
res.write(content);
|
|
1065
|
-
res.end();
|
|
1066
|
-
}
|
|
1067
|
-
}
|
|
1068
|
-
else {
|
|
1069
|
-
// non-well-known text file or other file, probably best we use a stream
|
|
1070
|
-
// but don't bother trying to gzip this file for the dev server
|
|
1071
|
-
res.writeHead(200, responseHeaders({
|
|
1072
|
-
'content-type': getContentType(req.filePath),
|
|
1073
|
-
'content-length': req.stats.size,
|
|
1074
|
-
}));
|
|
1075
|
-
fs__default$1['default'].createReadStream(req.filePath).pipe(res);
|
|
1076
|
-
}
|
|
1077
|
-
serverCtx.logRequest(req, 200);
|
|
1078
|
-
}
|
|
1079
|
-
catch (e) {
|
|
1080
|
-
serverCtx.serve500(req, res, e, 'serveFile');
|
|
1081
|
-
}
|
|
1082
|
-
}
|
|
1083
|
-
function updateStyleUrls(url, oldCss) {
|
|
1084
|
-
const versionId = url.searchParams.get('s-hmr');
|
|
1085
|
-
const hmrUrls = url.searchParams.get('s-hmr-urls');
|
|
1086
|
-
if (versionId && hmrUrls) {
|
|
1087
|
-
hmrUrls.split(',').forEach((hmrUrl) => {
|
|
1088
|
-
urlVersionIds.set(hmrUrl, versionId);
|
|
1089
|
-
});
|
|
1090
|
-
}
|
|
1091
|
-
const reg = /url\((['"]?)(.*)\1\)/gi;
|
|
1092
|
-
let result;
|
|
1093
|
-
let newCss = oldCss;
|
|
1094
|
-
while ((result = reg.exec(oldCss)) !== null) {
|
|
1095
|
-
const oldUrl = result[2];
|
|
1096
|
-
const parsedUrl = new URL(oldUrl, url);
|
|
1097
|
-
const fileName = path__default['default'].basename(parsedUrl.pathname);
|
|
1098
|
-
const versionId = urlVersionIds.get(fileName);
|
|
1099
|
-
if (!versionId) {
|
|
1100
|
-
continue;
|
|
1101
|
-
}
|
|
1102
|
-
parsedUrl.searchParams.set('s-hmr', versionId);
|
|
1103
|
-
newCss = newCss.replace(oldUrl, parsedUrl.pathname);
|
|
1104
|
-
}
|
|
1105
|
-
return newCss;
|
|
1106
|
-
}
|
|
1107
|
-
const urlVersionIds = new Map();
|
|
1108
|
-
function appendDevServerClientScript(devServerConfig, req, content) {
|
|
1109
|
-
var _a, _b, _c;
|
|
1110
|
-
const devServerClientUrl = getDevServerClientUrl(devServerConfig, (_b = (_a = req.headers) === null || _a === void 0 ? void 0 : _a['x-forwarded-host']) !== null && _b !== void 0 ? _b : req.host, (_c = req.headers) === null || _c === void 0 ? void 0 : _c['x-forwarded-proto']);
|
|
1111
|
-
const iframe = `<iframe title="Stencil Dev Server Connector ${version} ⚡" src="${devServerClientUrl}" style="display:block;width:0;height:0;border:0;visibility:hidden" aria-hidden="true"></iframe>`;
|
|
1112
|
-
return appendDevServerClientIframe(content, iframe);
|
|
1113
|
-
}
|
|
1114
|
-
function appendDevServerClientIframe(content, iframe) {
|
|
1115
|
-
if (content.includes('</body>')) {
|
|
1116
|
-
return content.replace('</body>', `${iframe}</body>`);
|
|
1117
|
-
}
|
|
1118
|
-
if (content.includes('</html>')) {
|
|
1119
|
-
return content.replace('</html>', `${iframe}</html>`);
|
|
1120
|
-
}
|
|
1121
|
-
return `${content}${iframe}`;
|
|
1122
|
-
}
|
|
1123
|
-
|
|
1124
|
-
async function serveDevClient(devServerConfig, serverCtx, req, res) {
|
|
1125
|
-
try {
|
|
1126
|
-
if (isOpenInEditor(req.pathname)) {
|
|
1127
|
-
return serveOpenInEditor(serverCtx, req, res);
|
|
1128
|
-
}
|
|
1129
|
-
if (isDevServerClient(req.pathname)) {
|
|
1130
|
-
return serveDevClientScript(devServerConfig, serverCtx, req, res);
|
|
1131
|
-
}
|
|
1132
|
-
if (isInitialDevServerLoad(req.pathname)) {
|
|
1133
|
-
req.filePath = path__default['default'].join(devServerConfig.devServerDir, 'templates', 'initial-load.html');
|
|
1134
|
-
}
|
|
1135
|
-
else {
|
|
1136
|
-
const staticFile = req.pathname.replace(DEV_SERVER_URL + '/', '');
|
|
1137
|
-
req.filePath = path__default['default'].join(devServerConfig.devServerDir, 'static', staticFile);
|
|
1138
|
-
}
|
|
1139
|
-
try {
|
|
1140
|
-
req.stats = await serverCtx.sys.stat(req.filePath);
|
|
1141
|
-
if (req.stats.isFile) {
|
|
1142
|
-
return serveFile(devServerConfig, serverCtx, req, res);
|
|
1143
|
-
}
|
|
1144
|
-
return serverCtx.serve404(req, res, 'serveDevClient not file');
|
|
1145
|
-
}
|
|
1146
|
-
catch (e) {
|
|
1147
|
-
return serverCtx.serve404(req, res, `serveDevClient stats error ${e}`);
|
|
1148
|
-
}
|
|
1149
|
-
}
|
|
1150
|
-
catch (e) {
|
|
1151
|
-
return serverCtx.serve500(req, res, e, 'serveDevClient');
|
|
1152
|
-
}
|
|
1153
|
-
}
|
|
1154
|
-
async function serveDevClientScript(devServerConfig, serverCtx, req, res) {
|
|
1155
|
-
try {
|
|
1156
|
-
if (serverCtx.connectorHtml == null) {
|
|
1157
|
-
const filePath = path__default['default'].join(devServerConfig.devServerDir, 'connector.html');
|
|
1158
|
-
serverCtx.connectorHtml = serverCtx.sys.readFileSync(filePath, 'utf8');
|
|
1159
|
-
if (typeof serverCtx.connectorHtml !== 'string') {
|
|
1160
|
-
return serverCtx.serve404(req, res, `serveDevClientScript`);
|
|
1161
|
-
}
|
|
1162
|
-
const devClientConfig = {
|
|
1163
|
-
basePath: devServerConfig.basePath,
|
|
1164
|
-
editors: await getEditors(),
|
|
1165
|
-
reloadStrategy: devServerConfig.reloadStrategy,
|
|
1166
|
-
};
|
|
1167
|
-
serverCtx.connectorHtml = serverCtx.connectorHtml.replace('window.__DEV_CLIENT_CONFIG__', JSON.stringify(devClientConfig));
|
|
1168
|
-
}
|
|
1169
|
-
res.writeHead(200, responseHeaders({
|
|
1170
|
-
'content-type': 'text/html; charset=utf-8',
|
|
1171
|
-
}));
|
|
1172
|
-
res.write(serverCtx.connectorHtml);
|
|
1173
|
-
res.end();
|
|
1174
|
-
}
|
|
1175
|
-
catch (e) {
|
|
1176
|
-
return serverCtx.serve500(req, res, e, `serveDevClientScript`);
|
|
1177
|
-
}
|
|
1178
|
-
}
|
|
1179
|
-
|
|
1180
|
-
async function serveDevNodeModule(serverCtx, req, res) {
|
|
1181
|
-
try {
|
|
1182
|
-
const results = await serverCtx.getCompilerRequest(req.pathname);
|
|
1183
|
-
const headers = {
|
|
1184
|
-
'content-type': 'application/javascript; charset=utf-8',
|
|
1185
|
-
'content-length': Buffer.byteLength(results.content, 'utf8'),
|
|
1186
|
-
'x-dev-node-module-id': results.nodeModuleId,
|
|
1187
|
-
'x-dev-node-module-version': results.nodeModuleVersion,
|
|
1188
|
-
'x-dev-node-module-resolved-path': results.nodeResolvedPath,
|
|
1189
|
-
'x-dev-node-module-cache-path': results.cachePath,
|
|
1190
|
-
'x-dev-node-module-cache-hit': results.cacheHit,
|
|
1191
|
-
};
|
|
1192
|
-
res.writeHead(results.status, responseHeaders(headers));
|
|
1193
|
-
res.write(results.content);
|
|
1194
|
-
res.end();
|
|
1195
|
-
}
|
|
1196
|
-
catch (e) {
|
|
1197
|
-
serverCtx.serve500(req, res, e, `serveDevNodeModule`);
|
|
1198
|
-
}
|
|
1199
|
-
}
|
|
1200
|
-
|
|
1201
|
-
async function serveDirectoryIndex(devServerConfig, serverCtx, req, res) {
|
|
1202
|
-
const indexFilePath = path__default['default'].join(req.filePath, 'index.html');
|
|
1203
|
-
req.stats = await serverCtx.sys.stat(indexFilePath);
|
|
1204
|
-
if (req.stats.isFile) {
|
|
1205
|
-
req.filePath = indexFilePath;
|
|
1206
|
-
return serveFile(devServerConfig, serverCtx, req, res);
|
|
1207
|
-
}
|
|
1208
|
-
if (!req.pathname.endsWith('/')) {
|
|
1209
|
-
return serverCtx.serve302(req, res, req.pathname + '/');
|
|
1210
|
-
}
|
|
1211
|
-
try {
|
|
1212
|
-
const dirFilePaths = await serverCtx.sys.readDir(req.filePath);
|
|
1213
|
-
try {
|
|
1214
|
-
if (serverCtx.dirTemplate == null) {
|
|
1215
|
-
const dirTemplatePath = path__default['default'].join(devServerConfig.devServerDir, 'templates', 'directory-index.html');
|
|
1216
|
-
serverCtx.dirTemplate = serverCtx.sys.readFileSync(dirTemplatePath);
|
|
1217
|
-
}
|
|
1218
|
-
const files = await getFiles(serverCtx.sys, req.url, dirFilePaths);
|
|
1219
|
-
const templateHtml = serverCtx.dirTemplate
|
|
1220
|
-
.replace('{{title}}', getTitle(req.pathname))
|
|
1221
|
-
.replace('{{nav}}', getName(req.pathname))
|
|
1222
|
-
.replace('{{files}}', files);
|
|
1223
|
-
serverCtx.logRequest(req, 200);
|
|
1224
|
-
res.writeHead(200, responseHeaders({
|
|
1225
|
-
'content-type': 'text/html; charset=utf-8',
|
|
1226
|
-
'x-directory-index': req.pathname,
|
|
1227
|
-
}));
|
|
1228
|
-
res.write(templateHtml);
|
|
1229
|
-
res.end();
|
|
1230
|
-
}
|
|
1231
|
-
catch (e) {
|
|
1232
|
-
return serverCtx.serve500(req, res, e, 'serveDirectoryIndex');
|
|
1233
|
-
}
|
|
1234
|
-
}
|
|
1235
|
-
catch (e) {
|
|
1236
|
-
return serverCtx.serve404(req, res, 'serveDirectoryIndex');
|
|
1237
|
-
}
|
|
1238
|
-
}
|
|
1239
|
-
async function getFiles(sys, baseUrl, dirItemNames) {
|
|
1240
|
-
const items = await getDirectoryItems(sys, baseUrl, dirItemNames);
|
|
1241
|
-
if (baseUrl.pathname !== '/') {
|
|
1242
|
-
items.unshift({
|
|
1243
|
-
isDirectory: true,
|
|
1244
|
-
pathname: '../',
|
|
1245
|
-
name: '..',
|
|
1246
|
-
});
|
|
1247
|
-
}
|
|
1248
|
-
return items
|
|
1249
|
-
.map((item) => {
|
|
1250
|
-
return `
|
|
1251
|
-
<li class="${item.isDirectory ? 'directory' : 'file'}">
|
|
1252
|
-
<a href="${item.pathname}">
|
|
1253
|
-
<span class="icon"></span>
|
|
1254
|
-
<span>${item.name}</span>
|
|
1255
|
-
</a>
|
|
1256
|
-
</li>`;
|
|
1257
|
-
})
|
|
1258
|
-
.join('');
|
|
1259
|
-
}
|
|
1260
|
-
async function getDirectoryItems(sys, baseUrl, dirFilePaths) {
|
|
1261
|
-
const items = await Promise.all(dirFilePaths.map(async (dirFilePath) => {
|
|
1262
|
-
const fileName = path__default['default'].basename(dirFilePath);
|
|
1263
|
-
const url = new URL(fileName, baseUrl);
|
|
1264
|
-
const stats = await sys.stat(dirFilePath);
|
|
1265
|
-
const item = {
|
|
1266
|
-
name: fileName,
|
|
1267
|
-
pathname: url.pathname,
|
|
1268
|
-
isDirectory: stats.isDirectory,
|
|
1269
|
-
};
|
|
1270
|
-
return item;
|
|
1271
|
-
}));
|
|
1272
|
-
return items;
|
|
1273
|
-
}
|
|
1274
|
-
function getTitle(pathName) {
|
|
1275
|
-
return pathName;
|
|
1276
|
-
}
|
|
1277
|
-
function getName(pathName) {
|
|
1278
|
-
const dirs = pathName.split('/');
|
|
1279
|
-
dirs.pop();
|
|
1280
|
-
let url = '';
|
|
1281
|
-
return (dirs
|
|
1282
|
-
.map((dir, index) => {
|
|
1283
|
-
url += dir + '/';
|
|
1284
|
-
const text = index === 0 ? `~` : dir;
|
|
1285
|
-
return `<a href="${url}">${text}</a>`;
|
|
1286
|
-
})
|
|
1287
|
-
.join('<span>/</span>') + '<span>/</span>');
|
|
1288
|
-
}
|
|
1289
|
-
|
|
1290
|
-
async function ssrPageRequest(devServerConfig, serverCtx, req, res) {
|
|
1291
|
-
try {
|
|
1292
|
-
let status = 500;
|
|
1293
|
-
let content = '';
|
|
1294
|
-
const { hydrateApp, srcIndexHtml, diagnostics } = await setupHydrateApp(devServerConfig, serverCtx);
|
|
1295
|
-
if (!diagnostics.some((diagnostic) => diagnostic.level === 'error')) {
|
|
1296
|
-
try {
|
|
1297
|
-
const opts = getSsrHydrateOptions(devServerConfig, serverCtx, req.url);
|
|
1298
|
-
const ssrResults = await hydrateApp.renderToString(srcIndexHtml, opts);
|
|
1299
|
-
diagnostics.push(...ssrResults.diagnostics);
|
|
1300
|
-
status = ssrResults.httpStatus;
|
|
1301
|
-
content = ssrResults.html;
|
|
1302
|
-
}
|
|
1303
|
-
catch (e) {
|
|
1304
|
-
catchError(diagnostics, e);
|
|
1305
|
-
}
|
|
1306
|
-
}
|
|
1307
|
-
if (diagnostics.some((diagnostic) => diagnostic.level === 'error')) {
|
|
1308
|
-
content = getSsrErrorContent(diagnostics);
|
|
1309
|
-
status = 500;
|
|
1310
|
-
}
|
|
1311
|
-
if (devServerConfig.websocket) {
|
|
1312
|
-
content = appendDevServerClientScript(devServerConfig, req, content);
|
|
1313
|
-
}
|
|
1314
|
-
serverCtx.logRequest(req, status);
|
|
1315
|
-
res.writeHead(status, responseHeaders({
|
|
1316
|
-
'content-type': 'text/html; charset=utf-8',
|
|
1317
|
-
'content-length': Buffer.byteLength(content, 'utf8'),
|
|
1318
|
-
}));
|
|
1319
|
-
res.write(content);
|
|
1320
|
-
res.end();
|
|
1321
|
-
}
|
|
1322
|
-
catch (e) {
|
|
1323
|
-
serverCtx.serve500(req, res, e, `ssrPageRequest`);
|
|
1324
|
-
}
|
|
1325
|
-
}
|
|
1326
|
-
async function ssrStaticDataRequest(devServerConfig, serverCtx, req, res) {
|
|
1327
|
-
try {
|
|
1328
|
-
const data = {};
|
|
1329
|
-
let httpCache = false;
|
|
1330
|
-
const { hydrateApp, srcIndexHtml, diagnostics } = await setupHydrateApp(devServerConfig, serverCtx);
|
|
1331
|
-
if (!diagnostics.some((diagnostic) => diagnostic.level === 'error')) {
|
|
1332
|
-
try {
|
|
1333
|
-
const { ssrPath, hasQueryString } = getSsrStaticDataPath(req);
|
|
1334
|
-
const url = new URL(ssrPath, req.url);
|
|
1335
|
-
const opts = getSsrHydrateOptions(devServerConfig, serverCtx, url);
|
|
1336
|
-
const ssrResults = await hydrateApp.renderToString(srcIndexHtml, opts);
|
|
1337
|
-
diagnostics.push(...ssrResults.diagnostics);
|
|
1338
|
-
ssrResults.staticData.forEach((s) => {
|
|
1339
|
-
if (s.type === 'application/json') {
|
|
1340
|
-
data[s.id] = JSON.parse(s.content);
|
|
1341
|
-
}
|
|
1342
|
-
else {
|
|
1343
|
-
data[s.id] = s.content;
|
|
1344
|
-
}
|
|
1345
|
-
});
|
|
1346
|
-
data.components = ssrResults.components.map((c) => c.tag).sort();
|
|
1347
|
-
httpCache = hasQueryString;
|
|
1348
|
-
}
|
|
1349
|
-
catch (e) {
|
|
1350
|
-
catchError(diagnostics, e);
|
|
1351
|
-
}
|
|
1352
|
-
}
|
|
1353
|
-
if (diagnostics.length > 0) {
|
|
1354
|
-
data.diagnostics = diagnostics;
|
|
1355
|
-
}
|
|
1356
|
-
const status = diagnostics.some((diagnostic) => diagnostic.level === 'error') ? 500 : 200;
|
|
1357
|
-
const content = JSON.stringify(data);
|
|
1358
|
-
serverCtx.logRequest(req, status);
|
|
1359
|
-
res.writeHead(status, responseHeaders({
|
|
1360
|
-
'content-type': 'application/json; charset=utf-8',
|
|
1361
|
-
'content-length': Buffer.byteLength(content, 'utf8'),
|
|
1362
|
-
}, httpCache && status === 200));
|
|
1363
|
-
res.write(content);
|
|
1364
|
-
res.end();
|
|
1365
|
-
}
|
|
1366
|
-
catch (e) {
|
|
1367
|
-
serverCtx.serve500(req, res, e, `ssrStaticDataRequest`);
|
|
1368
|
-
}
|
|
1369
|
-
}
|
|
1370
|
-
async function setupHydrateApp(devServerConfig, serverCtx) {
|
|
1371
|
-
let srcIndexHtml = null;
|
|
1372
|
-
let hydrateApp = null;
|
|
1373
|
-
const buildResults = await serverCtx.getBuildResults();
|
|
1374
|
-
const diagnostics = [];
|
|
1375
|
-
if (serverCtx.prerenderConfig == null && isString(devServerConfig.prerenderConfig)) {
|
|
1376
|
-
const compilerPath = path__default['default'].join(devServerConfig.devServerDir, '..', 'compiler', 'stencil.js');
|
|
1377
|
-
const compiler = require(compilerPath);
|
|
1378
|
-
const prerenderConfigResults = compiler.nodeRequire(devServerConfig.prerenderConfig);
|
|
1379
|
-
diagnostics.push(...prerenderConfigResults.diagnostics);
|
|
1380
|
-
if (prerenderConfigResults.module && prerenderConfigResults.module.config) {
|
|
1381
|
-
serverCtx.prerenderConfig = prerenderConfigResults.module.config;
|
|
1382
|
-
}
|
|
1383
|
-
}
|
|
1384
|
-
if (!isString(buildResults.hydrateAppFilePath)) {
|
|
1385
|
-
diagnostics.push({ messageText: `Missing hydrateAppFilePath`, level: `error`, type: `ssr` });
|
|
1386
|
-
}
|
|
1387
|
-
else if (!isString(devServerConfig.srcIndexHtml)) {
|
|
1388
|
-
diagnostics.push({ messageText: `Missing srcIndexHtml`, level: `error`, type: `ssr` });
|
|
1389
|
-
}
|
|
1390
|
-
else {
|
|
1391
|
-
srcIndexHtml = await serverCtx.sys.readFile(devServerConfig.srcIndexHtml);
|
|
1392
|
-
if (!isString(srcIndexHtml)) {
|
|
1393
|
-
diagnostics.push({
|
|
1394
|
-
messageText: `Unable to load src index html: ${devServerConfig.srcIndexHtml}`,
|
|
1395
|
-
level: `error`,
|
|
1396
|
-
type: `ssr`,
|
|
1397
|
-
});
|
|
1398
|
-
}
|
|
1399
|
-
else {
|
|
1400
|
-
// ensure we cleared out node's internal require() cache for this file
|
|
1401
|
-
const hydrateAppFilePath = path__default['default'].resolve(buildResults.hydrateAppFilePath);
|
|
1402
|
-
// brute force way of clearning node's module cache
|
|
1403
|
-
// not using `delete require.cache[id]` since it'll cause memory leaks
|
|
1404
|
-
require.cache = {};
|
|
1405
|
-
const Module = require('module');
|
|
1406
|
-
Module._cache[hydrateAppFilePath] = undefined;
|
|
1407
|
-
hydrateApp = require(hydrateAppFilePath);
|
|
1408
|
-
}
|
|
1409
|
-
}
|
|
1410
|
-
return {
|
|
1411
|
-
hydrateApp,
|
|
1412
|
-
srcIndexHtml,
|
|
1413
|
-
diagnostics,
|
|
1414
|
-
};
|
|
1415
|
-
}
|
|
1416
|
-
function getSsrHydrateOptions(devServerConfig, serverCtx, url) {
|
|
1417
|
-
const opts = {
|
|
1418
|
-
url: url.href,
|
|
1419
|
-
addModulePreloads: false,
|
|
1420
|
-
approximateLineWidth: 120,
|
|
1421
|
-
inlineExternalStyleSheets: false,
|
|
1422
|
-
minifyScriptElements: false,
|
|
1423
|
-
minifyStyleElements: false,
|
|
1424
|
-
removeAttributeQuotes: false,
|
|
1425
|
-
removeBooleanAttributeQuotes: false,
|
|
1426
|
-
removeEmptyAttributes: false,
|
|
1427
|
-
removeHtmlComments: false,
|
|
1428
|
-
prettyHtml: true,
|
|
1429
|
-
};
|
|
1430
|
-
const prerenderConfig = serverCtx === null || serverCtx === void 0 ? void 0 : serverCtx.prerenderConfig;
|
|
1431
|
-
if (isFunction(prerenderConfig === null || prerenderConfig === void 0 ? void 0 : prerenderConfig.hydrateOptions)) {
|
|
1432
|
-
const userOpts = prerenderConfig.hydrateOptions(url);
|
|
1433
|
-
if (userOpts) {
|
|
1434
|
-
Object.assign(opts, userOpts);
|
|
1435
|
-
}
|
|
1436
|
-
}
|
|
1437
|
-
if (isFunction(serverCtx.sys.applyPrerenderGlobalPatch)) {
|
|
1438
|
-
const orgBeforeHydrate = opts.beforeHydrate;
|
|
1439
|
-
opts.beforeHydrate = (document) => {
|
|
1440
|
-
// patch this new window with the fetch global from node-fetch
|
|
1441
|
-
const devServerBaseUrl = new URL(devServerConfig.browserUrl);
|
|
1442
|
-
const devServerHostUrl = devServerBaseUrl.origin;
|
|
1443
|
-
serverCtx.sys.applyPrerenderGlobalPatch({
|
|
1444
|
-
devServerHostUrl: devServerHostUrl,
|
|
1445
|
-
window: document.defaultView,
|
|
1446
|
-
});
|
|
1447
|
-
if (typeof orgBeforeHydrate === 'function') {
|
|
1448
|
-
return orgBeforeHydrate(document);
|
|
1449
|
-
}
|
|
1450
|
-
};
|
|
1451
|
-
}
|
|
1452
|
-
return opts;
|
|
1453
|
-
}
|
|
1454
|
-
function getSsrErrorContent(diagnostics) {
|
|
1455
|
-
return `<!doctype html>
|
|
1456
|
-
<html>
|
|
1457
|
-
<head>
|
|
1458
|
-
<title>SSR Error</title>
|
|
1459
|
-
<style>
|
|
1460
|
-
body {
|
|
1461
|
-
font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;
|
|
1462
|
-
}
|
|
1463
|
-
</style>
|
|
1464
|
-
</head>
|
|
1465
|
-
<body>
|
|
1466
|
-
<h1>SSR Dev Error</h1>
|
|
1467
|
-
${diagnostics.map((diagnostic) => `
|
|
1468
|
-
<p>
|
|
1469
|
-
${diagnostic.messageText}
|
|
1470
|
-
</p>
|
|
1471
|
-
`)}
|
|
1472
|
-
</body>
|
|
1473
|
-
</html>`;
|
|
1474
|
-
}
|
|
1475
|
-
|
|
1476
|
-
function createRequestHandler(devServerConfig, serverCtx) {
|
|
1477
|
-
let userRequestHandler = null;
|
|
1478
|
-
if (typeof devServerConfig.requestListenerPath === 'string') {
|
|
1479
|
-
userRequestHandler = require(devServerConfig.requestListenerPath);
|
|
1480
|
-
}
|
|
1481
|
-
return async function (incomingReq, res) {
|
|
1482
|
-
async function defaultHandler() {
|
|
1483
|
-
try {
|
|
1484
|
-
const req = normalizeHttpRequest(devServerConfig, incomingReq);
|
|
1485
|
-
if (!req.url) {
|
|
1486
|
-
return serverCtx.serve302(req, res);
|
|
1487
|
-
}
|
|
1488
|
-
if (isDevClient(req.pathname) && devServerConfig.websocket) {
|
|
1489
|
-
return serveDevClient(devServerConfig, serverCtx, req, res);
|
|
1490
|
-
}
|
|
1491
|
-
if (isDevModule(req.pathname)) {
|
|
1492
|
-
return serveDevNodeModule(serverCtx, req, res);
|
|
1493
|
-
}
|
|
1494
|
-
if (!isValidUrlBasePath(devServerConfig.basePath, req.url)) {
|
|
1495
|
-
return serverCtx.serve404(req, res, `invalid basePath`, `404 File Not Found, base path: ${devServerConfig.basePath}`);
|
|
1496
|
-
}
|
|
1497
|
-
if (devServerConfig.ssr) {
|
|
1498
|
-
if (isExtensionLessPath(req.url.pathname)) {
|
|
1499
|
-
return ssrPageRequest(devServerConfig, serverCtx, req, res);
|
|
1500
|
-
}
|
|
1501
|
-
if (isSsrStaticDataPath(req.url.pathname)) {
|
|
1502
|
-
return ssrStaticDataRequest(devServerConfig, serverCtx, req, res);
|
|
1503
|
-
}
|
|
1504
|
-
}
|
|
1505
|
-
req.stats = await serverCtx.sys.stat(req.filePath);
|
|
1506
|
-
if (req.stats.isFile) {
|
|
1507
|
-
return serveFile(devServerConfig, serverCtx, req, res);
|
|
1508
|
-
}
|
|
1509
|
-
if (req.stats.isDirectory) {
|
|
1510
|
-
return serveDirectoryIndex(devServerConfig, serverCtx, req, res);
|
|
1511
|
-
}
|
|
1512
|
-
const xSource = ['notfound'];
|
|
1513
|
-
const validHistoryApi = isValidHistoryApi(devServerConfig, req);
|
|
1514
|
-
xSource.push(`validHistoryApi: ${validHistoryApi}`);
|
|
1515
|
-
if (validHistoryApi) {
|
|
1516
|
-
try {
|
|
1517
|
-
const indexFilePath = path__default['default'].join(devServerConfig.root, devServerConfig.historyApiFallback.index);
|
|
1518
|
-
xSource.push(`indexFilePath: ${indexFilePath}`);
|
|
1519
|
-
req.stats = await serverCtx.sys.stat(indexFilePath);
|
|
1520
|
-
if (req.stats.isFile) {
|
|
1521
|
-
req.filePath = indexFilePath;
|
|
1522
|
-
return serveFile(devServerConfig, serverCtx, req, res);
|
|
1523
|
-
}
|
|
1524
|
-
}
|
|
1525
|
-
catch (e) {
|
|
1526
|
-
xSource.push(`notfound error: ${e}`);
|
|
1527
|
-
}
|
|
1528
|
-
}
|
|
1529
|
-
return serverCtx.serve404(req, res, xSource.join(', '));
|
|
1530
|
-
}
|
|
1531
|
-
catch (e) {
|
|
1532
|
-
return serverCtx.serve500(incomingReq, res, e, `not found error`);
|
|
1533
|
-
}
|
|
1534
|
-
}
|
|
1535
|
-
if (typeof userRequestHandler === 'function') {
|
|
1536
|
-
await userRequestHandler(incomingReq, res, defaultHandler);
|
|
1537
|
-
}
|
|
1538
|
-
else {
|
|
1539
|
-
await defaultHandler();
|
|
1540
|
-
}
|
|
1541
|
-
};
|
|
1542
|
-
}
|
|
1543
|
-
function isValidUrlBasePath(basePath, url) {
|
|
1544
|
-
// normalize the paths to always end with a slash for the check
|
|
1545
|
-
let pathname = url.pathname;
|
|
1546
|
-
if (!pathname.endsWith('/')) {
|
|
1547
|
-
pathname += '/';
|
|
1548
|
-
}
|
|
1549
|
-
if (!basePath.endsWith('/')) {
|
|
1550
|
-
basePath += '/';
|
|
1551
|
-
}
|
|
1552
|
-
return pathname.startsWith(basePath);
|
|
1553
|
-
}
|
|
1554
|
-
function normalizeHttpRequest(devServerConfig, incomingReq) {
|
|
1555
|
-
const req = {
|
|
1556
|
-
method: (incomingReq.method || 'GET').toUpperCase(),
|
|
1557
|
-
headers: incomingReq.headers,
|
|
1558
|
-
acceptHeader: (incomingReq.headers && typeof incomingReq.headers.accept === 'string' && incomingReq.headers.accept) || '',
|
|
1559
|
-
host: (incomingReq.headers && typeof incomingReq.headers.host === 'string' && incomingReq.headers.host) || null,
|
|
1560
|
-
url: null,
|
|
1561
|
-
searchParams: null,
|
|
1562
|
-
};
|
|
1563
|
-
const incomingUrl = (incomingReq.url || '').trim() || null;
|
|
1564
|
-
if (incomingUrl) {
|
|
1565
|
-
if (req.host) {
|
|
1566
|
-
req.url = new URL(incomingReq.url, `http://${req.host}`);
|
|
1567
|
-
}
|
|
1568
|
-
else {
|
|
1569
|
-
req.url = new URL(incomingReq.url, `http://dev.stenciljs.com`);
|
|
1570
|
-
}
|
|
1571
|
-
req.searchParams = req.url.searchParams;
|
|
1572
|
-
}
|
|
1573
|
-
if (req.url) {
|
|
1574
|
-
const parts = req.url.pathname.replace(/\\/g, '/').split('/');
|
|
1575
|
-
req.pathname = parts.map((part) => decodeURIComponent(part)).join('/');
|
|
1576
|
-
if (req.pathname.length > 0 && !isDevClient(req.pathname)) {
|
|
1577
|
-
req.pathname = '/' + req.pathname.substring(devServerConfig.basePath.length);
|
|
1578
|
-
}
|
|
1579
|
-
req.filePath = normalizePath(path__default['default'].normalize(path__default['default'].join(devServerConfig.root, path__default['default'].relative('/', req.pathname))));
|
|
1580
|
-
}
|
|
1581
|
-
return req;
|
|
1582
|
-
}
|
|
1583
|
-
function isValidHistoryApi(devServerConfig, req) {
|
|
1584
|
-
if (!devServerConfig.historyApiFallback) {
|
|
1585
|
-
return false;
|
|
1586
|
-
}
|
|
1587
|
-
if (req.method !== 'GET') {
|
|
1588
|
-
return false;
|
|
1589
|
-
}
|
|
1590
|
-
if (!req.acceptHeader.includes('text/html')) {
|
|
1591
|
-
return false;
|
|
1592
|
-
}
|
|
1593
|
-
if (!devServerConfig.historyApiFallback.disableDotRule && req.pathname.includes('.')) {
|
|
1594
|
-
return false;
|
|
1595
|
-
}
|
|
1596
|
-
return true;
|
|
1597
|
-
}
|
|
1598
|
-
|
|
1599
|
-
function createHttpServer(devServerConfig, serverCtx) {
|
|
1600
|
-
// create our request handler
|
|
1601
|
-
const reqHandler = createRequestHandler(devServerConfig, serverCtx);
|
|
1602
|
-
const credentials = devServerConfig.https;
|
|
1603
|
-
return credentials ? https__namespace.createServer(credentials, reqHandler) : http__namespace.createServer(reqHandler);
|
|
1604
|
-
}
|
|
1605
|
-
async function findClosestOpenPort(host, port) {
|
|
1606
|
-
async function t(portToCheck) {
|
|
1607
|
-
const isTaken = await isPortTaken(host, portToCheck);
|
|
1608
|
-
if (!isTaken) {
|
|
1609
|
-
return portToCheck;
|
|
1610
|
-
}
|
|
1611
|
-
return t(portToCheck + 1);
|
|
1612
|
-
}
|
|
1613
|
-
return t(port);
|
|
1614
|
-
}
|
|
1615
|
-
function isPortTaken(host, port) {
|
|
1616
|
-
return new Promise((resolve, reject) => {
|
|
1617
|
-
const tester = net__namespace
|
|
1618
|
-
.createServer()
|
|
1619
|
-
.once('error', () => {
|
|
1620
|
-
resolve(true);
|
|
1621
|
-
})
|
|
1622
|
-
.once('listening', () => {
|
|
1623
|
-
tester
|
|
1624
|
-
.once('close', () => {
|
|
1625
|
-
resolve(false);
|
|
1626
|
-
})
|
|
1627
|
-
.close();
|
|
1628
|
-
})
|
|
1629
|
-
.on('error', (err) => {
|
|
1630
|
-
reject(err);
|
|
1631
|
-
})
|
|
1632
|
-
.listen(port, host);
|
|
1633
|
-
});
|
|
1634
|
-
}
|
|
1635
|
-
|
|
1636
|
-
function createWebSocket(httpServer, onMessageFromClient) {
|
|
1637
|
-
const wsConfig = {
|
|
1638
|
-
server: httpServer,
|
|
1639
|
-
};
|
|
1640
|
-
const wsServer = new ws__namespace.Server(wsConfig);
|
|
1641
|
-
function heartbeat() {
|
|
1642
|
-
// we need to coerce the `ws` type to our custom `DevWS` type here, since
|
|
1643
|
-
// this function is going to be passed in to `ws.on('pong'` which expects
|
|
1644
|
-
// to be passed a functon where `this` is bound to `ws`.
|
|
1645
|
-
this.isAlive = true;
|
|
1646
|
-
}
|
|
1647
|
-
wsServer.on('connection', (ws) => {
|
|
1648
|
-
ws.on('message', (data) => {
|
|
1649
|
-
// the server process has received a message from the browser
|
|
1650
|
-
// pass the message received from the browser to the main cli process
|
|
1651
|
-
try {
|
|
1652
|
-
onMessageFromClient(JSON.parse(data.toString()));
|
|
1653
|
-
}
|
|
1654
|
-
catch (e) {
|
|
1655
|
-
console.error(e);
|
|
1656
|
-
}
|
|
1657
|
-
});
|
|
1658
|
-
ws.isAlive = true;
|
|
1659
|
-
ws.on('pong', heartbeat);
|
|
1660
|
-
// ignore invalid close frames sent by Safari 15
|
|
1661
|
-
ws.on('error', console.error);
|
|
1662
|
-
});
|
|
1663
|
-
const pingInternval = setInterval(() => {
|
|
1664
|
-
wsServer.clients.forEach((ws) => {
|
|
1665
|
-
if (!ws.isAlive) {
|
|
1666
|
-
return ws.close(1000);
|
|
1667
|
-
}
|
|
1668
|
-
ws.isAlive = false;
|
|
1669
|
-
ws.ping(noop);
|
|
1670
|
-
});
|
|
1671
|
-
}, 10000);
|
|
1672
|
-
return {
|
|
1673
|
-
sendToBrowser: (msg) => {
|
|
1674
|
-
if (msg && wsServer && wsServer.clients) {
|
|
1675
|
-
const data = JSON.stringify(msg);
|
|
1676
|
-
wsServer.clients.forEach((ws) => {
|
|
1677
|
-
if (ws.readyState === ws.OPEN) {
|
|
1678
|
-
ws.send(data);
|
|
1679
|
-
}
|
|
1680
|
-
});
|
|
1681
|
-
}
|
|
1682
|
-
},
|
|
1683
|
-
close: () => {
|
|
1684
|
-
return new Promise((resolve, reject) => {
|
|
1685
|
-
clearInterval(pingInternval);
|
|
1686
|
-
wsServer.clients.forEach((ws) => {
|
|
1687
|
-
ws.close(1000);
|
|
1688
|
-
});
|
|
1689
|
-
wsServer.close((err) => {
|
|
1690
|
-
if (err) {
|
|
1691
|
-
reject(err);
|
|
1692
|
-
}
|
|
1693
|
-
else {
|
|
1694
|
-
resolve();
|
|
1695
|
-
}
|
|
1696
|
-
});
|
|
1697
|
-
});
|
|
1698
|
-
},
|
|
1699
|
-
};
|
|
1700
|
-
}
|
|
1701
|
-
|
|
1702
|
-
function initServerProcess(sendMsg) {
|
|
1703
|
-
let server = null;
|
|
1704
|
-
let webSocket = null;
|
|
1705
|
-
let serverCtx = null;
|
|
1706
|
-
const buildResultsResolves = [];
|
|
1707
|
-
const compilerRequestResolves = [];
|
|
1708
|
-
const startServer = async (msg) => {
|
|
1709
|
-
const devServerConfig = msg.startServer;
|
|
1710
|
-
devServerConfig.port = await findClosestOpenPort(devServerConfig.address, devServerConfig.port);
|
|
1711
|
-
devServerConfig.browserUrl = getBrowserUrl(devServerConfig.protocol, devServerConfig.address, devServerConfig.port, devServerConfig.basePath, '/');
|
|
1712
|
-
devServerConfig.root = normalizePath(devServerConfig.root);
|
|
1713
|
-
const sys = index_js.createNodeSys({ process });
|
|
1714
|
-
serverCtx = createServerContext(sys, sendMsg, devServerConfig, buildResultsResolves, compilerRequestResolves);
|
|
1715
|
-
server = createHttpServer(devServerConfig, serverCtx);
|
|
1716
|
-
webSocket = devServerConfig.websocket ? createWebSocket(server, sendMsg) : null;
|
|
1717
|
-
server.listen(devServerConfig.port, devServerConfig.address);
|
|
1718
|
-
serverCtx.isServerListening = true;
|
|
1719
|
-
if (devServerConfig.openBrowser) {
|
|
1720
|
-
const initialLoadUrl = getBrowserUrl(devServerConfig.protocol, devServerConfig.address, devServerConfig.port, devServerConfig.basePath, devServerConfig.initialLoadUrl || DEV_SERVER_INIT_URL);
|
|
1721
|
-
openInBrowser({ url: initialLoadUrl });
|
|
1722
|
-
}
|
|
1723
|
-
sendMsg({ serverStarted: devServerConfig });
|
|
1724
|
-
};
|
|
1725
|
-
const closeServer = () => {
|
|
1726
|
-
const promises = [];
|
|
1727
|
-
buildResultsResolves.forEach((r) => r.reject('dev server closed'));
|
|
1728
|
-
buildResultsResolves.length = 0;
|
|
1729
|
-
compilerRequestResolves.forEach((r) => r.reject('dev server closed'));
|
|
1730
|
-
compilerRequestResolves.length = 0;
|
|
1731
|
-
if (serverCtx) {
|
|
1732
|
-
if (serverCtx.sys) {
|
|
1733
|
-
promises.push(serverCtx.sys.destroy());
|
|
1734
|
-
}
|
|
1735
|
-
}
|
|
1736
|
-
if (webSocket) {
|
|
1737
|
-
promises.push(webSocket.close());
|
|
1738
|
-
webSocket = null;
|
|
1739
|
-
}
|
|
1740
|
-
if (server) {
|
|
1741
|
-
promises.push(new Promise((resolve) => {
|
|
1742
|
-
server.close((err) => {
|
|
1743
|
-
if (err) {
|
|
1744
|
-
console.error(`close error: ${err}`);
|
|
1745
|
-
}
|
|
1746
|
-
resolve();
|
|
1747
|
-
});
|
|
1748
|
-
}));
|
|
1749
|
-
}
|
|
1750
|
-
Promise.all(promises).finally(() => {
|
|
1751
|
-
sendMsg({
|
|
1752
|
-
serverClosed: true,
|
|
1753
|
-
});
|
|
1754
|
-
});
|
|
1755
|
-
};
|
|
1756
|
-
const receiveMessageFromMain = (msg) => {
|
|
1757
|
-
// the server process received a message from main thread
|
|
1758
|
-
try {
|
|
1759
|
-
if (msg) {
|
|
1760
|
-
if (msg.startServer) {
|
|
1761
|
-
startServer(msg);
|
|
1762
|
-
}
|
|
1763
|
-
else if (msg.closeServer) {
|
|
1764
|
-
closeServer();
|
|
1765
|
-
}
|
|
1766
|
-
else if (msg.compilerRequestResults) {
|
|
1767
|
-
for (let i = compilerRequestResolves.length - 1; i >= 0; i--) {
|
|
1768
|
-
const r = compilerRequestResolves[i];
|
|
1769
|
-
if (r.path === msg.compilerRequestResults.path) {
|
|
1770
|
-
r.resolve(msg.compilerRequestResults);
|
|
1771
|
-
compilerRequestResolves.splice(i, 1);
|
|
1772
|
-
}
|
|
1773
|
-
}
|
|
1774
|
-
}
|
|
1775
|
-
else if (serverCtx) {
|
|
1776
|
-
if (msg.buildResults && !msg.isActivelyBuilding) {
|
|
1777
|
-
buildResultsResolves.forEach((r) => r.resolve(msg.buildResults));
|
|
1778
|
-
buildResultsResolves.length = 0;
|
|
1779
|
-
}
|
|
1780
|
-
if (webSocket) {
|
|
1781
|
-
webSocket.sendToBrowser(msg);
|
|
1782
|
-
}
|
|
1783
|
-
}
|
|
1784
|
-
}
|
|
1785
|
-
}
|
|
1786
|
-
catch (e) {
|
|
1787
|
-
let stack = null;
|
|
1788
|
-
if (e instanceof Error) {
|
|
1789
|
-
stack = e.stack;
|
|
1790
|
-
}
|
|
1791
|
-
sendMsg({
|
|
1792
|
-
error: { message: e + '', stack },
|
|
1793
|
-
});
|
|
1794
|
-
}
|
|
1795
|
-
};
|
|
1796
|
-
return receiveMessageFromMain;
|
|
1797
|
-
}
|
|
1798
|
-
|
|
1799
|
-
exports.initServerProcess = initServerProcess;
|