@knight-lab/timelinejs 3.9.7 → 3.9.9
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/.claude/settings.local.json +16 -0
- package/.nvmrc +1 -1
- package/CHANGELOG.md +10 -0
- package/CONTRIBUTING.md +1 -1
- package/DOCUMENTATION.md +17 -0
- package/ICONS.md +167 -0
- package/dist/css/fonts/font.abril-droidsans.css +27 -22
- package/dist/css/fonts/font.amatic-andika.css +15 -5
- package/dist/css/fonts/font.bevan-pontanosans.css +41 -4
- package/dist/css/fonts/font.bitter-raleway.css +234 -6
- package/dist/css/fonts/font.clicker-garamond.css +69 -4
- package/dist/css/fonts/font.dancing-ledger.css +22 -5
- package/dist/css/fonts/font.default.css +11 -7
- package/dist/css/fonts/font.fjalla-average.css +6 -4
- package/dist/css/fonts/font.lustria-lato.css +22 -5
- package/dist/css/fonts/font.medula-lato.css +24 -6
- package/dist/css/fonts/font.oldstandard.css +12 -3
- package/dist/css/fonts/font.opensans-gentiumbook.css +113 -15
- package/dist/css/fonts/font.playfair-faunaone.css +80 -12
- package/dist/css/fonts/font.playfair.css +85 -5
- package/dist/css/fonts/font.pt.css +11 -7
- package/dist/css/fonts/font.roboto-megrim.css +57 -5
- package/dist/css/fonts/font.rufina-sintony.css +10 -6
- package/dist/css/fonts/font.ubuntu.css +14 -4
- package/dist/css/fonts/font.unicaone-vollkorn.css +80 -7
- package/dist/css/icons/tl-icons.eot +0 -0
- package/dist/css/icons/tl-icons.svg +125 -57
- package/dist/css/icons/tl-icons.ttf +0 -0
- package/dist/css/icons/tl-icons.woff +0 -0
- package/dist/css/icons/tl-icons.woff2 +0 -0
- package/dist/css/themes/timeline.theme.contrast.css +207 -5
- package/dist/css/themes/timeline.theme.dark.css +207 -5
- package/dist/css/timeline.css +207 -5
- package/dist/css/timeline.css.map +1 -1
- package/dist/embed/index.html +12 -6
- package/dist/js/locale/en.json +2 -0
- package/dist/js/locale/pt-br.json +12 -1
- package/dist/js/timeline.js +1 -1
- package/dist/js/timeline.js.map +1 -1
- package/package.json +13 -13
- package/playwright-report/data/02f8ca5aa8962505db2256cd4c70ed085bdb1d86.webm +0 -0
- package/playwright-report/data/57ccedba339118feb2fbc1b23afd19c009d341af.png +0 -0
- package/playwright-report/data/5c8cd916a03e0b4844fcd2e4e137eb75a4691dea.png +0 -0
- package/playwright-report/data/6de587d475f1f4b3ebc5a9e6931f5562ec72628d.png +0 -0
- package/playwright-report/data/943a9669870f3d4dd37061e6e758f0d9e7299a6b.png +0 -0
- package/playwright-report/data/c017af608a4311d5a243a7b5b04f9c6ea2f1ccde.md +102 -0
- package/playwright-report/index.html +81 -0
- package/src/css/icons/selection.json +1 -0
- package/src/css/icons/tl-icons.eot +0 -0
- package/src/css/icons/tl-icons.svg +125 -57
- package/src/css/icons/tl-icons.ttf +0 -0
- package/src/css/icons/tl-icons.woff +0 -0
- package/src/css/icons/tl-icons.woff2 +0 -0
- package/src/embed/index.html +12 -6
- package/src/js/core/ConfigFactory.js +4 -0
- package/src/js/core/TimelineConfig.js +2 -2
- package/src/js/language/Language.js +2 -0
- package/src/js/language/locale/en.json +2 -0
- package/src/js/language/locale/pt-br.json +12 -1
- package/src/js/media/MediaType.js +14 -0
- package/src/js/media/types/Bluesky.js +164 -0
- package/src/js/media/types/TikTok.js +113 -0
- package/src/js/slider/SlideNav.js +1 -1
- package/src/js/timenav/TimeMarker.js +1 -0
- package/src/less/TL.Timeline.Base.less +2 -0
- package/src/less/Variables.less +2 -0
- package/src/less/fonts/font.abril-droidsans.less +7 -5
- package/src/less/fonts/font.amatic-andika.less +4 -4
- package/src/less/fonts/font.bevan-pontanosans.less +5 -4
- package/src/less/fonts/font.bitter-raleway.less +3 -3
- package/src/less/fonts/font.clicker-garamond.less +3 -3
- package/src/less/fonts/font.dancing-ledger.less +3 -4
- package/src/less/fonts/font.fjalla-average.less +4 -4
- package/src/less/fonts/font.lustria-lato.less +4 -4
- package/src/less/fonts/font.medula-lato.less +3 -3
- package/src/less/fonts/font.oldstandard.less +3 -3
- package/src/less/fonts/font.opensans-gentiumbook.less +6 -6
- package/src/less/fonts/font.playfair-faunaone.less +5 -7
- package/src/less/fonts/font.playfair.less +4 -4
- package/src/less/fonts/font.pt.less +5 -5
- package/src/less/fonts/font.roboto-megrim.less +3 -4
- package/src/less/fonts/font.rufina-sintony.less +4 -4
- package/src/less/fonts/font.ubuntu.less +3 -3
- package/src/less/fonts/font.unicaone-vollkorn.less +4 -5
- package/src/less/icons/Icons.less +6 -0
- package/src/less/media/types/TL.Media.Bluesky.less +164 -0
- package/src/less/media/types/TL.Media.TikTok.less +86 -0
- package/src/less/slider/TL.SlideNav.less +17 -6
- package/src/less/themes/contrast/Variables.less +2 -0
- package/src/less/themes/dark/Variables.less +2 -0
- package/src/less/timenav/TL.TimeNav.less +2 -0
- package/src/template/all-media-types.json +50 -10
- package/src/template/index.html +78 -2
- package/test-results/.last-run.json +6 -0
- package/test-results/e2e-visual-regression-Visu-0a619-imeline-keyboard-navigation-firefox/error-context.md +102 -0
- package/test-results/e2e-visual-regression-Visu-0a619-imeline-keyboard-navigation-firefox/test-failed-1.png +0 -0
- package/test-results/e2e-visual-regression-Visu-0a619-imeline-keyboard-navigation-firefox/timeline-keyboard-next-actual.png +0 -0
- package/test-results/e2e-visual-regression-Visu-0a619-imeline-keyboard-navigation-firefox/timeline-keyboard-next-diff.png +0 -0
- package/test-results/e2e-visual-regression-Visu-0a619-imeline-keyboard-navigation-firefox/timeline-keyboard-next-expected.png +0 -0
- package/test-results/e2e-visual-regression-Visu-0a619-imeline-keyboard-navigation-firefox/video.webm +0 -0
- package/webpack.common.js +7 -11
- package/eleventy/node_modules/.package-lock.json +0 -2197
- package/eleventy/node_modules/@11ty/dependency-tree/LICENSE +0 -21
- package/eleventy/node_modules/@11ty/dependency-tree/README.md +0 -94
- package/eleventy/node_modules/@11ty/dependency-tree/main.js +0 -132
- package/eleventy/node_modules/@11ty/dependency-tree/package.json +0 -39
- package/eleventy/node_modules/@11ty/dependency-tree-esm/.github/workflows/ci.yml +0 -22
- package/eleventy/node_modules/@11ty/dependency-tree-esm/.github/workflows/release.yml +0 -24
- package/eleventy/node_modules/@11ty/dependency-tree-esm/LICENSE +0 -21
- package/eleventy/node_modules/@11ty/dependency-tree-esm/README.md +0 -40
- package/eleventy/node_modules/@11ty/dependency-tree-esm/main.js +0 -98
- package/eleventy/node_modules/@11ty/dependency-tree-esm/package.json +0 -38
- package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/circular-child.js +0 -1
- package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/circular-parent.js +0 -1
- package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/circular-self.js +0 -2
- package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/empty.js +0 -0
- package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/file.js +0 -2
- package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/import-attributes.js +0 -3
- package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/imported-secondary.js +0 -3
- package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/imported.js +0 -3
- package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/imported.json +0 -3
- package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/nested-grandchild.js +0 -1
- package/eleventy/node_modules/@11ty/dependency-tree-esm/test/stubs/nested.js +0 -2
- package/eleventy/node_modules/@11ty/dependency-tree-esm/test/test.js +0 -35
- package/eleventy/node_modules/@11ty/eleventy/CODE_OF_CONDUCT.md +0 -48
- package/eleventy/node_modules/@11ty/eleventy/LICENSE +0 -21
- package/eleventy/node_modules/@11ty/eleventy/README.md +0 -47
- package/eleventy/node_modules/@11ty/eleventy/SECURITY.md +0 -9
- package/eleventy/node_modules/@11ty/eleventy/cmd.cjs +0 -165
- package/eleventy/node_modules/@11ty/eleventy/package.json +0 -155
- package/eleventy/node_modules/@11ty/eleventy/src/Benchmark/Benchmark.js +0 -55
- package/eleventy/node_modules/@11ty/eleventy/src/Benchmark/BenchmarkGroup.js +0 -135
- package/eleventy/node_modules/@11ty/eleventy/src/Benchmark/BenchmarkManager.js +0 -73
- package/eleventy/node_modules/@11ty/eleventy/src/Data/ComputedData.js +0 -121
- package/eleventy/node_modules/@11ty/eleventy/src/Data/ComputedDataProxy.js +0 -131
- package/eleventy/node_modules/@11ty/eleventy/src/Data/ComputedDataQueue.js +0 -64
- package/eleventy/node_modules/@11ty/eleventy/src/Data/ComputedDataTemplateString.js +0 -70
- package/eleventy/node_modules/@11ty/eleventy/src/Data/TemplateData.js +0 -737
- package/eleventy/node_modules/@11ty/eleventy/src/Data/TemplateDataInitialGlobalData.js +0 -40
- package/eleventy/node_modules/@11ty/eleventy/src/Eleventy.js +0 -1472
- package/eleventy/node_modules/@11ty/eleventy/src/EleventyCommonJs.cjs +0 -43
- package/eleventy/node_modules/@11ty/eleventy/src/EleventyExtensionMap.js +0 -284
- package/eleventy/node_modules/@11ty/eleventy/src/EleventyFiles.js +0 -517
- package/eleventy/node_modules/@11ty/eleventy/src/EleventyServe.js +0 -305
- package/eleventy/node_modules/@11ty/eleventy/src/EleventyWatch.js +0 -131
- package/eleventy/node_modules/@11ty/eleventy/src/EleventyWatchTargets.js +0 -164
- package/eleventy/node_modules/@11ty/eleventy/src/Engines/Custom.js +0 -338
- package/eleventy/node_modules/@11ty/eleventy/src/Engines/FrontMatter/JavaScript.js +0 -34
- package/eleventy/node_modules/@11ty/eleventy/src/Engines/Html.js +0 -28
- package/eleventy/node_modules/@11ty/eleventy/src/Engines/JavaScript.js +0 -237
- package/eleventy/node_modules/@11ty/eleventy/src/Engines/Liquid.js +0 -326
- package/eleventy/node_modules/@11ty/eleventy/src/Engines/Markdown.js +0 -93
- package/eleventy/node_modules/@11ty/eleventy/src/Engines/Nunjucks.js +0 -447
- package/eleventy/node_modules/@11ty/eleventy/src/Engines/TemplateEngine.js +0 -184
- package/eleventy/node_modules/@11ty/eleventy/src/Engines/TemplateEngineManager.js +0 -197
- package/eleventy/node_modules/@11ty/eleventy/src/Engines/Util/ContextAugmenter.js +0 -67
- package/eleventy/node_modules/@11ty/eleventy/src/Errors/DuplicatePermalinkOutputError.js +0 -9
- package/eleventy/node_modules/@11ty/eleventy/src/Errors/EleventyBaseError.js +0 -24
- package/eleventy/node_modules/@11ty/eleventy/src/Errors/EleventyErrorHandler.js +0 -151
- package/eleventy/node_modules/@11ty/eleventy/src/Errors/EleventyErrorUtil.js +0 -72
- package/eleventy/node_modules/@11ty/eleventy/src/Errors/TemplateContentPrematureUseError.js +0 -5
- package/eleventy/node_modules/@11ty/eleventy/src/Errors/TemplateContentUnrenderedTemplateError.js +0 -5
- package/eleventy/node_modules/@11ty/eleventy/src/Errors/UsingCircularTemplateContentReferenceError.js +0 -5
- package/eleventy/node_modules/@11ty/eleventy/src/EventBus.js +0 -23
- package/eleventy/node_modules/@11ty/eleventy/src/FileSystemSearch.js +0 -102
- package/eleventy/node_modules/@11ty/eleventy/src/Filters/GetCollectionItem.js +0 -20
- package/eleventy/node_modules/@11ty/eleventy/src/Filters/GetCollectionItemIndex.js +0 -17
- package/eleventy/node_modules/@11ty/eleventy/src/Filters/GetLocaleCollectionItem.js +0 -47
- package/eleventy/node_modules/@11ty/eleventy/src/Filters/Slug.js +0 -14
- package/eleventy/node_modules/@11ty/eleventy/src/Filters/Slugify.js +0 -14
- package/eleventy/node_modules/@11ty/eleventy/src/Filters/Url.js +0 -35
- package/eleventy/node_modules/@11ty/eleventy/src/GlobalDependencyMap.js +0 -424
- package/eleventy/node_modules/@11ty/eleventy/src/Plugins/HtmlBasePlugin.js +0 -151
- package/eleventy/node_modules/@11ty/eleventy/src/Plugins/I18nPlugin.js +0 -317
- package/eleventy/node_modules/@11ty/eleventy/src/Plugins/IdAttributePlugin.js +0 -103
- package/eleventy/node_modules/@11ty/eleventy/src/Plugins/InputPathToUrl.js +0 -177
- package/eleventy/node_modules/@11ty/eleventy/src/Plugins/Pagination.js +0 -380
- package/eleventy/node_modules/@11ty/eleventy/src/Plugins/RenderPlugin.js +0 -481
- package/eleventy/node_modules/@11ty/eleventy/src/Template.js +0 -1124
- package/eleventy/node_modules/@11ty/eleventy/src/TemplateBehavior.js +0 -85
- package/eleventy/node_modules/@11ty/eleventy/src/TemplateCache.js +0 -104
- package/eleventy/node_modules/@11ty/eleventy/src/TemplateCollection.js +0 -81
- package/eleventy/node_modules/@11ty/eleventy/src/TemplateConfig.js +0 -551
- package/eleventy/node_modules/@11ty/eleventy/src/TemplateContent.js +0 -712
- package/eleventy/node_modules/@11ty/eleventy/src/TemplateFileSlug.js +0 -57
- package/eleventy/node_modules/@11ty/eleventy/src/TemplateGlob.js +0 -35
- package/eleventy/node_modules/@11ty/eleventy/src/TemplateLayout.js +0 -242
- package/eleventy/node_modules/@11ty/eleventy/src/TemplateLayoutPathResolver.js +0 -136
- package/eleventy/node_modules/@11ty/eleventy/src/TemplateMap.js +0 -828
- package/eleventy/node_modules/@11ty/eleventy/src/TemplatePassthrough.js +0 -339
- package/eleventy/node_modules/@11ty/eleventy/src/TemplatePassthroughManager.js +0 -311
- package/eleventy/node_modules/@11ty/eleventy/src/TemplatePermalink.js +0 -189
- package/eleventy/node_modules/@11ty/eleventy/src/TemplateRender.js +0 -294
- package/eleventy/node_modules/@11ty/eleventy/src/TemplateWriter.js +0 -518
- package/eleventy/node_modules/@11ty/eleventy/src/UserConfig.js +0 -1292
- package/eleventy/node_modules/@11ty/eleventy/src/Util/AsyncEventEmitter.js +0 -75
- package/eleventy/node_modules/@11ty/eleventy/src/Util/Compatibility.js +0 -55
- package/eleventy/node_modules/@11ty/eleventy/src/Util/ConsoleLogger.js +0 -126
- package/eleventy/node_modules/@11ty/eleventy/src/Util/DateGitFirstAdded.js +0 -24
- package/eleventy/node_modules/@11ty/eleventy/src/Util/DateGitLastUpdated.js +0 -28
- package/eleventy/node_modules/@11ty/eleventy/src/Util/DirContains.js +0 -9
- package/eleventy/node_modules/@11ty/eleventy/src/Util/EsmResolver.js +0 -51
- package/eleventy/node_modules/@11ty/eleventy/src/Util/EventBusUtil.js +0 -26
- package/eleventy/node_modules/@11ty/eleventy/src/Util/ExistsCache.js +0 -82
- package/eleventy/node_modules/@11ty/eleventy/src/Util/FilePathUtil.js +0 -19
- package/eleventy/node_modules/@11ty/eleventy/src/Util/GetJavaScriptData.js +0 -30
- package/eleventy/node_modules/@11ty/eleventy/src/Util/GlobMatcher.js +0 -21
- package/eleventy/node_modules/@11ty/eleventy/src/Util/HtmlTransformer.js +0 -158
- package/eleventy/node_modules/@11ty/eleventy/src/Util/ImportJsonSync.js +0 -64
- package/eleventy/node_modules/@11ty/eleventy/src/Util/IsAsyncFunction.js +0 -5
- package/eleventy/node_modules/@11ty/eleventy/src/Util/JavaScriptDependencies.js +0 -55
- package/eleventy/node_modules/@11ty/eleventy/src/Util/MemoizeFunction.js +0 -26
- package/eleventy/node_modules/@11ty/eleventy/src/Util/Objects/DeepFreeze.js +0 -20
- package/eleventy/node_modules/@11ty/eleventy/src/Util/Objects/ObjectFilter.js +0 -9
- package/eleventy/node_modules/@11ty/eleventy/src/Util/Objects/ProxyWrap.js +0 -111
- package/eleventy/node_modules/@11ty/eleventy/src/Util/Objects/SampleModule.mjs +0 -1
- package/eleventy/node_modules/@11ty/eleventy/src/Util/Objects/Sortable.js +0 -136
- package/eleventy/node_modules/@11ty/eleventy/src/Util/Objects/Unique.js +0 -3
- package/eleventy/node_modules/@11ty/eleventy/src/Util/PassthroughCopyBehaviorCheck.js +0 -16
- package/eleventy/node_modules/@11ty/eleventy/src/Util/PathNormalizer.js +0 -60
- package/eleventy/node_modules/@11ty/eleventy/src/Util/PathPrefixer.js +0 -21
- package/eleventy/node_modules/@11ty/eleventy/src/Util/Pluralize.js +0 -3
- package/eleventy/node_modules/@11ty/eleventy/src/Util/ProjectDirectories.js +0 -344
- package/eleventy/node_modules/@11ty/eleventy/src/Util/ProjectTemplateFormats.js +0 -134
- package/eleventy/node_modules/@11ty/eleventy/src/Util/Require.js +0 -206
- package/eleventy/node_modules/@11ty/eleventy/src/Util/ReservedData.js +0 -69
- package/eleventy/node_modules/@11ty/eleventy/src/Util/SetUnion.js +0 -11
- package/eleventy/node_modules/@11ty/eleventy/src/Util/TransformsUtil.js +0 -70
- package/eleventy/node_modules/@11ty/eleventy/src/Util/ValidUrl.js +0 -9
- package/eleventy/node_modules/@11ty/eleventy/src/defaultConfig.js +0 -168
- package/eleventy/node_modules/@11ty/eleventy/tsconfig.json +0 -117
- package/eleventy/node_modules/@11ty/eleventy-dev-server/README.md +0 -60
- package/eleventy/node_modules/@11ty/eleventy-dev-server/cli.js +0 -89
- package/eleventy/node_modules/@11ty/eleventy-dev-server/client/reload-client.js +0 -294
- package/eleventy/node_modules/@11ty/eleventy-dev-server/cmd.js +0 -77
- package/eleventy/node_modules/@11ty/eleventy-dev-server/node_modules/@11ty/eleventy-utils/LICENSE +0 -21
- package/eleventy/node_modules/@11ty/eleventy-dev-server/node_modules/@11ty/eleventy-utils/README.md +0 -27
- package/eleventy/node_modules/@11ty/eleventy-dev-server/node_modules/@11ty/eleventy-utils/index.js +0 -11
- package/eleventy/node_modules/@11ty/eleventy-dev-server/node_modules/@11ty/eleventy-utils/package.json +0 -41
- package/eleventy/node_modules/@11ty/eleventy-dev-server/node_modules/@11ty/eleventy-utils/src/IsPlainObject.js +0 -24
- package/eleventy/node_modules/@11ty/eleventy-dev-server/node_modules/@11ty/eleventy-utils/src/Merge.js +0 -84
- package/eleventy/node_modules/@11ty/eleventy-dev-server/node_modules/@11ty/eleventy-utils/src/TemplatePath.js +0 -372
- package/eleventy/node_modules/@11ty/eleventy-dev-server/package.json +0 -58
- package/eleventy/node_modules/@11ty/eleventy-dev-server/server/wrapResponse.js +0 -129
- package/eleventy/node_modules/@11ty/eleventy-dev-server/server.js +0 -950
- package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/README.md +0 -337
- package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/eleventy.bundle.js +0 -66
- package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/package.json +0 -62
- package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/src/BundleFileOutput.js +0 -76
- package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/src/CodeManager.js +0 -209
- package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/src/OutOfOrderRender.js +0 -153
- package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/src/eleventy.bundleManagers.js +0 -74
- package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/src/eleventy.pruneEmptyBundles.js +0 -88
- package/eleventy/node_modules/@11ty/eleventy-plugin-bundle/src/eleventy.shortcodes.js +0 -83
- package/eleventy/node_modules/@11ty/eleventy-utils/LICENSE +0 -21
- package/eleventy/node_modules/@11ty/eleventy-utils/README.md +0 -29
- package/eleventy/node_modules/@11ty/eleventy-utils/index.js +0 -11
- package/eleventy/node_modules/@11ty/eleventy-utils/package.json +0 -47
- package/eleventy/node_modules/@11ty/eleventy-utils/src/IsPlainObject.js +0 -24
- package/eleventy/node_modules/@11ty/eleventy-utils/src/Merge.js +0 -84
- package/eleventy/node_modules/@11ty/eleventy-utils/src/TemplatePath.js +0 -368
- package/eleventy/node_modules/@11ty/lodash-custom/README.md +0 -14
- package/eleventy/node_modules/@11ty/lodash-custom/lodash.custom.js +0 -1704
- package/eleventy/node_modules/@11ty/lodash-custom/package.json +0 -38
- package/eleventy/node_modules/@11ty/posthtml-urls/LICENSE +0 -21
- package/eleventy/node_modules/@11ty/posthtml-urls/README.md +0 -48
- package/eleventy/node_modules/@11ty/posthtml-urls/lib/defaultOptions.js +0 -37
- package/eleventy/node_modules/@11ty/posthtml-urls/lib/index.js +0 -142
- package/eleventy/node_modules/@11ty/posthtml-urls/package.json +0 -47
- package/eleventy/node_modules/@11ty/recursive-copy/README.md +0 -198
- package/eleventy/node_modules/@11ty/recursive-copy/index.d.ts +0 -117
- package/eleventy/node_modules/@11ty/recursive-copy/index.js +0 -3
- package/eleventy/node_modules/@11ty/recursive-copy/lib/copy.js +0 -427
- package/eleventy/node_modules/@11ty/recursive-copy/package.json +0 -71
- package/eleventy/node_modules/@isaacs/cliui/LICENSE.txt +0 -14
- package/eleventy/node_modules/@isaacs/cliui/README.md +0 -143
- package/eleventy/node_modules/@isaacs/cliui/index.mjs +0 -14
- package/eleventy/node_modules/@isaacs/cliui/package.json +0 -86
- package/eleventy/node_modules/@nodelib/fs.scandir/LICENSE +0 -21
- package/eleventy/node_modules/@nodelib/fs.scandir/README.md +0 -171
- package/eleventy/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts +0 -20
- package/eleventy/node_modules/@nodelib/fs.scandir/out/adapters/fs.js +0 -19
- package/eleventy/node_modules/@nodelib/fs.scandir/out/constants.d.ts +0 -4
- package/eleventy/node_modules/@nodelib/fs.scandir/out/constants.js +0 -17
- package/eleventy/node_modules/@nodelib/fs.scandir/out/index.d.ts +0 -12
- package/eleventy/node_modules/@nodelib/fs.scandir/out/index.js +0 -26
- package/eleventy/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts +0 -7
- package/eleventy/node_modules/@nodelib/fs.scandir/out/providers/async.js +0 -104
- package/eleventy/node_modules/@nodelib/fs.scandir/out/providers/common.d.ts +0 -1
- package/eleventy/node_modules/@nodelib/fs.scandir/out/providers/common.js +0 -13
- package/eleventy/node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts +0 -5
- package/eleventy/node_modules/@nodelib/fs.scandir/out/providers/sync.js +0 -54
- package/eleventy/node_modules/@nodelib/fs.scandir/out/settings.d.ts +0 -20
- package/eleventy/node_modules/@nodelib/fs.scandir/out/settings.js +0 -24
- package/eleventy/node_modules/@nodelib/fs.scandir/out/types/index.d.ts +0 -20
- package/eleventy/node_modules/@nodelib/fs.scandir/out/types/index.js +0 -2
- package/eleventy/node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts +0 -2
- package/eleventy/node_modules/@nodelib/fs.scandir/out/utils/fs.js +0 -19
- package/eleventy/node_modules/@nodelib/fs.scandir/out/utils/index.d.ts +0 -2
- package/eleventy/node_modules/@nodelib/fs.scandir/out/utils/index.js +0 -5
- package/eleventy/node_modules/@nodelib/fs.scandir/package.json +0 -44
- package/eleventy/node_modules/@nodelib/fs.stat/LICENSE +0 -21
- package/eleventy/node_modules/@nodelib/fs.stat/README.md +0 -126
- package/eleventy/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts +0 -13
- package/eleventy/node_modules/@nodelib/fs.stat/out/adapters/fs.js +0 -17
- package/eleventy/node_modules/@nodelib/fs.stat/out/index.d.ts +0 -12
- package/eleventy/node_modules/@nodelib/fs.stat/out/index.js +0 -26
- package/eleventy/node_modules/@nodelib/fs.stat/out/providers/async.d.ts +0 -4
- package/eleventy/node_modules/@nodelib/fs.stat/out/providers/async.js +0 -36
- package/eleventy/node_modules/@nodelib/fs.stat/out/providers/sync.d.ts +0 -3
- package/eleventy/node_modules/@nodelib/fs.stat/out/providers/sync.js +0 -23
- package/eleventy/node_modules/@nodelib/fs.stat/out/settings.d.ts +0 -16
- package/eleventy/node_modules/@nodelib/fs.stat/out/settings.js +0 -16
- package/eleventy/node_modules/@nodelib/fs.stat/out/types/index.d.ts +0 -4
- package/eleventy/node_modules/@nodelib/fs.stat/out/types/index.js +0 -2
- package/eleventy/node_modules/@nodelib/fs.stat/package.json +0 -37
- package/eleventy/node_modules/@nodelib/fs.walk/LICENSE +0 -21
- package/eleventy/node_modules/@nodelib/fs.walk/README.md +0 -215
- package/eleventy/node_modules/@nodelib/fs.walk/out/index.d.ts +0 -14
- package/eleventy/node_modules/@nodelib/fs.walk/out/index.js +0 -34
- package/eleventy/node_modules/@nodelib/fs.walk/out/providers/async.d.ts +0 -12
- package/eleventy/node_modules/@nodelib/fs.walk/out/providers/async.js +0 -30
- package/eleventy/node_modules/@nodelib/fs.walk/out/providers/index.d.ts +0 -4
- package/eleventy/node_modules/@nodelib/fs.walk/out/providers/index.js +0 -9
- package/eleventy/node_modules/@nodelib/fs.walk/out/providers/stream.d.ts +0 -12
- package/eleventy/node_modules/@nodelib/fs.walk/out/providers/stream.js +0 -34
- package/eleventy/node_modules/@nodelib/fs.walk/out/providers/sync.d.ts +0 -10
- package/eleventy/node_modules/@nodelib/fs.walk/out/providers/sync.js +0 -14
- package/eleventy/node_modules/@nodelib/fs.walk/out/readers/async.d.ts +0 -30
- package/eleventy/node_modules/@nodelib/fs.walk/out/readers/async.js +0 -97
- package/eleventy/node_modules/@nodelib/fs.walk/out/readers/common.d.ts +0 -7
- package/eleventy/node_modules/@nodelib/fs.walk/out/readers/common.js +0 -31
- package/eleventy/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts +0 -6
- package/eleventy/node_modules/@nodelib/fs.walk/out/readers/reader.js +0 -11
- package/eleventy/node_modules/@nodelib/fs.walk/out/readers/sync.d.ts +0 -15
- package/eleventy/node_modules/@nodelib/fs.walk/out/readers/sync.js +0 -59
- package/eleventy/node_modules/@nodelib/fs.walk/out/settings.d.ts +0 -30
- package/eleventy/node_modules/@nodelib/fs.walk/out/settings.js +0 -26
- package/eleventy/node_modules/@nodelib/fs.walk/out/types/index.d.ts +0 -8
- package/eleventy/node_modules/@nodelib/fs.walk/out/types/index.js +0 -2
- package/eleventy/node_modules/@nodelib/fs.walk/package.json +0 -44
- package/eleventy/node_modules/@pkgjs/parseargs/.editorconfig +0 -14
- package/eleventy/node_modules/@pkgjs/parseargs/CHANGELOG.md +0 -147
- package/eleventy/node_modules/@pkgjs/parseargs/LICENSE +0 -201
- package/eleventy/node_modules/@pkgjs/parseargs/README.md +0 -413
- package/eleventy/node_modules/@pkgjs/parseargs/examples/is-default-value.js +0 -25
- package/eleventy/node_modules/@pkgjs/parseargs/examples/limit-long-syntax.js +0 -35
- package/eleventy/node_modules/@pkgjs/parseargs/examples/negate.js +0 -43
- package/eleventy/node_modules/@pkgjs/parseargs/examples/no-repeated-options.js +0 -31
- package/eleventy/node_modules/@pkgjs/parseargs/examples/ordered-options.mjs +0 -41
- package/eleventy/node_modules/@pkgjs/parseargs/examples/simple-hard-coded.js +0 -26
- package/eleventy/node_modules/@pkgjs/parseargs/index.js +0 -396
- package/eleventy/node_modules/@pkgjs/parseargs/internal/errors.js +0 -47
- package/eleventy/node_modules/@pkgjs/parseargs/internal/primordials.js +0 -393
- package/eleventy/node_modules/@pkgjs/parseargs/internal/util.js +0 -14
- package/eleventy/node_modules/@pkgjs/parseargs/internal/validators.js +0 -89
- package/eleventy/node_modules/@pkgjs/parseargs/package.json +0 -36
- package/eleventy/node_modules/@pkgjs/parseargs/utils.js +0 -198
- package/eleventy/node_modules/@sindresorhus/slugify/index.d.ts +0 -246
- package/eleventy/node_modules/@sindresorhus/slugify/index.js +0 -127
- package/eleventy/node_modules/@sindresorhus/slugify/license +0 -9
- package/eleventy/node_modules/@sindresorhus/slugify/overridable-replacements.js +0 -7
- package/eleventy/node_modules/@sindresorhus/slugify/package.json +0 -59
- package/eleventy/node_modules/@sindresorhus/slugify/readme.md +0 -273
- package/eleventy/node_modules/@sindresorhus/transliterate/index.d.ts +0 -48
- package/eleventy/node_modules/@sindresorhus/transliterate/index.js +0 -33
- package/eleventy/node_modules/@sindresorhus/transliterate/license +0 -9
- package/eleventy/node_modules/@sindresorhus/transliterate/package.json +0 -47
- package/eleventy/node_modules/@sindresorhus/transliterate/readme.md +0 -103
- package/eleventy/node_modules/@sindresorhus/transliterate/replacements.js +0 -2056
- package/eleventy/node_modules/a-sync-waterfall/LICENSE +0 -21
- package/eleventy/node_modules/a-sync-waterfall/README.md +0 -95
- package/eleventy/node_modules/a-sync-waterfall/index.js +0 -83
- package/eleventy/node_modules/a-sync-waterfall/package.json +0 -21
- package/eleventy/node_modules/a-sync-waterfall/test.js +0 -77
- package/eleventy/node_modules/acorn/CHANGELOG.md +0 -928
- package/eleventy/node_modules/acorn/LICENSE +0 -21
- package/eleventy/node_modules/acorn/README.md +0 -282
- package/eleventy/node_modules/acorn/bin/acorn +0 -4
- package/eleventy/node_modules/acorn/dist/acorn.d.mts +0 -866
- package/eleventy/node_modules/acorn/dist/acorn.d.ts +0 -866
- package/eleventy/node_modules/acorn/dist/acorn.js +0 -6174
- package/eleventy/node_modules/acorn/dist/acorn.mjs +0 -6145
- package/eleventy/node_modules/acorn/dist/bin.js +0 -90
- package/eleventy/node_modules/acorn/package.json +0 -50
- package/eleventy/node_modules/acorn-walk/CHANGELOG.md +0 -199
- package/eleventy/node_modules/acorn-walk/LICENSE +0 -21
- package/eleventy/node_modules/acorn-walk/README.md +0 -124
- package/eleventy/node_modules/acorn-walk/dist/walk.d.mts +0 -177
- package/eleventy/node_modules/acorn-walk/dist/walk.d.ts +0 -177
- package/eleventy/node_modules/acorn-walk/dist/walk.js +0 -455
- package/eleventy/node_modules/acorn-walk/dist/walk.mjs +0 -437
- package/eleventy/node_modules/acorn-walk/package.json +0 -50
- package/eleventy/node_modules/ansi-regex/index.d.ts +0 -33
- package/eleventy/node_modules/ansi-regex/index.js +0 -10
- package/eleventy/node_modules/ansi-regex/license +0 -9
- package/eleventy/node_modules/ansi-regex/package.json +0 -61
- package/eleventy/node_modules/ansi-regex/readme.md +0 -60
- package/eleventy/node_modules/ansi-styles/index.d.ts +0 -236
- package/eleventy/node_modules/ansi-styles/index.js +0 -223
- package/eleventy/node_modules/ansi-styles/license +0 -9
- package/eleventy/node_modules/ansi-styles/package.json +0 -54
- package/eleventy/node_modules/ansi-styles/readme.md +0 -173
- package/eleventy/node_modules/anymatch/LICENSE +0 -15
- package/eleventy/node_modules/anymatch/README.md +0 -87
- package/eleventy/node_modules/anymatch/index.d.ts +0 -20
- package/eleventy/node_modules/anymatch/index.js +0 -104
- package/eleventy/node_modules/anymatch/package.json +0 -48
- package/eleventy/node_modules/argparse/CHANGELOG.md +0 -216
- package/eleventy/node_modules/argparse/LICENSE +0 -254
- package/eleventy/node_modules/argparse/README.md +0 -84
- package/eleventy/node_modules/argparse/argparse.js +0 -3707
- package/eleventy/node_modules/argparse/lib/sub.js +0 -67
- package/eleventy/node_modules/argparse/lib/textwrap.js +0 -440
- package/eleventy/node_modules/argparse/package.json +0 -31
- package/eleventy/node_modules/array-differ/index.js +0 -7
- package/eleventy/node_modules/array-differ/package.json +0 -32
- package/eleventy/node_modules/array-differ/readme.md +0 -41
- package/eleventy/node_modules/array-union/index.js +0 -6
- package/eleventy/node_modules/array-union/license +0 -21
- package/eleventy/node_modules/array-union/package.json +0 -40
- package/eleventy/node_modules/array-union/readme.md +0 -28
- package/eleventy/node_modules/array-uniq/index.js +0 -62
- package/eleventy/node_modules/array-uniq/license +0 -21
- package/eleventy/node_modules/array-uniq/package.json +0 -37
- package/eleventy/node_modules/array-uniq/readme.md +0 -30
- package/eleventy/node_modules/arrify/index.js +0 -8
- package/eleventy/node_modules/arrify/license +0 -21
- package/eleventy/node_modules/arrify/package.json +0 -33
- package/eleventy/node_modules/arrify/readme.md +0 -36
- package/eleventy/node_modules/asap/CHANGES.md +0 -70
- package/eleventy/node_modules/asap/LICENSE.md +0 -21
- package/eleventy/node_modules/asap/README.md +0 -237
- package/eleventy/node_modules/asap/asap.js +0 -65
- package/eleventy/node_modules/asap/browser-asap.js +0 -66
- package/eleventy/node_modules/asap/browser-raw.js +0 -223
- package/eleventy/node_modules/asap/package.json +0 -58
- package/eleventy/node_modules/asap/raw.js +0 -101
- package/eleventy/node_modules/balanced-match/.github/FUNDING.yml +0 -2
- package/eleventy/node_modules/balanced-match/LICENSE.md +0 -21
- package/eleventy/node_modules/balanced-match/README.md +0 -97
- package/eleventy/node_modules/balanced-match/index.js +0 -62
- package/eleventy/node_modules/balanced-match/package.json +0 -48
- package/eleventy/node_modules/bcp-47/index.d.ts +0 -6
- package/eleventy/node_modules/bcp-47/index.js +0 -9
- package/eleventy/node_modules/bcp-47/lib/normal.d.ts +0 -2
- package/eleventy/node_modules/bcp-47/lib/normal.js +0 -29
- package/eleventy/node_modules/bcp-47/lib/parse.d.ts +0 -29
- package/eleventy/node_modules/bcp-47/lib/parse.js +0 -310
- package/eleventy/node_modules/bcp-47/lib/regular.d.ts +0 -2
- package/eleventy/node_modules/bcp-47/lib/regular.js +0 -12
- package/eleventy/node_modules/bcp-47/lib/stringify.d.ts +0 -13
- package/eleventy/node_modules/bcp-47/lib/stringify.js +0 -50
- package/eleventy/node_modules/bcp-47/license +0 -22
- package/eleventy/node_modules/bcp-47/package.json +0 -85
- package/eleventy/node_modules/bcp-47/readme.md +0 -344
- package/eleventy/node_modules/bcp-47-match/index.d.ts +0 -47
- package/eleventy/node_modules/bcp-47-match/index.js +0 -234
- package/eleventy/node_modules/bcp-47-match/license +0 -22
- package/eleventy/node_modules/bcp-47-match/package.json +0 -88
- package/eleventy/node_modules/bcp-47-match/readme.md +0 -315
- package/eleventy/node_modules/bcp-47-normalize/index.d.ts +0 -3
- package/eleventy/node_modules/bcp-47-normalize/index.js +0 -6
- package/eleventy/node_modules/bcp-47-normalize/lib/fields.d.ts +0 -24
- package/eleventy/node_modules/bcp-47-normalize/lib/fields.js +0 -3217
- package/eleventy/node_modules/bcp-47-normalize/lib/index.d.ts +0 -36
- package/eleventy/node_modules/bcp-47-normalize/lib/index.js +0 -335
- package/eleventy/node_modules/bcp-47-normalize/lib/likely.d.ts +0 -4
- package/eleventy/node_modules/bcp-47-normalize/lib/likely.js +0 -8039
- package/eleventy/node_modules/bcp-47-normalize/lib/many.d.ts +0 -10
- package/eleventy/node_modules/bcp-47-normalize/lib/many.js +0 -95
- package/eleventy/node_modules/bcp-47-normalize/lib/matches.d.ts +0 -13
- package/eleventy/node_modules/bcp-47-normalize/lib/matches.js +0 -1859
- package/eleventy/node_modules/bcp-47-normalize/license +0 -22
- package/eleventy/node_modules/bcp-47-normalize/package.json +0 -91
- package/eleventy/node_modules/bcp-47-normalize/readme.md +0 -207
- package/eleventy/node_modules/binary-extensions/binary-extensions.json +0 -263
- package/eleventy/node_modules/binary-extensions/binary-extensions.json.d.ts +0 -3
- package/eleventy/node_modules/binary-extensions/index.d.ts +0 -14
- package/eleventy/node_modules/binary-extensions/index.js +0 -1
- package/eleventy/node_modules/binary-extensions/license +0 -10
- package/eleventy/node_modules/binary-extensions/package.json +0 -40
- package/eleventy/node_modules/binary-extensions/readme.md +0 -25
- package/eleventy/node_modules/brace-expansion/LICENSE +0 -21
- package/eleventy/node_modules/brace-expansion/README.md +0 -129
- package/eleventy/node_modules/brace-expansion/index.js +0 -201
- package/eleventy/node_modules/brace-expansion/package.json +0 -47
- package/eleventy/node_modules/braces/LICENSE +0 -21
- package/eleventy/node_modules/braces/README.md +0 -586
- package/eleventy/node_modules/braces/index.js +0 -170
- package/eleventy/node_modules/braces/lib/compile.js +0 -60
- package/eleventy/node_modules/braces/lib/constants.js +0 -57
- package/eleventy/node_modules/braces/lib/expand.js +0 -113
- package/eleventy/node_modules/braces/lib/parse.js +0 -331
- package/eleventy/node_modules/braces/lib/stringify.js +0 -32
- package/eleventy/node_modules/braces/lib/utils.js +0 -122
- package/eleventy/node_modules/braces/package.json +0 -77
- package/eleventy/node_modules/chardet/LICENSE +0 -19
- package/eleventy/node_modules/chardet/README.md +0 -114
- package/eleventy/node_modules/chardet/lib/encoding/ascii.d.ts +0 -6
- package/eleventy/node_modules/chardet/lib/encoding/ascii.js +0 -23
- package/eleventy/node_modules/chardet/lib/encoding/ascii.js.map +0 -1
- package/eleventy/node_modules/chardet/lib/encoding/index.d.ts +0 -14
- package/eleventy/node_modules/chardet/lib/encoding/index.js +0 -3
- package/eleventy/node_modules/chardet/lib/encoding/index.js.map +0 -1
- package/eleventy/node_modules/chardet/lib/encoding/iso2022.d.ts +0 -23
- package/eleventy/node_modules/chardet/lib/encoding/iso2022.js +0 -114
- package/eleventy/node_modules/chardet/lib/encoding/iso2022.js.map +0 -1
- package/eleventy/node_modules/chardet/lib/encoding/mbcs.d.ts +0 -50
- package/eleventy/node_modules/chardet/lib/encoding/mbcs.js +0 -347
- package/eleventy/node_modules/chardet/lib/encoding/mbcs.js.map +0 -1
- package/eleventy/node_modules/chardet/lib/encoding/sbcs.d.ts +0 -75
- package/eleventy/node_modules/chardet/lib/encoding/sbcs.js +0 -764
- package/eleventy/node_modules/chardet/lib/encoding/sbcs.js.map +0 -1
- package/eleventy/node_modules/chardet/lib/encoding/unicode.d.ts +0 -27
- package/eleventy/node_modules/chardet/lib/encoding/unicode.js +0 -109
- package/eleventy/node_modules/chardet/lib/encoding/unicode.js.map +0 -1
- package/eleventy/node_modules/chardet/lib/encoding/utf8.d.ts +0 -6
- package/eleventy/node_modules/chardet/lib/encoding/utf8.js +0 -72
- package/eleventy/node_modules/chardet/lib/encoding/utf8.js.map +0 -1
- package/eleventy/node_modules/chardet/lib/fs/browser.d.ts +0 -2
- package/eleventy/node_modules/chardet/lib/fs/browser.js +0 -6
- package/eleventy/node_modules/chardet/lib/fs/browser.js.map +0 -1
- package/eleventy/node_modules/chardet/lib/fs/node.d.ts +0 -2
- package/eleventy/node_modules/chardet/lib/fs/node.js +0 -11
- package/eleventy/node_modules/chardet/lib/fs/node.js.map +0 -1
- package/eleventy/node_modules/chardet/lib/index.d.ts +0 -19
- package/eleventy/node_modules/chardet/lib/index.js +0 -149
- package/eleventy/node_modules/chardet/lib/index.js.map +0 -1
- package/eleventy/node_modules/chardet/lib/match.d.ts +0 -8
- package/eleventy/node_modules/chardet/lib/match.js +0 -8
- package/eleventy/node_modules/chardet/lib/match.js.map +0 -1
- package/eleventy/node_modules/chardet/lib/utils.d.ts +0 -1
- package/eleventy/node_modules/chardet/lib/utils.js +0 -10
- package/eleventy/node_modules/chardet/lib/utils.js.map +0 -1
- package/eleventy/node_modules/chardet/package.json +0 -95
- package/eleventy/node_modules/chokidar/LICENSE +0 -21
- package/eleventy/node_modules/chokidar/README.md +0 -308
- package/eleventy/node_modules/chokidar/index.js +0 -973
- package/eleventy/node_modules/chokidar/lib/constants.js +0 -66
- package/eleventy/node_modules/chokidar/lib/fsevents-handler.js +0 -526
- package/eleventy/node_modules/chokidar/lib/nodefs-handler.js +0 -654
- package/eleventy/node_modules/chokidar/package.json +0 -70
- package/eleventy/node_modules/chokidar/types/index.d.ts +0 -192
- package/eleventy/node_modules/color-convert/CHANGELOG.md +0 -54
- package/eleventy/node_modules/color-convert/LICENSE +0 -21
- package/eleventy/node_modules/color-convert/README.md +0 -68
- package/eleventy/node_modules/color-convert/conversions.js +0 -839
- package/eleventy/node_modules/color-convert/index.js +0 -81
- package/eleventy/node_modules/color-convert/package.json +0 -48
- package/eleventy/node_modules/color-convert/route.js +0 -97
- package/eleventy/node_modules/color-name/LICENSE +0 -8
- package/eleventy/node_modules/color-name/README.md +0 -11
- package/eleventy/node_modules/color-name/index.js +0 -152
- package/eleventy/node_modules/color-name/package.json +0 -28
- package/eleventy/node_modules/commander/LICENSE +0 -22
- package/eleventy/node_modules/commander/Readme.md +0 -1134
- package/eleventy/node_modules/commander/esm.mjs +0 -16
- package/eleventy/node_modules/commander/index.js +0 -27
- package/eleventy/node_modules/commander/lib/argument.js +0 -147
- package/eleventy/node_modules/commander/lib/command.js +0 -2179
- package/eleventy/node_modules/commander/lib/error.js +0 -45
- package/eleventy/node_modules/commander/lib/help.js +0 -464
- package/eleventy/node_modules/commander/lib/option.js +0 -331
- package/eleventy/node_modules/commander/lib/suggestSimilar.js +0 -100
- package/eleventy/node_modules/commander/package-support.json +0 -16
- package/eleventy/node_modules/commander/package.json +0 -80
- package/eleventy/node_modules/commander/typings/index.d.ts +0 -889
- package/eleventy/node_modules/concat-map/.travis.yml +0 -4
- package/eleventy/node_modules/concat-map/LICENSE +0 -18
- package/eleventy/node_modules/concat-map/README.markdown +0 -62
- package/eleventy/node_modules/concat-map/example/map.js +0 -6
- package/eleventy/node_modules/concat-map/index.js +0 -13
- package/eleventy/node_modules/concat-map/package.json +0 -43
- package/eleventy/node_modules/concat-map/test/map.js +0 -39
- package/eleventy/node_modules/cross-spawn/LICENSE +0 -21
- package/eleventy/node_modules/cross-spawn/README.md +0 -89
- package/eleventy/node_modules/cross-spawn/index.js +0 -39
- package/eleventy/node_modules/cross-spawn/lib/enoent.js +0 -59
- package/eleventy/node_modules/cross-spawn/lib/parse.js +0 -91
- package/eleventy/node_modules/cross-spawn/lib/util/escape.js +0 -47
- package/eleventy/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
- package/eleventy/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
- package/eleventy/node_modules/cross-spawn/package.json +0 -73
- package/eleventy/node_modules/debug/LICENSE +0 -20
- package/eleventy/node_modules/debug/README.md +0 -481
- package/eleventy/node_modules/debug/package.json +0 -65
- package/eleventy/node_modules/debug/src/browser.js +0 -272
- package/eleventy/node_modules/debug/src/common.js +0 -292
- package/eleventy/node_modules/debug/src/index.js +0 -10
- package/eleventy/node_modules/debug/src/node.js +0 -263
- package/eleventy/node_modules/depd/History.md +0 -103
- package/eleventy/node_modules/depd/LICENSE +0 -22
- package/eleventy/node_modules/depd/Readme.md +0 -280
- package/eleventy/node_modules/depd/index.js +0 -538
- package/eleventy/node_modules/depd/lib/browser/index.js +0 -77
- package/eleventy/node_modules/depd/package.json +0 -45
- package/eleventy/node_modules/dependency-graph/.github/workflows/node.js.yml +0 -24
- package/eleventy/node_modules/dependency-graph/CHANGELOG.md +0 -88
- package/eleventy/node_modules/dependency-graph/LICENSE +0 -19
- package/eleventy/node_modules/dependency-graph/README.md +0 -78
- package/eleventy/node_modules/dependency-graph/lib/dep_graph.js +0 -364
- package/eleventy/node_modules/dependency-graph/lib/index.d.ts +0 -127
- package/eleventy/node_modules/dependency-graph/package.json +0 -31
- package/eleventy/node_modules/dependency-graph/specs/dep_graph_spec.js +0 -567
- package/eleventy/node_modules/destroy/LICENSE +0 -23
- package/eleventy/node_modules/destroy/README.md +0 -63
- package/eleventy/node_modules/destroy/index.js +0 -209
- package/eleventy/node_modules/destroy/package.json +0 -48
- package/eleventy/node_modules/dev-ip/.jshintrc +0 -26
- package/eleventy/node_modules/dev-ip/.travis.yml +0 -5
- package/eleventy/node_modules/dev-ip/LICENSE-MIT +0 -22
- package/eleventy/node_modules/dev-ip/README.md +0 -32
- package/eleventy/node_modules/dev-ip/example.js +0 -4
- package/eleventy/node_modules/dev-ip/lib/dev-ip.js +0 -44
- package/eleventy/node_modules/dev-ip/package.json +0 -43
- package/eleventy/node_modules/dev-ip/test/.jshintrc +0 -26
- package/eleventy/node_modules/dev-ip/test/devip.js +0 -77
- package/eleventy/node_modules/dev-ip/test/fixtures/resp-multiple.js +0 -35
- package/eleventy/node_modules/dev-ip/test/fixtures/resp-none.js +0 -19
- package/eleventy/node_modules/dev-ip/test/fixtures/resp-single.js +0 -30
- package/eleventy/node_modules/dom-serializer/LICENSE +0 -11
- package/eleventy/node_modules/dom-serializer/README.md +0 -97
- package/eleventy/node_modules/dom-serializer/lib/esm/foreignNames.d.ts +0 -3
- package/eleventy/node_modules/dom-serializer/lib/esm/foreignNames.d.ts.map +0 -1
- package/eleventy/node_modules/dom-serializer/lib/esm/foreignNames.js +0 -100
- package/eleventy/node_modules/dom-serializer/lib/esm/index.d.ts +0 -52
- package/eleventy/node_modules/dom-serializer/lib/esm/index.d.ts.map +0 -1
- package/eleventy/node_modules/dom-serializer/lib/esm/index.js +0 -190
- package/eleventy/node_modules/dom-serializer/lib/esm/package.json +0 -1
- package/eleventy/node_modules/dom-serializer/lib/foreignNames.d.ts +0 -3
- package/eleventy/node_modules/dom-serializer/lib/foreignNames.d.ts.map +0 -1
- package/eleventy/node_modules/dom-serializer/lib/foreignNames.js +0 -103
- package/eleventy/node_modules/dom-serializer/lib/index.d.ts +0 -43
- package/eleventy/node_modules/dom-serializer/lib/index.d.ts.map +0 -1
- package/eleventy/node_modules/dom-serializer/lib/index.js +0 -211
- package/eleventy/node_modules/dom-serializer/node_modules/entities/LICENSE +0 -11
- package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/decode.d.ts +0 -5
- package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/decode.d.ts.map +0 -1
- package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/decode.js +0 -53
- package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.d.ts +0 -2
- package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.d.ts.map +0 -1
- package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js +0 -30
- package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/encode.d.ts +0 -47
- package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/encode.d.ts.map +0 -1
- package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/encode.js +0 -136
- package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/index.d.ts +0 -27
- package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/index.d.ts.map +0 -1
- package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/index.js +0 -57
- package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/maps/decode.json +0 -1
- package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/maps/entities.json +0 -1
- package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/maps/legacy.json +0 -1
- package/eleventy/node_modules/dom-serializer/node_modules/entities/lib/maps/xml.json +0 -1
- package/eleventy/node_modules/dom-serializer/node_modules/entities/package.json +0 -64
- package/eleventy/node_modules/dom-serializer/node_modules/entities/readme.md +0 -57
- package/eleventy/node_modules/dom-serializer/package.json +0 -55
- package/eleventy/node_modules/domelementtype/LICENSE +0 -11
- package/eleventy/node_modules/domelementtype/lib/esm/index.d.ts +0 -48
- package/eleventy/node_modules/domelementtype/lib/esm/index.d.ts.map +0 -1
- package/eleventy/node_modules/domelementtype/lib/esm/index.js +0 -51
- package/eleventy/node_modules/domelementtype/lib/esm/package.json +0 -1
- package/eleventy/node_modules/domelementtype/lib/index.d.ts +0 -48
- package/eleventy/node_modules/domelementtype/lib/index.d.ts.map +0 -1
- package/eleventy/node_modules/domelementtype/lib/index.js +0 -55
- package/eleventy/node_modules/domelementtype/package.json +0 -54
- package/eleventy/node_modules/domelementtype/readme.md +0 -1
- package/eleventy/node_modules/domhandler/LICENSE +0 -11
- package/eleventy/node_modules/domhandler/lib/index.d.ts +0 -85
- package/eleventy/node_modules/domhandler/lib/index.d.ts.map +0 -1
- package/eleventy/node_modules/domhandler/lib/index.js +0 -176
- package/eleventy/node_modules/domhandler/lib/node.d.ts +0 -237
- package/eleventy/node_modules/domhandler/lib/node.d.ts.map +0 -1
- package/eleventy/node_modules/domhandler/lib/node.js +0 -444
- package/eleventy/node_modules/domhandler/package.json +0 -58
- package/eleventy/node_modules/domhandler/readme.md +0 -163
- package/eleventy/node_modules/domutils/LICENSE +0 -11
- package/eleventy/node_modules/domutils/lib/feeds.d.ts +0 -45
- package/eleventy/node_modules/domutils/lib/feeds.d.ts.map +0 -1
- package/eleventy/node_modules/domutils/lib/feeds.js +0 -190
- package/eleventy/node_modules/domutils/lib/helpers.d.ts +0 -51
- package/eleventy/node_modules/domutils/lib/helpers.d.ts.map +0 -1
- package/eleventy/node_modules/domutils/lib/helpers.js +0 -125
- package/eleventy/node_modules/domutils/lib/index.d.ts +0 -10
- package/eleventy/node_modules/domutils/lib/index.d.ts.map +0 -1
- package/eleventy/node_modules/domutils/lib/index.js +0 -28
- package/eleventy/node_modules/domutils/lib/legacy.d.ts +0 -47
- package/eleventy/node_modules/domutils/lib/legacy.d.ts.map +0 -1
- package/eleventy/node_modules/domutils/lib/legacy.js +0 -124
- package/eleventy/node_modules/domutils/lib/manipulation.d.ts +0 -43
- package/eleventy/node_modules/domutils/lib/manipulation.d.ts.map +0 -1
- package/eleventy/node_modules/domutils/lib/manipulation.js +0 -129
- package/eleventy/node_modules/domutils/lib/querying.d.ts +0 -55
- package/eleventy/node_modules/domutils/lib/querying.d.ts.map +0 -1
- package/eleventy/node_modules/domutils/lib/querying.js +0 -126
- package/eleventy/node_modules/domutils/lib/stringify.d.ts +0 -41
- package/eleventy/node_modules/domutils/lib/stringify.d.ts.map +0 -1
- package/eleventy/node_modules/domutils/lib/stringify.js +0 -86
- package/eleventy/node_modules/domutils/lib/traversal.d.ts +0 -59
- package/eleventy/node_modules/domutils/lib/traversal.d.ts.map +0 -1
- package/eleventy/node_modules/domutils/lib/traversal.js +0 -117
- package/eleventy/node_modules/domutils/package.json +0 -65
- package/eleventy/node_modules/domutils/readme.md +0 -31
- package/eleventy/node_modules/eastasianwidth/README.md +0 -32
- package/eleventy/node_modules/eastasianwidth/eastasianwidth.js +0 -311
- package/eleventy/node_modules/eastasianwidth/package.json +0 -18
- package/eleventy/node_modules/ee-first/LICENSE +0 -22
- package/eleventy/node_modules/ee-first/README.md +0 -80
- package/eleventy/node_modules/ee-first/index.js +0 -95
- package/eleventy/node_modules/ee-first/package.json +0 -29
- package/eleventy/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
- package/eleventy/node_modules/emoji-regex/README.md +0 -137
- package/eleventy/node_modules/emoji-regex/RGI_Emoji.d.ts +0 -5
- package/eleventy/node_modules/emoji-regex/RGI_Emoji.js +0 -6
- package/eleventy/node_modules/emoji-regex/es2015/RGI_Emoji.d.ts +0 -5
- package/eleventy/node_modules/emoji-regex/es2015/RGI_Emoji.js +0 -6
- package/eleventy/node_modules/emoji-regex/es2015/index.d.ts +0 -5
- package/eleventy/node_modules/emoji-regex/es2015/index.js +0 -6
- package/eleventy/node_modules/emoji-regex/es2015/text.d.ts +0 -5
- package/eleventy/node_modules/emoji-regex/es2015/text.js +0 -6
- package/eleventy/node_modules/emoji-regex/index.d.ts +0 -5
- package/eleventy/node_modules/emoji-regex/index.js +0 -6
- package/eleventy/node_modules/emoji-regex/package.json +0 -52
- package/eleventy/node_modules/emoji-regex/text.d.ts +0 -5
- package/eleventy/node_modules/emoji-regex/text.js +0 -6
- package/eleventy/node_modules/encodeurl/LICENSE +0 -22
- package/eleventy/node_modules/encodeurl/README.md +0 -109
- package/eleventy/node_modules/encodeurl/index.js +0 -60
- package/eleventy/node_modules/encodeurl/package.json +0 -40
- package/eleventy/node_modules/entities/LICENSE +0 -11
- package/eleventy/node_modules/entities/dist/commonjs/decode-codepoint.d.ts +0 -19
- package/eleventy/node_modules/entities/dist/commonjs/decode-codepoint.d.ts.map +0 -1
- package/eleventy/node_modules/entities/dist/commonjs/decode-codepoint.js +0 -77
- package/eleventy/node_modules/entities/dist/commonjs/decode-codepoint.js.map +0 -1
- package/eleventy/node_modules/entities/dist/commonjs/decode.d.ts +0 -209
- package/eleventy/node_modules/entities/dist/commonjs/decode.d.ts.map +0 -1
- package/eleventy/node_modules/entities/dist/commonjs/decode.js +0 -514
- package/eleventy/node_modules/entities/dist/commonjs/decode.js.map +0 -1
- package/eleventy/node_modules/entities/dist/commonjs/encode.d.ts +0 -22
- package/eleventy/node_modules/entities/dist/commonjs/encode.d.ts.map +0 -1
- package/eleventy/node_modules/entities/dist/commonjs/encode.js +0 -76
- package/eleventy/node_modules/entities/dist/commonjs/encode.js.map +0 -1
- package/eleventy/node_modules/entities/dist/commonjs/escape.d.ts +0 -43
- package/eleventy/node_modules/entities/dist/commonjs/escape.d.ts.map +0 -1
- package/eleventy/node_modules/entities/dist/commonjs/escape.js +0 -120
- package/eleventy/node_modules/entities/dist/commonjs/escape.js.map +0 -1
- package/eleventy/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts +0 -3
- package/eleventy/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts.map +0 -1
- package/eleventy/node_modules/entities/dist/commonjs/generated/decode-data-html.js +0 -9
- package/eleventy/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +0 -1
- package/eleventy/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts +0 -3
- package/eleventy/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts.map +0 -1
- package/eleventy/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +0 -9
- package/eleventy/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +0 -1
- package/eleventy/node_modules/entities/dist/commonjs/generated/encode-html.d.ts +0 -8
- package/eleventy/node_modules/entities/dist/commonjs/generated/encode-html.d.ts.map +0 -1
- package/eleventy/node_modules/entities/dist/commonjs/generated/encode-html.js +0 -12
- package/eleventy/node_modules/entities/dist/commonjs/generated/encode-html.js.map +0 -1
- package/eleventy/node_modules/entities/dist/commonjs/index.d.ts +0 -96
- package/eleventy/node_modules/entities/dist/commonjs/index.d.ts.map +0 -1
- package/eleventy/node_modules/entities/dist/commonjs/index.js +0 -128
- package/eleventy/node_modules/entities/dist/commonjs/index.js.map +0 -1
- package/eleventy/node_modules/entities/dist/commonjs/package.json +0 -3
- package/eleventy/node_modules/entities/dist/esm/decode-codepoint.d.ts +0 -19
- package/eleventy/node_modules/entities/dist/esm/decode-codepoint.d.ts.map +0 -1
- package/eleventy/node_modules/entities/dist/esm/decode-codepoint.js +0 -72
- package/eleventy/node_modules/entities/dist/esm/decode-codepoint.js.map +0 -1
- package/eleventy/node_modules/entities/dist/esm/decode.d.ts +0 -209
- package/eleventy/node_modules/entities/dist/esm/decode.d.ts.map +0 -1
- package/eleventy/node_modules/entities/dist/esm/decode.js +0 -497
- package/eleventy/node_modules/entities/dist/esm/decode.js.map +0 -1
- package/eleventy/node_modules/entities/dist/esm/encode.d.ts +0 -22
- package/eleventy/node_modules/entities/dist/esm/encode.d.ts.map +0 -1
- package/eleventy/node_modules/entities/dist/esm/encode.js +0 -69
- package/eleventy/node_modules/entities/dist/esm/encode.js.map +0 -1
- package/eleventy/node_modules/entities/dist/esm/escape.d.ts +0 -43
- package/eleventy/node_modules/entities/dist/esm/escape.d.ts.map +0 -1
- package/eleventy/node_modules/entities/dist/esm/escape.js +0 -116
- package/eleventy/node_modules/entities/dist/esm/escape.js.map +0 -1
- package/eleventy/node_modules/entities/dist/esm/generated/decode-data-html.d.ts +0 -3
- package/eleventy/node_modules/entities/dist/esm/generated/decode-data-html.d.ts.map +0 -1
- package/eleventy/node_modules/entities/dist/esm/generated/decode-data-html.js +0 -7
- package/eleventy/node_modules/entities/dist/esm/generated/decode-data-html.js.map +0 -1
- package/eleventy/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts +0 -3
- package/eleventy/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts.map +0 -1
- package/eleventy/node_modules/entities/dist/esm/generated/decode-data-xml.js +0 -7
- package/eleventy/node_modules/entities/dist/esm/generated/decode-data-xml.js.map +0 -1
- package/eleventy/node_modules/entities/dist/esm/generated/encode-html.d.ts +0 -8
- package/eleventy/node_modules/entities/dist/esm/generated/encode-html.d.ts.map +0 -1
- package/eleventy/node_modules/entities/dist/esm/generated/encode-html.js +0 -10
- package/eleventy/node_modules/entities/dist/esm/generated/encode-html.js.map +0 -1
- package/eleventy/node_modules/entities/dist/esm/index.d.ts +0 -96
- package/eleventy/node_modules/entities/dist/esm/index.d.ts.map +0 -1
- package/eleventy/node_modules/entities/dist/esm/index.js +0 -104
- package/eleventy/node_modules/entities/dist/esm/index.js.map +0 -1
- package/eleventy/node_modules/entities/dist/esm/package.json +0 -3
- package/eleventy/node_modules/entities/package.json +0 -120
- package/eleventy/node_modules/entities/readme.md +0 -122
- package/eleventy/node_modules/entities/src/decode-codepoint.ts +0 -81
- package/eleventy/node_modules/entities/src/decode.spec.ts +0 -320
- package/eleventy/node_modules/entities/src/decode.ts +0 -620
- package/eleventy/node_modules/entities/src/encode.spec.ts +0 -78
- package/eleventy/node_modules/entities/src/encode.ts +0 -77
- package/eleventy/node_modules/entities/src/escape.spec.ts +0 -14
- package/eleventy/node_modules/entities/src/escape.ts +0 -144
- package/eleventy/node_modules/entities/src/generated/.eslintrc.json +0 -10
- package/eleventy/node_modules/entities/src/generated/decode-data-html.ts +0 -8
- package/eleventy/node_modules/entities/src/generated/decode-data-xml.ts +0 -8
- package/eleventy/node_modules/entities/src/generated/encode-html.ts +0 -17
- package/eleventy/node_modules/entities/src/index.spec.ts +0 -125
- package/eleventy/node_modules/entities/src/index.ts +0 -185
- package/eleventy/node_modules/errno/.jshintrc +0 -59
- package/eleventy/node_modules/errno/.travis.yml +0 -19
- package/eleventy/node_modules/errno/README.md +0 -145
- package/eleventy/node_modules/errno/build.js +0 -43
- package/eleventy/node_modules/errno/cli.js +0 -22
- package/eleventy/node_modules/errno/custom.js +0 -57
- package/eleventy/node_modules/errno/errno.js +0 -313
- package/eleventy/node_modules/errno/package.json +0 -33
- package/eleventy/node_modules/errno/test.js +0 -88
- package/eleventy/node_modules/escape-html/LICENSE +0 -24
- package/eleventy/node_modules/escape-html/Readme.md +0 -43
- package/eleventy/node_modules/escape-html/index.js +0 -78
- package/eleventy/node_modules/escape-html/package.json +0 -24
- package/eleventy/node_modules/escape-string-regexp/index.d.ts +0 -16
- package/eleventy/node_modules/escape-string-regexp/index.js +0 -11
- package/eleventy/node_modules/escape-string-regexp/license +0 -9
- package/eleventy/node_modules/escape-string-regexp/package.json +0 -40
- package/eleventy/node_modules/escape-string-regexp/readme.md +0 -34
- package/eleventy/node_modules/esm-import-transformer/.github/workflows/ci.yml +0 -23
- package/eleventy/node_modules/esm-import-transformer/README.md +0 -91
- package/eleventy/node_modules/esm-import-transformer/import-transformer.js +0 -130
- package/eleventy/node_modules/esm-import-transformer/package.json +0 -26
- package/eleventy/node_modules/esm-import-transformer/test/commonjsTest.cjs +0 -16
- package/eleventy/node_modules/esm-import-transformer/test/test.js +0 -217
- package/eleventy/node_modules/esprima/ChangeLog +0 -235
- package/eleventy/node_modules/esprima/LICENSE.BSD +0 -21
- package/eleventy/node_modules/esprima/README.md +0 -46
- package/eleventy/node_modules/esprima/bin/esparse.js +0 -139
- package/eleventy/node_modules/esprima/bin/esvalidate.js +0 -236
- package/eleventy/node_modules/esprima/dist/esprima.js +0 -6709
- package/eleventy/node_modules/esprima/package.json +0 -112
- package/eleventy/node_modules/etag/HISTORY.md +0 -83
- package/eleventy/node_modules/etag/LICENSE +0 -22
- package/eleventy/node_modules/etag/README.md +0 -159
- package/eleventy/node_modules/etag/index.js +0 -131
- package/eleventy/node_modules/etag/package.json +0 -47
- package/eleventy/node_modules/evaluate-value/LICENSE +0 -21
- package/eleventy/node_modules/evaluate-value/README.md +0 -41
- package/eleventy/node_modules/evaluate-value/index-es5.js +0 -17
- package/eleventy/node_modules/evaluate-value/index-es5.js.map +0 -1
- package/eleventy/node_modules/evaluate-value/index.js +0 -17
- package/eleventy/node_modules/evaluate-value/package.json +0 -33
- package/eleventy/node_modules/extend-shallow/LICENSE +0 -21
- package/eleventy/node_modules/extend-shallow/README.md +0 -61
- package/eleventy/node_modules/extend-shallow/index.js +0 -33
- package/eleventy/node_modules/extend-shallow/package.json +0 -56
- package/eleventy/node_modules/fast-glob/LICENSE +0 -21
- package/eleventy/node_modules/fast-glob/README.md +0 -830
- package/eleventy/node_modules/fast-glob/out/index.d.ts +0 -40
- package/eleventy/node_modules/fast-glob/out/index.js +0 -102
- package/eleventy/node_modules/fast-glob/out/managers/tasks.d.ts +0 -22
- package/eleventy/node_modules/fast-glob/out/managers/tasks.js +0 -110
- package/eleventy/node_modules/fast-glob/out/providers/async.d.ts +0 -9
- package/eleventy/node_modules/fast-glob/out/providers/async.js +0 -23
- package/eleventy/node_modules/fast-glob/out/providers/filters/deep.d.ts +0 -16
- package/eleventy/node_modules/fast-glob/out/providers/filters/deep.js +0 -62
- package/eleventy/node_modules/fast-glob/out/providers/filters/entry.d.ts +0 -17
- package/eleventy/node_modules/fast-glob/out/providers/filters/entry.js +0 -85
- package/eleventy/node_modules/fast-glob/out/providers/filters/error.d.ts +0 -8
- package/eleventy/node_modules/fast-glob/out/providers/filters/error.js +0 -15
- package/eleventy/node_modules/fast-glob/out/providers/matchers/matcher.d.ts +0 -33
- package/eleventy/node_modules/fast-glob/out/providers/matchers/matcher.js +0 -45
- package/eleventy/node_modules/fast-glob/out/providers/matchers/partial.d.ts +0 -4
- package/eleventy/node_modules/fast-glob/out/providers/matchers/partial.js +0 -38
- package/eleventy/node_modules/fast-glob/out/providers/provider.d.ts +0 -19
- package/eleventy/node_modules/fast-glob/out/providers/provider.js +0 -48
- package/eleventy/node_modules/fast-glob/out/providers/stream.d.ts +0 -11
- package/eleventy/node_modules/fast-glob/out/providers/stream.js +0 -31
- package/eleventy/node_modules/fast-glob/out/providers/sync.d.ts +0 -9
- package/eleventy/node_modules/fast-glob/out/providers/sync.js +0 -23
- package/eleventy/node_modules/fast-glob/out/providers/transformers/entry.d.ts +0 -8
- package/eleventy/node_modules/fast-glob/out/providers/transformers/entry.js +0 -26
- package/eleventy/node_modules/fast-glob/out/readers/async.d.ts +0 -10
- package/eleventy/node_modules/fast-glob/out/readers/async.js +0 -35
- package/eleventy/node_modules/fast-glob/out/readers/reader.d.ts +0 -15
- package/eleventy/node_modules/fast-glob/out/readers/reader.js +0 -33
- package/eleventy/node_modules/fast-glob/out/readers/stream.d.ts +0 -14
- package/eleventy/node_modules/fast-glob/out/readers/stream.js +0 -55
- package/eleventy/node_modules/fast-glob/out/readers/sync.d.ts +0 -12
- package/eleventy/node_modules/fast-glob/out/readers/sync.js +0 -43
- package/eleventy/node_modules/fast-glob/out/settings.d.ts +0 -164
- package/eleventy/node_modules/fast-glob/out/settings.js +0 -59
- package/eleventy/node_modules/fast-glob/out/types/index.d.ts +0 -31
- package/eleventy/node_modules/fast-glob/out/types/index.js +0 -2
- package/eleventy/node_modules/fast-glob/out/utils/array.d.ts +0 -2
- package/eleventy/node_modules/fast-glob/out/utils/array.js +0 -22
- package/eleventy/node_modules/fast-glob/out/utils/errno.d.ts +0 -2
- package/eleventy/node_modules/fast-glob/out/utils/errno.js +0 -7
- package/eleventy/node_modules/fast-glob/out/utils/fs.d.ts +0 -4
- package/eleventy/node_modules/fast-glob/out/utils/fs.js +0 -19
- package/eleventy/node_modules/fast-glob/out/utils/index.d.ts +0 -8
- package/eleventy/node_modules/fast-glob/out/utils/index.js +0 -17
- package/eleventy/node_modules/fast-glob/out/utils/path.d.ts +0 -13
- package/eleventy/node_modules/fast-glob/out/utils/path.js +0 -68
- package/eleventy/node_modules/fast-glob/out/utils/pattern.d.ts +0 -49
- package/eleventy/node_modules/fast-glob/out/utils/pattern.js +0 -206
- package/eleventy/node_modules/fast-glob/out/utils/stream.d.ts +0 -4
- package/eleventy/node_modules/fast-glob/out/utils/stream.js +0 -17
- package/eleventy/node_modules/fast-glob/out/utils/string.d.ts +0 -2
- package/eleventy/node_modules/fast-glob/out/utils/string.js +0 -11
- package/eleventy/node_modules/fast-glob/package.json +0 -81
- package/eleventy/node_modules/fastq/.github/dependabot.yml +0 -11
- package/eleventy/node_modules/fastq/.github/workflows/ci.yml +0 -75
- package/eleventy/node_modules/fastq/LICENSE +0 -13
- package/eleventy/node_modules/fastq/README.md +0 -306
- package/eleventy/node_modules/fastq/SECURITY.md +0 -15
- package/eleventy/node_modules/fastq/bench.js +0 -66
- package/eleventy/node_modules/fastq/example.js +0 -14
- package/eleventy/node_modules/fastq/example.mjs +0 -11
- package/eleventy/node_modules/fastq/index.d.ts +0 -38
- package/eleventy/node_modules/fastq/package.json +0 -53
- package/eleventy/node_modules/fastq/queue.js +0 -311
- package/eleventy/node_modules/fastq/test/example.ts +0 -83
- package/eleventy/node_modules/fastq/test/promise.js +0 -291
- package/eleventy/node_modules/fastq/test/test.js +0 -642
- package/eleventy/node_modules/fastq/test/tsconfig.json +0 -11
- package/eleventy/node_modules/filesize/LICENSE +0 -28
- package/eleventy/node_modules/filesize/README.md +0 -113
- package/eleventy/node_modules/filesize/dist/filesize.cjs +0 -238
- package/eleventy/node_modules/filesize/dist/filesize.esm.js +0 -231
- package/eleventy/node_modules/filesize/package.json +0 -60
- package/eleventy/node_modules/filesize/types/filesize.d.ts +0 -56
- package/eleventy/node_modules/fill-range/LICENSE +0 -21
- package/eleventy/node_modules/fill-range/README.md +0 -237
- package/eleventy/node_modules/fill-range/index.js +0 -248
- package/eleventy/node_modules/fill-range/package.json +0 -74
- package/eleventy/node_modules/finalhandler/HISTORY.md +0 -210
- package/eleventy/node_modules/finalhandler/LICENSE +0 -22
- package/eleventy/node_modules/finalhandler/README.md +0 -147
- package/eleventy/node_modules/finalhandler/SECURITY.md +0 -25
- package/eleventy/node_modules/finalhandler/index.js +0 -341
- package/eleventy/node_modules/finalhandler/node_modules/debug/.coveralls.yml +0 -1
- package/eleventy/node_modules/finalhandler/node_modules/debug/.eslintrc +0 -11
- package/eleventy/node_modules/finalhandler/node_modules/debug/.travis.yml +0 -14
- package/eleventy/node_modules/finalhandler/node_modules/debug/CHANGELOG.md +0 -362
- package/eleventy/node_modules/finalhandler/node_modules/debug/LICENSE +0 -19
- package/eleventy/node_modules/finalhandler/node_modules/debug/Makefile +0 -50
- package/eleventy/node_modules/finalhandler/node_modules/debug/README.md +0 -312
- package/eleventy/node_modules/finalhandler/node_modules/debug/component.json +0 -19
- package/eleventy/node_modules/finalhandler/node_modules/debug/karma.conf.js +0 -70
- package/eleventy/node_modules/finalhandler/node_modules/debug/node.js +0 -1
- package/eleventy/node_modules/finalhandler/node_modules/debug/package.json +0 -49
- package/eleventy/node_modules/finalhandler/node_modules/debug/src/browser.js +0 -185
- package/eleventy/node_modules/finalhandler/node_modules/debug/src/debug.js +0 -202
- package/eleventy/node_modules/finalhandler/node_modules/debug/src/index.js +0 -10
- package/eleventy/node_modules/finalhandler/node_modules/debug/src/inspector-log.js +0 -15
- package/eleventy/node_modules/finalhandler/node_modules/debug/src/node.js +0 -248
- package/eleventy/node_modules/finalhandler/node_modules/ms/index.js +0 -152
- package/eleventy/node_modules/finalhandler/node_modules/ms/license.md +0 -21
- package/eleventy/node_modules/finalhandler/node_modules/ms/package.json +0 -37
- package/eleventy/node_modules/finalhandler/node_modules/ms/readme.md +0 -51
- package/eleventy/node_modules/finalhandler/package.json +0 -47
- package/eleventy/node_modules/foreground-child/LICENSE +0 -15
- package/eleventy/node_modules/foreground-child/README.md +0 -128
- package/eleventy/node_modules/foreground-child/dist/commonjs/all-signals.d.ts +0 -3
- package/eleventy/node_modules/foreground-child/dist/commonjs/all-signals.d.ts.map +0 -1
- package/eleventy/node_modules/foreground-child/dist/commonjs/all-signals.js +0 -58
- package/eleventy/node_modules/foreground-child/dist/commonjs/all-signals.js.map +0 -1
- package/eleventy/node_modules/foreground-child/dist/commonjs/index.d.ts +0 -65
- package/eleventy/node_modules/foreground-child/dist/commonjs/index.d.ts.map +0 -1
- package/eleventy/node_modules/foreground-child/dist/commonjs/index.js +0 -123
- package/eleventy/node_modules/foreground-child/dist/commonjs/index.js.map +0 -1
- package/eleventy/node_modules/foreground-child/dist/commonjs/package.json +0 -3
- package/eleventy/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts +0 -7
- package/eleventy/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts.map +0 -1
- package/eleventy/node_modules/foreground-child/dist/commonjs/proxy-signals.js +0 -38
- package/eleventy/node_modules/foreground-child/dist/commonjs/proxy-signals.js.map +0 -1
- package/eleventy/node_modules/foreground-child/dist/commonjs/watchdog.d.ts +0 -11
- package/eleventy/node_modules/foreground-child/dist/commonjs/watchdog.d.ts.map +0 -1
- package/eleventy/node_modules/foreground-child/dist/commonjs/watchdog.js +0 -50
- package/eleventy/node_modules/foreground-child/dist/commonjs/watchdog.js.map +0 -1
- package/eleventy/node_modules/foreground-child/dist/esm/all-signals.d.ts +0 -3
- package/eleventy/node_modules/foreground-child/dist/esm/all-signals.d.ts.map +0 -1
- package/eleventy/node_modules/foreground-child/dist/esm/all-signals.js +0 -52
- package/eleventy/node_modules/foreground-child/dist/esm/all-signals.js.map +0 -1
- package/eleventy/node_modules/foreground-child/dist/esm/index.d.ts +0 -65
- package/eleventy/node_modules/foreground-child/dist/esm/index.d.ts.map +0 -1
- package/eleventy/node_modules/foreground-child/dist/esm/index.js +0 -115
- package/eleventy/node_modules/foreground-child/dist/esm/index.js.map +0 -1
- package/eleventy/node_modules/foreground-child/dist/esm/package.json +0 -3
- package/eleventy/node_modules/foreground-child/dist/esm/proxy-signals.d.ts +0 -7
- package/eleventy/node_modules/foreground-child/dist/esm/proxy-signals.d.ts.map +0 -1
- package/eleventy/node_modules/foreground-child/dist/esm/proxy-signals.js +0 -34
- package/eleventy/node_modules/foreground-child/dist/esm/proxy-signals.js.map +0 -1
- package/eleventy/node_modules/foreground-child/dist/esm/watchdog.d.ts +0 -11
- package/eleventy/node_modules/foreground-child/dist/esm/watchdog.d.ts.map +0 -1
- package/eleventy/node_modules/foreground-child/dist/esm/watchdog.js +0 -46
- package/eleventy/node_modules/foreground-child/dist/esm/watchdog.js.map +0 -1
- package/eleventy/node_modules/foreground-child/package.json +0 -111
- package/eleventy/node_modules/fresh/HISTORY.md +0 -70
- package/eleventy/node_modules/fresh/LICENSE +0 -23
- package/eleventy/node_modules/fresh/README.md +0 -119
- package/eleventy/node_modules/fresh/index.js +0 -137
- package/eleventy/node_modules/fresh/package.json +0 -46
- package/eleventy/node_modules/fsevents/LICENSE +0 -22
- package/eleventy/node_modules/fsevents/README.md +0 -89
- package/eleventy/node_modules/fsevents/fsevents.d.ts +0 -46
- package/eleventy/node_modules/fsevents/fsevents.js +0 -83
- package/eleventy/node_modules/fsevents/fsevents.node +0 -0
- package/eleventy/node_modules/fsevents/package.json +0 -62
- package/eleventy/node_modules/glob/LICENSE +0 -15
- package/eleventy/node_modules/glob/README.md +0 -1265
- package/eleventy/node_modules/glob/dist/commonjs/glob.d.ts +0 -388
- package/eleventy/node_modules/glob/dist/commonjs/glob.d.ts.map +0 -1
- package/eleventy/node_modules/glob/dist/commonjs/glob.js +0 -247
- package/eleventy/node_modules/glob/dist/commonjs/glob.js.map +0 -1
- package/eleventy/node_modules/glob/dist/commonjs/has-magic.d.ts +0 -14
- package/eleventy/node_modules/glob/dist/commonjs/has-magic.d.ts.map +0 -1
- package/eleventy/node_modules/glob/dist/commonjs/has-magic.js +0 -27
- package/eleventy/node_modules/glob/dist/commonjs/has-magic.js.map +0 -1
- package/eleventy/node_modules/glob/dist/commonjs/ignore.d.ts +0 -24
- package/eleventy/node_modules/glob/dist/commonjs/ignore.d.ts.map +0 -1
- package/eleventy/node_modules/glob/dist/commonjs/ignore.js +0 -119
- package/eleventy/node_modules/glob/dist/commonjs/ignore.js.map +0 -1
- package/eleventy/node_modules/glob/dist/commonjs/index.d.ts +0 -97
- package/eleventy/node_modules/glob/dist/commonjs/index.d.ts.map +0 -1
- package/eleventy/node_modules/glob/dist/commonjs/index.js +0 -68
- package/eleventy/node_modules/glob/dist/commonjs/index.js.map +0 -1
- package/eleventy/node_modules/glob/dist/commonjs/package.json +0 -3
- package/eleventy/node_modules/glob/dist/commonjs/pattern.d.ts +0 -76
- package/eleventy/node_modules/glob/dist/commonjs/pattern.d.ts.map +0 -1
- package/eleventy/node_modules/glob/dist/commonjs/pattern.js +0 -219
- package/eleventy/node_modules/glob/dist/commonjs/pattern.js.map +0 -1
- package/eleventy/node_modules/glob/dist/commonjs/processor.d.ts +0 -59
- package/eleventy/node_modules/glob/dist/commonjs/processor.d.ts.map +0 -1
- package/eleventy/node_modules/glob/dist/commonjs/processor.js +0 -301
- package/eleventy/node_modules/glob/dist/commonjs/processor.js.map +0 -1
- package/eleventy/node_modules/glob/dist/commonjs/walker.d.ts +0 -97
- package/eleventy/node_modules/glob/dist/commonjs/walker.d.ts.map +0 -1
- package/eleventy/node_modules/glob/dist/commonjs/walker.js +0 -387
- package/eleventy/node_modules/glob/dist/commonjs/walker.js.map +0 -1
- package/eleventy/node_modules/glob/dist/esm/bin.d.mts +0 -3
- package/eleventy/node_modules/glob/dist/esm/bin.d.mts.map +0 -1
- package/eleventy/node_modules/glob/dist/esm/bin.mjs +0 -270
- package/eleventy/node_modules/glob/dist/esm/bin.mjs.map +0 -1
- package/eleventy/node_modules/glob/dist/esm/glob.d.ts +0 -388
- package/eleventy/node_modules/glob/dist/esm/glob.d.ts.map +0 -1
- package/eleventy/node_modules/glob/dist/esm/glob.js +0 -243
- package/eleventy/node_modules/glob/dist/esm/glob.js.map +0 -1
- package/eleventy/node_modules/glob/dist/esm/has-magic.d.ts +0 -14
- package/eleventy/node_modules/glob/dist/esm/has-magic.d.ts.map +0 -1
- package/eleventy/node_modules/glob/dist/esm/has-magic.js +0 -23
- package/eleventy/node_modules/glob/dist/esm/has-magic.js.map +0 -1
- package/eleventy/node_modules/glob/dist/esm/ignore.d.ts +0 -24
- package/eleventy/node_modules/glob/dist/esm/ignore.d.ts.map +0 -1
- package/eleventy/node_modules/glob/dist/esm/ignore.js +0 -115
- package/eleventy/node_modules/glob/dist/esm/ignore.js.map +0 -1
- package/eleventy/node_modules/glob/dist/esm/index.d.ts +0 -97
- package/eleventy/node_modules/glob/dist/esm/index.d.ts.map +0 -1
- package/eleventy/node_modules/glob/dist/esm/index.js +0 -55
- package/eleventy/node_modules/glob/dist/esm/index.js.map +0 -1
- package/eleventy/node_modules/glob/dist/esm/package.json +0 -3
- package/eleventy/node_modules/glob/dist/esm/pattern.d.ts +0 -76
- package/eleventy/node_modules/glob/dist/esm/pattern.d.ts.map +0 -1
- package/eleventy/node_modules/glob/dist/esm/pattern.js +0 -215
- package/eleventy/node_modules/glob/dist/esm/pattern.js.map +0 -1
- package/eleventy/node_modules/glob/dist/esm/processor.d.ts +0 -59
- package/eleventy/node_modules/glob/dist/esm/processor.d.ts.map +0 -1
- package/eleventy/node_modules/glob/dist/esm/processor.js +0 -294
- package/eleventy/node_modules/glob/dist/esm/processor.js.map +0 -1
- package/eleventy/node_modules/glob/dist/esm/walker.d.ts +0 -97
- package/eleventy/node_modules/glob/dist/esm/walker.d.ts.map +0 -1
- package/eleventy/node_modules/glob/dist/esm/walker.js +0 -381
- package/eleventy/node_modules/glob/dist/esm/walker.js.map +0 -1
- package/eleventy/node_modules/glob/node_modules/brace-expansion/.github/FUNDING.yml +0 -2
- package/eleventy/node_modules/glob/node_modules/brace-expansion/LICENSE +0 -21
- package/eleventy/node_modules/glob/node_modules/brace-expansion/README.md +0 -135
- package/eleventy/node_modules/glob/node_modules/brace-expansion/index.js +0 -203
- package/eleventy/node_modules/glob/node_modules/brace-expansion/package.json +0 -46
- package/eleventy/node_modules/glob/node_modules/minimatch/LICENSE +0 -15
- package/eleventy/node_modules/glob/node_modules/minimatch/README.md +0 -454
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +0 -2
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +0 -14
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.d.ts +0 -20
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.d.ts.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js +0 -592
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/ast.js.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +0 -8
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js +0 -152
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.d.ts +0 -12
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.d.ts.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js +0 -22
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/escape.js.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/index.d.ts +0 -94
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/index.d.ts.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/index.js +0 -1017
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/index.js.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/package.json +0 -3
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.d.ts +0 -17
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js +0 -24
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/commonjs/unescape.js.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +0 -2
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js +0 -10
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/ast.d.ts +0 -20
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/ast.d.ts.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/ast.js +0 -588
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/ast.js.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.d.ts +0 -8
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.js +0 -148
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/brace-expressions.js.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/escape.d.ts +0 -12
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/escape.d.ts.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/escape.js +0 -18
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/escape.js.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/index.d.ts +0 -94
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/index.d.ts.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/index.js +0 -1001
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/index.js.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/package.json +0 -3
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/unescape.d.ts +0 -17
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/unescape.d.ts.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/unescape.js +0 -20
- package/eleventy/node_modules/glob/node_modules/minimatch/dist/esm/unescape.js.map +0 -1
- package/eleventy/node_modules/glob/node_modules/minimatch/package.json +0 -82
- package/eleventy/node_modules/glob/package.json +0 -99
- package/eleventy/node_modules/glob-parent/CHANGELOG.md +0 -110
- package/eleventy/node_modules/glob-parent/LICENSE +0 -15
- package/eleventy/node_modules/glob-parent/README.md +0 -137
- package/eleventy/node_modules/glob-parent/index.js +0 -42
- package/eleventy/node_modules/glob-parent/package.json +0 -48
- package/eleventy/node_modules/graceful-fs/LICENSE +0 -15
- package/eleventy/node_modules/graceful-fs/README.md +0 -143
- package/eleventy/node_modules/graceful-fs/clone.js +0 -23
- package/eleventy/node_modules/graceful-fs/graceful-fs.js +0 -448
- package/eleventy/node_modules/graceful-fs/legacy-streams.js +0 -118
- package/eleventy/node_modules/graceful-fs/package.json +0 -53
- package/eleventy/node_modules/graceful-fs/polyfills.js +0 -355
- package/eleventy/node_modules/gray-matter/CHANGELOG.md +0 -24
- package/eleventy/node_modules/gray-matter/LICENSE +0 -21
- package/eleventy/node_modules/gray-matter/README.md +0 -565
- package/eleventy/node_modules/gray-matter/gray-matter.d.ts +0 -114
- package/eleventy/node_modules/gray-matter/index.js +0 -228
- package/eleventy/node_modules/gray-matter/lib/defaults.js +0 -18
- package/eleventy/node_modules/gray-matter/lib/engine.js +0 -30
- package/eleventy/node_modules/gray-matter/lib/engines.js +0 -54
- package/eleventy/node_modules/gray-matter/lib/excerpt.js +0 -32
- package/eleventy/node_modules/gray-matter/lib/parse.js +0 -13
- package/eleventy/node_modules/gray-matter/lib/stringify.js +0 -56
- package/eleventy/node_modules/gray-matter/lib/to-file.js +0 -43
- package/eleventy/node_modules/gray-matter/lib/utils.js +0 -66
- package/eleventy/node_modules/gray-matter/node_modules/argparse/CHANGELOG.md +0 -185
- package/eleventy/node_modules/gray-matter/node_modules/argparse/LICENSE +0 -21
- package/eleventy/node_modules/gray-matter/node_modules/argparse/README.md +0 -257
- package/eleventy/node_modules/gray-matter/node_modules/argparse/index.js +0 -3
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/append/constant.js +0 -47
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/append.js +0 -53
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/count.js +0 -40
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/help.js +0 -47
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/store/constant.js +0 -43
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/store/false.js +0 -27
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/store/true.js +0 -26
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/store.js +0 -50
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/subparsers.js +0 -149
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action/version.js +0 -47
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action.js +0 -146
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/action_container.js +0 -482
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/argparse.js +0 -14
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/argument/error.js +0 -50
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/argument/exclusive.js +0 -54
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/argument/group.js +0 -75
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/argument_parser.js +0 -1161
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/const.js +0 -21
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/help/added_formatters.js +0 -87
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/help/formatter.js +0 -795
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/namespace.js +0 -76
- package/eleventy/node_modules/gray-matter/node_modules/argparse/lib/utils.js +0 -57
- package/eleventy/node_modules/gray-matter/node_modules/argparse/package.json +0 -34
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/CHANGELOG.md +0 -557
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/LICENSE +0 -21
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/README.md +0 -299
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/bin/js-yaml.js +0 -132
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/dist/js-yaml.js +0 -3989
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/dist/js-yaml.min.js +0 -1
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/index.js +0 -7
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/common.js +0 -59
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/dumper.js +0 -850
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/exception.js +0 -43
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/loader.js +0 -1644
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/mark.js +0 -76
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/schema/core.js +0 -18
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +0 -25
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +0 -28
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +0 -17
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/schema/json.js +0 -25
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/schema.js +0 -108
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/binary.js +0 -138
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/bool.js +0 -35
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/float.js +0 -116
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/int.js +0 -173
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/js/function.js +0 -93
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +0 -60
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +0 -28
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/map.js +0 -8
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/merge.js +0 -12
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/null.js +0 -34
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/omap.js +0 -44
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/pairs.js +0 -53
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/seq.js +0 -8
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/set.js +0 -29
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/str.js +0 -8
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +0 -88
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml/type.js +0 -61
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/lib/js-yaml.js +0 -39
- package/eleventy/node_modules/gray-matter/node_modules/js-yaml/package.json +0 -49
- package/eleventy/node_modules/gray-matter/package.json +0 -127
- package/eleventy/node_modules/htmlparser2/LICENSE +0 -18
- package/eleventy/node_modules/htmlparser2/README.md +0 -166
- package/eleventy/node_modules/htmlparser2/lib/FeedHandler.d.ts +0 -23
- package/eleventy/node_modules/htmlparser2/lib/FeedHandler.d.ts.map +0 -1
- package/eleventy/node_modules/htmlparser2/lib/FeedHandler.js +0 -68
- package/eleventy/node_modules/htmlparser2/lib/Parser.d.ts +0 -180
- package/eleventy/node_modules/htmlparser2/lib/Parser.d.ts.map +0 -1
- package/eleventy/node_modules/htmlparser2/lib/Parser.js +0 -424
- package/eleventy/node_modules/htmlparser2/lib/Tokenizer.d.ts +0 -173
- package/eleventy/node_modules/htmlparser2/lib/Tokenizer.d.ts.map +0 -1
- package/eleventy/node_modules/htmlparser2/lib/Tokenizer.js +0 -821
- package/eleventy/node_modules/htmlparser2/lib/WritableStream.d.ts +0 -16
- package/eleventy/node_modules/htmlparser2/lib/WritableStream.d.ts.map +0 -1
- package/eleventy/node_modules/htmlparser2/lib/WritableStream.js +0 -53
- package/eleventy/node_modules/htmlparser2/lib/index.d.ts +0 -39
- package/eleventy/node_modules/htmlparser2/lib/index.d.ts.map +0 -1
- package/eleventy/node_modules/htmlparser2/lib/index.js +0 -84
- package/eleventy/node_modules/htmlparser2/node_modules/entities/LICENSE +0 -11
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/decode.d.ts +0 -15
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/decode.d.ts.map +0 -1
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/decode.js +0 -145
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.d.ts +0 -2
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.d.ts.map +0 -1
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.js +0 -54
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/encode-trie.d.ts +0 -8
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/encode-trie.d.ts.map +0 -1
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/encode-trie.js +0 -77
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/encode.d.ts +0 -46
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/encode.d.ts.map +0 -1
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/encode.js +0 -126
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/generated/decode-data-html.d.ts +0 -3
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/generated/decode-data-html.d.ts.map +0 -1
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/generated/decode-data-html.js +0 -5
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/generated/decode-data-xml.d.ts +0 -3
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +0 -1
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/generated/decode-data-xml.js +0 -5
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/index.d.ts +0 -91
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/index.d.ts.map +0 -1
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/index.js +0 -118
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/maps/entities.json +0 -1
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/maps/legacy.json +0 -1
- package/eleventy/node_modules/htmlparser2/node_modules/entities/lib/maps/xml.json +0 -1
- package/eleventy/node_modules/htmlparser2/node_modules/entities/package.json +0 -67
- package/eleventy/node_modules/htmlparser2/node_modules/entities/readme.md +0 -74
- package/eleventy/node_modules/htmlparser2/package.json +0 -75
- package/eleventy/node_modules/http-equiv-refresh/README.md +0 -31
- package/eleventy/node_modules/http-equiv-refresh/index-es5.js +0 -30
- package/eleventy/node_modules/http-equiv-refresh/index-es5.js.map +0 -1
- package/eleventy/node_modules/http-equiv-refresh/index.js +0 -24
- package/eleventy/node_modules/http-equiv-refresh/license +0 -21
- package/eleventy/node_modules/http-equiv-refresh/package.json +0 -42
- package/eleventy/node_modules/http-errors/HISTORY.md +0 -180
- package/eleventy/node_modules/http-errors/LICENSE +0 -23
- package/eleventy/node_modules/http-errors/README.md +0 -169
- package/eleventy/node_modules/http-errors/index.js +0 -289
- package/eleventy/node_modules/http-errors/package.json +0 -50
- package/eleventy/node_modules/inherits/LICENSE +0 -16
- package/eleventy/node_modules/inherits/README.md +0 -42
- package/eleventy/node_modules/inherits/inherits.js +0 -9
- package/eleventy/node_modules/inherits/inherits_browser.js +0 -27
- package/eleventy/node_modules/inherits/package.json +0 -29
- package/eleventy/node_modules/is-alphabetical/index.d.ts +0 -8
- package/eleventy/node_modules/is-alphabetical/index.js +0 -16
- package/eleventy/node_modules/is-alphabetical/license +0 -22
- package/eleventy/node_modules/is-alphabetical/package.json +0 -73
- package/eleventy/node_modules/is-alphabetical/readme.md +0 -141
- package/eleventy/node_modules/is-alphanumerical/index.d.ts +0 -8
- package/eleventy/node_modules/is-alphanumerical/index.js +0 -13
- package/eleventy/node_modules/is-alphanumerical/license +0 -22
- package/eleventy/node_modules/is-alphanumerical/package.json +0 -79
- package/eleventy/node_modules/is-alphanumerical/readme.md +0 -142
- package/eleventy/node_modules/is-binary-path/index.d.ts +0 -17
- package/eleventy/node_modules/is-binary-path/index.js +0 -7
- package/eleventy/node_modules/is-binary-path/license +0 -9
- package/eleventy/node_modules/is-binary-path/package.json +0 -40
- package/eleventy/node_modules/is-binary-path/readme.md +0 -34
- package/eleventy/node_modules/is-decimal/index.d.ts +0 -8
- package/eleventy/node_modules/is-decimal/index.js +0 -13
- package/eleventy/node_modules/is-decimal/license +0 -22
- package/eleventy/node_modules/is-decimal/package.json +0 -73
- package/eleventy/node_modules/is-decimal/readme.md +0 -139
- package/eleventy/node_modules/is-extendable/LICENSE +0 -21
- package/eleventy/node_modules/is-extendable/README.md +0 -72
- package/eleventy/node_modules/is-extendable/index.js +0 -13
- package/eleventy/node_modules/is-extendable/package.json +0 -51
- package/eleventy/node_modules/is-extglob/LICENSE +0 -21
- package/eleventy/node_modules/is-extglob/README.md +0 -107
- package/eleventy/node_modules/is-extglob/index.js +0 -20
- package/eleventy/node_modules/is-extglob/package.json +0 -69
- package/eleventy/node_modules/is-fullwidth-code-point/index.d.ts +0 -17
- package/eleventy/node_modules/is-fullwidth-code-point/index.js +0 -50
- package/eleventy/node_modules/is-fullwidth-code-point/license +0 -9
- package/eleventy/node_modules/is-fullwidth-code-point/package.json +0 -42
- package/eleventy/node_modules/is-fullwidth-code-point/readme.md +0 -39
- package/eleventy/node_modules/is-glob/LICENSE +0 -21
- package/eleventy/node_modules/is-glob/README.md +0 -206
- package/eleventy/node_modules/is-glob/index.js +0 -150
- package/eleventy/node_modules/is-glob/package.json +0 -81
- package/eleventy/node_modules/is-json/.travis.yml +0 -14
- package/eleventy/node_modules/is-json/LICENSE +0 -15
- package/eleventy/node_modules/is-json/README.md +0 -41
- package/eleventy/node_modules/is-json/index.js +0 -48
- package/eleventy/node_modules/is-json/package.json +0 -29
- package/eleventy/node_modules/is-json/test/index.js +0 -33
- package/eleventy/node_modules/is-number/LICENSE +0 -21
- package/eleventy/node_modules/is-number/README.md +0 -187
- package/eleventy/node_modules/is-number/index.js +0 -18
- package/eleventy/node_modules/is-number/package.json +0 -82
- package/eleventy/node_modules/isexe/LICENSE +0 -15
- package/eleventy/node_modules/isexe/README.md +0 -51
- package/eleventy/node_modules/isexe/index.js +0 -57
- package/eleventy/node_modules/isexe/mode.js +0 -41
- package/eleventy/node_modules/isexe/package.json +0 -31
- package/eleventy/node_modules/isexe/test/basic.js +0 -221
- package/eleventy/node_modules/isexe/windows.js +0 -42
- package/eleventy/node_modules/iso-639-1/.eslintrc +0 -38
- package/eleventy/node_modules/iso-639-1/.nvmrc +0 -1
- package/eleventy/node_modules/iso-639-1/.prettierrc +0 -4
- package/eleventy/node_modules/iso-639-1/.travis.yml +0 -6
- package/eleventy/node_modules/iso-639-1/CHANGELOG.md +0 -75
- package/eleventy/node_modules/iso-639-1/LICENSE +0 -21
- package/eleventy/node_modules/iso-639-1/index.d.ts +0 -205
- package/eleventy/node_modules/iso-639-1/package.json +0 -41
- package/eleventy/node_modules/iso-639-1/readme.md +0 -121
- package/eleventy/node_modules/iso-639-1/src/data.js +0 -736
- package/eleventy/node_modules/iso-639-1/src/index.js +0 -59
- package/eleventy/node_modules/iso-639-1/test/test.js +0 -92
- package/eleventy/node_modules/iso-639-1/webpack.config.js +0 -20
- package/eleventy/node_modules/jackspeak/LICENSE.md +0 -55
- package/eleventy/node_modules/jackspeak/README.md +0 -357
- package/eleventy/node_modules/jackspeak/dist/commonjs/index.d.ts +0 -315
- package/eleventy/node_modules/jackspeak/dist/commonjs/index.d.ts.map +0 -1
- package/eleventy/node_modules/jackspeak/dist/commonjs/index.js +0 -1010
- package/eleventy/node_modules/jackspeak/dist/commonjs/index.js.map +0 -1
- package/eleventy/node_modules/jackspeak/dist/commonjs/package.json +0 -3
- package/eleventy/node_modules/jackspeak/dist/commonjs/parse-args-cjs.cjs.map +0 -1
- package/eleventy/node_modules/jackspeak/dist/commonjs/parse-args-cjs.d.cts.map +0 -1
- package/eleventy/node_modules/jackspeak/dist/commonjs/parse-args.d.ts +0 -4
- package/eleventy/node_modules/jackspeak/dist/commonjs/parse-args.js +0 -50
- package/eleventy/node_modules/jackspeak/dist/esm/index.d.ts +0 -315
- package/eleventy/node_modules/jackspeak/dist/esm/index.d.ts.map +0 -1
- package/eleventy/node_modules/jackspeak/dist/esm/index.js +0 -1000
- package/eleventy/node_modules/jackspeak/dist/esm/index.js.map +0 -1
- package/eleventy/node_modules/jackspeak/dist/esm/package.json +0 -3
- package/eleventy/node_modules/jackspeak/dist/esm/parse-args.d.ts +0 -4
- package/eleventy/node_modules/jackspeak/dist/esm/parse-args.d.ts.map +0 -1
- package/eleventy/node_modules/jackspeak/dist/esm/parse-args.js +0 -26
- package/eleventy/node_modules/jackspeak/dist/esm/parse-args.js.map +0 -1
- package/eleventy/node_modules/jackspeak/package.json +0 -95
- package/eleventy/node_modules/js-yaml/CHANGELOG.md +0 -616
- package/eleventy/node_modules/js-yaml/LICENSE +0 -21
- package/eleventy/node_modules/js-yaml/README.md +0 -246
- package/eleventy/node_modules/js-yaml/bin/js-yaml.js +0 -126
- package/eleventy/node_modules/js-yaml/dist/js-yaml.js +0 -3874
- package/eleventy/node_modules/js-yaml/dist/js-yaml.min.js +0 -2
- package/eleventy/node_modules/js-yaml/dist/js-yaml.mjs +0 -3851
- package/eleventy/node_modules/js-yaml/index.js +0 -47
- package/eleventy/node_modules/js-yaml/lib/common.js +0 -59
- package/eleventy/node_modules/js-yaml/lib/dumper.js +0 -965
- package/eleventy/node_modules/js-yaml/lib/exception.js +0 -55
- package/eleventy/node_modules/js-yaml/lib/loader.js +0 -1727
- package/eleventy/node_modules/js-yaml/lib/schema/core.js +0 -11
- package/eleventy/node_modules/js-yaml/lib/schema/default.js +0 -22
- package/eleventy/node_modules/js-yaml/lib/schema/failsafe.js +0 -17
- package/eleventy/node_modules/js-yaml/lib/schema/json.js +0 -19
- package/eleventy/node_modules/js-yaml/lib/schema.js +0 -121
- package/eleventy/node_modules/js-yaml/lib/snippet.js +0 -101
- package/eleventy/node_modules/js-yaml/lib/type/binary.js +0 -125
- package/eleventy/node_modules/js-yaml/lib/type/bool.js +0 -35
- package/eleventy/node_modules/js-yaml/lib/type/float.js +0 -97
- package/eleventy/node_modules/js-yaml/lib/type/int.js +0 -156
- package/eleventy/node_modules/js-yaml/lib/type/map.js +0 -8
- package/eleventy/node_modules/js-yaml/lib/type/merge.js +0 -12
- package/eleventy/node_modules/js-yaml/lib/type/null.js +0 -35
- package/eleventy/node_modules/js-yaml/lib/type/omap.js +0 -44
- package/eleventy/node_modules/js-yaml/lib/type/pairs.js +0 -53
- package/eleventy/node_modules/js-yaml/lib/type/seq.js +0 -8
- package/eleventy/node_modules/js-yaml/lib/type/set.js +0 -29
- package/eleventy/node_modules/js-yaml/lib/type/str.js +0 -8
- package/eleventy/node_modules/js-yaml/lib/type/timestamp.js +0 -88
- package/eleventy/node_modules/js-yaml/lib/type.js +0 -66
- package/eleventy/node_modules/js-yaml/package.json +0 -66
- package/eleventy/node_modules/junk/index.js +0 -30
- package/eleventy/node_modules/junk/license +0 -21
- package/eleventy/node_modules/junk/package.json +0 -37
- package/eleventy/node_modules/junk/readme.md +0 -46
- package/eleventy/node_modules/kind-of/CHANGELOG.md +0 -160
- package/eleventy/node_modules/kind-of/LICENSE +0 -21
- package/eleventy/node_modules/kind-of/README.md +0 -367
- package/eleventy/node_modules/kind-of/index.js +0 -129
- package/eleventy/node_modules/kind-of/package.json +0 -88
- package/eleventy/node_modules/kleur/colors.d.ts +0 -38
- package/eleventy/node_modules/kleur/colors.js +0 -53
- package/eleventy/node_modules/kleur/colors.mjs +0 -53
- package/eleventy/node_modules/kleur/index.d.ts +0 -45
- package/eleventy/node_modules/kleur/index.js +0 -110
- package/eleventy/node_modules/kleur/index.mjs +0 -110
- package/eleventy/node_modules/kleur/license +0 -21
- package/eleventy/node_modules/kleur/package.json +0 -51
- package/eleventy/node_modules/kleur/readme.md +0 -232
- package/eleventy/node_modules/linkify-it/LICENSE +0 -22
- package/eleventy/node_modules/linkify-it/README.md +0 -196
- package/eleventy/node_modules/linkify-it/index.mjs +0 -642
- package/eleventy/node_modules/linkify-it/lib/re.mjs +0 -189
- package/eleventy/node_modules/linkify-it/package.json +0 -58
- package/eleventy/node_modules/liquidjs/LICENSE +0 -21
- package/eleventy/node_modules/liquidjs/README.md +0 -228
- package/eleventy/node_modules/liquidjs/bin/liquid.js +0 -139
- package/eleventy/node_modules/liquidjs/dist/cache/cache.d.ts +0 -7
- package/eleventy/node_modules/liquidjs/dist/cache/index.d.ts +0 -2
- package/eleventy/node_modules/liquidjs/dist/cache/lru.d.ts +0 -14
- package/eleventy/node_modules/liquidjs/dist/cache/lru.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/context/block-mode.d.ts +0 -4
- package/eleventy/node_modules/liquidjs/dist/context/context.d.ts +0 -64
- package/eleventy/node_modules/liquidjs/dist/context/context.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/context/index.d.ts +0 -3
- package/eleventy/node_modules/liquidjs/dist/context/scope.d.ts +0 -6
- package/eleventy/node_modules/liquidjs/dist/drop/blank-drop.d.ts +0 -5
- package/eleventy/node_modules/liquidjs/dist/drop/block-drop.d.ts +0 -10
- package/eleventy/node_modules/liquidjs/dist/drop/comparable.d.ts +0 -8
- package/eleventy/node_modules/liquidjs/dist/drop/drop.d.ts +0 -3
- package/eleventy/node_modules/liquidjs/dist/drop/empty-drop.d.ts +0 -11
- package/eleventy/node_modules/liquidjs/dist/drop/forloop-drop.d.ts +0 -15
- package/eleventy/node_modules/liquidjs/dist/drop/index.d.ts +0 -7
- package/eleventy/node_modules/liquidjs/dist/drop/null-drop.d.ts +0 -10
- package/eleventy/node_modules/liquidjs/dist/drop/tablerowloop-drop.d.ts +0 -10
- package/eleventy/node_modules/liquidjs/dist/emitters/emitter.d.ts +0 -11
- package/eleventy/node_modules/liquidjs/dist/emitters/index.d.ts +0 -4
- package/eleventy/node_modules/liquidjs/dist/emitters/keeping-type-emitter.d.ts +0 -5
- package/eleventy/node_modules/liquidjs/dist/emitters/simple-emitter.d.ts +0 -5
- package/eleventy/node_modules/liquidjs/dist/emitters/streamed-emitter.d.ts +0 -9
- package/eleventy/node_modules/liquidjs/dist/filters/array.d.ts +0 -26
- package/eleventy/node_modules/liquidjs/dist/filters/date.d.ts +0 -6
- package/eleventy/node_modules/liquidjs/dist/filters/html.d.ts +0 -6
- package/eleventy/node_modules/liquidjs/dist/filters/index.d.ts +0 -2
- package/eleventy/node_modules/liquidjs/dist/filters/math.d.ts +0 -11
- package/eleventy/node_modules/liquidjs/dist/filters/misc.d.ts +0 -18
- package/eleventy/node_modules/liquidjs/dist/filters/string.d.ts +0 -27
- package/eleventy/node_modules/liquidjs/dist/filters/url.d.ts +0 -14
- package/eleventy/node_modules/liquidjs/dist/fs/fs-impl.d.ts +0 -9
- package/eleventy/node_modules/liquidjs/dist/fs/fs-impl.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/fs/fs.d.ts +0 -20
- package/eleventy/node_modules/liquidjs/dist/fs/index.d.ts +0 -2
- package/eleventy/node_modules/liquidjs/dist/fs/loader.d.ts +0 -24
- package/eleventy/node_modules/liquidjs/dist/fs/loader.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/fs/map-fs.d.ts +0 -13
- package/eleventy/node_modules/liquidjs/dist/fs/map-fs.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/fs/node-require.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/index.d.ts +0 -15
- package/eleventy/node_modules/liquidjs/dist/liquid-options.d.ts +0 -159
- package/eleventy/node_modules/liquidjs/dist/liquid-options.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/liquid.browser.min.js +0 -2
- package/eleventy/node_modules/liquidjs/dist/liquid.browser.min.js.map +0 -1
- package/eleventy/node_modules/liquidjs/dist/liquid.browser.mjs +0 -4891
- package/eleventy/node_modules/liquidjs/dist/liquid.browser.umd.js +0 -7178
- package/eleventy/node_modules/liquidjs/dist/liquid.browser.umd.js.map +0 -1
- package/eleventy/node_modules/liquidjs/dist/liquid.d.ts +0 -70
- package/eleventy/node_modules/liquidjs/dist/liquid.node.js +0 -4914
- package/eleventy/node_modules/liquidjs/dist/liquid.node.mjs +0 -4904
- package/eleventy/node_modules/liquidjs/dist/parser/filter-arg.d.ts +0 -5
- package/eleventy/node_modules/liquidjs/dist/parser/index.d.ts +0 -4
- package/eleventy/node_modules/liquidjs/dist/parser/parse-stream.d.ts +0 -15
- package/eleventy/node_modules/liquidjs/dist/parser/parse-stream.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/parser/parser.d.ts +0 -20
- package/eleventy/node_modules/liquidjs/dist/parser/parser.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/parser/token-kind.d.ts +0 -16
- package/eleventy/node_modules/liquidjs/dist/parser/tokenizer.d.ts +0 -63
- package/eleventy/node_modules/liquidjs/dist/parser/tokenizer.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/parser/whitespace-ctrl.d.ts +0 -3
- package/eleventy/node_modules/liquidjs/dist/render/boolean.d.ts +0 -3
- package/eleventy/node_modules/liquidjs/dist/render/boolean.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/render/expression.d.ts +0 -10
- package/eleventy/node_modules/liquidjs/dist/render/expression.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/render/index.d.ts +0 -4
- package/eleventy/node_modules/liquidjs/dist/render/operator.d.ts +0 -8
- package/eleventy/node_modules/liquidjs/dist/render/render.d.ts +0 -8
- package/eleventy/node_modules/liquidjs/dist/render/render.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/render/string.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/render/string.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/tags/assign.d.ts +0 -12
- package/eleventy/node_modules/liquidjs/dist/tags/block.d.ts +0 -11
- package/eleventy/node_modules/liquidjs/dist/tags/break.d.ts +0 -4
- package/eleventy/node_modules/liquidjs/dist/tags/capture.d.ts +0 -13
- package/eleventy/node_modules/liquidjs/dist/tags/case.d.ts +0 -15
- package/eleventy/node_modules/liquidjs/dist/tags/comment.d.ts +0 -5
- package/eleventy/node_modules/liquidjs/dist/tags/continue.d.ts +0 -4
- package/eleventy/node_modules/liquidjs/dist/tags/cycle.d.ts +0 -9
- package/eleventy/node_modules/liquidjs/dist/tags/decrement.d.ts +0 -9
- package/eleventy/node_modules/liquidjs/dist/tags/echo.d.ts +0 -8
- package/eleventy/node_modules/liquidjs/dist/tags/for.d.ts +0 -15
- package/eleventy/node_modules/liquidjs/dist/tags/if.d.ts +0 -14
- package/eleventy/node_modules/liquidjs/dist/tags/include.d.ts +0 -12
- package/eleventy/node_modules/liquidjs/dist/tags/increment.d.ts +0 -9
- package/eleventy/node_modules/liquidjs/dist/tags/index.d.ts +0 -24
- package/eleventy/node_modules/liquidjs/dist/tags/inline-comment.d.ts +0 -5
- package/eleventy/node_modules/liquidjs/dist/tags/layout.d.ts +0 -14
- package/eleventy/node_modules/liquidjs/dist/tags/liquid.d.ts +0 -8
- package/eleventy/node_modules/liquidjs/dist/tags/raw.d.ts +0 -6
- package/eleventy/node_modules/liquidjs/dist/tags/render.d.ts +0 -22
- package/eleventy/node_modules/liquidjs/dist/tags/tablerow.d.ts +0 -14
- package/eleventy/node_modules/liquidjs/dist/tags/unless.d.ts +0 -15
- package/eleventy/node_modules/liquidjs/dist/template/analysis.d.ts +0 -85
- package/eleventy/node_modules/liquidjs/dist/template/analysis.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/template/filter-impl-options.d.ts +0 -14
- package/eleventy/node_modules/liquidjs/dist/template/filter.d.ts +0 -15
- package/eleventy/node_modules/liquidjs/dist/template/filter.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/template/hash.d.ts +0 -18
- package/eleventy/node_modules/liquidjs/dist/template/hash.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/template/html.d.ts +0 -9
- package/eleventy/node_modules/liquidjs/dist/template/index.d.ts +0 -11
- package/eleventy/node_modules/liquidjs/dist/template/output.d.ts +0 -12
- package/eleventy/node_modules/liquidjs/dist/template/output.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/template/tag-options-adapter.d.ts +0 -10
- package/eleventy/node_modules/liquidjs/dist/template/tag.d.ts +0 -18
- package/eleventy/node_modules/liquidjs/dist/template/template-impl.d.ts +0 -4
- package/eleventy/node_modules/liquidjs/dist/template/template.d.ts +0 -36
- package/eleventy/node_modules/liquidjs/dist/template/value.d.ts +0 -15
- package/eleventy/node_modules/liquidjs/dist/template/value.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/tokens/delimited-token.d.ts +0 -9
- package/eleventy/node_modules/liquidjs/dist/tokens/filter-token.d.ts +0 -7
- package/eleventy/node_modules/liquidjs/dist/tokens/filtered-value-token.d.ts +0 -17
- package/eleventy/node_modules/liquidjs/dist/tokens/hash-token.d.ts +0 -12
- package/eleventy/node_modules/liquidjs/dist/tokens/html-token.d.ts +0 -11
- package/eleventy/node_modules/liquidjs/dist/tokens/identifier-token.d.ts +0 -9
- package/eleventy/node_modules/liquidjs/dist/tokens/index.d.ts +0 -18
- package/eleventy/node_modules/liquidjs/dist/tokens/liquid-tag-token.d.ts +0 -12
- package/eleventy/node_modules/liquidjs/dist/tokens/literal-token.d.ts +0 -11
- package/eleventy/node_modules/liquidjs/dist/tokens/number-token.d.ts +0 -9
- package/eleventy/node_modules/liquidjs/dist/tokens/operator-token.d.ts +0 -38
- package/eleventy/node_modules/liquidjs/dist/tokens/output-token.d.ts +0 -5
- package/eleventy/node_modules/liquidjs/dist/tokens/property-access-token.d.ts +0 -12
- package/eleventy/node_modules/liquidjs/dist/tokens/quoted-token.d.ts +0 -9
- package/eleventy/node_modules/liquidjs/dist/tokens/range-token.d.ts +0 -11
- package/eleventy/node_modules/liquidjs/dist/tokens/tag-token.d.ts +0 -9
- package/eleventy/node_modules/liquidjs/dist/tokens/token.d.ts +0 -12
- package/eleventy/node_modules/liquidjs/dist/tokens/top-level-token.d.ts +0 -4
- package/eleventy/node_modules/liquidjs/dist/tokens/value-token.d.ts +0 -6
- package/eleventy/node_modules/liquidjs/dist/util/assert.d.ts +0 -2
- package/eleventy/node_modules/liquidjs/dist/util/assert.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/util/async.d.ts +0 -2
- package/eleventy/node_modules/liquidjs/dist/util/async.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/util/character.d.ts +0 -10
- package/eleventy/node_modules/liquidjs/dist/util/error.d.ts +0 -35
- package/eleventy/node_modules/liquidjs/dist/util/error.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/util/index.d.ts +0 -12
- package/eleventy/node_modules/liquidjs/dist/util/intl.d.ts +0 -6
- package/eleventy/node_modules/liquidjs/dist/util/limiter.d.ts +0 -8
- package/eleventy/node_modules/liquidjs/dist/util/liquid-date.d.ts +0 -52
- package/eleventy/node_modules/liquidjs/dist/util/liquid-date.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/util/literal.d.ts +0 -11
- package/eleventy/node_modules/liquidjs/dist/util/operator-trie.d.ts +0 -14
- package/eleventy/node_modules/liquidjs/dist/util/performance.d.ts +0 -5
- package/eleventy/node_modules/liquidjs/dist/util/performance.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/util/strftime.d.ts +0 -2
- package/eleventy/node_modules/liquidjs/dist/util/strftime.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/util/type-guards.d.ts +0 -13
- package/eleventy/node_modules/liquidjs/dist/util/type-guards.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/dist/util/underscore.d.ts +0 -39
- package/eleventy/node_modules/liquidjs/dist/util/underscore.spec.d.ts +0 -1
- package/eleventy/node_modules/liquidjs/package.json +0 -165
- package/eleventy/node_modules/list-to-array/LICENSE +0 -22
- package/eleventy/node_modules/list-to-array/README.md +0 -52
- package/eleventy/node_modules/list-to-array/index.js +0 -18
- package/eleventy/node_modules/list-to-array/package.json +0 -32
- package/eleventy/node_modules/list-to-array/tests.js +0 -29
- package/eleventy/node_modules/lru-cache/LICENSE +0 -15
- package/eleventy/node_modules/lru-cache/README.md +0 -331
- package/eleventy/node_modules/lru-cache/dist/commonjs/index.d.ts +0 -1277
- package/eleventy/node_modules/lru-cache/dist/commonjs/index.d.ts.map +0 -1
- package/eleventy/node_modules/lru-cache/dist/commonjs/index.js +0 -1546
- package/eleventy/node_modules/lru-cache/dist/commonjs/index.js.map +0 -1
- package/eleventy/node_modules/lru-cache/dist/commonjs/index.min.js +0 -2
- package/eleventy/node_modules/lru-cache/dist/commonjs/index.min.js.map +0 -7
- package/eleventy/node_modules/lru-cache/dist/commonjs/package.json +0 -3
- package/eleventy/node_modules/lru-cache/dist/esm/index.d.ts +0 -1277
- package/eleventy/node_modules/lru-cache/dist/esm/index.d.ts.map +0 -1
- package/eleventy/node_modules/lru-cache/dist/esm/index.js +0 -1542
- package/eleventy/node_modules/lru-cache/dist/esm/index.js.map +0 -1
- package/eleventy/node_modules/lru-cache/dist/esm/index.min.js +0 -2
- package/eleventy/node_modules/lru-cache/dist/esm/index.min.js.map +0 -7
- package/eleventy/node_modules/lru-cache/dist/esm/package.json +0 -3
- package/eleventy/node_modules/lru-cache/package.json +0 -116
- package/eleventy/node_modules/luxon/LICENSE.md +0 -7
- package/eleventy/node_modules/luxon/README.md +0 -55
- package/eleventy/node_modules/luxon/package.json +0 -87
- package/eleventy/node_modules/luxon/src/datetime.js +0 -2556
- package/eleventy/node_modules/luxon/src/duration.js +0 -990
- package/eleventy/node_modules/luxon/src/errors.js +0 -61
- package/eleventy/node_modules/luxon/src/impl/conversions.js +0 -206
- package/eleventy/node_modules/luxon/src/impl/diff.js +0 -95
- package/eleventy/node_modules/luxon/src/impl/digits.js +0 -90
- package/eleventy/node_modules/luxon/src/impl/english.js +0 -233
- package/eleventy/node_modules/luxon/src/impl/formats.js +0 -176
- package/eleventy/node_modules/luxon/src/impl/formatter.js +0 -409
- package/eleventy/node_modules/luxon/src/impl/invalid.js +0 -14
- package/eleventy/node_modules/luxon/src/impl/locale.js +0 -546
- package/eleventy/node_modules/luxon/src/impl/regexParser.js +0 -335
- package/eleventy/node_modules/luxon/src/impl/tokenParser.js +0 -505
- package/eleventy/node_modules/luxon/src/impl/util.js +0 -316
- package/eleventy/node_modules/luxon/src/impl/zoneUtil.js +0 -34
- package/eleventy/node_modules/luxon/src/info.js +0 -205
- package/eleventy/node_modules/luxon/src/interval.js +0 -657
- package/eleventy/node_modules/luxon/src/luxon.js +0 -26
- package/eleventy/node_modules/luxon/src/package.json +0 -4
- package/eleventy/node_modules/luxon/src/settings.js +0 -180
- package/eleventy/node_modules/luxon/src/zone.js +0 -97
- package/eleventy/node_modules/luxon/src/zones/IANAZone.js +0 -231
- package/eleventy/node_modules/luxon/src/zones/fixedOffsetZone.js +0 -150
- package/eleventy/node_modules/luxon/src/zones/invalidZone.js +0 -53
- package/eleventy/node_modules/luxon/src/zones/systemZone.js +0 -61
- package/eleventy/node_modules/markdown-it/LICENSE +0 -22
- package/eleventy/node_modules/markdown-it/README.md +0 -324
- package/eleventy/node_modules/markdown-it/bin/markdown-it.mjs +0 -107
- package/eleventy/node_modules/markdown-it/dist/index.cjs.js +0 -5540
- package/eleventy/node_modules/markdown-it/dist/markdown-it.js +0 -6963
- package/eleventy/node_modules/markdown-it/dist/markdown-it.min.js +0 -2
- package/eleventy/node_modules/markdown-it/index.mjs +0 -1
- package/eleventy/node_modules/markdown-it/lib/common/html_blocks.mjs +0 -67
- package/eleventy/node_modules/markdown-it/lib/common/html_re.mjs +0 -25
- package/eleventy/node_modules/markdown-it/lib/common/utils.mjs +0 -304
- package/eleventy/node_modules/markdown-it/lib/helpers/index.mjs +0 -11
- package/eleventy/node_modules/markdown-it/lib/helpers/parse_link_destination.mjs +0 -77
- package/eleventy/node_modules/markdown-it/lib/helpers/parse_link_label.mjs +0 -49
- package/eleventy/node_modules/markdown-it/lib/helpers/parse_link_title.mjs +0 -66
- package/eleventy/node_modules/markdown-it/lib/index.mjs +0 -565
- package/eleventy/node_modules/markdown-it/lib/parser_block.mjs +0 -134
- package/eleventy/node_modules/markdown-it/lib/parser_core.mjs +0 -62
- package/eleventy/node_modules/markdown-it/lib/parser_inline.mjs +0 -197
- package/eleventy/node_modules/markdown-it/lib/presets/commonmark.mjs +0 -88
- package/eleventy/node_modules/markdown-it/lib/presets/default.mjs +0 -47
- package/eleventy/node_modules/markdown-it/lib/presets/zero.mjs +0 -70
- package/eleventy/node_modules/markdown-it/lib/renderer.mjs +0 -322
- package/eleventy/node_modules/markdown-it/lib/ruler.mjs +0 -340
- package/eleventy/node_modules/markdown-it/lib/rules_block/blockquote.mjs +0 -209
- package/eleventy/node_modules/markdown-it/lib/rules_block/code.mjs +0 -30
- package/eleventy/node_modules/markdown-it/lib/rules_block/fence.mjs +0 -94
- package/eleventy/node_modules/markdown-it/lib/rules_block/heading.mjs +0 -51
- package/eleventy/node_modules/markdown-it/lib/rules_block/hr.mjs +0 -40
- package/eleventy/node_modules/markdown-it/lib/rules_block/html_block.mjs +0 -69
- package/eleventy/node_modules/markdown-it/lib/rules_block/lheading.mjs +0 -82
- package/eleventy/node_modules/markdown-it/lib/rules_block/list.mjs +0 -331
- package/eleventy/node_modules/markdown-it/lib/rules_block/paragraph.mjs +0 -46
- package/eleventy/node_modules/markdown-it/lib/rules_block/reference.mjs +0 -212
- package/eleventy/node_modules/markdown-it/lib/rules_block/state_block.mjs +0 -220
- package/eleventy/node_modules/markdown-it/lib/rules_block/table.mjs +0 -228
- package/eleventy/node_modules/markdown-it/lib/rules_core/block.mjs +0 -13
- package/eleventy/node_modules/markdown-it/lib/rules_core/inline.mjs +0 -11
- package/eleventy/node_modules/markdown-it/lib/rules_core/linkify.mjs +0 -134
- package/eleventy/node_modules/markdown-it/lib/rules_core/normalize.mjs +0 -17
- package/eleventy/node_modules/markdown-it/lib/rules_core/replacements.mjs +0 -101
- package/eleventy/node_modules/markdown-it/lib/rules_core/smartquotes.mjs +0 -193
- package/eleventy/node_modules/markdown-it/lib/rules_core/state_core.mjs +0 -17
- package/eleventy/node_modules/markdown-it/lib/rules_core/text_join.mjs +0 -43
- package/eleventy/node_modules/markdown-it/lib/rules_inline/autolink.mjs +0 -72
- package/eleventy/node_modules/markdown-it/lib/rules_inline/backticks.mjs +0 -60
- package/eleventy/node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs +0 -124
- package/eleventy/node_modules/markdown-it/lib/rules_inline/emphasis.mjs +0 -123
- package/eleventy/node_modules/markdown-it/lib/rules_inline/entity.mjs +0 -51
- package/eleventy/node_modules/markdown-it/lib/rules_inline/escape.mjs +0 -69
- package/eleventy/node_modules/markdown-it/lib/rules_inline/fragments_join.mjs +0 -38
- package/eleventy/node_modules/markdown-it/lib/rules_inline/html_inline.mjs +0 -50
- package/eleventy/node_modules/markdown-it/lib/rules_inline/image.mjs +0 -138
- package/eleventy/node_modules/markdown-it/lib/rules_inline/link.mjs +0 -139
- package/eleventy/node_modules/markdown-it/lib/rules_inline/linkify.mjs +0 -56
- package/eleventy/node_modules/markdown-it/lib/rules_inline/newline.mjs +0 -42
- package/eleventy/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +0 -123
- package/eleventy/node_modules/markdown-it/lib/rules_inline/strikethrough.mjs +0 -127
- package/eleventy/node_modules/markdown-it/lib/rules_inline/text.mjs +0 -86
- package/eleventy/node_modules/markdown-it/lib/token.mjs +0 -191
- package/eleventy/node_modules/markdown-it/node_modules/entities/LICENSE +0 -11
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/decode.d.ts +0 -211
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/decode.d.ts.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/decode.js +0 -536
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/decode.js.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.d.ts +0 -19
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.d.ts.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.js +0 -76
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.js.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/encode.d.ts +0 -22
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/encode.d.ts.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/encode.js +0 -77
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/encode.js.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/escape.d.ts +0 -43
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/escape.d.ts.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/escape.js +0 -122
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/escape.js.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/decode.d.ts +0 -211
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/decode.d.ts.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/decode.js +0 -496
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/decode.js.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.d.ts +0 -19
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.js +0 -71
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.js.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/encode.d.ts +0 -22
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/encode.d.ts.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/encode.js +0 -69
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/encode.js.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/escape.d.ts +0 -43
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/escape.d.ts.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/escape.js +0 -116
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/escape.js.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +0 -3
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.js +0 -7
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.js.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +0 -3
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.js +0 -7
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.d.ts +0 -8
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.js +0 -10
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.js.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/index.d.ts +0 -96
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/index.d.ts.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/index.js +0 -99
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/index.js.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/esm/package.json +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.d.ts +0 -3
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.d.ts.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.js +0 -9
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.js.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.d.ts +0 -3
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.js +0 -9
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.js.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.d.ts +0 -8
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.d.ts.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.js +0 -12
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.js.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/index.d.ts +0 -96
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/index.d.ts.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/index.js +0 -126
- package/eleventy/node_modules/markdown-it/node_modules/entities/lib/index.js.map +0 -1
- package/eleventy/node_modules/markdown-it/node_modules/entities/package.json +0 -90
- package/eleventy/node_modules/markdown-it/node_modules/entities/readme.md +0 -122
- package/eleventy/node_modules/markdown-it/package.json +0 -92
- package/eleventy/node_modules/maximatch/index.js +0 -39
- package/eleventy/node_modules/maximatch/license +0 -21
- package/eleventy/node_modules/maximatch/package.json +0 -44
- package/eleventy/node_modules/maximatch/readme.md +0 -71
- package/eleventy/node_modules/mdurl/LICENSE +0 -45
- package/eleventy/node_modules/mdurl/README.md +0 -102
- package/eleventy/node_modules/mdurl/index.mjs +0 -11
- package/eleventy/node_modules/mdurl/lib/decode.mjs +0 -112
- package/eleventy/node_modules/mdurl/lib/encode.mjs +0 -89
- package/eleventy/node_modules/mdurl/lib/format.mjs +0 -21
- package/eleventy/node_modules/mdurl/lib/parse.mjs +0 -308
- package/eleventy/node_modules/mdurl/package.json +0 -37
- package/eleventy/node_modules/merge2/LICENSE +0 -21
- package/eleventy/node_modules/merge2/README.md +0 -144
- package/eleventy/node_modules/merge2/index.js +0 -144
- package/eleventy/node_modules/merge2/package.json +0 -43
- package/eleventy/node_modules/micromatch/LICENSE +0 -21
- package/eleventy/node_modules/micromatch/README.md +0 -1024
- package/eleventy/node_modules/micromatch/index.js +0 -474
- package/eleventy/node_modules/micromatch/package.json +0 -119
- package/eleventy/node_modules/mime/CHANGELOG.md +0 -312
- package/eleventy/node_modules/mime/LICENSE +0 -21
- package/eleventy/node_modules/mime/Mime.js +0 -97
- package/eleventy/node_modules/mime/README.md +0 -178
- package/eleventy/node_modules/mime/cli.js +0 -46
- package/eleventy/node_modules/mime/index.js +0 -4
- package/eleventy/node_modules/mime/lite.js +0 -4
- package/eleventy/node_modules/mime/package.json +0 -52
- package/eleventy/node_modules/mime/types/other.js +0 -1
- package/eleventy/node_modules/mime/types/standard.js +0 -1
- package/eleventy/node_modules/mime-db/HISTORY.md +0 -507
- package/eleventy/node_modules/mime-db/LICENSE +0 -23
- package/eleventy/node_modules/mime-db/README.md +0 -100
- package/eleventy/node_modules/mime-db/db.json +0 -8519
- package/eleventy/node_modules/mime-db/index.js +0 -12
- package/eleventy/node_modules/mime-db/package.json +0 -60
- package/eleventy/node_modules/mime-types/HISTORY.md +0 -397
- package/eleventy/node_modules/mime-types/LICENSE +0 -23
- package/eleventy/node_modules/mime-types/README.md +0 -113
- package/eleventy/node_modules/mime-types/index.js +0 -188
- package/eleventy/node_modules/mime-types/package.json +0 -44
- package/eleventy/node_modules/minimatch/LICENSE +0 -15
- package/eleventy/node_modules/minimatch/README.md +0 -230
- package/eleventy/node_modules/minimatch/minimatch.js +0 -947
- package/eleventy/node_modules/minimatch/package.json +0 -33
- package/eleventy/node_modules/minimist/.eslintrc +0 -29
- package/eleventy/node_modules/minimist/.github/FUNDING.yml +0 -12
- package/eleventy/node_modules/minimist/.nycrc +0 -14
- package/eleventy/node_modules/minimist/CHANGELOG.md +0 -298
- package/eleventy/node_modules/minimist/LICENSE +0 -18
- package/eleventy/node_modules/minimist/README.md +0 -121
- package/eleventy/node_modules/minimist/example/parse.js +0 -4
- package/eleventy/node_modules/minimist/index.js +0 -263
- package/eleventy/node_modules/minimist/package.json +0 -75
- package/eleventy/node_modules/minimist/test/all_bool.js +0 -34
- package/eleventy/node_modules/minimist/test/bool.js +0 -177
- package/eleventy/node_modules/minimist/test/dash.js +0 -43
- package/eleventy/node_modules/minimist/test/default_bool.js +0 -37
- package/eleventy/node_modules/minimist/test/dotted.js +0 -24
- package/eleventy/node_modules/minimist/test/kv_short.js +0 -32
- package/eleventy/node_modules/minimist/test/long.js +0 -33
- package/eleventy/node_modules/minimist/test/num.js +0 -38
- package/eleventy/node_modules/minimist/test/parse.js +0 -209
- package/eleventy/node_modules/minimist/test/parse_modified.js +0 -11
- package/eleventy/node_modules/minimist/test/proto.js +0 -64
- package/eleventy/node_modules/minimist/test/short.js +0 -69
- package/eleventy/node_modules/minimist/test/stop_early.js +0 -17
- package/eleventy/node_modules/minimist/test/unknown.js +0 -104
- package/eleventy/node_modules/minimist/test/whitespace.js +0 -10
- package/eleventy/node_modules/minipass/LICENSE +0 -15
- package/eleventy/node_modules/minipass/README.md +0 -825
- package/eleventy/node_modules/minipass/dist/commonjs/index.d.ts +0 -549
- package/eleventy/node_modules/minipass/dist/commonjs/index.d.ts.map +0 -1
- package/eleventy/node_modules/minipass/dist/commonjs/index.js +0 -1028
- package/eleventy/node_modules/minipass/dist/commonjs/index.js.map +0 -1
- package/eleventy/node_modules/minipass/dist/commonjs/package.json +0 -3
- package/eleventy/node_modules/minipass/dist/esm/index.d.ts +0 -549
- package/eleventy/node_modules/minipass/dist/esm/index.d.ts.map +0 -1
- package/eleventy/node_modules/minipass/dist/esm/index.js +0 -1018
- package/eleventy/node_modules/minipass/dist/esm/index.js.map +0 -1
- package/eleventy/node_modules/minipass/dist/esm/package.json +0 -3
- package/eleventy/node_modules/minipass/package.json +0 -82
- package/eleventy/node_modules/mkdirp/LICENSE +0 -21
- package/eleventy/node_modules/mkdirp/dist/cjs/package.json +0 -91
- package/eleventy/node_modules/mkdirp/dist/cjs/src/bin.d.ts +0 -3
- package/eleventy/node_modules/mkdirp/dist/cjs/src/bin.d.ts.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/cjs/src/bin.js +0 -80
- package/eleventy/node_modules/mkdirp/dist/cjs/src/bin.js.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/cjs/src/find-made.d.ts +0 -4
- package/eleventy/node_modules/mkdirp/dist/cjs/src/find-made.d.ts.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/cjs/src/find-made.js +0 -35
- package/eleventy/node_modules/mkdirp/dist/cjs/src/find-made.js.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/cjs/src/index.d.ts +0 -39
- package/eleventy/node_modules/mkdirp/dist/cjs/src/index.d.ts.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/cjs/src/index.js +0 -53
- package/eleventy/node_modules/mkdirp/dist/cjs/src/index.js.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/cjs/src/mkdirp-manual.d.ts +0 -6
- package/eleventy/node_modules/mkdirp/dist/cjs/src/mkdirp-manual.d.ts.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/cjs/src/mkdirp-manual.js +0 -79
- package/eleventy/node_modules/mkdirp/dist/cjs/src/mkdirp-manual.js.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/cjs/src/mkdirp-native.d.ts +0 -6
- package/eleventy/node_modules/mkdirp/dist/cjs/src/mkdirp-native.d.ts.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/cjs/src/mkdirp-native.js +0 -50
- package/eleventy/node_modules/mkdirp/dist/cjs/src/mkdirp-native.js.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/cjs/src/opts-arg.d.ts +0 -42
- package/eleventy/node_modules/mkdirp/dist/cjs/src/opts-arg.d.ts.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/cjs/src/opts-arg.js +0 -38
- package/eleventy/node_modules/mkdirp/dist/cjs/src/opts-arg.js.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/cjs/src/path-arg.d.ts +0 -2
- package/eleventy/node_modules/mkdirp/dist/cjs/src/path-arg.d.ts.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/cjs/src/path-arg.js +0 -28
- package/eleventy/node_modules/mkdirp/dist/cjs/src/path-arg.js.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/cjs/src/use-native.d.ts +0 -6
- package/eleventy/node_modules/mkdirp/dist/cjs/src/use-native.d.ts.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/cjs/src/use-native.js +0 -17
- package/eleventy/node_modules/mkdirp/dist/cjs/src/use-native.js.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/mjs/find-made.d.ts +0 -4
- package/eleventy/node_modules/mkdirp/dist/mjs/find-made.d.ts.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/mjs/find-made.js +0 -30
- package/eleventy/node_modules/mkdirp/dist/mjs/find-made.js.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/mjs/index.d.ts +0 -39
- package/eleventy/node_modules/mkdirp/dist/mjs/index.d.ts.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/mjs/index.js +0 -43
- package/eleventy/node_modules/mkdirp/dist/mjs/index.js.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/mjs/mkdirp-manual.d.ts +0 -6
- package/eleventy/node_modules/mkdirp/dist/mjs/mkdirp-manual.d.ts.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/mjs/mkdirp-manual.js +0 -75
- package/eleventy/node_modules/mkdirp/dist/mjs/mkdirp-manual.js.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/mjs/mkdirp-native.d.ts +0 -6
- package/eleventy/node_modules/mkdirp/dist/mjs/mkdirp-native.d.ts.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/mjs/mkdirp-native.js +0 -46
- package/eleventy/node_modules/mkdirp/dist/mjs/mkdirp-native.js.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/mjs/opts-arg.d.ts +0 -42
- package/eleventy/node_modules/mkdirp/dist/mjs/opts-arg.d.ts.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/mjs/opts-arg.js +0 -34
- package/eleventy/node_modules/mkdirp/dist/mjs/opts-arg.js.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/mjs/package.json +0 -3
- package/eleventy/node_modules/mkdirp/dist/mjs/path-arg.d.ts +0 -2
- package/eleventy/node_modules/mkdirp/dist/mjs/path-arg.d.ts.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/mjs/path-arg.js +0 -24
- package/eleventy/node_modules/mkdirp/dist/mjs/path-arg.js.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/mjs/use-native.d.ts +0 -6
- package/eleventy/node_modules/mkdirp/dist/mjs/use-native.d.ts.map +0 -1
- package/eleventy/node_modules/mkdirp/dist/mjs/use-native.js +0 -14
- package/eleventy/node_modules/mkdirp/dist/mjs/use-native.js.map +0 -1
- package/eleventy/node_modules/mkdirp/package.json +0 -91
- package/eleventy/node_modules/mkdirp/readme.markdown +0 -281
- package/eleventy/node_modules/moo/LICENSE +0 -29
- package/eleventy/node_modules/moo/README.md +0 -383
- package/eleventy/node_modules/moo/moo.js +0 -642
- package/eleventy/node_modules/moo/package.json +0 -29
- package/eleventy/node_modules/morphdom/CHANGELOG.md +0 -243
- package/eleventy/node_modules/morphdom/LICENSE +0 -21
- package/eleventy/node_modules/morphdom/README.md +0 -260
- package/eleventy/node_modules/morphdom/dist/morphdom-esm.js +0 -769
- package/eleventy/node_modules/morphdom/dist/morphdom-factory.js +0 -705
- package/eleventy/node_modules/morphdom/dist/morphdom-umd.js +0 -777
- package/eleventy/node_modules/morphdom/dist/morphdom-umd.min.js +0 -1
- package/eleventy/node_modules/morphdom/dist/morphdom.js +0 -771
- package/eleventy/node_modules/morphdom/docs/old-benchmark.md +0 -204
- package/eleventy/node_modules/morphdom/docs/virtual-dom.md +0 -38
- package/eleventy/node_modules/morphdom/factory.js +0 -1
- package/eleventy/node_modules/morphdom/index.d.ts +0 -19
- package/eleventy/node_modules/morphdom/package.json +0 -63
- package/eleventy/node_modules/morphdom/src/index.js +0 -6
- package/eleventy/node_modules/morphdom/src/morphAttrs.js +0 -63
- package/eleventy/node_modules/morphdom/src/morphdom.js +0 -482
- package/eleventy/node_modules/morphdom/src/specialElHandlers.js +0 -110
- package/eleventy/node_modules/morphdom/src/util.js +0 -113
- package/eleventy/node_modules/ms/index.js +0 -162
- package/eleventy/node_modules/ms/license.md +0 -21
- package/eleventy/node_modules/ms/package.json +0 -38
- package/eleventy/node_modules/ms/readme.md +0 -59
- package/eleventy/node_modules/node-retrieve-globals/.github/workflows/ci.yml +0 -23
- package/eleventy/node_modules/node-retrieve-globals/LICENSE +0 -21
- package/eleventy/node_modules/node-retrieve-globals/README.md +0 -91
- package/eleventy/node_modules/node-retrieve-globals/package.json +0 -30
- package/eleventy/node_modules/node-retrieve-globals/retrieveGlobals.js +0 -374
- package/eleventy/node_modules/node-retrieve-globals/test/test.js +0 -270
- package/eleventy/node_modules/node-retrieve-globals/util/getWorkingDirectory.js +0 -18
- package/eleventy/node_modules/node-retrieve-globals/util/vmModules.js +0 -23
- package/eleventy/node_modules/normalize-path/LICENSE +0 -21
- package/eleventy/node_modules/normalize-path/README.md +0 -127
- package/eleventy/node_modules/normalize-path/index.js +0 -35
- package/eleventy/node_modules/normalize-path/package.json +0 -77
- package/eleventy/node_modules/nunjucks/LICENSE +0 -26
- package/eleventy/node_modules/nunjucks/README.md +0 -58
- package/eleventy/node_modules/nunjucks/bin/precompile +0 -58
- package/eleventy/node_modules/nunjucks/bin/precompile.cmd +0 -5
- package/eleventy/node_modules/nunjucks/browser/nunjucks-slim.js +0 -3709
- package/eleventy/node_modules/nunjucks/browser/nunjucks-slim.js.map +0 -1
- package/eleventy/node_modules/nunjucks/browser/nunjucks-slim.min.js +0 -3
- package/eleventy/node_modules/nunjucks/browser/nunjucks-slim.min.js.map +0 -1
- package/eleventy/node_modules/nunjucks/browser/nunjucks.js +0 -7021
- package/eleventy/node_modules/nunjucks/browser/nunjucks.js.map +0 -1
- package/eleventy/node_modules/nunjucks/browser/nunjucks.min.js +0 -3
- package/eleventy/node_modules/nunjucks/browser/nunjucks.min.js.map +0 -1
- package/eleventy/node_modules/nunjucks/index.js +0 -82
- package/eleventy/node_modules/nunjucks/node_modules/commander/CHANGELOG.md +0 -385
- package/eleventy/node_modules/nunjucks/node_modules/commander/LICENSE +0 -22
- package/eleventy/node_modules/nunjucks/node_modules/commander/Readme.md +0 -737
- package/eleventy/node_modules/nunjucks/node_modules/commander/index.js +0 -1756
- package/eleventy/node_modules/nunjucks/node_modules/commander/package.json +0 -48
- package/eleventy/node_modules/nunjucks/node_modules/commander/typings/index.d.ts +0 -386
- package/eleventy/node_modules/nunjucks/package.json +0 -112
- package/eleventy/node_modules/nunjucks/src/compiler.js +0 -1027
- package/eleventy/node_modules/nunjucks/src/environment.js +0 -548
- package/eleventy/node_modules/nunjucks/src/express-app.js +0 -23
- package/eleventy/node_modules/nunjucks/src/filters.js +0 -546
- package/eleventy/node_modules/nunjucks/src/globals.js +0 -65
- package/eleventy/node_modules/nunjucks/src/jinja-compat.js +0 -293
- package/eleventy/node_modules/nunjucks/src/lexer.js +0 -474
- package/eleventy/node_modules/nunjucks/src/lib.js +0 -325
- package/eleventy/node_modules/nunjucks/src/loader.js +0 -21
- package/eleventy/node_modules/nunjucks/src/loaders.js +0 -5
- package/eleventy/node_modules/nunjucks/src/node-loaders.js +0 -139
- package/eleventy/node_modules/nunjucks/src/nodes.js +0 -350
- package/eleventy/node_modules/nunjucks/src/object.js +0 -100
- package/eleventy/node_modules/nunjucks/src/parser.js +0 -1028
- package/eleventy/node_modules/nunjucks/src/precompile-global.js +0 -17
- package/eleventy/node_modules/nunjucks/src/precompile.js +0 -108
- package/eleventy/node_modules/nunjucks/src/precompiled-loader.js +0 -31
- package/eleventy/node_modules/nunjucks/src/runtime.js +0 -333
- package/eleventy/node_modules/nunjucks/src/tests.js +0 -265
- package/eleventy/node_modules/nunjucks/src/transformer.js +0 -166
- package/eleventy/node_modules/nunjucks/src/web-loaders.js +0 -94
- package/eleventy/node_modules/on-finished/HISTORY.md +0 -98
- package/eleventy/node_modules/on-finished/LICENSE +0 -23
- package/eleventy/node_modules/on-finished/README.md +0 -162
- package/eleventy/node_modules/on-finished/index.js +0 -234
- package/eleventy/node_modules/on-finished/package.json +0 -39
- package/eleventy/node_modules/package-json-from-dist/LICENSE.md +0 -63
- package/eleventy/node_modules/package-json-from-dist/README.md +0 -110
- package/eleventy/node_modules/package-json-from-dist/dist/commonjs/index.d.ts +0 -89
- package/eleventy/node_modules/package-json-from-dist/dist/commonjs/index.d.ts.map +0 -1
- package/eleventy/node_modules/package-json-from-dist/dist/commonjs/index.js +0 -134
- package/eleventy/node_modules/package-json-from-dist/dist/commonjs/index.js.map +0 -1
- package/eleventy/node_modules/package-json-from-dist/dist/commonjs/package.json +0 -3
- package/eleventy/node_modules/package-json-from-dist/dist/esm/index.d.ts +0 -89
- package/eleventy/node_modules/package-json-from-dist/dist/esm/index.d.ts.map +0 -1
- package/eleventy/node_modules/package-json-from-dist/dist/esm/index.js +0 -129
- package/eleventy/node_modules/package-json-from-dist/dist/esm/index.js.map +0 -1
- package/eleventy/node_modules/package-json-from-dist/dist/esm/package.json +0 -3
- package/eleventy/node_modules/package-json-from-dist/package.json +0 -68
- package/eleventy/node_modules/parse-srcset/.jscs.json +0 -83
- package/eleventy/node_modules/parse-srcset/.jshintrc +0 -15
- package/eleventy/node_modules/parse-srcset/LICENSE +0 -22
- package/eleventy/node_modules/parse-srcset/README.md +0 -19
- package/eleventy/node_modules/parse-srcset/package.json +0 -25
- package/eleventy/node_modules/parse-srcset/src/parse-srcset.js +0 -330
- package/eleventy/node_modules/parse-srcset/tests/he.js +0 -329
- package/eleventy/node_modules/parse-srcset/tests/intern.js +0 -74
- package/eleventy/node_modules/parse-srcset/tests/unit/ps.js +0 -345
- package/eleventy/node_modules/parseurl/HISTORY.md +0 -58
- package/eleventy/node_modules/parseurl/LICENSE +0 -24
- package/eleventy/node_modules/parseurl/README.md +0 -133
- package/eleventy/node_modules/parseurl/index.js +0 -158
- package/eleventy/node_modules/parseurl/package.json +0 -40
- package/eleventy/node_modules/path-key/index.d.ts +0 -40
- package/eleventy/node_modules/path-key/index.js +0 -16
- package/eleventy/node_modules/path-key/license +0 -9
- package/eleventy/node_modules/path-key/package.json +0 -39
- package/eleventy/node_modules/path-key/readme.md +0 -61
- package/eleventy/node_modules/path-scurry/LICENSE.md +0 -55
- package/eleventy/node_modules/path-scurry/README.md +0 -636
- package/eleventy/node_modules/path-scurry/dist/commonjs/index.d.ts +0 -1116
- package/eleventy/node_modules/path-scurry/dist/commonjs/index.d.ts.map +0 -1
- package/eleventy/node_modules/path-scurry/dist/commonjs/index.js +0 -2014
- package/eleventy/node_modules/path-scurry/dist/commonjs/index.js.map +0 -1
- package/eleventy/node_modules/path-scurry/dist/commonjs/package.json +0 -3
- package/eleventy/node_modules/path-scurry/dist/esm/index.d.ts +0 -1116
- package/eleventy/node_modules/path-scurry/dist/esm/index.d.ts.map +0 -1
- package/eleventy/node_modules/path-scurry/dist/esm/index.js +0 -1979
- package/eleventy/node_modules/path-scurry/dist/esm/index.js.map +0 -1
- package/eleventy/node_modules/path-scurry/dist/esm/package.json +0 -3
- package/eleventy/node_modules/path-scurry/package.json +0 -89
- package/eleventy/node_modules/picomatch/CHANGELOG.md +0 -136
- package/eleventy/node_modules/picomatch/LICENSE +0 -21
- package/eleventy/node_modules/picomatch/README.md +0 -708
- package/eleventy/node_modules/picomatch/index.js +0 -3
- package/eleventy/node_modules/picomatch/lib/constants.js +0 -179
- package/eleventy/node_modules/picomatch/lib/parse.js +0 -1091
- package/eleventy/node_modules/picomatch/lib/picomatch.js +0 -342
- package/eleventy/node_modules/picomatch/lib/scan.js +0 -391
- package/eleventy/node_modules/picomatch/lib/utils.js +0 -64
- package/eleventy/node_modules/picomatch/package.json +0 -81
- package/eleventy/node_modules/pify/index.js +0 -68
- package/eleventy/node_modules/pify/license +0 -21
- package/eleventy/node_modules/pify/package.json +0 -48
- package/eleventy/node_modules/pify/readme.md +0 -119
- package/eleventy/node_modules/please-upgrade-node/.eslintrc.js +0 -12
- package/eleventy/node_modules/please-upgrade-node/.github/FUNDING.yml +0 -1
- package/eleventy/node_modules/please-upgrade-node/LICENSE +0 -21
- package/eleventy/node_modules/please-upgrade-node/README.md +0 -72
- package/eleventy/node_modules/please-upgrade-node/index.d.ts +0 -11
- package/eleventy/node_modules/please-upgrade-node/index.js +0 -25
- package/eleventy/node_modules/please-upgrade-node/package.json +0 -46
- package/eleventy/node_modules/posthtml/lib/api.js +0 -145
- package/eleventy/node_modules/posthtml/lib/index.js +0 -323
- package/eleventy/node_modules/posthtml/license +0 -21
- package/eleventy/node_modules/posthtml/package.json +0 -64
- package/eleventy/node_modules/posthtml/readme.md +0 -412
- package/eleventy/node_modules/posthtml/types/posthtml.d.ts +0 -108
- package/eleventy/node_modules/posthtml-match-helper/LICENSE +0 -21
- package/eleventy/node_modules/posthtml-match-helper/README.md +0 -84
- package/eleventy/node_modules/posthtml-match-helper/lib/index.d.ts +0 -10
- package/eleventy/node_modules/posthtml-match-helper/lib/index.js +0 -149
- package/eleventy/node_modules/posthtml-match-helper/package.json +0 -41
- package/eleventy/node_modules/posthtml-parser/dist/chunk.2UQLUWPH.js +0 -1
- package/eleventy/node_modules/posthtml-parser/dist/index.d.ts +0 -27
- package/eleventy/node_modules/posthtml-parser/dist/index.js +0 -1
- package/eleventy/node_modules/posthtml-parser/dist/location-tracker.d.ts +0 -17
- package/eleventy/node_modules/posthtml-parser/dist/location-tracker.js +0 -1
- package/eleventy/node_modules/posthtml-parser/license +0 -22
- package/eleventy/node_modules/posthtml-parser/package.json +0 -69
- package/eleventy/node_modules/posthtml-parser/readme.md +0 -130
- package/eleventy/node_modules/posthtml-render/changelog.md +0 -310
- package/eleventy/node_modules/posthtml-render/dist/index.d.ts +0 -67
- package/eleventy/node_modules/posthtml-render/dist/index.js +0 -1
- package/eleventy/node_modules/posthtml-render/license +0 -22
- package/eleventy/node_modules/posthtml-render/package.json +0 -55
- package/eleventy/node_modules/posthtml-render/readme.md +0 -225
- package/eleventy/node_modules/promise/.jshintrc +0 -5
- package/eleventy/node_modules/promise/LICENSE +0 -19
- package/eleventy/node_modules/promise/Readme.md +0 -231
- package/eleventy/node_modules/promise/build.js +0 -69
- package/eleventy/node_modules/promise/core.js +0 -5
- package/eleventy/node_modules/promise/domains/core.js +0 -213
- package/eleventy/node_modules/promise/domains/done.js +0 -13
- package/eleventy/node_modules/promise/domains/es6-extensions.js +0 -107
- package/eleventy/node_modules/promise/domains/finally.js +0 -16
- package/eleventy/node_modules/promise/domains/index.js +0 -8
- package/eleventy/node_modules/promise/domains/node-extensions.js +0 -130
- package/eleventy/node_modules/promise/domains/rejection-tracking.js +0 -113
- package/eleventy/node_modules/promise/domains/synchronous.js +0 -62
- package/eleventy/node_modules/promise/index.d.ts +0 -256
- package/eleventy/node_modules/promise/index.js +0 -3
- package/eleventy/node_modules/promise/lib/core.js +0 -213
- package/eleventy/node_modules/promise/lib/done.js +0 -13
- package/eleventy/node_modules/promise/lib/es6-extensions.js +0 -107
- package/eleventy/node_modules/promise/lib/finally.js +0 -16
- package/eleventy/node_modules/promise/lib/index.js +0 -8
- package/eleventy/node_modules/promise/lib/node-extensions.js +0 -130
- package/eleventy/node_modules/promise/lib/rejection-tracking.js +0 -113
- package/eleventy/node_modules/promise/lib/synchronous.js +0 -62
- package/eleventy/node_modules/promise/package.json +0 -35
- package/eleventy/node_modules/promise/polyfill-done.js +0 -12
- package/eleventy/node_modules/promise/polyfill.js +0 -10
- package/eleventy/node_modules/promise/setimmediate/core.js +0 -213
- package/eleventy/node_modules/promise/setimmediate/done.js +0 -13
- package/eleventy/node_modules/promise/setimmediate/es6-extensions.js +0 -107
- package/eleventy/node_modules/promise/setimmediate/finally.js +0 -16
- package/eleventy/node_modules/promise/setimmediate/index.js +0 -8
- package/eleventy/node_modules/promise/setimmediate/node-extensions.js +0 -130
- package/eleventy/node_modules/promise/setimmediate/rejection-tracking.js +0 -113
- package/eleventy/node_modules/promise/setimmediate/synchronous.js +0 -62
- package/eleventy/node_modules/promise/src/core.js +0 -213
- package/eleventy/node_modules/promise/src/done.js +0 -13
- package/eleventy/node_modules/promise/src/es6-extensions.js +0 -107
- package/eleventy/node_modules/promise/src/finally.js +0 -16
- package/eleventy/node_modules/promise/src/index.js +0 -8
- package/eleventy/node_modules/promise/src/node-extensions.js +0 -130
- package/eleventy/node_modules/promise/src/rejection-tracking.js +0 -113
- package/eleventy/node_modules/promise/src/synchronous.js +0 -62
- package/eleventy/node_modules/prr/.jshintrc +0 -61
- package/eleventy/node_modules/prr/.travis.yml +0 -10
- package/eleventy/node_modules/prr/LICENSE.md +0 -11
- package/eleventy/node_modules/prr/README.md +0 -47
- package/eleventy/node_modules/prr/package.json +0 -26
- package/eleventy/node_modules/prr/prr.js +0 -63
- package/eleventy/node_modules/prr/test.js +0 -169
- package/eleventy/node_modules/punycode.js/LICENSE-MIT.txt +0 -20
- package/eleventy/node_modules/punycode.js/README.md +0 -148
- package/eleventy/node_modules/punycode.js/package.json +0 -58
- package/eleventy/node_modules/punycode.js/punycode.es6.js +0 -444
- package/eleventy/node_modules/punycode.js/punycode.js +0 -443
- package/eleventy/node_modules/queue-microtask/LICENSE +0 -20
- package/eleventy/node_modules/queue-microtask/README.md +0 -90
- package/eleventy/node_modules/queue-microtask/index.d.ts +0 -2
- package/eleventy/node_modules/queue-microtask/index.js +0 -9
- package/eleventy/node_modules/queue-microtask/package.json +0 -55
- package/eleventy/node_modules/range-parser/HISTORY.md +0 -56
- package/eleventy/node_modules/range-parser/LICENSE +0 -23
- package/eleventy/node_modules/range-parser/README.md +0 -84
- package/eleventy/node_modules/range-parser/index.js +0 -162
- package/eleventy/node_modules/range-parser/package.json +0 -44
- package/eleventy/node_modules/readdirp/LICENSE +0 -21
- package/eleventy/node_modules/readdirp/README.md +0 -122
- package/eleventy/node_modules/readdirp/index.d.ts +0 -43
- package/eleventy/node_modules/readdirp/index.js +0 -287
- package/eleventy/node_modules/readdirp/package.json +0 -122
- package/eleventy/node_modules/reusify/.coveralls.yml +0 -1
- package/eleventy/node_modules/reusify/.travis.yml +0 -28
- package/eleventy/node_modules/reusify/LICENSE +0 -22
- package/eleventy/node_modules/reusify/README.md +0 -145
- package/eleventy/node_modules/reusify/benchmarks/createNoCodeFunction.js +0 -30
- package/eleventy/node_modules/reusify/benchmarks/fib.js +0 -13
- package/eleventy/node_modules/reusify/benchmarks/reuseNoCodeFunction.js +0 -38
- package/eleventy/node_modules/reusify/package.json +0 -45
- package/eleventy/node_modules/reusify/reusify.js +0 -33
- package/eleventy/node_modules/reusify/test.js +0 -66
- package/eleventy/node_modules/rimraf/LICENSE +0 -15
- package/eleventy/node_modules/rimraf/README.md +0 -220
- package/eleventy/node_modules/rimraf/dist/commonjs/default-tmp.d.ts +0 -3
- package/eleventy/node_modules/rimraf/dist/commonjs/default-tmp.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/default-tmp.js +0 -61
- package/eleventy/node_modules/rimraf/dist/commonjs/default-tmp.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/fix-eperm.d.ts +0 -3
- package/eleventy/node_modules/rimraf/dist/commonjs/fix-eperm.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/fix-eperm.js +0 -58
- package/eleventy/node_modules/rimraf/dist/commonjs/fix-eperm.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/fs.d.ts +0 -17
- package/eleventy/node_modules/rimraf/dist/commonjs/fs.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/fs.js +0 -46
- package/eleventy/node_modules/rimraf/dist/commonjs/fs.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/ignore-enoent.d.ts +0 -3
- package/eleventy/node_modules/rimraf/dist/commonjs/ignore-enoent.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/ignore-enoent.js +0 -21
- package/eleventy/node_modules/rimraf/dist/commonjs/ignore-enoent.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/index.d.ts +0 -50
- package/eleventy/node_modules/rimraf/dist/commonjs/index.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/index.js +0 -78
- package/eleventy/node_modules/rimraf/dist/commonjs/index.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/opt-arg.d.ts +0 -34
- package/eleventy/node_modules/rimraf/dist/commonjs/opt-arg.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/opt-arg.js +0 -53
- package/eleventy/node_modules/rimraf/dist/commonjs/opt-arg.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/package.json +0 -3
- package/eleventy/node_modules/rimraf/dist/commonjs/path-arg.d.ts +0 -4
- package/eleventy/node_modules/rimraf/dist/commonjs/path-arg.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/path-arg.js +0 -52
- package/eleventy/node_modules/rimraf/dist/commonjs/path-arg.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/platform.d.ts +0 -3
- package/eleventy/node_modules/rimraf/dist/commonjs/platform.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/platform.js +0 -4
- package/eleventy/node_modules/rimraf/dist/commonjs/platform.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/readdir-or-error.d.ts +0 -3
- package/eleventy/node_modules/rimraf/dist/commonjs/readdir-or-error.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/readdir-or-error.js +0 -19
- package/eleventy/node_modules/rimraf/dist/commonjs/readdir-or-error.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/retry-busy.d.ts +0 -8
- package/eleventy/node_modules/rimraf/dist/commonjs/retry-busy.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/retry-busy.js +0 -68
- package/eleventy/node_modules/rimraf/dist/commonjs/retry-busy.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-manual.d.ts +0 -3
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-manual.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-manual.js +0 -12
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-manual.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-move-remove.d.ts +0 -4
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-move-remove.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-move-remove.js +0 -192
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-move-remove.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-native.d.ts +0 -4
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-native.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-native.js +0 -24
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-native.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-posix.d.ts +0 -4
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-posix.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-posix.js +0 -123
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-posix.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-windows.d.ts +0 -4
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-windows.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-windows.js +0 -182
- package/eleventy/node_modules/rimraf/dist/commonjs/rimraf-windows.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/use-native.d.ts +0 -4
- package/eleventy/node_modules/rimraf/dist/commonjs/use-native.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/commonjs/use-native.js +0 -22
- package/eleventy/node_modules/rimraf/dist/commonjs/use-native.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/bin.d.mts +0 -8
- package/eleventy/node_modules/rimraf/dist/esm/bin.d.mts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/bin.mjs +0 -256
- package/eleventy/node_modules/rimraf/dist/esm/bin.mjs.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/default-tmp.d.ts +0 -3
- package/eleventy/node_modules/rimraf/dist/esm/default-tmp.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/default-tmp.js +0 -55
- package/eleventy/node_modules/rimraf/dist/esm/default-tmp.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/fix-eperm.d.ts +0 -3
- package/eleventy/node_modules/rimraf/dist/esm/fix-eperm.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/fix-eperm.js +0 -53
- package/eleventy/node_modules/rimraf/dist/esm/fix-eperm.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/fs.d.ts +0 -17
- package/eleventy/node_modules/rimraf/dist/esm/fs.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/fs.js +0 -31
- package/eleventy/node_modules/rimraf/dist/esm/fs.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/ignore-enoent.d.ts +0 -3
- package/eleventy/node_modules/rimraf/dist/esm/ignore-enoent.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/ignore-enoent.js +0 -16
- package/eleventy/node_modules/rimraf/dist/esm/ignore-enoent.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/index.d.ts +0 -50
- package/eleventy/node_modules/rimraf/dist/esm/index.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/index.js +0 -70
- package/eleventy/node_modules/rimraf/dist/esm/index.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/opt-arg.d.ts +0 -34
- package/eleventy/node_modules/rimraf/dist/esm/opt-arg.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/opt-arg.js +0 -46
- package/eleventy/node_modules/rimraf/dist/esm/opt-arg.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/package.json +0 -3
- package/eleventy/node_modules/rimraf/dist/esm/path-arg.d.ts +0 -4
- package/eleventy/node_modules/rimraf/dist/esm/path-arg.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/path-arg.js +0 -47
- package/eleventy/node_modules/rimraf/dist/esm/path-arg.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/platform.d.ts +0 -3
- package/eleventy/node_modules/rimraf/dist/esm/platform.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/platform.js +0 -2
- package/eleventy/node_modules/rimraf/dist/esm/platform.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/readdir-or-error.d.ts +0 -3
- package/eleventy/node_modules/rimraf/dist/esm/readdir-or-error.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/readdir-or-error.js +0 -14
- package/eleventy/node_modules/rimraf/dist/esm/readdir-or-error.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/retry-busy.d.ts +0 -8
- package/eleventy/node_modules/rimraf/dist/esm/retry-busy.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/retry-busy.js +0 -63
- package/eleventy/node_modules/rimraf/dist/esm/retry-busy.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-manual.d.ts +0 -3
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-manual.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-manual.js +0 -6
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-manual.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-move-remove.d.ts +0 -4
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-move-remove.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-move-remove.js +0 -187
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-move-remove.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-native.d.ts +0 -4
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-native.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-native.js +0 -19
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-native.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-posix.d.ts +0 -4
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-posix.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-posix.js +0 -118
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-posix.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-windows.d.ts +0 -4
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-windows.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-windows.js +0 -177
- package/eleventy/node_modules/rimraf/dist/esm/rimraf-windows.js.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/use-native.d.ts +0 -4
- package/eleventy/node_modules/rimraf/dist/esm/use-native.d.ts.map +0 -1
- package/eleventy/node_modules/rimraf/dist/esm/use-native.js +0 -16
- package/eleventy/node_modules/rimraf/dist/esm/use-native.js.map +0 -1
- package/eleventy/node_modules/rimraf/package.json +0 -89
- package/eleventy/node_modules/run-parallel/LICENSE +0 -20
- package/eleventy/node_modules/run-parallel/README.md +0 -85
- package/eleventy/node_modules/run-parallel/index.js +0 -51
- package/eleventy/node_modules/run-parallel/package.json +0 -58
- package/eleventy/node_modules/section-matter/LICENSE +0 -21
- package/eleventy/node_modules/section-matter/README.md +0 -236
- package/eleventy/node_modules/section-matter/index.js +0 -136
- package/eleventy/node_modules/section-matter/package.json +0 -55
- package/eleventy/node_modules/semver/LICENSE +0 -15
- package/eleventy/node_modules/semver/README.md +0 -654
- package/eleventy/node_modules/semver/bin/semver.js +0 -188
- package/eleventy/node_modules/semver/classes/comparator.js +0 -141
- package/eleventy/node_modules/semver/classes/index.js +0 -5
- package/eleventy/node_modules/semver/classes/range.js +0 -554
- package/eleventy/node_modules/semver/classes/semver.js +0 -302
- package/eleventy/node_modules/semver/functions/clean.js +0 -6
- package/eleventy/node_modules/semver/functions/cmp.js +0 -52
- package/eleventy/node_modules/semver/functions/coerce.js +0 -60
- package/eleventy/node_modules/semver/functions/compare-build.js +0 -7
- package/eleventy/node_modules/semver/functions/compare-loose.js +0 -3
- package/eleventy/node_modules/semver/functions/compare.js +0 -5
- package/eleventy/node_modules/semver/functions/diff.js +0 -65
- package/eleventy/node_modules/semver/functions/eq.js +0 -3
- package/eleventy/node_modules/semver/functions/gt.js +0 -3
- package/eleventy/node_modules/semver/functions/gte.js +0 -3
- package/eleventy/node_modules/semver/functions/inc.js +0 -19
- package/eleventy/node_modules/semver/functions/lt.js +0 -3
- package/eleventy/node_modules/semver/functions/lte.js +0 -3
- package/eleventy/node_modules/semver/functions/major.js +0 -3
- package/eleventy/node_modules/semver/functions/minor.js +0 -3
- package/eleventy/node_modules/semver/functions/neq.js +0 -3
- package/eleventy/node_modules/semver/functions/parse.js +0 -16
- package/eleventy/node_modules/semver/functions/patch.js +0 -3
- package/eleventy/node_modules/semver/functions/prerelease.js +0 -6
- package/eleventy/node_modules/semver/functions/rcompare.js +0 -3
- package/eleventy/node_modules/semver/functions/rsort.js +0 -3
- package/eleventy/node_modules/semver/functions/satisfies.js +0 -10
- package/eleventy/node_modules/semver/functions/sort.js +0 -3
- package/eleventy/node_modules/semver/functions/valid.js +0 -6
- package/eleventy/node_modules/semver/index.js +0 -89
- package/eleventy/node_modules/semver/internal/constants.js +0 -35
- package/eleventy/node_modules/semver/internal/debug.js +0 -9
- package/eleventy/node_modules/semver/internal/identifiers.js +0 -23
- package/eleventy/node_modules/semver/internal/lrucache.js +0 -40
- package/eleventy/node_modules/semver/internal/parse-options.js +0 -15
- package/eleventy/node_modules/semver/internal/re.js +0 -217
- package/eleventy/node_modules/semver/package.json +0 -77
- package/eleventy/node_modules/semver/preload.js +0 -2
- package/eleventy/node_modules/semver/range.bnf +0 -16
- package/eleventy/node_modules/semver/ranges/gtr.js +0 -4
- package/eleventy/node_modules/semver/ranges/intersects.js +0 -7
- package/eleventy/node_modules/semver/ranges/ltr.js +0 -4
- package/eleventy/node_modules/semver/ranges/max-satisfying.js +0 -25
- package/eleventy/node_modules/semver/ranges/min-satisfying.js +0 -24
- package/eleventy/node_modules/semver/ranges/min-version.js +0 -61
- package/eleventy/node_modules/semver/ranges/outside.js +0 -80
- package/eleventy/node_modules/semver/ranges/simplify.js +0 -47
- package/eleventy/node_modules/semver/ranges/subset.js +0 -247
- package/eleventy/node_modules/semver/ranges/to-comparators.js +0 -8
- package/eleventy/node_modules/semver/ranges/valid.js +0 -11
- package/eleventy/node_modules/semver-compare/.travis.yml +0 -6
- package/eleventy/node_modules/semver-compare/LICENSE +0 -18
- package/eleventy/node_modules/semver-compare/example/cmp.js +0 -13
- package/eleventy/node_modules/semver-compare/example/lex.js +0 -12
- package/eleventy/node_modules/semver-compare/index.js +0 -13
- package/eleventy/node_modules/semver-compare/package.json +0 -31
- package/eleventy/node_modules/semver-compare/readme.markdown +0 -77
- package/eleventy/node_modules/semver-compare/test/cmp.js +0 -29
- package/eleventy/node_modules/send/HISTORY.md +0 -571
- package/eleventy/node_modules/send/LICENSE +0 -23
- package/eleventy/node_modules/send/README.md +0 -320
- package/eleventy/node_modules/send/SECURITY.md +0 -24
- package/eleventy/node_modules/send/index.js +0 -1014
- package/eleventy/node_modules/send/package.json +0 -62
- package/eleventy/node_modules/setprototypeof/LICENSE +0 -13
- package/eleventy/node_modules/setprototypeof/README.md +0 -31
- package/eleventy/node_modules/setprototypeof/index.d.ts +0 -2
- package/eleventy/node_modules/setprototypeof/index.js +0 -17
- package/eleventy/node_modules/setprototypeof/package.json +0 -38
- package/eleventy/node_modules/setprototypeof/test/index.js +0 -24
- package/eleventy/node_modules/shebang-command/index.js +0 -19
- package/eleventy/node_modules/shebang-command/license +0 -9
- package/eleventy/node_modules/shebang-command/package.json +0 -34
- package/eleventy/node_modules/shebang-command/readme.md +0 -34
- package/eleventy/node_modules/shebang-regex/index.d.ts +0 -22
- package/eleventy/node_modules/shebang-regex/index.js +0 -2
- package/eleventy/node_modules/shebang-regex/license +0 -9
- package/eleventy/node_modules/shebang-regex/package.json +0 -35
- package/eleventy/node_modules/shebang-regex/readme.md +0 -33
- package/eleventy/node_modules/signal-exit/LICENSE.txt +0 -16
- package/eleventy/node_modules/signal-exit/README.md +0 -74
- package/eleventy/node_modules/signal-exit/dist/cjs/browser.d.ts +0 -12
- package/eleventy/node_modules/signal-exit/dist/cjs/browser.d.ts.map +0 -1
- package/eleventy/node_modules/signal-exit/dist/cjs/browser.js +0 -10
- package/eleventy/node_modules/signal-exit/dist/cjs/browser.js.map +0 -1
- package/eleventy/node_modules/signal-exit/dist/cjs/index.d.ts +0 -48
- package/eleventy/node_modules/signal-exit/dist/cjs/index.d.ts.map +0 -1
- package/eleventy/node_modules/signal-exit/dist/cjs/index.js +0 -279
- package/eleventy/node_modules/signal-exit/dist/cjs/index.js.map +0 -1
- package/eleventy/node_modules/signal-exit/dist/cjs/package.json +0 -3
- package/eleventy/node_modules/signal-exit/dist/cjs/signals.d.ts +0 -29
- package/eleventy/node_modules/signal-exit/dist/cjs/signals.d.ts.map +0 -1
- package/eleventy/node_modules/signal-exit/dist/cjs/signals.js +0 -42
- package/eleventy/node_modules/signal-exit/dist/cjs/signals.js.map +0 -1
- package/eleventy/node_modules/signal-exit/dist/mjs/browser.d.ts +0 -12
- package/eleventy/node_modules/signal-exit/dist/mjs/browser.d.ts.map +0 -1
- package/eleventy/node_modules/signal-exit/dist/mjs/browser.js +0 -4
- package/eleventy/node_modules/signal-exit/dist/mjs/browser.js.map +0 -1
- package/eleventy/node_modules/signal-exit/dist/mjs/index.d.ts +0 -48
- package/eleventy/node_modules/signal-exit/dist/mjs/index.d.ts.map +0 -1
- package/eleventy/node_modules/signal-exit/dist/mjs/index.js +0 -275
- package/eleventy/node_modules/signal-exit/dist/mjs/index.js.map +0 -1
- package/eleventy/node_modules/signal-exit/dist/mjs/package.json +0 -3
- package/eleventy/node_modules/signal-exit/dist/mjs/signals.d.ts +0 -29
- package/eleventy/node_modules/signal-exit/dist/mjs/signals.d.ts.map +0 -1
- package/eleventy/node_modules/signal-exit/dist/mjs/signals.js +0 -39
- package/eleventy/node_modules/signal-exit/dist/mjs/signals.js.map +0 -1
- package/eleventy/node_modules/signal-exit/package.json +0 -106
- package/eleventy/node_modules/slash/index.js +0 -11
- package/eleventy/node_modules/slash/package.json +0 -33
- package/eleventy/node_modules/slash/readme.md +0 -44
- package/eleventy/node_modules/slugify/CHANGELOG.md +0 -94
- package/eleventy/node_modules/slugify/LICENSE +0 -21
- package/eleventy/node_modules/slugify/README.md +0 -98
- package/eleventy/node_modules/slugify/package.json +0 -42
- package/eleventy/node_modules/slugify/slugify.d.ts +0 -24
- package/eleventy/node_modules/slugify/slugify.js +0 -69
- package/eleventy/node_modules/sprintf-js/LICENSE +0 -24
- package/eleventy/node_modules/sprintf-js/README.md +0 -88
- package/eleventy/node_modules/sprintf-js/bower.json +0 -14
- package/eleventy/node_modules/sprintf-js/demo/angular.html +0 -20
- package/eleventy/node_modules/sprintf-js/dist/angular-sprintf.min.js +0 -4
- package/eleventy/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +0 -1
- package/eleventy/node_modules/sprintf-js/dist/angular-sprintf.min.map +0 -1
- package/eleventy/node_modules/sprintf-js/dist/sprintf.min.js +0 -4
- package/eleventy/node_modules/sprintf-js/dist/sprintf.min.js.map +0 -1
- package/eleventy/node_modules/sprintf-js/dist/sprintf.min.map +0 -1
- package/eleventy/node_modules/sprintf-js/gruntfile.js +0 -36
- package/eleventy/node_modules/sprintf-js/package.json +0 -22
- package/eleventy/node_modules/sprintf-js/src/angular-sprintf.js +0 -18
- package/eleventy/node_modules/sprintf-js/src/sprintf.js +0 -208
- package/eleventy/node_modules/sprintf-js/test/test.js +0 -82
- package/eleventy/node_modules/ssri/LICENSE.md +0 -16
- package/eleventy/node_modules/ssri/README.md +0 -528
- package/eleventy/node_modules/ssri/lib/index.js +0 -580
- package/eleventy/node_modules/ssri/package.json +0 -66
- package/eleventy/node_modules/statuses/HISTORY.md +0 -82
- package/eleventy/node_modules/statuses/LICENSE +0 -23
- package/eleventy/node_modules/statuses/README.md +0 -136
- package/eleventy/node_modules/statuses/codes.json +0 -65
- package/eleventy/node_modules/statuses/index.js +0 -146
- package/eleventy/node_modules/statuses/package.json +0 -49
- package/eleventy/node_modules/string-width/index.d.ts +0 -29
- package/eleventy/node_modules/string-width/index.js +0 -54
- package/eleventy/node_modules/string-width/license +0 -9
- package/eleventy/node_modules/string-width/package.json +0 -59
- package/eleventy/node_modules/string-width/readme.md +0 -67
- package/eleventy/node_modules/string-width-cjs/index.d.ts +0 -29
- package/eleventy/node_modules/string-width-cjs/index.js +0 -47
- package/eleventy/node_modules/string-width-cjs/license +0 -9
- package/eleventy/node_modules/string-width-cjs/node_modules/ansi-regex/index.d.ts +0 -37
- package/eleventy/node_modules/string-width-cjs/node_modules/ansi-regex/index.js +0 -10
- package/eleventy/node_modules/string-width-cjs/node_modules/ansi-regex/license +0 -9
- package/eleventy/node_modules/string-width-cjs/node_modules/ansi-regex/package.json +0 -55
- package/eleventy/node_modules/string-width-cjs/node_modules/ansi-regex/readme.md +0 -78
- package/eleventy/node_modules/string-width-cjs/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
- package/eleventy/node_modules/string-width-cjs/node_modules/emoji-regex/README.md +0 -73
- package/eleventy/node_modules/string-width-cjs/node_modules/emoji-regex/es2015/index.js +0 -6
- package/eleventy/node_modules/string-width-cjs/node_modules/emoji-regex/es2015/text.js +0 -6
- package/eleventy/node_modules/string-width-cjs/node_modules/emoji-regex/index.d.ts +0 -23
- package/eleventy/node_modules/string-width-cjs/node_modules/emoji-regex/index.js +0 -6
- package/eleventy/node_modules/string-width-cjs/node_modules/emoji-regex/package.json +0 -50
- package/eleventy/node_modules/string-width-cjs/node_modules/emoji-regex/text.js +0 -6
- package/eleventy/node_modules/string-width-cjs/node_modules/strip-ansi/index.d.ts +0 -17
- package/eleventy/node_modules/string-width-cjs/node_modules/strip-ansi/index.js +0 -4
- package/eleventy/node_modules/string-width-cjs/node_modules/strip-ansi/license +0 -9
- package/eleventy/node_modules/string-width-cjs/node_modules/strip-ansi/package.json +0 -54
- package/eleventy/node_modules/string-width-cjs/node_modules/strip-ansi/readme.md +0 -46
- package/eleventy/node_modules/string-width-cjs/package.json +0 -56
- package/eleventy/node_modules/string-width-cjs/readme.md +0 -50
- package/eleventy/node_modules/strip-ansi/index.d.ts +0 -15
- package/eleventy/node_modules/strip-ansi/index.js +0 -14
- package/eleventy/node_modules/strip-ansi/license +0 -9
- package/eleventy/node_modules/strip-ansi/package.json +0 -57
- package/eleventy/node_modules/strip-ansi/readme.md +0 -41
- package/eleventy/node_modules/strip-ansi-cjs/index.d.ts +0 -17
- package/eleventy/node_modules/strip-ansi-cjs/index.js +0 -4
- package/eleventy/node_modules/strip-ansi-cjs/license +0 -9
- package/eleventy/node_modules/strip-ansi-cjs/node_modules/ansi-regex/index.d.ts +0 -37
- package/eleventy/node_modules/strip-ansi-cjs/node_modules/ansi-regex/index.js +0 -10
- package/eleventy/node_modules/strip-ansi-cjs/node_modules/ansi-regex/license +0 -9
- package/eleventy/node_modules/strip-ansi-cjs/node_modules/ansi-regex/package.json +0 -55
- package/eleventy/node_modules/strip-ansi-cjs/node_modules/ansi-regex/readme.md +0 -78
- package/eleventy/node_modules/strip-ansi-cjs/package.json +0 -54
- package/eleventy/node_modules/strip-ansi-cjs/readme.md +0 -46
- package/eleventy/node_modules/strip-bom-string/LICENSE +0 -21
- package/eleventy/node_modules/strip-bom-string/README.md +0 -66
- package/eleventy/node_modules/strip-bom-string/index.js +0 -15
- package/eleventy/node_modules/strip-bom-string/package.json +0 -60
- package/eleventy/node_modules/to-regex-range/LICENSE +0 -21
- package/eleventy/node_modules/to-regex-range/README.md +0 -305
- package/eleventy/node_modules/to-regex-range/index.js +0 -288
- package/eleventy/node_modules/to-regex-range/package.json +0 -88
- package/eleventy/node_modules/toidentifier/HISTORY.md +0 -9
- package/eleventy/node_modules/toidentifier/LICENSE +0 -21
- package/eleventy/node_modules/toidentifier/README.md +0 -61
- package/eleventy/node_modules/toidentifier/index.js +0 -32
- package/eleventy/node_modules/toidentifier/package.json +0 -38
- package/eleventy/node_modules/uc.micro/LICENSE.txt +0 -20
- package/eleventy/node_modules/uc.micro/README.md +0 -14
- package/eleventy/node_modules/uc.micro/categories/Cc/regex.mjs +0 -1
- package/eleventy/node_modules/uc.micro/categories/Cf/regex.mjs +0 -1
- package/eleventy/node_modules/uc.micro/categories/P/regex.mjs +0 -1
- package/eleventy/node_modules/uc.micro/categories/S/regex.mjs +0 -1
- package/eleventy/node_modules/uc.micro/categories/Z/regex.mjs +0 -1
- package/eleventy/node_modules/uc.micro/index.mjs +0 -8
- package/eleventy/node_modules/uc.micro/package.json +0 -37
- package/eleventy/node_modules/uc.micro/properties/Any/regex.mjs +0 -1
- package/eleventy/node_modules/unpipe/HISTORY.md +0 -4
- package/eleventy/node_modules/unpipe/LICENSE +0 -22
- package/eleventy/node_modules/unpipe/README.md +0 -43
- package/eleventy/node_modules/unpipe/index.js +0 -69
- package/eleventy/node_modules/unpipe/package.json +0 -27
- package/eleventy/node_modules/urlpattern-polyfill/LICENSE +0 -19
- package/eleventy/node_modules/urlpattern-polyfill/README.md +0 -242
- package/eleventy/node_modules/urlpattern-polyfill/dist/index.d.ts +0 -9
- package/eleventy/node_modules/urlpattern-polyfill/dist/types.d.ts +0 -49
- package/eleventy/node_modules/urlpattern-polyfill/dist/urlpattern.cjs +0 -1
- package/eleventy/node_modules/urlpattern-polyfill/dist/urlpattern.js +0 -1
- package/eleventy/node_modules/urlpattern-polyfill/index.cjs +0 -7
- package/eleventy/node_modules/urlpattern-polyfill/index.js +0 -7
- package/eleventy/node_modules/urlpattern-polyfill/package.json +0 -149
- package/eleventy/node_modules/which/CHANGELOG.md +0 -166
- package/eleventy/node_modules/which/LICENSE +0 -15
- package/eleventy/node_modules/which/README.md +0 -54
- package/eleventy/node_modules/which/bin/node-which +0 -52
- package/eleventy/node_modules/which/package.json +0 -43
- package/eleventy/node_modules/which/which.js +0 -125
- package/eleventy/node_modules/wrap-ansi/index.d.ts +0 -41
- package/eleventy/node_modules/wrap-ansi/index.js +0 -214
- package/eleventy/node_modules/wrap-ansi/license +0 -9
- package/eleventy/node_modules/wrap-ansi/package.json +0 -69
- package/eleventy/node_modules/wrap-ansi/readme.md +0 -91
- package/eleventy/node_modules/wrap-ansi-cjs/index.js +0 -216
- package/eleventy/node_modules/wrap-ansi-cjs/license +0 -9
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/index.d.ts +0 -37
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/index.js +0 -10
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/license +0 -9
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/package.json +0 -55
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/readme.md +0 -78
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/index.d.ts +0 -345
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/index.js +0 -163
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/license +0 -9
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/package.json +0 -56
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/readme.md +0 -152
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/README.md +0 -73
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/es2015/index.js +0 -6
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/es2015/text.js +0 -6
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/index.d.ts +0 -23
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/index.js +0 -6
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/package.json +0 -50
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/emoji-regex/text.js +0 -6
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/string-width/index.d.ts +0 -29
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/string-width/index.js +0 -47
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/string-width/license +0 -9
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/string-width/package.json +0 -56
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/string-width/readme.md +0 -50
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/index.d.ts +0 -17
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/index.js +0 -4
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/license +0 -9
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/package.json +0 -54
- package/eleventy/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/readme.md +0 -46
- package/eleventy/node_modules/wrap-ansi-cjs/package.json +0 -62
- package/eleventy/node_modules/wrap-ansi-cjs/readme.md +0 -91
- package/eleventy/node_modules/ws/LICENSE +0 -20
- package/eleventy/node_modules/ws/README.md +0 -548
- package/eleventy/node_modules/ws/browser.js +0 -8
- package/eleventy/node_modules/ws/index.js +0 -13
- package/eleventy/node_modules/ws/lib/buffer-util.js +0 -131
- package/eleventy/node_modules/ws/lib/constants.js +0 -18
- package/eleventy/node_modules/ws/lib/event-target.js +0 -292
- package/eleventy/node_modules/ws/lib/extension.js +0 -203
- package/eleventy/node_modules/ws/lib/limiter.js +0 -55
- package/eleventy/node_modules/ws/lib/permessage-deflate.js +0 -514
- package/eleventy/node_modules/ws/lib/receiver.js +0 -706
- package/eleventy/node_modules/ws/lib/sender.js +0 -602
- package/eleventy/node_modules/ws/lib/stream.js +0 -159
- package/eleventy/node_modules/ws/lib/subprotocol.js +0 -62
- package/eleventy/node_modules/ws/lib/validation.js +0 -152
- package/eleventy/node_modules/ws/lib/websocket-server.js +0 -540
- package/eleventy/node_modules/ws/lib/websocket.js +0 -1388
- package/eleventy/node_modules/ws/package.json +0 -69
- package/eleventy/node_modules/ws/wrapper.mjs +0 -8
|
@@ -1,4914 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* liquidjs@10.20.2, https://github.com/harttle/liquidjs
|
|
3
|
-
* (c) 2016-2025 harttle
|
|
4
|
-
* Released under the MIT License.
|
|
5
|
-
*/
|
|
6
|
-
'use strict';
|
|
7
|
-
|
|
8
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
9
|
-
|
|
10
|
-
var stream = require('stream');
|
|
11
|
-
var path = require('path');
|
|
12
|
-
var fs$1 = require('fs');
|
|
13
|
-
|
|
14
|
-
class Token {
|
|
15
|
-
constructor(kind, input, begin, end, file) {
|
|
16
|
-
this.kind = kind;
|
|
17
|
-
this.input = input;
|
|
18
|
-
this.begin = begin;
|
|
19
|
-
this.end = end;
|
|
20
|
-
this.file = file;
|
|
21
|
-
}
|
|
22
|
-
getText() {
|
|
23
|
-
return this.input.slice(this.begin, this.end);
|
|
24
|
-
}
|
|
25
|
-
getPosition() {
|
|
26
|
-
let [row, col] = [1, 1];
|
|
27
|
-
for (let i = 0; i < this.begin; i++) {
|
|
28
|
-
if (this.input[i] === '\n') {
|
|
29
|
-
row++;
|
|
30
|
-
col = 1;
|
|
31
|
-
}
|
|
32
|
-
else
|
|
33
|
-
col++;
|
|
34
|
-
}
|
|
35
|
-
return [row, col];
|
|
36
|
-
}
|
|
37
|
-
size() {
|
|
38
|
-
return this.end - this.begin;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
class Drop {
|
|
43
|
-
liquidMethodMissing(key) {
|
|
44
|
-
return undefined;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
const toString$1 = Object.prototype.toString;
|
|
49
|
-
const toLowerCase = String.prototype.toLowerCase;
|
|
50
|
-
const hasOwnProperty = Object.hasOwnProperty;
|
|
51
|
-
function isString(value) {
|
|
52
|
-
return typeof value === 'string';
|
|
53
|
-
}
|
|
54
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
55
|
-
function isFunction(value) {
|
|
56
|
-
return typeof value === 'function';
|
|
57
|
-
}
|
|
58
|
-
function isPromise(val) {
|
|
59
|
-
return val && isFunction(val.then);
|
|
60
|
-
}
|
|
61
|
-
function isIterator(val) {
|
|
62
|
-
return val && isFunction(val.next) && isFunction(val.throw) && isFunction(val.return);
|
|
63
|
-
}
|
|
64
|
-
function escapeRegex(str) {
|
|
65
|
-
return str.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&');
|
|
66
|
-
}
|
|
67
|
-
function promisify(fn) {
|
|
68
|
-
return function (...args) {
|
|
69
|
-
return new Promise((resolve, reject) => {
|
|
70
|
-
fn(...args, (err, result) => {
|
|
71
|
-
err ? reject(err) : resolve(result);
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
function stringify(value) {
|
|
77
|
-
value = toValue(value);
|
|
78
|
-
if (isString(value))
|
|
79
|
-
return value;
|
|
80
|
-
if (isNil(value))
|
|
81
|
-
return '';
|
|
82
|
-
if (isArray(value))
|
|
83
|
-
return value.map(x => stringify(x)).join('');
|
|
84
|
-
return String(value);
|
|
85
|
-
}
|
|
86
|
-
function toEnumerable(val) {
|
|
87
|
-
val = toValue(val);
|
|
88
|
-
if (isArray(val))
|
|
89
|
-
return val;
|
|
90
|
-
if (isString(val) && val.length > 0)
|
|
91
|
-
return [val];
|
|
92
|
-
if (isIterable(val))
|
|
93
|
-
return Array.from(val);
|
|
94
|
-
if (isObject(val))
|
|
95
|
-
return Object.keys(val).map((key) => [key, val[key]]);
|
|
96
|
-
return [];
|
|
97
|
-
}
|
|
98
|
-
function toArray(val) {
|
|
99
|
-
val = toValue(val);
|
|
100
|
-
if (isNil(val))
|
|
101
|
-
return [];
|
|
102
|
-
if (isArray(val))
|
|
103
|
-
return val;
|
|
104
|
-
return [val];
|
|
105
|
-
}
|
|
106
|
-
function toValue(value) {
|
|
107
|
-
return (value instanceof Drop && isFunction(value.valueOf)) ? value.valueOf() : value;
|
|
108
|
-
}
|
|
109
|
-
function toNumber(value) {
|
|
110
|
-
value = Number(value);
|
|
111
|
-
return isNaN(value) ? 0 : value;
|
|
112
|
-
}
|
|
113
|
-
function isNumber(value) {
|
|
114
|
-
return typeof value === 'number';
|
|
115
|
-
}
|
|
116
|
-
function toLiquid(value) {
|
|
117
|
-
if (value && isFunction(value.toLiquid))
|
|
118
|
-
return toLiquid(value.toLiquid());
|
|
119
|
-
return value;
|
|
120
|
-
}
|
|
121
|
-
function isNil(value) {
|
|
122
|
-
return value == null;
|
|
123
|
-
}
|
|
124
|
-
function isUndefined(value) {
|
|
125
|
-
return value === undefined;
|
|
126
|
-
}
|
|
127
|
-
function isArray(value) {
|
|
128
|
-
// be compatible with IE 8
|
|
129
|
-
return toString$1.call(value) === '[object Array]';
|
|
130
|
-
}
|
|
131
|
-
function isArrayLike(value) {
|
|
132
|
-
return value && isNumber(value.length);
|
|
133
|
-
}
|
|
134
|
-
function isIterable(value) {
|
|
135
|
-
return isObject(value) && Symbol.iterator in value;
|
|
136
|
-
}
|
|
137
|
-
/*
|
|
138
|
-
* Iterates over own enumerable string keyed properties of an object and invokes iteratee for each property.
|
|
139
|
-
* The iteratee is invoked with three arguments: (value, key, object).
|
|
140
|
-
* Iteratee functions may exit iteration early by explicitly returning false.
|
|
141
|
-
* @param {Object} object The object to iterate over.
|
|
142
|
-
* @param {Function} iteratee The function invoked per iteration.
|
|
143
|
-
* @return {Object} Returns object.
|
|
144
|
-
*/
|
|
145
|
-
function forOwn(obj, iteratee) {
|
|
146
|
-
obj = obj || {};
|
|
147
|
-
for (const k in obj) {
|
|
148
|
-
if (hasOwnProperty.call(obj, k)) {
|
|
149
|
-
if (iteratee(obj[k], k, obj) === false)
|
|
150
|
-
break;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
return obj;
|
|
154
|
-
}
|
|
155
|
-
function last(arr) {
|
|
156
|
-
return arr[arr.length - 1];
|
|
157
|
-
}
|
|
158
|
-
/*
|
|
159
|
-
* Checks if value is the language type of Object.
|
|
160
|
-
* (e.g. arrays, functions, objects, regexes, new Number(0), and new String(''))
|
|
161
|
-
* @param {any} value The value to check.
|
|
162
|
-
* @return {Boolean} Returns true if value is an object, else false.
|
|
163
|
-
*/
|
|
164
|
-
function isObject(value) {
|
|
165
|
-
const type = typeof value;
|
|
166
|
-
return value !== null && (type === 'object' || type === 'function');
|
|
167
|
-
}
|
|
168
|
-
function range(start, stop, step = 1) {
|
|
169
|
-
const arr = [];
|
|
170
|
-
for (let i = start; i < stop; i += step) {
|
|
171
|
-
arr.push(i);
|
|
172
|
-
}
|
|
173
|
-
return arr;
|
|
174
|
-
}
|
|
175
|
-
function padStart(str, length, ch = ' ') {
|
|
176
|
-
return pad(str, length, ch, (str, ch) => ch + str);
|
|
177
|
-
}
|
|
178
|
-
function padEnd(str, length, ch = ' ') {
|
|
179
|
-
return pad(str, length, ch, (str, ch) => str + ch);
|
|
180
|
-
}
|
|
181
|
-
function pad(str, length, ch, add) {
|
|
182
|
-
str = String(str);
|
|
183
|
-
let n = length - str.length;
|
|
184
|
-
while (n-- > 0)
|
|
185
|
-
str = add(str, ch);
|
|
186
|
-
return str;
|
|
187
|
-
}
|
|
188
|
-
function identify(val) {
|
|
189
|
-
return val;
|
|
190
|
-
}
|
|
191
|
-
function changeCase(str) {
|
|
192
|
-
const hasLowerCase = [...str].some(ch => ch >= 'a' && ch <= 'z');
|
|
193
|
-
return hasLowerCase ? str.toUpperCase() : str.toLowerCase();
|
|
194
|
-
}
|
|
195
|
-
function ellipsis(str, N) {
|
|
196
|
-
return str.length > N ? str.slice(0, N - 3) + '...' : str;
|
|
197
|
-
}
|
|
198
|
-
// compare string in case-insensitive way, undefined values to the tail
|
|
199
|
-
function caseInsensitiveCompare(a, b) {
|
|
200
|
-
if (a == null && b == null)
|
|
201
|
-
return 0;
|
|
202
|
-
if (a == null)
|
|
203
|
-
return 1;
|
|
204
|
-
if (b == null)
|
|
205
|
-
return -1;
|
|
206
|
-
a = toLowerCase.call(a);
|
|
207
|
-
b = toLowerCase.call(b);
|
|
208
|
-
if (a < b)
|
|
209
|
-
return -1;
|
|
210
|
-
if (a > b)
|
|
211
|
-
return 1;
|
|
212
|
-
return 0;
|
|
213
|
-
}
|
|
214
|
-
function argumentsToValue(fn) {
|
|
215
|
-
return function (...args) { return fn.call(this, ...args.map(toValue)); };
|
|
216
|
-
}
|
|
217
|
-
function escapeRegExp(text) {
|
|
218
|
-
return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
|
|
219
|
-
}
|
|
220
|
-
/** Return an array containing unique elements from _array_. Works with nested arrays and objects. */
|
|
221
|
-
function* strictUniq(array) {
|
|
222
|
-
const seen = new Set();
|
|
223
|
-
for (const element of array) {
|
|
224
|
-
const key = JSON.stringify(element);
|
|
225
|
-
if (!seen.has(key)) {
|
|
226
|
-
seen.add(key);
|
|
227
|
-
yield element;
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
/**
|
|
233
|
-
* targeting ES5, extends Error won't create a proper prototype chain, need a trait to keep track of classes
|
|
234
|
-
*/
|
|
235
|
-
const TRAIT = '__liquidClass__';
|
|
236
|
-
class LiquidError extends Error {
|
|
237
|
-
constructor(err, token) {
|
|
238
|
-
/**
|
|
239
|
-
* note: for ES5 targeting, `this` will be replaced by return value of Error(),
|
|
240
|
-
* thus everything on `this` will be lost, avoid calling `LiquidError` methods here
|
|
241
|
-
*/
|
|
242
|
-
super(typeof err === 'string' ? err : err.message);
|
|
243
|
-
this.context = '';
|
|
244
|
-
if (typeof err !== 'string')
|
|
245
|
-
Object.defineProperty(this, 'originalError', { value: err, enumerable: false });
|
|
246
|
-
Object.defineProperty(this, 'token', { value: token, enumerable: false });
|
|
247
|
-
Object.defineProperty(this, TRAIT, { value: 'LiquidError', enumerable: false });
|
|
248
|
-
}
|
|
249
|
-
update() {
|
|
250
|
-
Object.defineProperty(this, 'context', { value: mkContext(this.token), enumerable: false });
|
|
251
|
-
this.message = mkMessage(this.message, this.token);
|
|
252
|
-
this.stack = this.message + '\n' + this.context +
|
|
253
|
-
'\n' + this.stack;
|
|
254
|
-
if (this.originalError)
|
|
255
|
-
this.stack += '\nFrom ' + this.originalError.stack;
|
|
256
|
-
}
|
|
257
|
-
static is(obj) {
|
|
258
|
-
return obj?.[TRAIT] === 'LiquidError';
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
class TokenizationError extends LiquidError {
|
|
262
|
-
constructor(message, token) {
|
|
263
|
-
super(message, token);
|
|
264
|
-
this.name = 'TokenizationError';
|
|
265
|
-
super.update();
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
class ParseError extends LiquidError {
|
|
269
|
-
constructor(err, token) {
|
|
270
|
-
super(err, token);
|
|
271
|
-
this.name = 'ParseError';
|
|
272
|
-
this.message = err.message;
|
|
273
|
-
super.update();
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
class RenderError extends LiquidError {
|
|
277
|
-
constructor(err, tpl) {
|
|
278
|
-
super(err, tpl.token);
|
|
279
|
-
this.name = 'RenderError';
|
|
280
|
-
this.message = err.message;
|
|
281
|
-
super.update();
|
|
282
|
-
}
|
|
283
|
-
static is(obj) {
|
|
284
|
-
return obj.name === 'RenderError';
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
class LiquidErrors extends LiquidError {
|
|
288
|
-
constructor(errors) {
|
|
289
|
-
super(errors[0], errors[0].token);
|
|
290
|
-
this.errors = errors;
|
|
291
|
-
this.name = 'LiquidErrors';
|
|
292
|
-
const s = errors.length > 1 ? 's' : '';
|
|
293
|
-
this.message = `${errors.length} error${s} found`;
|
|
294
|
-
super.update();
|
|
295
|
-
}
|
|
296
|
-
static is(obj) {
|
|
297
|
-
return obj.name === 'LiquidErrors';
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
class UndefinedVariableError extends LiquidError {
|
|
301
|
-
constructor(err, token) {
|
|
302
|
-
super(err, token);
|
|
303
|
-
this.name = 'UndefinedVariableError';
|
|
304
|
-
this.message = err.message;
|
|
305
|
-
super.update();
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
// only used internally; raised where we don't have token information,
|
|
309
|
-
// so it can't be an UndefinedVariableError.
|
|
310
|
-
class InternalUndefinedVariableError extends Error {
|
|
311
|
-
constructor(variableName) {
|
|
312
|
-
super(`undefined variable: ${variableName}`);
|
|
313
|
-
this.name = 'InternalUndefinedVariableError';
|
|
314
|
-
this.variableName = variableName;
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
class AssertionError extends Error {
|
|
318
|
-
constructor(message) {
|
|
319
|
-
super(message);
|
|
320
|
-
this.name = 'AssertionError';
|
|
321
|
-
this.message = message + '';
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
function mkContext(token) {
|
|
325
|
-
const [line, col] = token.getPosition();
|
|
326
|
-
const lines = token.input.split('\n');
|
|
327
|
-
const begin = Math.max(line - 2, 1);
|
|
328
|
-
const end = Math.min(line + 3, lines.length);
|
|
329
|
-
const context = range(begin, end + 1)
|
|
330
|
-
.map(lineNumber => {
|
|
331
|
-
const rowIndicator = (lineNumber === line) ? '>> ' : ' ';
|
|
332
|
-
const num = padStart(String(lineNumber), String(end).length);
|
|
333
|
-
let text = `${rowIndicator}${num}| `;
|
|
334
|
-
const colIndicator = lineNumber === line
|
|
335
|
-
? '\n' + padStart('^', col + text.length)
|
|
336
|
-
: '';
|
|
337
|
-
text += lines[lineNumber - 1];
|
|
338
|
-
text += colIndicator;
|
|
339
|
-
return text;
|
|
340
|
-
})
|
|
341
|
-
.join('\n');
|
|
342
|
-
return context;
|
|
343
|
-
}
|
|
344
|
-
function mkMessage(msg, token) {
|
|
345
|
-
if (token.file)
|
|
346
|
-
msg += `, file:${token.file}`;
|
|
347
|
-
const [line, col] = token.getPosition();
|
|
348
|
-
msg += `, line:${line}, col:${col}`;
|
|
349
|
-
return msg;
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
// **DO NOT CHANGE THIS FILE**
|
|
353
|
-
//
|
|
354
|
-
// This file is generated by bin/character-gen.js
|
|
355
|
-
// bitmask character types to boost performance
|
|
356
|
-
const TYPES = [0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 4, 4, 4, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 2, 8, 0, 0, 0, 0, 8, 0, 0, 0, 64, 0, 65, 0, 0, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 2, 2, 2, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0];
|
|
357
|
-
const WORD = 1;
|
|
358
|
-
const BLANK = 4;
|
|
359
|
-
const QUOTE = 8;
|
|
360
|
-
const INLINE_BLANK = 16;
|
|
361
|
-
const NUMBER = 32;
|
|
362
|
-
const SIGN = 64;
|
|
363
|
-
const PUNCTUATION = 128;
|
|
364
|
-
function isWord(char) {
|
|
365
|
-
const code = char.charCodeAt(0);
|
|
366
|
-
return code >= 128 ? !TYPES[code] : !!(TYPES[code] & WORD);
|
|
367
|
-
}
|
|
368
|
-
TYPES[160] = TYPES[5760] = TYPES[6158] = TYPES[8192] = TYPES[8193] = TYPES[8194] = TYPES[8195] = TYPES[8196] = TYPES[8197] = TYPES[8198] = TYPES[8199] = TYPES[8200] = TYPES[8201] = TYPES[8202] = TYPES[8232] = TYPES[8233] = TYPES[8239] = TYPES[8287] = TYPES[12288] = BLANK;
|
|
369
|
-
TYPES[8220] = TYPES[8221] = PUNCTUATION;
|
|
370
|
-
|
|
371
|
-
function assert(predicate, message) {
|
|
372
|
-
if (!predicate) {
|
|
373
|
-
const msg = typeof message === 'function'
|
|
374
|
-
? message()
|
|
375
|
-
: (message || `expect ${predicate} to be true`);
|
|
376
|
-
throw new AssertionError(msg);
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
function assertEmpty(predicate, message = `unexpected ${JSON.stringify(predicate)}`) {
|
|
380
|
-
assert(!predicate, message);
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
class NullDrop extends Drop {
|
|
384
|
-
equals(value) {
|
|
385
|
-
return isNil(toValue(value));
|
|
386
|
-
}
|
|
387
|
-
gt() {
|
|
388
|
-
return false;
|
|
389
|
-
}
|
|
390
|
-
geq() {
|
|
391
|
-
return false;
|
|
392
|
-
}
|
|
393
|
-
lt() {
|
|
394
|
-
return false;
|
|
395
|
-
}
|
|
396
|
-
leq() {
|
|
397
|
-
return false;
|
|
398
|
-
}
|
|
399
|
-
valueOf() {
|
|
400
|
-
return null;
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
class EmptyDrop extends Drop {
|
|
405
|
-
equals(value) {
|
|
406
|
-
if (value instanceof EmptyDrop)
|
|
407
|
-
return false;
|
|
408
|
-
value = toValue(value);
|
|
409
|
-
if (isString(value) || isArray(value))
|
|
410
|
-
return value.length === 0;
|
|
411
|
-
if (isObject(value))
|
|
412
|
-
return Object.keys(value).length === 0;
|
|
413
|
-
return false;
|
|
414
|
-
}
|
|
415
|
-
gt() {
|
|
416
|
-
return false;
|
|
417
|
-
}
|
|
418
|
-
geq() {
|
|
419
|
-
return false;
|
|
420
|
-
}
|
|
421
|
-
lt() {
|
|
422
|
-
return false;
|
|
423
|
-
}
|
|
424
|
-
leq() {
|
|
425
|
-
return false;
|
|
426
|
-
}
|
|
427
|
-
valueOf() {
|
|
428
|
-
return '';
|
|
429
|
-
}
|
|
430
|
-
static is(value) {
|
|
431
|
-
return value instanceof EmptyDrop;
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
class BlankDrop extends EmptyDrop {
|
|
436
|
-
equals(value) {
|
|
437
|
-
if (value === false)
|
|
438
|
-
return true;
|
|
439
|
-
if (isNil(toValue(value)))
|
|
440
|
-
return true;
|
|
441
|
-
if (isString(value))
|
|
442
|
-
return /^\s*$/.test(value);
|
|
443
|
-
return super.equals(value);
|
|
444
|
-
}
|
|
445
|
-
static is(value) {
|
|
446
|
-
return value instanceof BlankDrop;
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
class ForloopDrop extends Drop {
|
|
451
|
-
constructor(length, collection, variable) {
|
|
452
|
-
super();
|
|
453
|
-
this.i = 0;
|
|
454
|
-
this.length = length;
|
|
455
|
-
this.name = `${variable}-${collection}`;
|
|
456
|
-
}
|
|
457
|
-
next() {
|
|
458
|
-
this.i++;
|
|
459
|
-
}
|
|
460
|
-
index0() {
|
|
461
|
-
return this.i;
|
|
462
|
-
}
|
|
463
|
-
index() {
|
|
464
|
-
return this.i + 1;
|
|
465
|
-
}
|
|
466
|
-
first() {
|
|
467
|
-
return this.i === 0;
|
|
468
|
-
}
|
|
469
|
-
last() {
|
|
470
|
-
return this.i === this.length - 1;
|
|
471
|
-
}
|
|
472
|
-
rindex() {
|
|
473
|
-
return this.length - this.i;
|
|
474
|
-
}
|
|
475
|
-
rindex0() {
|
|
476
|
-
return this.length - this.i - 1;
|
|
477
|
-
}
|
|
478
|
-
valueOf() {
|
|
479
|
-
return JSON.stringify(this);
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
class BlockDrop extends Drop {
|
|
484
|
-
constructor(
|
|
485
|
-
// the block render from layout template
|
|
486
|
-
superBlockRender = () => '') {
|
|
487
|
-
super();
|
|
488
|
-
this.superBlockRender = superBlockRender;
|
|
489
|
-
}
|
|
490
|
-
/**
|
|
491
|
-
* Provide parent access in child block by
|
|
492
|
-
* {{ block.super }}
|
|
493
|
-
*/
|
|
494
|
-
super() {
|
|
495
|
-
return this.superBlockRender();
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
|
|
499
|
-
function isComparable(arg) {
|
|
500
|
-
return (arg &&
|
|
501
|
-
isFunction(arg.equals) &&
|
|
502
|
-
isFunction(arg.gt) &&
|
|
503
|
-
isFunction(arg.geq) &&
|
|
504
|
-
isFunction(arg.lt) &&
|
|
505
|
-
isFunction(arg.leq));
|
|
506
|
-
}
|
|
507
|
-
|
|
508
|
-
const nil = new NullDrop();
|
|
509
|
-
const literalValues = {
|
|
510
|
-
'true': true,
|
|
511
|
-
'false': false,
|
|
512
|
-
'nil': nil,
|
|
513
|
-
'null': nil,
|
|
514
|
-
'empty': new EmptyDrop(),
|
|
515
|
-
'blank': new BlankDrop()
|
|
516
|
-
};
|
|
517
|
-
|
|
518
|
-
function createTrie(input) {
|
|
519
|
-
const trie = {};
|
|
520
|
-
for (const [name, data] of Object.entries(input)) {
|
|
521
|
-
let node = trie;
|
|
522
|
-
for (let i = 0; i < name.length; i++) {
|
|
523
|
-
const c = name[i];
|
|
524
|
-
node[c] = node[c] || {};
|
|
525
|
-
if (i === name.length - 1 && isWord(name[i])) {
|
|
526
|
-
node[c].needBoundary = true;
|
|
527
|
-
}
|
|
528
|
-
node = node[c];
|
|
529
|
-
}
|
|
530
|
-
node.data = data;
|
|
531
|
-
node.end = true;
|
|
532
|
-
}
|
|
533
|
-
return trie;
|
|
534
|
-
}
|
|
535
|
-
|
|
536
|
-
// convert an async iterator to a Promise
|
|
537
|
-
async function toPromise(val) {
|
|
538
|
-
if (!isIterator(val))
|
|
539
|
-
return val;
|
|
540
|
-
let value;
|
|
541
|
-
let done = false;
|
|
542
|
-
let next = 'next';
|
|
543
|
-
do {
|
|
544
|
-
const state = val[next](value);
|
|
545
|
-
done = state.done;
|
|
546
|
-
value = state.value;
|
|
547
|
-
next = 'next';
|
|
548
|
-
try {
|
|
549
|
-
if (isIterator(value))
|
|
550
|
-
value = toPromise(value);
|
|
551
|
-
if (isPromise(value))
|
|
552
|
-
value = await value;
|
|
553
|
-
}
|
|
554
|
-
catch (err) {
|
|
555
|
-
next = 'throw';
|
|
556
|
-
value = err;
|
|
557
|
-
}
|
|
558
|
-
} while (!done);
|
|
559
|
-
return value;
|
|
560
|
-
}
|
|
561
|
-
// convert an async iterator to a value in a synchronous manner
|
|
562
|
-
function toValueSync(val) {
|
|
563
|
-
if (!isIterator(val))
|
|
564
|
-
return val;
|
|
565
|
-
let value;
|
|
566
|
-
let done = false;
|
|
567
|
-
let next = 'next';
|
|
568
|
-
do {
|
|
569
|
-
const state = val[next](value);
|
|
570
|
-
done = state.done;
|
|
571
|
-
value = state.value;
|
|
572
|
-
next = 'next';
|
|
573
|
-
if (isIterator(value)) {
|
|
574
|
-
try {
|
|
575
|
-
value = toValueSync(value);
|
|
576
|
-
}
|
|
577
|
-
catch (err) {
|
|
578
|
-
next = 'throw';
|
|
579
|
-
value = err;
|
|
580
|
-
}
|
|
581
|
-
}
|
|
582
|
-
} while (!done);
|
|
583
|
-
return value;
|
|
584
|
-
}
|
|
585
|
-
|
|
586
|
-
const rFormat = /%([-_0^#:]+)?(\d+)?([EO])?(.)/;
|
|
587
|
-
// prototype extensions
|
|
588
|
-
function daysInMonth(d) {
|
|
589
|
-
const feb = isLeapYear(d) ? 29 : 28;
|
|
590
|
-
return [31, feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
591
|
-
}
|
|
592
|
-
function getDayOfYear(d) {
|
|
593
|
-
let num = 0;
|
|
594
|
-
for (let i = 0; i < d.getMonth(); ++i) {
|
|
595
|
-
num += daysInMonth(d)[i];
|
|
596
|
-
}
|
|
597
|
-
return num + d.getDate();
|
|
598
|
-
}
|
|
599
|
-
function getWeekOfYear(d, startDay) {
|
|
600
|
-
// Skip to startDay of this week
|
|
601
|
-
const now = getDayOfYear(d) + (startDay - d.getDay());
|
|
602
|
-
// Find the first startDay of the year
|
|
603
|
-
const jan1 = new Date(d.getFullYear(), 0, 1);
|
|
604
|
-
const then = (7 - jan1.getDay() + startDay);
|
|
605
|
-
return String(Math.floor((now - then) / 7) + 1);
|
|
606
|
-
}
|
|
607
|
-
function isLeapYear(d) {
|
|
608
|
-
const year = d.getFullYear();
|
|
609
|
-
return !!((year & 3) === 0 && (year % 100 || (year % 400 === 0 && year)));
|
|
610
|
-
}
|
|
611
|
-
function ordinal(d) {
|
|
612
|
-
const date = d.getDate();
|
|
613
|
-
if ([11, 12, 13].includes(date))
|
|
614
|
-
return 'th';
|
|
615
|
-
switch (date % 10) {
|
|
616
|
-
case 1: return 'st';
|
|
617
|
-
case 2: return 'nd';
|
|
618
|
-
case 3: return 'rd';
|
|
619
|
-
default: return 'th';
|
|
620
|
-
}
|
|
621
|
-
}
|
|
622
|
-
function century(d) {
|
|
623
|
-
return parseInt(d.getFullYear().toString().substring(0, 2), 10);
|
|
624
|
-
}
|
|
625
|
-
// default to 0
|
|
626
|
-
const padWidths = {
|
|
627
|
-
d: 2,
|
|
628
|
-
e: 2,
|
|
629
|
-
H: 2,
|
|
630
|
-
I: 2,
|
|
631
|
-
j: 3,
|
|
632
|
-
k: 2,
|
|
633
|
-
l: 2,
|
|
634
|
-
L: 3,
|
|
635
|
-
m: 2,
|
|
636
|
-
M: 2,
|
|
637
|
-
S: 2,
|
|
638
|
-
U: 2,
|
|
639
|
-
W: 2
|
|
640
|
-
};
|
|
641
|
-
const padSpaceChars = new Set('aAbBceklpP');
|
|
642
|
-
function getTimezoneOffset(d, opts) {
|
|
643
|
-
const nOffset = Math.abs(d.getTimezoneOffset());
|
|
644
|
-
const h = Math.floor(nOffset / 60);
|
|
645
|
-
const m = nOffset % 60;
|
|
646
|
-
return (d.getTimezoneOffset() > 0 ? '-' : '+') +
|
|
647
|
-
padStart(h, 2, '0') +
|
|
648
|
-
(opts.flags[':'] ? ':' : '') +
|
|
649
|
-
padStart(m, 2, '0');
|
|
650
|
-
}
|
|
651
|
-
const formatCodes = {
|
|
652
|
-
a: (d) => d.getShortWeekdayName(),
|
|
653
|
-
A: (d) => d.getLongWeekdayName(),
|
|
654
|
-
b: (d) => d.getShortMonthName(),
|
|
655
|
-
B: (d) => d.getLongMonthName(),
|
|
656
|
-
c: (d) => d.toLocaleString(),
|
|
657
|
-
C: (d) => century(d),
|
|
658
|
-
d: (d) => d.getDate(),
|
|
659
|
-
e: (d) => d.getDate(),
|
|
660
|
-
H: (d) => d.getHours(),
|
|
661
|
-
I: (d) => String(d.getHours() % 12 || 12),
|
|
662
|
-
j: (d) => getDayOfYear(d),
|
|
663
|
-
k: (d) => d.getHours(),
|
|
664
|
-
l: (d) => String(d.getHours() % 12 || 12),
|
|
665
|
-
L: (d) => d.getMilliseconds(),
|
|
666
|
-
m: (d) => d.getMonth() + 1,
|
|
667
|
-
M: (d) => d.getMinutes(),
|
|
668
|
-
N: (d, opts) => {
|
|
669
|
-
const width = Number(opts.width) || 9;
|
|
670
|
-
const str = String(d.getMilliseconds()).slice(0, width);
|
|
671
|
-
return padEnd(str, width, '0');
|
|
672
|
-
},
|
|
673
|
-
p: (d) => (d.getHours() < 12 ? 'AM' : 'PM'),
|
|
674
|
-
P: (d) => (d.getHours() < 12 ? 'am' : 'pm'),
|
|
675
|
-
q: (d) => ordinal(d),
|
|
676
|
-
s: (d) => Math.round(d.getTime() / 1000),
|
|
677
|
-
S: (d) => d.getSeconds(),
|
|
678
|
-
u: (d) => d.getDay() || 7,
|
|
679
|
-
U: (d) => getWeekOfYear(d, 0),
|
|
680
|
-
w: (d) => d.getDay(),
|
|
681
|
-
W: (d) => getWeekOfYear(d, 1),
|
|
682
|
-
x: (d) => d.toLocaleDateString(),
|
|
683
|
-
X: (d) => d.toLocaleTimeString(),
|
|
684
|
-
y: (d) => d.getFullYear().toString().slice(2, 4),
|
|
685
|
-
Y: (d) => d.getFullYear(),
|
|
686
|
-
z: getTimezoneOffset,
|
|
687
|
-
Z: (d, opts) => d.getTimeZoneName() || getTimezoneOffset(d, opts),
|
|
688
|
-
't': () => '\t',
|
|
689
|
-
'n': () => '\n',
|
|
690
|
-
'%': () => '%'
|
|
691
|
-
};
|
|
692
|
-
formatCodes.h = formatCodes.b;
|
|
693
|
-
function strftime(d, formatStr) {
|
|
694
|
-
let output = '';
|
|
695
|
-
let remaining = formatStr;
|
|
696
|
-
let match;
|
|
697
|
-
while ((match = rFormat.exec(remaining))) {
|
|
698
|
-
output += remaining.slice(0, match.index);
|
|
699
|
-
remaining = remaining.slice(match.index + match[0].length);
|
|
700
|
-
output += format(d, match);
|
|
701
|
-
}
|
|
702
|
-
return output + remaining;
|
|
703
|
-
}
|
|
704
|
-
function format(d, match) {
|
|
705
|
-
const [input, flagStr = '', width, modifier, conversion] = match;
|
|
706
|
-
const convert = formatCodes[conversion];
|
|
707
|
-
if (!convert)
|
|
708
|
-
return input;
|
|
709
|
-
const flags = {};
|
|
710
|
-
for (const flag of flagStr)
|
|
711
|
-
flags[flag] = true;
|
|
712
|
-
let ret = String(convert(d, { flags, width, modifier }));
|
|
713
|
-
let padChar = padSpaceChars.has(conversion) ? ' ' : '0';
|
|
714
|
-
let padWidth = width || padWidths[conversion] || 0;
|
|
715
|
-
if (flags['^'])
|
|
716
|
-
ret = ret.toUpperCase();
|
|
717
|
-
else if (flags['#'])
|
|
718
|
-
ret = changeCase(ret);
|
|
719
|
-
if (flags['_'])
|
|
720
|
-
padChar = ' ';
|
|
721
|
-
else if (flags['0'])
|
|
722
|
-
padChar = '0';
|
|
723
|
-
if (flags['-'])
|
|
724
|
-
padWidth = 0;
|
|
725
|
-
return padStart(ret, padWidth, padChar);
|
|
726
|
-
}
|
|
727
|
-
|
|
728
|
-
function getDateTimeFormat() {
|
|
729
|
-
return (typeof Intl !== 'undefined' ? Intl.DateTimeFormat : undefined);
|
|
730
|
-
}
|
|
731
|
-
|
|
732
|
-
// one minute in milliseconds
|
|
733
|
-
const OneMinute = 60000;
|
|
734
|
-
/**
|
|
735
|
-
* Need support both ISO8601 and RFC2822 as in major browsers & NodeJS
|
|
736
|
-
* RFC2822: https://datatracker.ietf.org/doc/html/rfc2822#section-3.3
|
|
737
|
-
*/
|
|
738
|
-
const TIMEZONE_PATTERN = /([zZ]|([+-])(\d{2}):?(\d{2}))$/;
|
|
739
|
-
const monthNames = [
|
|
740
|
-
'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August',
|
|
741
|
-
'September', 'October', 'November', 'December'
|
|
742
|
-
];
|
|
743
|
-
const monthNamesShort = monthNames.map(name => name.slice(0, 3));
|
|
744
|
-
const dayNames = [
|
|
745
|
-
'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'
|
|
746
|
-
];
|
|
747
|
-
const dayNamesShort = dayNames.map(name => name.slice(0, 3));
|
|
748
|
-
/**
|
|
749
|
-
* A date implementation with timezone info, just like Ruby date
|
|
750
|
-
*
|
|
751
|
-
* Implementation:
|
|
752
|
-
* - create a Date offset by it's timezone difference, avoiding overriding a bunch of methods
|
|
753
|
-
* - rewrite getTimezoneOffset() to trick strftime
|
|
754
|
-
*/
|
|
755
|
-
class LiquidDate {
|
|
756
|
-
constructor(init, locale, timezone) {
|
|
757
|
-
this.locale = locale;
|
|
758
|
-
this.DateTimeFormat = getDateTimeFormat();
|
|
759
|
-
this.date = new Date(init);
|
|
760
|
-
this.timezoneFixed = timezone !== undefined;
|
|
761
|
-
if (timezone === undefined) {
|
|
762
|
-
timezone = this.date.getTimezoneOffset();
|
|
763
|
-
}
|
|
764
|
-
this.timezoneOffset = isString(timezone) ? LiquidDate.getTimezoneOffset(timezone, this.date) : timezone;
|
|
765
|
-
this.timezoneName = isString(timezone) ? timezone : '';
|
|
766
|
-
const diff = (this.date.getTimezoneOffset() - this.timezoneOffset) * OneMinute;
|
|
767
|
-
const time = this.date.getTime() + diff;
|
|
768
|
-
this.displayDate = new Date(time);
|
|
769
|
-
}
|
|
770
|
-
getTime() {
|
|
771
|
-
return this.displayDate.getTime();
|
|
772
|
-
}
|
|
773
|
-
getMilliseconds() {
|
|
774
|
-
return this.displayDate.getMilliseconds();
|
|
775
|
-
}
|
|
776
|
-
getSeconds() {
|
|
777
|
-
return this.displayDate.getSeconds();
|
|
778
|
-
}
|
|
779
|
-
getMinutes() {
|
|
780
|
-
return this.displayDate.getMinutes();
|
|
781
|
-
}
|
|
782
|
-
getHours() {
|
|
783
|
-
return this.displayDate.getHours();
|
|
784
|
-
}
|
|
785
|
-
getDay() {
|
|
786
|
-
return this.displayDate.getDay();
|
|
787
|
-
}
|
|
788
|
-
getDate() {
|
|
789
|
-
return this.displayDate.getDate();
|
|
790
|
-
}
|
|
791
|
-
getMonth() {
|
|
792
|
-
return this.displayDate.getMonth();
|
|
793
|
-
}
|
|
794
|
-
getFullYear() {
|
|
795
|
-
return this.displayDate.getFullYear();
|
|
796
|
-
}
|
|
797
|
-
toLocaleString(locale, init) {
|
|
798
|
-
if (init?.timeZone) {
|
|
799
|
-
return this.date.toLocaleString(locale, init);
|
|
800
|
-
}
|
|
801
|
-
return this.displayDate.toLocaleString(locale, init);
|
|
802
|
-
}
|
|
803
|
-
toLocaleTimeString(locale) {
|
|
804
|
-
return this.displayDate.toLocaleTimeString(locale);
|
|
805
|
-
}
|
|
806
|
-
toLocaleDateString(locale) {
|
|
807
|
-
return this.displayDate.toLocaleDateString(locale);
|
|
808
|
-
}
|
|
809
|
-
getTimezoneOffset() {
|
|
810
|
-
return this.timezoneOffset;
|
|
811
|
-
}
|
|
812
|
-
getTimeZoneName() {
|
|
813
|
-
if (this.timezoneFixed)
|
|
814
|
-
return this.timezoneName;
|
|
815
|
-
if (!this.DateTimeFormat)
|
|
816
|
-
return;
|
|
817
|
-
return this.DateTimeFormat().resolvedOptions().timeZone;
|
|
818
|
-
}
|
|
819
|
-
getLongMonthName() {
|
|
820
|
-
return this.format({ month: 'long' }) ?? monthNames[this.getMonth()];
|
|
821
|
-
}
|
|
822
|
-
getShortMonthName() {
|
|
823
|
-
return this.format({ month: 'short' }) ?? monthNamesShort[this.getMonth()];
|
|
824
|
-
}
|
|
825
|
-
getLongWeekdayName() {
|
|
826
|
-
return this.format({ weekday: 'long' }) ?? dayNames[this.displayDate.getDay()];
|
|
827
|
-
}
|
|
828
|
-
getShortWeekdayName() {
|
|
829
|
-
return this.format({ weekday: 'short' }) ?? dayNamesShort[this.displayDate.getDay()];
|
|
830
|
-
}
|
|
831
|
-
valid() {
|
|
832
|
-
return !isNaN(this.getTime());
|
|
833
|
-
}
|
|
834
|
-
format(options) {
|
|
835
|
-
return this.DateTimeFormat && this.DateTimeFormat(this.locale, options).format(this.displayDate);
|
|
836
|
-
}
|
|
837
|
-
/**
|
|
838
|
-
* Create a Date object fixed to it's declared Timezone. Both
|
|
839
|
-
* - 2021-08-06T02:29:00.000Z and
|
|
840
|
-
* - 2021-08-06T02:29:00.000+08:00
|
|
841
|
-
* will always be displayed as
|
|
842
|
-
* - 2021-08-06 02:29:00
|
|
843
|
-
* regardless timezoneOffset in JavaScript realm
|
|
844
|
-
*
|
|
845
|
-
* The implementation hack:
|
|
846
|
-
* Instead of calling `.getMonth()`/`.getUTCMonth()` respect to `preserveTimezones`,
|
|
847
|
-
* we create a different Date to trick strftime, it's both simpler and more performant.
|
|
848
|
-
* Given that a template is expected to be parsed fewer times than rendered.
|
|
849
|
-
*/
|
|
850
|
-
static createDateFixedToTimezone(dateString, locale) {
|
|
851
|
-
const m = dateString.match(TIMEZONE_PATTERN);
|
|
852
|
-
// representing a UTC timestamp
|
|
853
|
-
if (m && m[1] === 'Z') {
|
|
854
|
-
return new LiquidDate(+new Date(dateString), locale, 0);
|
|
855
|
-
}
|
|
856
|
-
// has a timezone specified
|
|
857
|
-
if (m && m[2] && m[3] && m[4]) {
|
|
858
|
-
const [, , sign, hours, minutes] = m;
|
|
859
|
-
const offset = (sign === '+' ? -1 : 1) * (parseInt(hours, 10) * 60 + parseInt(minutes, 10));
|
|
860
|
-
return new LiquidDate(+new Date(dateString), locale, offset);
|
|
861
|
-
}
|
|
862
|
-
return new LiquidDate(dateString, locale);
|
|
863
|
-
}
|
|
864
|
-
static getTimezoneOffset(timezoneName, date) {
|
|
865
|
-
const localDateString = date.toLocaleString('en-US', { timeZone: timezoneName });
|
|
866
|
-
const utcDateString = date.toLocaleString('en-US', { timeZone: 'UTC' });
|
|
867
|
-
const localDate = new Date(localDateString);
|
|
868
|
-
const utcDate = new Date(utcDateString);
|
|
869
|
-
return (+utcDate - +localDate) / (60 * 1000);
|
|
870
|
-
}
|
|
871
|
-
}
|
|
872
|
-
|
|
873
|
-
class Limiter {
|
|
874
|
-
constructor(resource, limit) {
|
|
875
|
-
this.base = 0;
|
|
876
|
-
this.message = `${resource} limit exceeded`;
|
|
877
|
-
this.limit = limit;
|
|
878
|
-
}
|
|
879
|
-
use(count) {
|
|
880
|
-
count = toNumber(count);
|
|
881
|
-
assert(this.base + count <= this.limit, this.message);
|
|
882
|
-
this.base += count;
|
|
883
|
-
}
|
|
884
|
-
check(count) {
|
|
885
|
-
count = toNumber(count);
|
|
886
|
-
assert(count <= this.limit, this.message);
|
|
887
|
-
}
|
|
888
|
-
}
|
|
889
|
-
|
|
890
|
-
class DelimitedToken extends Token {
|
|
891
|
-
constructor(kind, [contentBegin, contentEnd], input, begin, end, trimLeft, trimRight, file) {
|
|
892
|
-
super(kind, input, begin, end, file);
|
|
893
|
-
this.trimLeft = false;
|
|
894
|
-
this.trimRight = false;
|
|
895
|
-
const tl = input[contentBegin] === '-';
|
|
896
|
-
const tr = input[contentEnd - 1] === '-';
|
|
897
|
-
let l = tl ? contentBegin + 1 : contentBegin;
|
|
898
|
-
let r = tr ? contentEnd - 1 : contentEnd;
|
|
899
|
-
while (l < r && (TYPES[input.charCodeAt(l)] & BLANK))
|
|
900
|
-
l++;
|
|
901
|
-
while (r > l && (TYPES[input.charCodeAt(r - 1)] & BLANK))
|
|
902
|
-
r--;
|
|
903
|
-
this.contentRange = [l, r];
|
|
904
|
-
this.trimLeft = tl || trimLeft;
|
|
905
|
-
this.trimRight = tr || trimRight;
|
|
906
|
-
}
|
|
907
|
-
get content() {
|
|
908
|
-
return this.input.slice(this.contentRange[0], this.contentRange[1]);
|
|
909
|
-
}
|
|
910
|
-
}
|
|
911
|
-
|
|
912
|
-
class TagToken extends DelimitedToken {
|
|
913
|
-
constructor(input, begin, end, options, file) {
|
|
914
|
-
const { trimTagLeft, trimTagRight, tagDelimiterLeft, tagDelimiterRight } = options;
|
|
915
|
-
const [valueBegin, valueEnd] = [begin + tagDelimiterLeft.length, end - tagDelimiterRight.length];
|
|
916
|
-
super(exports.TokenKind.Tag, [valueBegin, valueEnd], input, begin, end, trimTagLeft, trimTagRight, file);
|
|
917
|
-
this.tokenizer = new Tokenizer(input, options.operators, file, this.contentRange);
|
|
918
|
-
this.name = this.tokenizer.readTagName();
|
|
919
|
-
this.tokenizer.assert(this.name, `illegal tag syntax, tag name expected`);
|
|
920
|
-
this.tokenizer.skipBlank();
|
|
921
|
-
}
|
|
922
|
-
get args() {
|
|
923
|
-
return this.tokenizer.input.slice(this.tokenizer.p, this.contentRange[1]);
|
|
924
|
-
}
|
|
925
|
-
}
|
|
926
|
-
|
|
927
|
-
class OutputToken extends DelimitedToken {
|
|
928
|
-
constructor(input, begin, end, options, file) {
|
|
929
|
-
const { trimOutputLeft, trimOutputRight, outputDelimiterLeft, outputDelimiterRight } = options;
|
|
930
|
-
const valueRange = [begin + outputDelimiterLeft.length, end - outputDelimiterRight.length];
|
|
931
|
-
super(exports.TokenKind.Output, valueRange, input, begin, end, trimOutputLeft, trimOutputRight, file);
|
|
932
|
-
}
|
|
933
|
-
}
|
|
934
|
-
|
|
935
|
-
class HTMLToken extends Token {
|
|
936
|
-
constructor(input, begin, end, file) {
|
|
937
|
-
super(exports.TokenKind.HTML, input, begin, end, file);
|
|
938
|
-
this.input = input;
|
|
939
|
-
this.begin = begin;
|
|
940
|
-
this.end = end;
|
|
941
|
-
this.file = file;
|
|
942
|
-
this.trimLeft = 0;
|
|
943
|
-
this.trimRight = 0;
|
|
944
|
-
}
|
|
945
|
-
getContent() {
|
|
946
|
-
return this.input.slice(this.begin + this.trimLeft, this.end - this.trimRight);
|
|
947
|
-
}
|
|
948
|
-
}
|
|
949
|
-
|
|
950
|
-
class NumberToken extends Token {
|
|
951
|
-
constructor(input, begin, end, file) {
|
|
952
|
-
super(exports.TokenKind.Number, input, begin, end, file);
|
|
953
|
-
this.input = input;
|
|
954
|
-
this.begin = begin;
|
|
955
|
-
this.end = end;
|
|
956
|
-
this.file = file;
|
|
957
|
-
this.content = Number(this.getText());
|
|
958
|
-
}
|
|
959
|
-
}
|
|
960
|
-
|
|
961
|
-
class IdentifierToken extends Token {
|
|
962
|
-
constructor(input, begin, end, file) {
|
|
963
|
-
super(exports.TokenKind.Word, input, begin, end, file);
|
|
964
|
-
this.input = input;
|
|
965
|
-
this.begin = begin;
|
|
966
|
-
this.end = end;
|
|
967
|
-
this.file = file;
|
|
968
|
-
this.content = this.getText();
|
|
969
|
-
}
|
|
970
|
-
}
|
|
971
|
-
|
|
972
|
-
class LiteralToken extends Token {
|
|
973
|
-
constructor(input, begin, end, file) {
|
|
974
|
-
super(exports.TokenKind.Literal, input, begin, end, file);
|
|
975
|
-
this.input = input;
|
|
976
|
-
this.begin = begin;
|
|
977
|
-
this.end = end;
|
|
978
|
-
this.file = file;
|
|
979
|
-
this.literal = this.getText();
|
|
980
|
-
this.content = literalValues[this.literal];
|
|
981
|
-
}
|
|
982
|
-
}
|
|
983
|
-
|
|
984
|
-
const operatorPrecedences = {
|
|
985
|
-
'==': 2,
|
|
986
|
-
'!=': 2,
|
|
987
|
-
'>': 2,
|
|
988
|
-
'<': 2,
|
|
989
|
-
'>=': 2,
|
|
990
|
-
'<=': 2,
|
|
991
|
-
'contains': 2,
|
|
992
|
-
'not': 1,
|
|
993
|
-
'and': 0,
|
|
994
|
-
'or': 0
|
|
995
|
-
};
|
|
996
|
-
const operatorTypes = {
|
|
997
|
-
'==': 0 /* OperatorType.Binary */,
|
|
998
|
-
'!=': 0 /* OperatorType.Binary */,
|
|
999
|
-
'>': 0 /* OperatorType.Binary */,
|
|
1000
|
-
'<': 0 /* OperatorType.Binary */,
|
|
1001
|
-
'>=': 0 /* OperatorType.Binary */,
|
|
1002
|
-
'<=': 0 /* OperatorType.Binary */,
|
|
1003
|
-
'contains': 0 /* OperatorType.Binary */,
|
|
1004
|
-
'not': 1 /* OperatorType.Unary */,
|
|
1005
|
-
'and': 0 /* OperatorType.Binary */,
|
|
1006
|
-
'or': 0 /* OperatorType.Binary */
|
|
1007
|
-
};
|
|
1008
|
-
class OperatorToken extends Token {
|
|
1009
|
-
constructor(input, begin, end, file) {
|
|
1010
|
-
super(exports.TokenKind.Operator, input, begin, end, file);
|
|
1011
|
-
this.input = input;
|
|
1012
|
-
this.begin = begin;
|
|
1013
|
-
this.end = end;
|
|
1014
|
-
this.file = file;
|
|
1015
|
-
this.operator = this.getText();
|
|
1016
|
-
}
|
|
1017
|
-
getPrecedence() {
|
|
1018
|
-
const key = this.getText();
|
|
1019
|
-
return key in operatorPrecedences ? operatorPrecedences[key] : 1;
|
|
1020
|
-
}
|
|
1021
|
-
}
|
|
1022
|
-
|
|
1023
|
-
class PropertyAccessToken extends Token {
|
|
1024
|
-
constructor(variable, props, input, begin, end, file) {
|
|
1025
|
-
super(exports.TokenKind.PropertyAccess, input, begin, end, file);
|
|
1026
|
-
this.variable = variable;
|
|
1027
|
-
this.props = props;
|
|
1028
|
-
}
|
|
1029
|
-
}
|
|
1030
|
-
|
|
1031
|
-
class FilterToken extends Token {
|
|
1032
|
-
constructor(name, args, input, begin, end, file) {
|
|
1033
|
-
super(exports.TokenKind.Filter, input, begin, end, file);
|
|
1034
|
-
this.name = name;
|
|
1035
|
-
this.args = args;
|
|
1036
|
-
}
|
|
1037
|
-
}
|
|
1038
|
-
|
|
1039
|
-
class HashToken extends Token {
|
|
1040
|
-
constructor(input, begin, end, name, value, file) {
|
|
1041
|
-
super(exports.TokenKind.Hash, input, begin, end, file);
|
|
1042
|
-
this.input = input;
|
|
1043
|
-
this.begin = begin;
|
|
1044
|
-
this.end = end;
|
|
1045
|
-
this.name = name;
|
|
1046
|
-
this.value = value;
|
|
1047
|
-
this.file = file;
|
|
1048
|
-
}
|
|
1049
|
-
}
|
|
1050
|
-
|
|
1051
|
-
const rHex = /[\da-fA-F]/;
|
|
1052
|
-
const rOct = /[0-7]/;
|
|
1053
|
-
const escapeChar = {
|
|
1054
|
-
b: '\b',
|
|
1055
|
-
f: '\f',
|
|
1056
|
-
n: '\n',
|
|
1057
|
-
r: '\r',
|
|
1058
|
-
t: '\t',
|
|
1059
|
-
v: '\x0B'
|
|
1060
|
-
};
|
|
1061
|
-
function hexVal(c) {
|
|
1062
|
-
const code = c.charCodeAt(0);
|
|
1063
|
-
if (code >= 97)
|
|
1064
|
-
return code - 87;
|
|
1065
|
-
if (code >= 65)
|
|
1066
|
-
return code - 55;
|
|
1067
|
-
return code - 48;
|
|
1068
|
-
}
|
|
1069
|
-
function parseStringLiteral(str) {
|
|
1070
|
-
let ret = '';
|
|
1071
|
-
for (let i = 1; i < str.length - 1; i++) {
|
|
1072
|
-
if (str[i] !== '\\') {
|
|
1073
|
-
ret += str[i];
|
|
1074
|
-
continue;
|
|
1075
|
-
}
|
|
1076
|
-
if (escapeChar[str[i + 1]] !== undefined) {
|
|
1077
|
-
ret += escapeChar[str[++i]];
|
|
1078
|
-
}
|
|
1079
|
-
else if (str[i + 1] === 'u') {
|
|
1080
|
-
let val = 0;
|
|
1081
|
-
let j = i + 2;
|
|
1082
|
-
while (j <= i + 5 && rHex.test(str[j])) {
|
|
1083
|
-
val = val * 16 + hexVal(str[j++]);
|
|
1084
|
-
}
|
|
1085
|
-
i = j - 1;
|
|
1086
|
-
ret += String.fromCharCode(val);
|
|
1087
|
-
}
|
|
1088
|
-
else if (!rOct.test(str[i + 1])) {
|
|
1089
|
-
ret += str[++i];
|
|
1090
|
-
}
|
|
1091
|
-
else {
|
|
1092
|
-
let j = i + 1;
|
|
1093
|
-
let val = 0;
|
|
1094
|
-
while (j <= i + 3 && rOct.test(str[j])) {
|
|
1095
|
-
val = val * 8 + hexVal(str[j++]);
|
|
1096
|
-
}
|
|
1097
|
-
i = j - 1;
|
|
1098
|
-
ret += String.fromCharCode(val);
|
|
1099
|
-
}
|
|
1100
|
-
}
|
|
1101
|
-
return ret;
|
|
1102
|
-
}
|
|
1103
|
-
|
|
1104
|
-
class QuotedToken extends Token {
|
|
1105
|
-
constructor(input, begin, end, file) {
|
|
1106
|
-
super(exports.TokenKind.Quoted, input, begin, end, file);
|
|
1107
|
-
this.input = input;
|
|
1108
|
-
this.begin = begin;
|
|
1109
|
-
this.end = end;
|
|
1110
|
-
this.file = file;
|
|
1111
|
-
this.content = parseStringLiteral(this.getText());
|
|
1112
|
-
}
|
|
1113
|
-
}
|
|
1114
|
-
|
|
1115
|
-
class RangeToken extends Token {
|
|
1116
|
-
constructor(input, begin, end, lhs, rhs, file) {
|
|
1117
|
-
super(exports.TokenKind.Range, input, begin, end, file);
|
|
1118
|
-
this.input = input;
|
|
1119
|
-
this.begin = begin;
|
|
1120
|
-
this.end = end;
|
|
1121
|
-
this.lhs = lhs;
|
|
1122
|
-
this.rhs = rhs;
|
|
1123
|
-
this.file = file;
|
|
1124
|
-
}
|
|
1125
|
-
}
|
|
1126
|
-
|
|
1127
|
-
/**
|
|
1128
|
-
* LiquidTagToken is different from TagToken by not having delimiters `{%` or `%}`
|
|
1129
|
-
*/
|
|
1130
|
-
class LiquidTagToken extends DelimitedToken {
|
|
1131
|
-
constructor(input, begin, end, options, file) {
|
|
1132
|
-
super(exports.TokenKind.Tag, [begin, end], input, begin, end, false, false, file);
|
|
1133
|
-
this.tokenizer = new Tokenizer(input, options.operators, file, this.contentRange);
|
|
1134
|
-
this.name = this.tokenizer.readTagName();
|
|
1135
|
-
this.tokenizer.assert(this.name, 'illegal liquid tag syntax');
|
|
1136
|
-
this.tokenizer.skipBlank();
|
|
1137
|
-
}
|
|
1138
|
-
get args() {
|
|
1139
|
-
return this.tokenizer.input.slice(this.tokenizer.p, this.contentRange[1]);
|
|
1140
|
-
}
|
|
1141
|
-
}
|
|
1142
|
-
|
|
1143
|
-
/**
|
|
1144
|
-
* value expression with optional filters
|
|
1145
|
-
* e.g.
|
|
1146
|
-
* {% assign foo="bar" | append: "coo" %}
|
|
1147
|
-
*/
|
|
1148
|
-
class FilteredValueToken extends Token {
|
|
1149
|
-
constructor(initial, filters, input, begin, end, file) {
|
|
1150
|
-
super(exports.TokenKind.FilteredValue, input, begin, end, file);
|
|
1151
|
-
this.initial = initial;
|
|
1152
|
-
this.filters = filters;
|
|
1153
|
-
this.input = input;
|
|
1154
|
-
this.begin = begin;
|
|
1155
|
-
this.end = end;
|
|
1156
|
-
this.file = file;
|
|
1157
|
-
}
|
|
1158
|
-
}
|
|
1159
|
-
|
|
1160
|
-
const polyfill = {
|
|
1161
|
-
now: () => Date.now()
|
|
1162
|
-
};
|
|
1163
|
-
function getPerformance() {
|
|
1164
|
-
return (typeof global === 'object' && global.performance) ||
|
|
1165
|
-
(typeof window === 'object' && window.performance) ||
|
|
1166
|
-
polyfill;
|
|
1167
|
-
}
|
|
1168
|
-
|
|
1169
|
-
class SimpleEmitter {
|
|
1170
|
-
constructor() {
|
|
1171
|
-
this.buffer = '';
|
|
1172
|
-
}
|
|
1173
|
-
write(html) {
|
|
1174
|
-
this.buffer += stringify(html);
|
|
1175
|
-
}
|
|
1176
|
-
}
|
|
1177
|
-
|
|
1178
|
-
class StreamedEmitter {
|
|
1179
|
-
constructor() {
|
|
1180
|
-
this.buffer = '';
|
|
1181
|
-
this.stream = new stream.PassThrough();
|
|
1182
|
-
}
|
|
1183
|
-
write(html) {
|
|
1184
|
-
this.stream.write(stringify(html));
|
|
1185
|
-
}
|
|
1186
|
-
error(err) {
|
|
1187
|
-
this.stream.emit('error', err);
|
|
1188
|
-
}
|
|
1189
|
-
end() {
|
|
1190
|
-
this.stream.end();
|
|
1191
|
-
}
|
|
1192
|
-
}
|
|
1193
|
-
|
|
1194
|
-
class KeepingTypeEmitter {
|
|
1195
|
-
constructor() {
|
|
1196
|
-
this.buffer = '';
|
|
1197
|
-
}
|
|
1198
|
-
write(html) {
|
|
1199
|
-
html = toValue(html);
|
|
1200
|
-
// This will only preserve the type if the value is isolated.
|
|
1201
|
-
// I.E:
|
|
1202
|
-
// {{ my-port }} -> 42
|
|
1203
|
-
// {{ my-host }}:{{ my-port }} -> 'host:42'
|
|
1204
|
-
if (typeof html !== 'string' && this.buffer === '') {
|
|
1205
|
-
this.buffer = html;
|
|
1206
|
-
}
|
|
1207
|
-
else {
|
|
1208
|
-
this.buffer = stringify(this.buffer) + stringify(html);
|
|
1209
|
-
}
|
|
1210
|
-
}
|
|
1211
|
-
}
|
|
1212
|
-
|
|
1213
|
-
class Render {
|
|
1214
|
-
renderTemplatesToNodeStream(templates, ctx) {
|
|
1215
|
-
const emitter = new StreamedEmitter();
|
|
1216
|
-
Promise.resolve().then(() => toPromise(this.renderTemplates(templates, ctx, emitter)))
|
|
1217
|
-
.then(() => emitter.end(), err => emitter.error(err));
|
|
1218
|
-
return emitter.stream;
|
|
1219
|
-
}
|
|
1220
|
-
*renderTemplates(templates, ctx, emitter) {
|
|
1221
|
-
if (!emitter) {
|
|
1222
|
-
emitter = ctx.opts.keepOutputType ? new KeepingTypeEmitter() : new SimpleEmitter();
|
|
1223
|
-
}
|
|
1224
|
-
const errors = [];
|
|
1225
|
-
for (const tpl of templates) {
|
|
1226
|
-
ctx.renderLimit.check(getPerformance().now());
|
|
1227
|
-
try {
|
|
1228
|
-
// if tpl.render supports emitter, it'll return empty `html`
|
|
1229
|
-
const html = yield tpl.render(ctx, emitter);
|
|
1230
|
-
// if not, it'll return an `html`, write to the emitter for it
|
|
1231
|
-
html && emitter.write(html);
|
|
1232
|
-
if (ctx.breakCalled || ctx.continueCalled)
|
|
1233
|
-
break;
|
|
1234
|
-
}
|
|
1235
|
-
catch (e) {
|
|
1236
|
-
const err = LiquidError.is(e) ? e : new RenderError(e, tpl);
|
|
1237
|
-
if (ctx.opts.catchAllErrors)
|
|
1238
|
-
errors.push(err);
|
|
1239
|
-
else
|
|
1240
|
-
throw err;
|
|
1241
|
-
}
|
|
1242
|
-
}
|
|
1243
|
-
if (errors.length) {
|
|
1244
|
-
throw new LiquidErrors(errors);
|
|
1245
|
-
}
|
|
1246
|
-
return emitter.buffer;
|
|
1247
|
-
}
|
|
1248
|
-
}
|
|
1249
|
-
|
|
1250
|
-
class Expression {
|
|
1251
|
-
constructor(tokens) {
|
|
1252
|
-
this.postfix = [...toPostfix(tokens)];
|
|
1253
|
-
}
|
|
1254
|
-
*evaluate(ctx, lenient) {
|
|
1255
|
-
assert(ctx, 'unable to evaluate: context not defined');
|
|
1256
|
-
const operands = [];
|
|
1257
|
-
for (const token of this.postfix) {
|
|
1258
|
-
if (isOperatorToken(token)) {
|
|
1259
|
-
const r = operands.pop();
|
|
1260
|
-
let result;
|
|
1261
|
-
if (operatorTypes[token.operator] === 1 /* OperatorType.Unary */) {
|
|
1262
|
-
result = yield ctx.opts.operators[token.operator](r, ctx);
|
|
1263
|
-
}
|
|
1264
|
-
else {
|
|
1265
|
-
const l = operands.pop();
|
|
1266
|
-
result = yield ctx.opts.operators[token.operator](l, r, ctx);
|
|
1267
|
-
}
|
|
1268
|
-
operands.push(result);
|
|
1269
|
-
}
|
|
1270
|
-
else {
|
|
1271
|
-
operands.push(yield evalToken(token, ctx, lenient));
|
|
1272
|
-
}
|
|
1273
|
-
}
|
|
1274
|
-
return operands[0];
|
|
1275
|
-
}
|
|
1276
|
-
valid() {
|
|
1277
|
-
return !!this.postfix.length;
|
|
1278
|
-
}
|
|
1279
|
-
}
|
|
1280
|
-
function* evalToken(token, ctx, lenient = false) {
|
|
1281
|
-
if (!token)
|
|
1282
|
-
return;
|
|
1283
|
-
if ('content' in token)
|
|
1284
|
-
return token.content;
|
|
1285
|
-
if (isPropertyAccessToken(token))
|
|
1286
|
-
return yield evalPropertyAccessToken(token, ctx, lenient);
|
|
1287
|
-
if (isRangeToken(token))
|
|
1288
|
-
return yield evalRangeToken(token, ctx);
|
|
1289
|
-
}
|
|
1290
|
-
function* evalPropertyAccessToken(token, ctx, lenient) {
|
|
1291
|
-
const props = [];
|
|
1292
|
-
for (const prop of token.props) {
|
|
1293
|
-
props.push((yield evalToken(prop, ctx, false)));
|
|
1294
|
-
}
|
|
1295
|
-
try {
|
|
1296
|
-
if (token.variable) {
|
|
1297
|
-
const variable = yield evalToken(token.variable, ctx, lenient);
|
|
1298
|
-
return yield ctx._getFromScope(variable, props);
|
|
1299
|
-
}
|
|
1300
|
-
else {
|
|
1301
|
-
return yield ctx._get(props);
|
|
1302
|
-
}
|
|
1303
|
-
}
|
|
1304
|
-
catch (e) {
|
|
1305
|
-
if (lenient && e.name === 'InternalUndefinedVariableError')
|
|
1306
|
-
return null;
|
|
1307
|
-
throw (new UndefinedVariableError(e, token));
|
|
1308
|
-
}
|
|
1309
|
-
}
|
|
1310
|
-
function evalQuotedToken(token) {
|
|
1311
|
-
return token.content;
|
|
1312
|
-
}
|
|
1313
|
-
function* evalRangeToken(token, ctx) {
|
|
1314
|
-
const low = yield evalToken(token.lhs, ctx);
|
|
1315
|
-
const high = yield evalToken(token.rhs, ctx);
|
|
1316
|
-
ctx.memoryLimit.use(high - low + 1);
|
|
1317
|
-
return range(+low, +high + 1);
|
|
1318
|
-
}
|
|
1319
|
-
function* toPostfix(tokens) {
|
|
1320
|
-
const ops = [];
|
|
1321
|
-
for (const token of tokens) {
|
|
1322
|
-
if (isOperatorToken(token)) {
|
|
1323
|
-
while (ops.length && ops[ops.length - 1].getPrecedence() > token.getPrecedence()) {
|
|
1324
|
-
yield ops.pop();
|
|
1325
|
-
}
|
|
1326
|
-
ops.push(token);
|
|
1327
|
-
}
|
|
1328
|
-
else
|
|
1329
|
-
yield token;
|
|
1330
|
-
}
|
|
1331
|
-
while (ops.length) {
|
|
1332
|
-
yield ops.pop();
|
|
1333
|
-
}
|
|
1334
|
-
}
|
|
1335
|
-
|
|
1336
|
-
function isTruthy(val, ctx) {
|
|
1337
|
-
return !isFalsy(val, ctx);
|
|
1338
|
-
}
|
|
1339
|
-
function isFalsy(val, ctx) {
|
|
1340
|
-
val = toValue(val);
|
|
1341
|
-
if (ctx.opts.jsTruthy) {
|
|
1342
|
-
return !val;
|
|
1343
|
-
}
|
|
1344
|
-
else {
|
|
1345
|
-
return val === false || undefined === val || val === null;
|
|
1346
|
-
}
|
|
1347
|
-
}
|
|
1348
|
-
|
|
1349
|
-
const defaultOperators = {
|
|
1350
|
-
'==': equals,
|
|
1351
|
-
'!=': (l, r) => !equals(l, r),
|
|
1352
|
-
'>': (l, r) => {
|
|
1353
|
-
if (isComparable(l))
|
|
1354
|
-
return l.gt(r);
|
|
1355
|
-
if (isComparable(r))
|
|
1356
|
-
return r.lt(l);
|
|
1357
|
-
return toValue(l) > toValue(r);
|
|
1358
|
-
},
|
|
1359
|
-
'<': (l, r) => {
|
|
1360
|
-
if (isComparable(l))
|
|
1361
|
-
return l.lt(r);
|
|
1362
|
-
if (isComparable(r))
|
|
1363
|
-
return r.gt(l);
|
|
1364
|
-
return toValue(l) < toValue(r);
|
|
1365
|
-
},
|
|
1366
|
-
'>=': (l, r) => {
|
|
1367
|
-
if (isComparable(l))
|
|
1368
|
-
return l.geq(r);
|
|
1369
|
-
if (isComparable(r))
|
|
1370
|
-
return r.leq(l);
|
|
1371
|
-
return toValue(l) >= toValue(r);
|
|
1372
|
-
},
|
|
1373
|
-
'<=': (l, r) => {
|
|
1374
|
-
if (isComparable(l))
|
|
1375
|
-
return l.leq(r);
|
|
1376
|
-
if (isComparable(r))
|
|
1377
|
-
return r.geq(l);
|
|
1378
|
-
return toValue(l) <= toValue(r);
|
|
1379
|
-
},
|
|
1380
|
-
'contains': (l, r) => {
|
|
1381
|
-
l = toValue(l);
|
|
1382
|
-
if (isArray(l))
|
|
1383
|
-
return l.some((i) => equals(i, r));
|
|
1384
|
-
if (isFunction(l?.indexOf))
|
|
1385
|
-
return l.indexOf(toValue(r)) > -1;
|
|
1386
|
-
return false;
|
|
1387
|
-
},
|
|
1388
|
-
'not': (v, ctx) => isFalsy(toValue(v), ctx),
|
|
1389
|
-
'and': (l, r, ctx) => isTruthy(toValue(l), ctx) && isTruthy(toValue(r), ctx),
|
|
1390
|
-
'or': (l, r, ctx) => isTruthy(toValue(l), ctx) || isTruthy(toValue(r), ctx)
|
|
1391
|
-
};
|
|
1392
|
-
function equals(lhs, rhs) {
|
|
1393
|
-
if (isComparable(lhs))
|
|
1394
|
-
return lhs.equals(rhs);
|
|
1395
|
-
if (isComparable(rhs))
|
|
1396
|
-
return rhs.equals(lhs);
|
|
1397
|
-
lhs = toValue(lhs);
|
|
1398
|
-
rhs = toValue(rhs);
|
|
1399
|
-
if (isArray(lhs)) {
|
|
1400
|
-
return isArray(rhs) && arrayEquals(lhs, rhs);
|
|
1401
|
-
}
|
|
1402
|
-
return lhs === rhs;
|
|
1403
|
-
}
|
|
1404
|
-
function arrayEquals(lhs, rhs) {
|
|
1405
|
-
if (lhs.length !== rhs.length)
|
|
1406
|
-
return false;
|
|
1407
|
-
return !lhs.some((value, i) => !equals(value, rhs[i]));
|
|
1408
|
-
}
|
|
1409
|
-
function arrayIncludes(arr, item) {
|
|
1410
|
-
return arr.some(value => equals(value, item));
|
|
1411
|
-
}
|
|
1412
|
-
|
|
1413
|
-
class Node {
|
|
1414
|
-
constructor(key, value, next, prev) {
|
|
1415
|
-
this.key = key;
|
|
1416
|
-
this.value = value;
|
|
1417
|
-
this.next = next;
|
|
1418
|
-
this.prev = prev;
|
|
1419
|
-
}
|
|
1420
|
-
}
|
|
1421
|
-
class LRU {
|
|
1422
|
-
constructor(limit, size = 0) {
|
|
1423
|
-
this.limit = limit;
|
|
1424
|
-
this.size = size;
|
|
1425
|
-
this.cache = {};
|
|
1426
|
-
this.head = new Node('HEAD', null, null, null);
|
|
1427
|
-
this.tail = new Node('TAIL', null, null, null);
|
|
1428
|
-
this.head.next = this.tail;
|
|
1429
|
-
this.tail.prev = this.head;
|
|
1430
|
-
}
|
|
1431
|
-
write(key, value) {
|
|
1432
|
-
if (this.cache[key]) {
|
|
1433
|
-
this.cache[key].value = value;
|
|
1434
|
-
}
|
|
1435
|
-
else {
|
|
1436
|
-
const node = new Node(key, value, this.head.next, this.head);
|
|
1437
|
-
this.head.next.prev = node;
|
|
1438
|
-
this.head.next = node;
|
|
1439
|
-
this.cache[key] = node;
|
|
1440
|
-
this.size++;
|
|
1441
|
-
this.ensureLimit();
|
|
1442
|
-
}
|
|
1443
|
-
}
|
|
1444
|
-
read(key) {
|
|
1445
|
-
if (!this.cache[key])
|
|
1446
|
-
return;
|
|
1447
|
-
const { value } = this.cache[key];
|
|
1448
|
-
this.remove(key);
|
|
1449
|
-
this.write(key, value);
|
|
1450
|
-
return value;
|
|
1451
|
-
}
|
|
1452
|
-
remove(key) {
|
|
1453
|
-
const node = this.cache[key];
|
|
1454
|
-
node.prev.next = node.next;
|
|
1455
|
-
node.next.prev = node.prev;
|
|
1456
|
-
delete this.cache[key];
|
|
1457
|
-
this.size--;
|
|
1458
|
-
}
|
|
1459
|
-
clear() {
|
|
1460
|
-
this.head.next = this.tail;
|
|
1461
|
-
this.tail.prev = this.head;
|
|
1462
|
-
this.size = 0;
|
|
1463
|
-
this.cache = {};
|
|
1464
|
-
}
|
|
1465
|
-
ensureLimit() {
|
|
1466
|
-
if (this.size > this.limit)
|
|
1467
|
-
this.remove(this.tail.prev.key);
|
|
1468
|
-
}
|
|
1469
|
-
}
|
|
1470
|
-
|
|
1471
|
-
const requireResolve = (partial) => require.resolve(partial, { paths: ['.'] });
|
|
1472
|
-
|
|
1473
|
-
const statAsync = promisify(fs$1.stat);
|
|
1474
|
-
const readFileAsync = promisify(fs$1.readFile);
|
|
1475
|
-
async function exists(filepath) {
|
|
1476
|
-
try {
|
|
1477
|
-
await statAsync(filepath);
|
|
1478
|
-
return true;
|
|
1479
|
-
}
|
|
1480
|
-
catch (err) {
|
|
1481
|
-
return false;
|
|
1482
|
-
}
|
|
1483
|
-
}
|
|
1484
|
-
function readFile(filepath) {
|
|
1485
|
-
return readFileAsync(filepath, 'utf8');
|
|
1486
|
-
}
|
|
1487
|
-
function existsSync(filepath) {
|
|
1488
|
-
try {
|
|
1489
|
-
fs$1.statSync(filepath);
|
|
1490
|
-
return true;
|
|
1491
|
-
}
|
|
1492
|
-
catch (err) {
|
|
1493
|
-
return false;
|
|
1494
|
-
}
|
|
1495
|
-
}
|
|
1496
|
-
function readFileSync(filepath) {
|
|
1497
|
-
return fs$1.readFileSync(filepath, 'utf8');
|
|
1498
|
-
}
|
|
1499
|
-
function resolve(root, file, ext) {
|
|
1500
|
-
if (!path.extname(file))
|
|
1501
|
-
file += ext;
|
|
1502
|
-
return path.resolve(root, file);
|
|
1503
|
-
}
|
|
1504
|
-
function fallback(file) {
|
|
1505
|
-
try {
|
|
1506
|
-
return requireResolve(file);
|
|
1507
|
-
}
|
|
1508
|
-
catch (e) { }
|
|
1509
|
-
}
|
|
1510
|
-
function dirname(filepath) {
|
|
1511
|
-
return path.dirname(filepath);
|
|
1512
|
-
}
|
|
1513
|
-
function contains(root, file) {
|
|
1514
|
-
root = path.resolve(root);
|
|
1515
|
-
root = root.endsWith(path.sep) ? root : root + path.sep;
|
|
1516
|
-
return file.startsWith(root);
|
|
1517
|
-
}
|
|
1518
|
-
|
|
1519
|
-
var fs = /*#__PURE__*/Object.freeze({
|
|
1520
|
-
__proto__: null,
|
|
1521
|
-
exists: exists,
|
|
1522
|
-
readFile: readFile,
|
|
1523
|
-
existsSync: existsSync,
|
|
1524
|
-
readFileSync: readFileSync,
|
|
1525
|
-
resolve: resolve,
|
|
1526
|
-
fallback: fallback,
|
|
1527
|
-
dirname: dirname,
|
|
1528
|
-
contains: contains,
|
|
1529
|
-
sep: path.sep
|
|
1530
|
-
});
|
|
1531
|
-
|
|
1532
|
-
function defaultFilter(value, defaultValue, ...args) {
|
|
1533
|
-
value = toValue(value);
|
|
1534
|
-
if (isArray(value) || isString(value))
|
|
1535
|
-
return value.length ? value : defaultValue;
|
|
1536
|
-
if (value === false && (new Map(args)).get('allow_false'))
|
|
1537
|
-
return false;
|
|
1538
|
-
return isFalsy(value, this.context) ? defaultValue : value;
|
|
1539
|
-
}
|
|
1540
|
-
function json(value, space = 0) {
|
|
1541
|
-
return JSON.stringify(value, null, space);
|
|
1542
|
-
}
|
|
1543
|
-
function inspect(value, space = 0) {
|
|
1544
|
-
const ancestors = [];
|
|
1545
|
-
return JSON.stringify(value, function (_key, value) {
|
|
1546
|
-
if (typeof value !== 'object' || value === null)
|
|
1547
|
-
return value;
|
|
1548
|
-
// `this` is the object that value is contained in, i.e., its direct parent.
|
|
1549
|
-
while (ancestors.length > 0 && ancestors[ancestors.length - 1] !== this)
|
|
1550
|
-
ancestors.pop();
|
|
1551
|
-
if (ancestors.includes(value))
|
|
1552
|
-
return '[Circular]';
|
|
1553
|
-
ancestors.push(value);
|
|
1554
|
-
return value;
|
|
1555
|
-
}, space);
|
|
1556
|
-
}
|
|
1557
|
-
function to_integer(value) {
|
|
1558
|
-
return Number(value);
|
|
1559
|
-
}
|
|
1560
|
-
const raw = {
|
|
1561
|
-
raw: true,
|
|
1562
|
-
handler: identify
|
|
1563
|
-
};
|
|
1564
|
-
var misc = {
|
|
1565
|
-
default: defaultFilter,
|
|
1566
|
-
raw,
|
|
1567
|
-
jsonify: json,
|
|
1568
|
-
to_integer,
|
|
1569
|
-
json,
|
|
1570
|
-
inspect
|
|
1571
|
-
};
|
|
1572
|
-
|
|
1573
|
-
const escapeMap = {
|
|
1574
|
-
'&': '&',
|
|
1575
|
-
'<': '<',
|
|
1576
|
-
'>': '>',
|
|
1577
|
-
'"': '"',
|
|
1578
|
-
"'": '''
|
|
1579
|
-
};
|
|
1580
|
-
const unescapeMap = {
|
|
1581
|
-
'&': '&',
|
|
1582
|
-
'<': '<',
|
|
1583
|
-
'>': '>',
|
|
1584
|
-
'"': '"',
|
|
1585
|
-
''': "'"
|
|
1586
|
-
};
|
|
1587
|
-
function escape(str) {
|
|
1588
|
-
str = stringify(str);
|
|
1589
|
-
this.context.memoryLimit.use(str.length);
|
|
1590
|
-
return str.replace(/&|<|>|"|'/g, m => escapeMap[m]);
|
|
1591
|
-
}
|
|
1592
|
-
function xml_escape(str) {
|
|
1593
|
-
return escape.call(this, str);
|
|
1594
|
-
}
|
|
1595
|
-
function unescape(str) {
|
|
1596
|
-
str = stringify(str);
|
|
1597
|
-
this.context.memoryLimit.use(str.length);
|
|
1598
|
-
return str.replace(/&(amp|lt|gt|#34|#39);/g, m => unescapeMap[m]);
|
|
1599
|
-
}
|
|
1600
|
-
function escape_once(str) {
|
|
1601
|
-
return escape.call(this, unescape.call(this, str));
|
|
1602
|
-
}
|
|
1603
|
-
function newline_to_br(v) {
|
|
1604
|
-
const str = stringify(v);
|
|
1605
|
-
this.context.memoryLimit.use(str.length);
|
|
1606
|
-
return str.replace(/\r?\n/gm, '<br />\n');
|
|
1607
|
-
}
|
|
1608
|
-
function strip_html(v) {
|
|
1609
|
-
const str = stringify(v);
|
|
1610
|
-
this.context.memoryLimit.use(str.length);
|
|
1611
|
-
return str.replace(/<script[\s\S]*?<\/script>|<style[\s\S]*?<\/style>|<.*?>|<!--[\s\S]*?-->/g, '');
|
|
1612
|
-
}
|
|
1613
|
-
|
|
1614
|
-
var htmlFilters = /*#__PURE__*/Object.freeze({
|
|
1615
|
-
__proto__: null,
|
|
1616
|
-
escape: escape,
|
|
1617
|
-
xml_escape: xml_escape,
|
|
1618
|
-
escape_once: escape_once,
|
|
1619
|
-
newline_to_br: newline_to_br,
|
|
1620
|
-
strip_html: strip_html
|
|
1621
|
-
});
|
|
1622
|
-
|
|
1623
|
-
class MapFS {
|
|
1624
|
-
constructor(mapping) {
|
|
1625
|
-
this.mapping = mapping;
|
|
1626
|
-
this.sep = '/';
|
|
1627
|
-
}
|
|
1628
|
-
async exists(filepath) {
|
|
1629
|
-
return this.existsSync(filepath);
|
|
1630
|
-
}
|
|
1631
|
-
existsSync(filepath) {
|
|
1632
|
-
return !isNil(this.mapping[filepath]);
|
|
1633
|
-
}
|
|
1634
|
-
async readFile(filepath) {
|
|
1635
|
-
return this.readFileSync(filepath);
|
|
1636
|
-
}
|
|
1637
|
-
readFileSync(filepath) {
|
|
1638
|
-
const content = this.mapping[filepath];
|
|
1639
|
-
if (isNil(content))
|
|
1640
|
-
throw new Error(`ENOENT: ${filepath}`);
|
|
1641
|
-
return content;
|
|
1642
|
-
}
|
|
1643
|
-
dirname(filepath) {
|
|
1644
|
-
const segments = filepath.split(this.sep);
|
|
1645
|
-
segments.pop();
|
|
1646
|
-
return segments.join(this.sep);
|
|
1647
|
-
}
|
|
1648
|
-
resolve(dir, file, ext) {
|
|
1649
|
-
file += ext;
|
|
1650
|
-
if (dir === '.')
|
|
1651
|
-
return file;
|
|
1652
|
-
const segments = dir.split(/\/+/);
|
|
1653
|
-
for (const segment of file.split(this.sep)) {
|
|
1654
|
-
if (segment === '.' || segment === '')
|
|
1655
|
-
continue;
|
|
1656
|
-
else if (segment === '..') {
|
|
1657
|
-
if (segments.length > 1 || segments[0] !== '')
|
|
1658
|
-
segments.pop();
|
|
1659
|
-
}
|
|
1660
|
-
else
|
|
1661
|
-
segments.push(segment);
|
|
1662
|
-
}
|
|
1663
|
-
return segments.join(this.sep);
|
|
1664
|
-
}
|
|
1665
|
-
}
|
|
1666
|
-
|
|
1667
|
-
const defaultOptions = {
|
|
1668
|
-
root: ['.'],
|
|
1669
|
-
layouts: ['.'],
|
|
1670
|
-
partials: ['.'],
|
|
1671
|
-
relativeReference: true,
|
|
1672
|
-
jekyllInclude: false,
|
|
1673
|
-
keyValueSeparator: ':',
|
|
1674
|
-
cache: undefined,
|
|
1675
|
-
extname: '',
|
|
1676
|
-
fs: fs,
|
|
1677
|
-
dynamicPartials: true,
|
|
1678
|
-
jsTruthy: false,
|
|
1679
|
-
dateFormat: '%A, %B %-e, %Y at %-l:%M %P %z',
|
|
1680
|
-
locale: '',
|
|
1681
|
-
trimTagRight: false,
|
|
1682
|
-
trimTagLeft: false,
|
|
1683
|
-
trimOutputRight: false,
|
|
1684
|
-
trimOutputLeft: false,
|
|
1685
|
-
greedy: true,
|
|
1686
|
-
tagDelimiterLeft: '{%',
|
|
1687
|
-
tagDelimiterRight: '%}',
|
|
1688
|
-
outputDelimiterLeft: '{{',
|
|
1689
|
-
outputDelimiterRight: '}}',
|
|
1690
|
-
preserveTimezones: false,
|
|
1691
|
-
strictFilters: false,
|
|
1692
|
-
strictVariables: false,
|
|
1693
|
-
ownPropertyOnly: true,
|
|
1694
|
-
lenientIf: false,
|
|
1695
|
-
globals: {},
|
|
1696
|
-
keepOutputType: false,
|
|
1697
|
-
operators: defaultOperators,
|
|
1698
|
-
memoryLimit: Infinity,
|
|
1699
|
-
parseLimit: Infinity,
|
|
1700
|
-
renderLimit: Infinity
|
|
1701
|
-
};
|
|
1702
|
-
function normalize(options) {
|
|
1703
|
-
if (options.hasOwnProperty('root')) {
|
|
1704
|
-
if (!options.hasOwnProperty('partials'))
|
|
1705
|
-
options.partials = options.root;
|
|
1706
|
-
if (!options.hasOwnProperty('layouts'))
|
|
1707
|
-
options.layouts = options.root;
|
|
1708
|
-
}
|
|
1709
|
-
if (options.hasOwnProperty('cache')) {
|
|
1710
|
-
let cache;
|
|
1711
|
-
if (typeof options.cache === 'number')
|
|
1712
|
-
cache = options.cache > 0 ? new LRU(options.cache) : undefined;
|
|
1713
|
-
else if (typeof options.cache === 'object')
|
|
1714
|
-
cache = options.cache;
|
|
1715
|
-
else
|
|
1716
|
-
cache = options.cache ? new LRU(1024) : undefined;
|
|
1717
|
-
options.cache = cache;
|
|
1718
|
-
}
|
|
1719
|
-
options = { ...defaultOptions, ...(options.jekyllInclude ? { dynamicPartials: false } : {}), ...options };
|
|
1720
|
-
if ((!options.fs.dirname || !options.fs.sep) && options.relativeReference) {
|
|
1721
|
-
console.warn('[LiquidJS] `fs.dirname` and `fs.sep` are required for relativeReference, set relativeReference to `false` to suppress this warning');
|
|
1722
|
-
options.relativeReference = false;
|
|
1723
|
-
}
|
|
1724
|
-
options.root = normalizeDirectoryList(options.root);
|
|
1725
|
-
options.partials = normalizeDirectoryList(options.partials);
|
|
1726
|
-
options.layouts = normalizeDirectoryList(options.layouts);
|
|
1727
|
-
options.outputEscape = options.outputEscape && getOutputEscapeFunction(options.outputEscape);
|
|
1728
|
-
if (!options.locale) {
|
|
1729
|
-
options.locale = getDateTimeFormat()?.().resolvedOptions().locale ?? 'en-US';
|
|
1730
|
-
}
|
|
1731
|
-
if (options.templates) {
|
|
1732
|
-
options.fs = new MapFS(options.templates);
|
|
1733
|
-
options.relativeReference = true;
|
|
1734
|
-
options.root = options.partials = options.layouts = '.';
|
|
1735
|
-
}
|
|
1736
|
-
return options;
|
|
1737
|
-
}
|
|
1738
|
-
function getOutputEscapeFunction(nameOrFunction) {
|
|
1739
|
-
if (nameOrFunction === 'escape')
|
|
1740
|
-
return escape;
|
|
1741
|
-
if (nameOrFunction === 'json')
|
|
1742
|
-
return misc.json;
|
|
1743
|
-
assert(isFunction(nameOrFunction), '`outputEscape` need to be of type string or function');
|
|
1744
|
-
return nameOrFunction;
|
|
1745
|
-
}
|
|
1746
|
-
function normalizeDirectoryList(value) {
|
|
1747
|
-
let list = [];
|
|
1748
|
-
if (isArray(value))
|
|
1749
|
-
list = value;
|
|
1750
|
-
if (isString(value))
|
|
1751
|
-
list = [value];
|
|
1752
|
-
return list;
|
|
1753
|
-
}
|
|
1754
|
-
|
|
1755
|
-
function whiteSpaceCtrl(tokens, options) {
|
|
1756
|
-
let inRaw = false;
|
|
1757
|
-
for (let i = 0; i < tokens.length; i++) {
|
|
1758
|
-
const token = tokens[i];
|
|
1759
|
-
if (!isDelimitedToken(token))
|
|
1760
|
-
continue;
|
|
1761
|
-
if (!inRaw && token.trimLeft) {
|
|
1762
|
-
trimLeft(tokens[i - 1], options.greedy);
|
|
1763
|
-
}
|
|
1764
|
-
if (isTagToken(token)) {
|
|
1765
|
-
if (token.name === 'raw')
|
|
1766
|
-
inRaw = true;
|
|
1767
|
-
else if (token.name === 'endraw')
|
|
1768
|
-
inRaw = false;
|
|
1769
|
-
}
|
|
1770
|
-
if (!inRaw && token.trimRight) {
|
|
1771
|
-
trimRight(tokens[i + 1], options.greedy);
|
|
1772
|
-
}
|
|
1773
|
-
}
|
|
1774
|
-
}
|
|
1775
|
-
function trimLeft(token, greedy) {
|
|
1776
|
-
if (!token || !isHTMLToken(token))
|
|
1777
|
-
return;
|
|
1778
|
-
const mask = greedy ? BLANK : INLINE_BLANK;
|
|
1779
|
-
while (TYPES[token.input.charCodeAt(token.end - 1 - token.trimRight)] & mask)
|
|
1780
|
-
token.trimRight++;
|
|
1781
|
-
}
|
|
1782
|
-
function trimRight(token, greedy) {
|
|
1783
|
-
if (!token || !isHTMLToken(token))
|
|
1784
|
-
return;
|
|
1785
|
-
const mask = greedy ? BLANK : INLINE_BLANK;
|
|
1786
|
-
while (TYPES[token.input.charCodeAt(token.begin + token.trimLeft)] & mask)
|
|
1787
|
-
token.trimLeft++;
|
|
1788
|
-
if (token.input.charAt(token.begin + token.trimLeft) === '\n')
|
|
1789
|
-
token.trimLeft++;
|
|
1790
|
-
}
|
|
1791
|
-
|
|
1792
|
-
class Tokenizer {
|
|
1793
|
-
constructor(input, operators = defaultOptions.operators, file, range) {
|
|
1794
|
-
this.input = input;
|
|
1795
|
-
this.file = file;
|
|
1796
|
-
this.rawBeginAt = -1;
|
|
1797
|
-
this.p = range ? range[0] : 0;
|
|
1798
|
-
this.N = range ? range[1] : input.length;
|
|
1799
|
-
this.opTrie = createTrie(operators);
|
|
1800
|
-
this.literalTrie = createTrie(literalValues);
|
|
1801
|
-
}
|
|
1802
|
-
readExpression() {
|
|
1803
|
-
return new Expression(this.readExpressionTokens());
|
|
1804
|
-
}
|
|
1805
|
-
*readExpressionTokens() {
|
|
1806
|
-
while (this.p < this.N) {
|
|
1807
|
-
const operator = this.readOperator();
|
|
1808
|
-
if (operator) {
|
|
1809
|
-
yield operator;
|
|
1810
|
-
continue;
|
|
1811
|
-
}
|
|
1812
|
-
const operand = this.readValue();
|
|
1813
|
-
if (operand) {
|
|
1814
|
-
yield operand;
|
|
1815
|
-
continue;
|
|
1816
|
-
}
|
|
1817
|
-
return;
|
|
1818
|
-
}
|
|
1819
|
-
}
|
|
1820
|
-
readOperator() {
|
|
1821
|
-
this.skipBlank();
|
|
1822
|
-
const end = this.matchTrie(this.opTrie);
|
|
1823
|
-
if (end === -1)
|
|
1824
|
-
return;
|
|
1825
|
-
return new OperatorToken(this.input, this.p, (this.p = end), this.file);
|
|
1826
|
-
}
|
|
1827
|
-
matchTrie(trie) {
|
|
1828
|
-
let node = trie;
|
|
1829
|
-
let i = this.p;
|
|
1830
|
-
let info;
|
|
1831
|
-
while (node[this.input[i]] && i < this.N) {
|
|
1832
|
-
node = node[this.input[i++]];
|
|
1833
|
-
if (node['end'])
|
|
1834
|
-
info = node;
|
|
1835
|
-
}
|
|
1836
|
-
if (!info)
|
|
1837
|
-
return -1;
|
|
1838
|
-
if (info['needBoundary'] && isWord(this.peek(i - this.p)))
|
|
1839
|
-
return -1;
|
|
1840
|
-
return i;
|
|
1841
|
-
}
|
|
1842
|
-
readFilteredValue() {
|
|
1843
|
-
const begin = this.p;
|
|
1844
|
-
const initial = this.readExpression();
|
|
1845
|
-
this.assert(initial.valid(), `invalid value expression: ${this.snapshot()}`);
|
|
1846
|
-
const filters = this.readFilters();
|
|
1847
|
-
return new FilteredValueToken(initial, filters, this.input, begin, this.p, this.file);
|
|
1848
|
-
}
|
|
1849
|
-
readFilters() {
|
|
1850
|
-
const filters = [];
|
|
1851
|
-
while (true) {
|
|
1852
|
-
const filter = this.readFilter();
|
|
1853
|
-
if (!filter)
|
|
1854
|
-
return filters;
|
|
1855
|
-
filters.push(filter);
|
|
1856
|
-
}
|
|
1857
|
-
}
|
|
1858
|
-
readFilter() {
|
|
1859
|
-
this.skipBlank();
|
|
1860
|
-
if (this.end())
|
|
1861
|
-
return null;
|
|
1862
|
-
this.assert(this.read() === '|', `expected "|" before filter`);
|
|
1863
|
-
const name = this.readIdentifier();
|
|
1864
|
-
if (!name.size()) {
|
|
1865
|
-
this.assert(this.end(), `expected filter name`);
|
|
1866
|
-
return null;
|
|
1867
|
-
}
|
|
1868
|
-
const args = [];
|
|
1869
|
-
this.skipBlank();
|
|
1870
|
-
if (this.peek() === ':') {
|
|
1871
|
-
do {
|
|
1872
|
-
++this.p;
|
|
1873
|
-
const arg = this.readFilterArg();
|
|
1874
|
-
arg && args.push(arg);
|
|
1875
|
-
this.skipBlank();
|
|
1876
|
-
this.assert(this.end() || this.peek() === ',' || this.peek() === '|', () => `unexpected character ${this.snapshot()}`);
|
|
1877
|
-
} while (this.peek() === ',');
|
|
1878
|
-
}
|
|
1879
|
-
else if (this.peek() === '|' || this.end()) ;
|
|
1880
|
-
else {
|
|
1881
|
-
throw this.error('expected ":" after filter name');
|
|
1882
|
-
}
|
|
1883
|
-
return new FilterToken(name.getText(), args, this.input, name.begin, this.p, this.file);
|
|
1884
|
-
}
|
|
1885
|
-
readFilterArg() {
|
|
1886
|
-
const key = this.readValue();
|
|
1887
|
-
if (!key)
|
|
1888
|
-
return;
|
|
1889
|
-
this.skipBlank();
|
|
1890
|
-
if (this.peek() !== ':')
|
|
1891
|
-
return key;
|
|
1892
|
-
++this.p;
|
|
1893
|
-
const value = this.readValue();
|
|
1894
|
-
return [key.getText(), value];
|
|
1895
|
-
}
|
|
1896
|
-
readTopLevelTokens(options = defaultOptions) {
|
|
1897
|
-
const tokens = [];
|
|
1898
|
-
while (this.p < this.N) {
|
|
1899
|
-
const token = this.readTopLevelToken(options);
|
|
1900
|
-
tokens.push(token);
|
|
1901
|
-
}
|
|
1902
|
-
whiteSpaceCtrl(tokens, options);
|
|
1903
|
-
return tokens;
|
|
1904
|
-
}
|
|
1905
|
-
readTopLevelToken(options) {
|
|
1906
|
-
const { tagDelimiterLeft, outputDelimiterLeft } = options;
|
|
1907
|
-
if (this.rawBeginAt > -1)
|
|
1908
|
-
return this.readEndrawOrRawContent(options);
|
|
1909
|
-
if (this.match(tagDelimiterLeft))
|
|
1910
|
-
return this.readTagToken(options);
|
|
1911
|
-
if (this.match(outputDelimiterLeft))
|
|
1912
|
-
return this.readOutputToken(options);
|
|
1913
|
-
return this.readHTMLToken([tagDelimiterLeft, outputDelimiterLeft]);
|
|
1914
|
-
}
|
|
1915
|
-
readHTMLToken(stopStrings) {
|
|
1916
|
-
const begin = this.p;
|
|
1917
|
-
while (this.p < this.N) {
|
|
1918
|
-
if (stopStrings.some(str => this.match(str)))
|
|
1919
|
-
break;
|
|
1920
|
-
++this.p;
|
|
1921
|
-
}
|
|
1922
|
-
return new HTMLToken(this.input, begin, this.p, this.file);
|
|
1923
|
-
}
|
|
1924
|
-
readTagToken(options) {
|
|
1925
|
-
const { file, input } = this;
|
|
1926
|
-
const begin = this.p;
|
|
1927
|
-
if (this.readToDelimiter(options.tagDelimiterRight) === -1) {
|
|
1928
|
-
throw this.error(`tag ${this.snapshot(begin)} not closed`, begin);
|
|
1929
|
-
}
|
|
1930
|
-
const token = new TagToken(input, begin, this.p, options, file);
|
|
1931
|
-
if (token.name === 'raw')
|
|
1932
|
-
this.rawBeginAt = begin;
|
|
1933
|
-
return token;
|
|
1934
|
-
}
|
|
1935
|
-
readToDelimiter(delimiter, respectQuoted = false) {
|
|
1936
|
-
this.skipBlank();
|
|
1937
|
-
while (this.p < this.N) {
|
|
1938
|
-
if (respectQuoted && (this.peekType() & QUOTE)) {
|
|
1939
|
-
this.readQuoted();
|
|
1940
|
-
continue;
|
|
1941
|
-
}
|
|
1942
|
-
++this.p;
|
|
1943
|
-
if (this.rmatch(delimiter))
|
|
1944
|
-
return this.p;
|
|
1945
|
-
}
|
|
1946
|
-
return -1;
|
|
1947
|
-
}
|
|
1948
|
-
readOutputToken(options = defaultOptions) {
|
|
1949
|
-
const { file, input } = this;
|
|
1950
|
-
const { outputDelimiterRight } = options;
|
|
1951
|
-
const begin = this.p;
|
|
1952
|
-
if (this.readToDelimiter(outputDelimiterRight, true) === -1) {
|
|
1953
|
-
throw this.error(`output ${this.snapshot(begin)} not closed`, begin);
|
|
1954
|
-
}
|
|
1955
|
-
return new OutputToken(input, begin, this.p, options, file);
|
|
1956
|
-
}
|
|
1957
|
-
readEndrawOrRawContent(options) {
|
|
1958
|
-
const { tagDelimiterLeft, tagDelimiterRight } = options;
|
|
1959
|
-
const begin = this.p;
|
|
1960
|
-
let leftPos = this.readTo(tagDelimiterLeft) - tagDelimiterLeft.length;
|
|
1961
|
-
while (this.p < this.N) {
|
|
1962
|
-
if (this.readIdentifier().getText() !== 'endraw') {
|
|
1963
|
-
leftPos = this.readTo(tagDelimiterLeft) - tagDelimiterLeft.length;
|
|
1964
|
-
continue;
|
|
1965
|
-
}
|
|
1966
|
-
while (this.p <= this.N) {
|
|
1967
|
-
if (this.rmatch(tagDelimiterRight)) {
|
|
1968
|
-
const end = this.p;
|
|
1969
|
-
if (begin === leftPos) {
|
|
1970
|
-
this.rawBeginAt = -1;
|
|
1971
|
-
return new TagToken(this.input, begin, end, options, this.file);
|
|
1972
|
-
}
|
|
1973
|
-
else {
|
|
1974
|
-
this.p = leftPos;
|
|
1975
|
-
return new HTMLToken(this.input, begin, leftPos, this.file);
|
|
1976
|
-
}
|
|
1977
|
-
}
|
|
1978
|
-
if (this.rmatch(tagDelimiterLeft))
|
|
1979
|
-
break;
|
|
1980
|
-
this.p++;
|
|
1981
|
-
}
|
|
1982
|
-
}
|
|
1983
|
-
throw this.error(`raw ${this.snapshot(this.rawBeginAt)} not closed`, begin);
|
|
1984
|
-
}
|
|
1985
|
-
readLiquidTagTokens(options = defaultOptions) {
|
|
1986
|
-
const tokens = [];
|
|
1987
|
-
while (this.p < this.N) {
|
|
1988
|
-
const token = this.readLiquidTagToken(options);
|
|
1989
|
-
token && tokens.push(token);
|
|
1990
|
-
}
|
|
1991
|
-
return tokens;
|
|
1992
|
-
}
|
|
1993
|
-
readLiquidTagToken(options) {
|
|
1994
|
-
this.skipBlank();
|
|
1995
|
-
if (this.end())
|
|
1996
|
-
return;
|
|
1997
|
-
const begin = this.p;
|
|
1998
|
-
this.readToDelimiter('\n');
|
|
1999
|
-
const end = this.p;
|
|
2000
|
-
return new LiquidTagToken(this.input, begin, end, options, this.file);
|
|
2001
|
-
}
|
|
2002
|
-
error(msg, pos = this.p) {
|
|
2003
|
-
return new TokenizationError(msg, new IdentifierToken(this.input, pos, this.N, this.file));
|
|
2004
|
-
}
|
|
2005
|
-
assert(pred, msg, pos) {
|
|
2006
|
-
if (!pred)
|
|
2007
|
-
throw this.error(typeof msg === 'function' ? msg() : msg, pos);
|
|
2008
|
-
}
|
|
2009
|
-
snapshot(begin = this.p) {
|
|
2010
|
-
return JSON.stringify(ellipsis(this.input.slice(begin, this.N), 32));
|
|
2011
|
-
}
|
|
2012
|
-
/**
|
|
2013
|
-
* @deprecated use #readIdentifier instead
|
|
2014
|
-
*/
|
|
2015
|
-
readWord() {
|
|
2016
|
-
return this.readIdentifier();
|
|
2017
|
-
}
|
|
2018
|
-
readIdentifier() {
|
|
2019
|
-
this.skipBlank();
|
|
2020
|
-
const begin = this.p;
|
|
2021
|
-
while (!this.end() && isWord(this.peek()))
|
|
2022
|
-
++this.p;
|
|
2023
|
-
return new IdentifierToken(this.input, begin, this.p, this.file);
|
|
2024
|
-
}
|
|
2025
|
-
readNonEmptyIdentifier() {
|
|
2026
|
-
const id = this.readIdentifier();
|
|
2027
|
-
return id.size() ? id : undefined;
|
|
2028
|
-
}
|
|
2029
|
-
readTagName() {
|
|
2030
|
-
this.skipBlank();
|
|
2031
|
-
// Handle inline comment tags
|
|
2032
|
-
if (this.input[this.p] === '#')
|
|
2033
|
-
return this.input.slice(this.p, ++this.p);
|
|
2034
|
-
return this.readIdentifier().getText();
|
|
2035
|
-
}
|
|
2036
|
-
readHashes(jekyllStyle) {
|
|
2037
|
-
const hashes = [];
|
|
2038
|
-
while (true) {
|
|
2039
|
-
const hash = this.readHash(jekyllStyle);
|
|
2040
|
-
if (!hash)
|
|
2041
|
-
return hashes;
|
|
2042
|
-
hashes.push(hash);
|
|
2043
|
-
}
|
|
2044
|
-
}
|
|
2045
|
-
readHash(jekyllStyle) {
|
|
2046
|
-
this.skipBlank();
|
|
2047
|
-
if (this.peek() === ',')
|
|
2048
|
-
++this.p;
|
|
2049
|
-
const begin = this.p;
|
|
2050
|
-
const name = this.readNonEmptyIdentifier();
|
|
2051
|
-
if (!name)
|
|
2052
|
-
return;
|
|
2053
|
-
let value;
|
|
2054
|
-
this.skipBlank();
|
|
2055
|
-
const sep = isString(jekyllStyle) ? jekyllStyle : (jekyllStyle ? '=' : ':');
|
|
2056
|
-
if (this.peek() === sep) {
|
|
2057
|
-
++this.p;
|
|
2058
|
-
value = this.readValue();
|
|
2059
|
-
}
|
|
2060
|
-
return new HashToken(this.input, begin, this.p, name, value, this.file);
|
|
2061
|
-
}
|
|
2062
|
-
remaining() {
|
|
2063
|
-
return this.input.slice(this.p, this.N);
|
|
2064
|
-
}
|
|
2065
|
-
advance(step = 1) {
|
|
2066
|
-
this.p += step;
|
|
2067
|
-
}
|
|
2068
|
-
end() {
|
|
2069
|
-
return this.p >= this.N;
|
|
2070
|
-
}
|
|
2071
|
-
read() {
|
|
2072
|
-
return this.input[this.p++];
|
|
2073
|
-
}
|
|
2074
|
-
readTo(end) {
|
|
2075
|
-
while (this.p < this.N) {
|
|
2076
|
-
++this.p;
|
|
2077
|
-
if (this.rmatch(end))
|
|
2078
|
-
return this.p;
|
|
2079
|
-
}
|
|
2080
|
-
return -1;
|
|
2081
|
-
}
|
|
2082
|
-
readValue() {
|
|
2083
|
-
this.skipBlank();
|
|
2084
|
-
const begin = this.p;
|
|
2085
|
-
const variable = this.readLiteral() || this.readQuoted() || this.readRange() || this.readNumber();
|
|
2086
|
-
const props = this.readProperties(!variable);
|
|
2087
|
-
if (!props.length)
|
|
2088
|
-
return variable;
|
|
2089
|
-
return new PropertyAccessToken(variable, props, this.input, begin, this.p);
|
|
2090
|
-
}
|
|
2091
|
-
readScopeValue() {
|
|
2092
|
-
this.skipBlank();
|
|
2093
|
-
const begin = this.p;
|
|
2094
|
-
const props = this.readProperties();
|
|
2095
|
-
if (!props.length)
|
|
2096
|
-
return undefined;
|
|
2097
|
-
return new PropertyAccessToken(undefined, props, this.input, begin, this.p);
|
|
2098
|
-
}
|
|
2099
|
-
readProperties(isBegin = true) {
|
|
2100
|
-
const props = [];
|
|
2101
|
-
while (true) {
|
|
2102
|
-
if (this.peek() === '[') {
|
|
2103
|
-
this.p++;
|
|
2104
|
-
const prop = this.readValue() || new IdentifierToken(this.input, this.p, this.p, this.file);
|
|
2105
|
-
this.assert(this.readTo(']') !== -1, '[ not closed');
|
|
2106
|
-
props.push(prop);
|
|
2107
|
-
continue;
|
|
2108
|
-
}
|
|
2109
|
-
if (isBegin && !props.length) {
|
|
2110
|
-
const prop = this.readNonEmptyIdentifier();
|
|
2111
|
-
if (prop) {
|
|
2112
|
-
props.push(prop);
|
|
2113
|
-
continue;
|
|
2114
|
-
}
|
|
2115
|
-
}
|
|
2116
|
-
if (this.peek() === '.' && this.peek(1) !== '.') { // skip range syntax
|
|
2117
|
-
this.p++;
|
|
2118
|
-
const prop = this.readNonEmptyIdentifier();
|
|
2119
|
-
if (!prop)
|
|
2120
|
-
break;
|
|
2121
|
-
props.push(prop);
|
|
2122
|
-
continue;
|
|
2123
|
-
}
|
|
2124
|
-
break;
|
|
2125
|
-
}
|
|
2126
|
-
return props;
|
|
2127
|
-
}
|
|
2128
|
-
readNumber() {
|
|
2129
|
-
this.skipBlank();
|
|
2130
|
-
let decimalFound = false;
|
|
2131
|
-
let digitFound = false;
|
|
2132
|
-
let n = 0;
|
|
2133
|
-
if (this.peekType() & SIGN)
|
|
2134
|
-
n++;
|
|
2135
|
-
while (this.p + n <= this.N) {
|
|
2136
|
-
if (this.peekType(n) & NUMBER) {
|
|
2137
|
-
digitFound = true;
|
|
2138
|
-
n++;
|
|
2139
|
-
}
|
|
2140
|
-
else if (this.peek(n) === '.' && this.peek(n + 1) !== '.') {
|
|
2141
|
-
if (decimalFound || !digitFound)
|
|
2142
|
-
return;
|
|
2143
|
-
decimalFound = true;
|
|
2144
|
-
n++;
|
|
2145
|
-
}
|
|
2146
|
-
else
|
|
2147
|
-
break;
|
|
2148
|
-
}
|
|
2149
|
-
if (digitFound && !isWord(this.peek(n))) {
|
|
2150
|
-
const num = new NumberToken(this.input, this.p, this.p + n, this.file);
|
|
2151
|
-
this.advance(n);
|
|
2152
|
-
return num;
|
|
2153
|
-
}
|
|
2154
|
-
}
|
|
2155
|
-
readLiteral() {
|
|
2156
|
-
this.skipBlank();
|
|
2157
|
-
const end = this.matchTrie(this.literalTrie);
|
|
2158
|
-
if (end === -1)
|
|
2159
|
-
return;
|
|
2160
|
-
const literal = new LiteralToken(this.input, this.p, end, this.file);
|
|
2161
|
-
this.p = end;
|
|
2162
|
-
return literal;
|
|
2163
|
-
}
|
|
2164
|
-
readRange() {
|
|
2165
|
-
this.skipBlank();
|
|
2166
|
-
const begin = this.p;
|
|
2167
|
-
if (this.peek() !== '(')
|
|
2168
|
-
return;
|
|
2169
|
-
++this.p;
|
|
2170
|
-
const lhs = this.readValueOrThrow();
|
|
2171
|
-
this.skipBlank();
|
|
2172
|
-
this.assert(this.read() === '.' && this.read() === '.', 'invalid range syntax');
|
|
2173
|
-
const rhs = this.readValueOrThrow();
|
|
2174
|
-
this.skipBlank();
|
|
2175
|
-
this.assert(this.read() === ')', 'invalid range syntax');
|
|
2176
|
-
return new RangeToken(this.input, begin, this.p, lhs, rhs, this.file);
|
|
2177
|
-
}
|
|
2178
|
-
readValueOrThrow() {
|
|
2179
|
-
const value = this.readValue();
|
|
2180
|
-
this.assert(value, () => `unexpected token ${this.snapshot()}, value expected`);
|
|
2181
|
-
return value;
|
|
2182
|
-
}
|
|
2183
|
-
readQuoted() {
|
|
2184
|
-
this.skipBlank();
|
|
2185
|
-
const begin = this.p;
|
|
2186
|
-
if (!(this.peekType() & QUOTE))
|
|
2187
|
-
return;
|
|
2188
|
-
++this.p;
|
|
2189
|
-
let escaped = false;
|
|
2190
|
-
while (this.p < this.N) {
|
|
2191
|
-
++this.p;
|
|
2192
|
-
if (this.input[this.p - 1] === this.input[begin] && !escaped)
|
|
2193
|
-
break;
|
|
2194
|
-
if (escaped)
|
|
2195
|
-
escaped = false;
|
|
2196
|
-
else if (this.input[this.p - 1] === '\\')
|
|
2197
|
-
escaped = true;
|
|
2198
|
-
}
|
|
2199
|
-
return new QuotedToken(this.input, begin, this.p, this.file);
|
|
2200
|
-
}
|
|
2201
|
-
*readFileNameTemplate(options) {
|
|
2202
|
-
const { outputDelimiterLeft } = options;
|
|
2203
|
-
const htmlStopStrings = [',', ' ', outputDelimiterLeft];
|
|
2204
|
-
const htmlStopStringSet = new Set(htmlStopStrings);
|
|
2205
|
-
// break on ',' and ' ', outputDelimiterLeft only stops HTML token
|
|
2206
|
-
while (this.p < this.N && !htmlStopStringSet.has(this.peek())) {
|
|
2207
|
-
yield this.match(outputDelimiterLeft)
|
|
2208
|
-
? this.readOutputToken(options)
|
|
2209
|
-
: this.readHTMLToken(htmlStopStrings);
|
|
2210
|
-
}
|
|
2211
|
-
}
|
|
2212
|
-
match(word) {
|
|
2213
|
-
for (let i = 0; i < word.length; i++) {
|
|
2214
|
-
if (word[i] !== this.input[this.p + i])
|
|
2215
|
-
return false;
|
|
2216
|
-
}
|
|
2217
|
-
return true;
|
|
2218
|
-
}
|
|
2219
|
-
rmatch(pattern) {
|
|
2220
|
-
for (let i = 0; i < pattern.length; i++) {
|
|
2221
|
-
if (pattern[pattern.length - 1 - i] !== this.input[this.p - 1 - i])
|
|
2222
|
-
return false;
|
|
2223
|
-
}
|
|
2224
|
-
return true;
|
|
2225
|
-
}
|
|
2226
|
-
peekType(n = 0) {
|
|
2227
|
-
return this.p + n >= this.N ? 0 : TYPES[this.input.charCodeAt(this.p + n)];
|
|
2228
|
-
}
|
|
2229
|
-
peek(n = 0) {
|
|
2230
|
-
return this.p + n >= this.N ? '' : this.input[this.p + n];
|
|
2231
|
-
}
|
|
2232
|
-
skipBlank() {
|
|
2233
|
-
while (this.peekType() & BLANK)
|
|
2234
|
-
++this.p;
|
|
2235
|
-
}
|
|
2236
|
-
}
|
|
2237
|
-
|
|
2238
|
-
class ParseStream {
|
|
2239
|
-
constructor(tokens, parseToken) {
|
|
2240
|
-
this.handlers = {};
|
|
2241
|
-
this.stopRequested = false;
|
|
2242
|
-
this.tokens = tokens;
|
|
2243
|
-
this.parseToken = parseToken;
|
|
2244
|
-
}
|
|
2245
|
-
on(name, cb) {
|
|
2246
|
-
this.handlers[name] = cb;
|
|
2247
|
-
return this;
|
|
2248
|
-
}
|
|
2249
|
-
trigger(event, arg) {
|
|
2250
|
-
const h = this.handlers[event];
|
|
2251
|
-
return h ? (h.call(this, arg), true) : false;
|
|
2252
|
-
}
|
|
2253
|
-
start() {
|
|
2254
|
-
this.trigger('start');
|
|
2255
|
-
let token;
|
|
2256
|
-
while (!this.stopRequested && (token = this.tokens.shift())) {
|
|
2257
|
-
if (this.trigger('token', token))
|
|
2258
|
-
continue;
|
|
2259
|
-
if (isTagToken(token) && this.trigger(`tag:${token.name}`, token)) {
|
|
2260
|
-
continue;
|
|
2261
|
-
}
|
|
2262
|
-
const template = this.parseToken(token, this.tokens);
|
|
2263
|
-
this.trigger('template', template);
|
|
2264
|
-
}
|
|
2265
|
-
if (!this.stopRequested)
|
|
2266
|
-
this.trigger('end');
|
|
2267
|
-
return this;
|
|
2268
|
-
}
|
|
2269
|
-
stop() {
|
|
2270
|
-
this.stopRequested = true;
|
|
2271
|
-
return this;
|
|
2272
|
-
}
|
|
2273
|
-
}
|
|
2274
|
-
|
|
2275
|
-
class TemplateImpl {
|
|
2276
|
-
constructor(token) {
|
|
2277
|
-
this.token = token;
|
|
2278
|
-
}
|
|
2279
|
-
}
|
|
2280
|
-
|
|
2281
|
-
class Tag extends TemplateImpl {
|
|
2282
|
-
constructor(token, remainTokens, liquid) {
|
|
2283
|
-
super(token);
|
|
2284
|
-
this.name = token.name;
|
|
2285
|
-
this.liquid = liquid;
|
|
2286
|
-
this.tokenizer = token.tokenizer;
|
|
2287
|
-
}
|
|
2288
|
-
}
|
|
2289
|
-
|
|
2290
|
-
/**
|
|
2291
|
-
* Key-Value Pairs Representing Tag Arguments
|
|
2292
|
-
* Example:
|
|
2293
|
-
* For the markup `, foo:'bar', coo:2 reversed %}`,
|
|
2294
|
-
* hash['foo'] === 'bar'
|
|
2295
|
-
* hash['coo'] === 2
|
|
2296
|
-
* hash['reversed'] === undefined
|
|
2297
|
-
*/
|
|
2298
|
-
class Hash {
|
|
2299
|
-
constructor(input, jekyllStyle) {
|
|
2300
|
-
this.hash = {};
|
|
2301
|
-
const tokenizer = input instanceof Tokenizer ? input : new Tokenizer(input, {});
|
|
2302
|
-
for (const hash of tokenizer.readHashes(jekyllStyle)) {
|
|
2303
|
-
this.hash[hash.name.content] = hash.value;
|
|
2304
|
-
}
|
|
2305
|
-
}
|
|
2306
|
-
*render(ctx) {
|
|
2307
|
-
const hash = {};
|
|
2308
|
-
for (const key of Object.keys(this.hash)) {
|
|
2309
|
-
hash[key] = this.hash[key] === undefined ? true : yield evalToken(this.hash[key], ctx);
|
|
2310
|
-
}
|
|
2311
|
-
return hash;
|
|
2312
|
-
}
|
|
2313
|
-
}
|
|
2314
|
-
|
|
2315
|
-
function createTagClass(options) {
|
|
2316
|
-
return class extends Tag {
|
|
2317
|
-
constructor(token, tokens, liquid) {
|
|
2318
|
-
super(token, tokens, liquid);
|
|
2319
|
-
if (isFunction(options.parse)) {
|
|
2320
|
-
options.parse.call(this, token, tokens);
|
|
2321
|
-
}
|
|
2322
|
-
}
|
|
2323
|
-
*render(ctx, emitter) {
|
|
2324
|
-
const hash = (yield new Hash(this.token.args, ctx.opts.keyValueSeparator).render(ctx));
|
|
2325
|
-
return yield options.render.call(this, ctx, emitter, hash);
|
|
2326
|
-
}
|
|
2327
|
-
};
|
|
2328
|
-
}
|
|
2329
|
-
|
|
2330
|
-
function isKeyValuePair(arr) {
|
|
2331
|
-
return isArray(arr);
|
|
2332
|
-
}
|
|
2333
|
-
|
|
2334
|
-
class Filter {
|
|
2335
|
-
constructor(token, options, liquid) {
|
|
2336
|
-
this.token = token;
|
|
2337
|
-
this.name = token.name;
|
|
2338
|
-
this.handler = isFunction(options)
|
|
2339
|
-
? options
|
|
2340
|
-
: (isFunction(options?.handler) ? options.handler : identify);
|
|
2341
|
-
this.raw = !isFunction(options) && !!options?.raw;
|
|
2342
|
-
this.args = token.args;
|
|
2343
|
-
this.liquid = liquid;
|
|
2344
|
-
}
|
|
2345
|
-
*render(value, context) {
|
|
2346
|
-
const argv = [];
|
|
2347
|
-
for (const arg of this.args) {
|
|
2348
|
-
if (isKeyValuePair(arg))
|
|
2349
|
-
argv.push([arg[0], yield evalToken(arg[1], context)]);
|
|
2350
|
-
else
|
|
2351
|
-
argv.push(yield evalToken(arg, context));
|
|
2352
|
-
}
|
|
2353
|
-
return yield this.handler.apply({ context, token: this.token, liquid: this.liquid }, [value, ...argv]);
|
|
2354
|
-
}
|
|
2355
|
-
}
|
|
2356
|
-
|
|
2357
|
-
class Value {
|
|
2358
|
-
/**
|
|
2359
|
-
* @param str the value to be valuated, eg.: "foobar" | truncate: 3
|
|
2360
|
-
*/
|
|
2361
|
-
constructor(input, liquid) {
|
|
2362
|
-
this.filters = [];
|
|
2363
|
-
const token = typeof input === 'string'
|
|
2364
|
-
? new Tokenizer(input, liquid.options.operators).readFilteredValue()
|
|
2365
|
-
: input;
|
|
2366
|
-
this.initial = token.initial;
|
|
2367
|
-
this.filters = token.filters.map(token => new Filter(token, this.getFilter(liquid, token.name), liquid));
|
|
2368
|
-
}
|
|
2369
|
-
*value(ctx, lenient) {
|
|
2370
|
-
lenient = lenient || (ctx.opts.lenientIf && this.filters.length > 0 && this.filters[0].name === 'default');
|
|
2371
|
-
let val = yield this.initial.evaluate(ctx, lenient);
|
|
2372
|
-
for (const filter of this.filters) {
|
|
2373
|
-
val = yield filter.render(val, ctx);
|
|
2374
|
-
}
|
|
2375
|
-
return val;
|
|
2376
|
-
}
|
|
2377
|
-
getFilter(liquid, name) {
|
|
2378
|
-
const impl = liquid.filters[name];
|
|
2379
|
-
assert(impl || !liquid.options.strictFilters, () => `undefined filter: ${name}`);
|
|
2380
|
-
return impl;
|
|
2381
|
-
}
|
|
2382
|
-
}
|
|
2383
|
-
|
|
2384
|
-
class Output extends TemplateImpl {
|
|
2385
|
-
constructor(token, liquid) {
|
|
2386
|
-
super(token);
|
|
2387
|
-
const tokenizer = new Tokenizer(token.input, liquid.options.operators, token.file, token.contentRange);
|
|
2388
|
-
this.value = new Value(tokenizer.readFilteredValue(), liquid);
|
|
2389
|
-
const filters = this.value.filters;
|
|
2390
|
-
const outputEscape = liquid.options.outputEscape;
|
|
2391
|
-
if (!filters[filters.length - 1]?.raw && outputEscape) {
|
|
2392
|
-
const token = new FilterToken(toString.call(outputEscape), [], '', 0, 0);
|
|
2393
|
-
filters.push(new Filter(token, outputEscape, liquid));
|
|
2394
|
-
}
|
|
2395
|
-
}
|
|
2396
|
-
*render(ctx, emitter) {
|
|
2397
|
-
const val = yield this.value.value(ctx, false);
|
|
2398
|
-
emitter.write(val);
|
|
2399
|
-
}
|
|
2400
|
-
*arguments() {
|
|
2401
|
-
yield this.value;
|
|
2402
|
-
}
|
|
2403
|
-
}
|
|
2404
|
-
|
|
2405
|
-
class HTML extends TemplateImpl {
|
|
2406
|
-
constructor(token) {
|
|
2407
|
-
super(token);
|
|
2408
|
-
this.str = token.getContent();
|
|
2409
|
-
}
|
|
2410
|
-
*render(ctx, emitter) {
|
|
2411
|
-
emitter.write(this.str);
|
|
2412
|
-
}
|
|
2413
|
-
}
|
|
2414
|
-
|
|
2415
|
-
/**
|
|
2416
|
-
* A variable's segments and location, which can be coerced to a string.
|
|
2417
|
-
*/
|
|
2418
|
-
class Variable {
|
|
2419
|
-
constructor(segments, location) {
|
|
2420
|
-
this.segments = segments;
|
|
2421
|
-
this.location = location;
|
|
2422
|
-
}
|
|
2423
|
-
toString() {
|
|
2424
|
-
return segmentsString(this.segments, true);
|
|
2425
|
-
}
|
|
2426
|
-
/** Return this variable's segments as an array, possibly with nested arrays for nested paths. */
|
|
2427
|
-
toArray() {
|
|
2428
|
-
function* _visit(...segments) {
|
|
2429
|
-
for (const segment of segments) {
|
|
2430
|
-
if (segment instanceof Variable) {
|
|
2431
|
-
yield Array.from(_visit(...segment.segments));
|
|
2432
|
-
}
|
|
2433
|
-
else {
|
|
2434
|
-
yield segment;
|
|
2435
|
-
}
|
|
2436
|
-
}
|
|
2437
|
-
}
|
|
2438
|
-
return Array.from(_visit(...this.segments));
|
|
2439
|
-
}
|
|
2440
|
-
}
|
|
2441
|
-
/**
|
|
2442
|
-
* Group variables by the string representation of their root segment.
|
|
2443
|
-
*/
|
|
2444
|
-
class VariableMap {
|
|
2445
|
-
constructor() {
|
|
2446
|
-
this.map = new Map();
|
|
2447
|
-
}
|
|
2448
|
-
get(key) {
|
|
2449
|
-
const k = segmentsString([key.segments[0]]);
|
|
2450
|
-
if (!this.map.has(k)) {
|
|
2451
|
-
this.map.set(k, []);
|
|
2452
|
-
}
|
|
2453
|
-
return this.map.get(k);
|
|
2454
|
-
}
|
|
2455
|
-
has(key) {
|
|
2456
|
-
return this.map.has(segmentsString([key.segments[0]]));
|
|
2457
|
-
}
|
|
2458
|
-
push(variable) {
|
|
2459
|
-
this.get(variable).push(variable);
|
|
2460
|
-
}
|
|
2461
|
-
asObject() {
|
|
2462
|
-
return Object.fromEntries(this.map);
|
|
2463
|
-
}
|
|
2464
|
-
}
|
|
2465
|
-
const defaultStaticAnalysisOptions = {
|
|
2466
|
-
partials: true
|
|
2467
|
-
};
|
|
2468
|
-
function* _analyze(templates, partials, sync) {
|
|
2469
|
-
const variables = new VariableMap();
|
|
2470
|
-
const globals = new VariableMap();
|
|
2471
|
-
const locals = new VariableMap();
|
|
2472
|
-
const rootScope = new DummyScope(new Set());
|
|
2473
|
-
// Names of partial templates that we've already analyzed.
|
|
2474
|
-
const seen = new Set();
|
|
2475
|
-
function updateVariables(variable, scope) {
|
|
2476
|
-
variables.push(variable);
|
|
2477
|
-
const aliased = scope.alias(variable);
|
|
2478
|
-
if (aliased !== undefined) {
|
|
2479
|
-
const root = aliased.segments[0];
|
|
2480
|
-
// TODO: What if a a template renders a rendered template? Do we need scope.parent?
|
|
2481
|
-
if (isString(root) && !rootScope.has(root)) {
|
|
2482
|
-
globals.push(aliased);
|
|
2483
|
-
}
|
|
2484
|
-
}
|
|
2485
|
-
else {
|
|
2486
|
-
const root = variable.segments[0];
|
|
2487
|
-
if (isString(root) && !scope.has(root)) {
|
|
2488
|
-
globals.push(variable);
|
|
2489
|
-
}
|
|
2490
|
-
}
|
|
2491
|
-
// Recurse for nested Variables
|
|
2492
|
-
for (const segment of variable.segments) {
|
|
2493
|
-
if (segment instanceof Variable) {
|
|
2494
|
-
updateVariables(segment, scope);
|
|
2495
|
-
}
|
|
2496
|
-
}
|
|
2497
|
-
}
|
|
2498
|
-
function* visit(template, scope) {
|
|
2499
|
-
if (template.arguments) {
|
|
2500
|
-
for (const arg of template.arguments()) {
|
|
2501
|
-
for (const variable of extractVariables(arg)) {
|
|
2502
|
-
updateVariables(variable, scope);
|
|
2503
|
-
}
|
|
2504
|
-
}
|
|
2505
|
-
}
|
|
2506
|
-
if (template.localScope) {
|
|
2507
|
-
for (const ident of template.localScope()) {
|
|
2508
|
-
scope.add(ident.content);
|
|
2509
|
-
scope.deleteAlias(ident.content);
|
|
2510
|
-
const [row, col] = ident.getPosition();
|
|
2511
|
-
locals.push(new Variable([ident.content], { row, col, file: ident.file }));
|
|
2512
|
-
}
|
|
2513
|
-
}
|
|
2514
|
-
if (template.children) {
|
|
2515
|
-
if (template.partialScope) {
|
|
2516
|
-
const partial = template.partialScope();
|
|
2517
|
-
if (partial === undefined) {
|
|
2518
|
-
// Layouts, for example, can have children that are not partials.
|
|
2519
|
-
for (const child of (yield template.children(partials, sync))) {
|
|
2520
|
-
yield visit(child, scope);
|
|
2521
|
-
}
|
|
2522
|
-
return;
|
|
2523
|
-
}
|
|
2524
|
-
if (seen.has(partial.name))
|
|
2525
|
-
return;
|
|
2526
|
-
const partialScopeNames = new Set();
|
|
2527
|
-
const partialScope = partial.isolated
|
|
2528
|
-
? new DummyScope(partialScopeNames)
|
|
2529
|
-
: scope.push(partialScopeNames);
|
|
2530
|
-
for (const name of partial.scope) {
|
|
2531
|
-
if (isString(name)) {
|
|
2532
|
-
partialScopeNames.add(name);
|
|
2533
|
-
}
|
|
2534
|
-
else {
|
|
2535
|
-
const [alias, argument] = name;
|
|
2536
|
-
partialScopeNames.add(alias);
|
|
2537
|
-
const variables = Array.from(extractVariables(argument));
|
|
2538
|
-
if (variables.length) {
|
|
2539
|
-
partialScope.setAlias(alias, variables[0].segments);
|
|
2540
|
-
}
|
|
2541
|
-
}
|
|
2542
|
-
}
|
|
2543
|
-
for (const child of (yield template.children(partials, sync))) {
|
|
2544
|
-
yield visit(child, partialScope);
|
|
2545
|
-
seen.add(partial.name);
|
|
2546
|
-
}
|
|
2547
|
-
partialScope.pop();
|
|
2548
|
-
}
|
|
2549
|
-
else {
|
|
2550
|
-
if (template.blockScope) {
|
|
2551
|
-
scope.push(new Set(template.blockScope()));
|
|
2552
|
-
}
|
|
2553
|
-
for (const child of (yield template.children(partials, sync))) {
|
|
2554
|
-
yield visit(child, scope);
|
|
2555
|
-
}
|
|
2556
|
-
if (template.blockScope) {
|
|
2557
|
-
scope.pop();
|
|
2558
|
-
}
|
|
2559
|
-
}
|
|
2560
|
-
}
|
|
2561
|
-
}
|
|
2562
|
-
for (const template of templates) {
|
|
2563
|
-
yield visit(template, rootScope);
|
|
2564
|
-
}
|
|
2565
|
-
return {
|
|
2566
|
-
variables: variables.asObject(),
|
|
2567
|
-
globals: globals.asObject(),
|
|
2568
|
-
locals: locals.asObject()
|
|
2569
|
-
};
|
|
2570
|
-
}
|
|
2571
|
-
/**
|
|
2572
|
-
* Statically analyze a template and report variable usage.
|
|
2573
|
-
*/
|
|
2574
|
-
function analyze(template, options = {}) {
|
|
2575
|
-
const opts = { ...defaultStaticAnalysisOptions, ...options };
|
|
2576
|
-
return toPromise(_analyze(template, opts.partials, false));
|
|
2577
|
-
}
|
|
2578
|
-
/**
|
|
2579
|
-
* Statically analyze a template and report variable usage.
|
|
2580
|
-
*/
|
|
2581
|
-
function analyzeSync(template, options = {}) {
|
|
2582
|
-
const opts = { ...defaultStaticAnalysisOptions, ...options };
|
|
2583
|
-
return toValueSync(_analyze(template, opts.partials, true));
|
|
2584
|
-
}
|
|
2585
|
-
/**
|
|
2586
|
-
* A stack to manage scopes while traversing templates during static analysis.
|
|
2587
|
-
*/
|
|
2588
|
-
class DummyScope {
|
|
2589
|
-
constructor(globals) {
|
|
2590
|
-
this.stack = [{ names: globals, aliases: new Map() }];
|
|
2591
|
-
}
|
|
2592
|
-
/** Return true if `name` is in scope. */
|
|
2593
|
-
has(name) {
|
|
2594
|
-
for (const scope of this.stack) {
|
|
2595
|
-
if (scope.names.has(name)) {
|
|
2596
|
-
return true;
|
|
2597
|
-
}
|
|
2598
|
-
}
|
|
2599
|
-
return false;
|
|
2600
|
-
}
|
|
2601
|
-
push(scope) {
|
|
2602
|
-
this.stack.push({ names: scope, aliases: new Map() });
|
|
2603
|
-
return this;
|
|
2604
|
-
}
|
|
2605
|
-
pop() {
|
|
2606
|
-
return this.stack.pop()?.names;
|
|
2607
|
-
}
|
|
2608
|
-
// Add a name to the template scope.
|
|
2609
|
-
add(name) {
|
|
2610
|
-
this.stack[0].names.add(name);
|
|
2611
|
-
}
|
|
2612
|
-
/** Return the variable that `variable` aliases, or `variable` if it doesn't alias anything. */
|
|
2613
|
-
alias(variable) {
|
|
2614
|
-
const root = variable.segments[0];
|
|
2615
|
-
if (!isString(root))
|
|
2616
|
-
return undefined;
|
|
2617
|
-
const alias = this.getAlias(root);
|
|
2618
|
-
if (alias === undefined)
|
|
2619
|
-
return undefined;
|
|
2620
|
-
return new Variable([...alias, ...variable.segments.slice(1)], variable.location);
|
|
2621
|
-
}
|
|
2622
|
-
// TODO: `from` could be a path with multiple segments, like `include.x`.
|
|
2623
|
-
setAlias(from, to) {
|
|
2624
|
-
this.stack[this.stack.length - 1].aliases.set(from, to);
|
|
2625
|
-
}
|
|
2626
|
-
deleteAlias(name) {
|
|
2627
|
-
this.stack[this.stack.length - 1].aliases.delete(name);
|
|
2628
|
-
}
|
|
2629
|
-
getAlias(name) {
|
|
2630
|
-
for (const scope of this.stack) {
|
|
2631
|
-
if (scope.aliases.has(name)) {
|
|
2632
|
-
return scope.aliases.get(name);
|
|
2633
|
-
}
|
|
2634
|
-
// If a scope has defined `name`, then it masks aliases in parent scopes.
|
|
2635
|
-
if (scope.names.has(name)) {
|
|
2636
|
-
return undefined;
|
|
2637
|
-
}
|
|
2638
|
-
}
|
|
2639
|
-
return undefined;
|
|
2640
|
-
}
|
|
2641
|
-
}
|
|
2642
|
-
function* extractVariables(value) {
|
|
2643
|
-
if (isValueToken(value)) {
|
|
2644
|
-
yield* extractValueTokenVariables(value);
|
|
2645
|
-
}
|
|
2646
|
-
else if (value instanceof Value) {
|
|
2647
|
-
yield* extractFilteredValueVariables(value);
|
|
2648
|
-
}
|
|
2649
|
-
}
|
|
2650
|
-
function* extractFilteredValueVariables(value) {
|
|
2651
|
-
for (const token of value.initial.postfix) {
|
|
2652
|
-
if (isValueToken(token)) {
|
|
2653
|
-
yield* extractValueTokenVariables(token);
|
|
2654
|
-
}
|
|
2655
|
-
}
|
|
2656
|
-
for (const filter of value.filters) {
|
|
2657
|
-
for (const arg of filter.args) {
|
|
2658
|
-
if (isKeyValuePair(arg) && arg[1]) {
|
|
2659
|
-
yield* extractValueTokenVariables(arg[1]);
|
|
2660
|
-
}
|
|
2661
|
-
else if (isValueToken(arg)) {
|
|
2662
|
-
yield* extractValueTokenVariables(arg);
|
|
2663
|
-
}
|
|
2664
|
-
}
|
|
2665
|
-
}
|
|
2666
|
-
}
|
|
2667
|
-
function* extractValueTokenVariables(token) {
|
|
2668
|
-
if (isRangeToken(token)) {
|
|
2669
|
-
yield* extractValueTokenVariables(token.lhs);
|
|
2670
|
-
yield* extractValueTokenVariables(token.rhs);
|
|
2671
|
-
}
|
|
2672
|
-
else if (isPropertyAccessToken(token)) {
|
|
2673
|
-
yield extractPropertyAccessVariable(token);
|
|
2674
|
-
}
|
|
2675
|
-
}
|
|
2676
|
-
function extractPropertyAccessVariable(token) {
|
|
2677
|
-
const segments = [];
|
|
2678
|
-
// token is not guaranteed to have `file` set. We'll try to get it from a prop if not.
|
|
2679
|
-
let file = token.file;
|
|
2680
|
-
// Here we're flattening the first segment of a path if it is a nested path.
|
|
2681
|
-
const root = token.props[0];
|
|
2682
|
-
file = file || root.file;
|
|
2683
|
-
if (isQuotedToken(root) || isNumberToken(root) || isWordToken(root)) {
|
|
2684
|
-
segments.push(root.content);
|
|
2685
|
-
}
|
|
2686
|
-
else if (isPropertyAccessToken(root)) {
|
|
2687
|
-
// Flatten paths that start with a nested path.
|
|
2688
|
-
segments.push(...extractPropertyAccessVariable(root).segments);
|
|
2689
|
-
}
|
|
2690
|
-
for (const prop of token.props.slice(1)) {
|
|
2691
|
-
file = file || prop.file;
|
|
2692
|
-
if (isQuotedToken(prop) || isNumberToken(prop) || isWordToken(prop)) {
|
|
2693
|
-
segments.push(prop.content);
|
|
2694
|
-
}
|
|
2695
|
-
else if (isPropertyAccessToken(prop)) {
|
|
2696
|
-
segments.push(extractPropertyAccessVariable(prop));
|
|
2697
|
-
}
|
|
2698
|
-
}
|
|
2699
|
-
const [row, col] = token.getPosition();
|
|
2700
|
-
return new Variable(segments, {
|
|
2701
|
-
row,
|
|
2702
|
-
col,
|
|
2703
|
-
file
|
|
2704
|
-
});
|
|
2705
|
-
}
|
|
2706
|
-
// This is used to detect segments that can be represented with dot notation
|
|
2707
|
-
// when creating a string representation of VariableSegments.
|
|
2708
|
-
const RE_PROPERTY = /^[\u0080-\uFFFFa-zA-Z_][\u0080-\uFFFFa-zA-Z0-9_-]*$/;
|
|
2709
|
-
/**
|
|
2710
|
-
* Return a string representation of segments using dot notation where possible.
|
|
2711
|
-
* @param segments - The property names and array indices that make up a path to a variable.
|
|
2712
|
-
* @param bracketedRoot - If false (the default), don't surround the root segment with square brackets.
|
|
2713
|
-
*/
|
|
2714
|
-
function segmentsString(segments, bracketedRoot = false) {
|
|
2715
|
-
const buf = [];
|
|
2716
|
-
const root = segments[0];
|
|
2717
|
-
if (isString(root)) {
|
|
2718
|
-
if (!bracketedRoot || root.match(RE_PROPERTY)) {
|
|
2719
|
-
buf.push(`${root}`);
|
|
2720
|
-
}
|
|
2721
|
-
else {
|
|
2722
|
-
buf.push(`['${root}']`);
|
|
2723
|
-
}
|
|
2724
|
-
}
|
|
2725
|
-
for (const segment of segments.slice(1)) {
|
|
2726
|
-
if (segment instanceof Variable) {
|
|
2727
|
-
buf.push(`[${segmentsString(segment.segments)}]`);
|
|
2728
|
-
}
|
|
2729
|
-
else if (isString(segment)) {
|
|
2730
|
-
if (segment.match(RE_PROPERTY)) {
|
|
2731
|
-
buf.push(`.${segment}`);
|
|
2732
|
-
}
|
|
2733
|
-
else {
|
|
2734
|
-
buf.push(`['${segment}']`);
|
|
2735
|
-
}
|
|
2736
|
-
}
|
|
2737
|
-
else {
|
|
2738
|
-
buf.push(`[${segment}]`);
|
|
2739
|
-
}
|
|
2740
|
-
}
|
|
2741
|
-
return buf.join('');
|
|
2742
|
-
}
|
|
2743
|
-
|
|
2744
|
-
var LookupType;
|
|
2745
|
-
(function (LookupType) {
|
|
2746
|
-
LookupType["Partials"] = "partials";
|
|
2747
|
-
LookupType["Layouts"] = "layouts";
|
|
2748
|
-
LookupType["Root"] = "root";
|
|
2749
|
-
})(LookupType || (LookupType = {}));
|
|
2750
|
-
class Loader {
|
|
2751
|
-
constructor(options) {
|
|
2752
|
-
this.options = options;
|
|
2753
|
-
if (options.relativeReference) {
|
|
2754
|
-
const sep = options.fs.sep;
|
|
2755
|
-
assert(sep, '`fs.sep` is required for relative reference');
|
|
2756
|
-
const rRelativePath = new RegExp(['.' + sep, '..' + sep, './', '../'].map(prefix => escapeRegex(prefix)).join('|'));
|
|
2757
|
-
this.shouldLoadRelative = (referencedFile) => rRelativePath.test(referencedFile);
|
|
2758
|
-
}
|
|
2759
|
-
else {
|
|
2760
|
-
this.shouldLoadRelative = (_referencedFile) => false;
|
|
2761
|
-
}
|
|
2762
|
-
this.contains = this.options.fs.contains || (() => true);
|
|
2763
|
-
}
|
|
2764
|
-
*lookup(file, type, sync, currentFile) {
|
|
2765
|
-
const { fs } = this.options;
|
|
2766
|
-
const dirs = this.options[type];
|
|
2767
|
-
for (const filepath of this.candidates(file, dirs, currentFile, type !== LookupType.Root)) {
|
|
2768
|
-
if (sync ? fs.existsSync(filepath) : yield fs.exists(filepath))
|
|
2769
|
-
return filepath;
|
|
2770
|
-
}
|
|
2771
|
-
throw this.lookupError(file, dirs);
|
|
2772
|
-
}
|
|
2773
|
-
*candidates(file, dirs, currentFile, enforceRoot) {
|
|
2774
|
-
const { fs, extname } = this.options;
|
|
2775
|
-
if (this.shouldLoadRelative(file) && currentFile) {
|
|
2776
|
-
const referenced = fs.resolve(this.dirname(currentFile), file, extname);
|
|
2777
|
-
for (const dir of dirs) {
|
|
2778
|
-
if (!enforceRoot || this.contains(dir, referenced)) {
|
|
2779
|
-
// the relatively referenced file is within one of root dirs
|
|
2780
|
-
yield referenced;
|
|
2781
|
-
break;
|
|
2782
|
-
}
|
|
2783
|
-
}
|
|
2784
|
-
}
|
|
2785
|
-
for (const dir of dirs) {
|
|
2786
|
-
const referenced = fs.resolve(dir, file, extname);
|
|
2787
|
-
if (!enforceRoot || this.contains(dir, referenced)) {
|
|
2788
|
-
yield referenced;
|
|
2789
|
-
}
|
|
2790
|
-
}
|
|
2791
|
-
if (fs.fallback !== undefined) {
|
|
2792
|
-
const filepath = fs.fallback(file);
|
|
2793
|
-
if (filepath !== undefined)
|
|
2794
|
-
yield filepath;
|
|
2795
|
-
}
|
|
2796
|
-
}
|
|
2797
|
-
dirname(path) {
|
|
2798
|
-
const fs = this.options.fs;
|
|
2799
|
-
assert(fs.dirname, '`fs.dirname` is required for relative reference');
|
|
2800
|
-
return fs.dirname(path);
|
|
2801
|
-
}
|
|
2802
|
-
lookupError(file, roots) {
|
|
2803
|
-
const err = new Error('ENOENT');
|
|
2804
|
-
err.message = `ENOENT: Failed to lookup "${file}" in "${roots}"`;
|
|
2805
|
-
err.code = 'ENOENT';
|
|
2806
|
-
return err;
|
|
2807
|
-
}
|
|
2808
|
-
}
|
|
2809
|
-
|
|
2810
|
-
class Parser {
|
|
2811
|
-
constructor(liquid) {
|
|
2812
|
-
this.liquid = liquid;
|
|
2813
|
-
this.cache = this.liquid.options.cache;
|
|
2814
|
-
this.fs = this.liquid.options.fs;
|
|
2815
|
-
this.parseFile = this.cache ? this._parseFileCached : this._parseFile;
|
|
2816
|
-
this.loader = new Loader(this.liquid.options);
|
|
2817
|
-
this.parseLimit = new Limiter('parse length', liquid.options.parseLimit);
|
|
2818
|
-
}
|
|
2819
|
-
parse(html, filepath) {
|
|
2820
|
-
html = String(html);
|
|
2821
|
-
this.parseLimit.use(html.length);
|
|
2822
|
-
const tokenizer = new Tokenizer(html, this.liquid.options.operators, filepath);
|
|
2823
|
-
const tokens = tokenizer.readTopLevelTokens(this.liquid.options);
|
|
2824
|
-
return this.parseTokens(tokens);
|
|
2825
|
-
}
|
|
2826
|
-
parseTokens(tokens) {
|
|
2827
|
-
let token;
|
|
2828
|
-
const templates = [];
|
|
2829
|
-
const errors = [];
|
|
2830
|
-
while ((token = tokens.shift())) {
|
|
2831
|
-
try {
|
|
2832
|
-
templates.push(this.parseToken(token, tokens));
|
|
2833
|
-
}
|
|
2834
|
-
catch (err) {
|
|
2835
|
-
if (this.liquid.options.catchAllErrors)
|
|
2836
|
-
errors.push(err);
|
|
2837
|
-
else
|
|
2838
|
-
throw err;
|
|
2839
|
-
}
|
|
2840
|
-
}
|
|
2841
|
-
if (errors.length)
|
|
2842
|
-
throw new LiquidErrors(errors);
|
|
2843
|
-
return templates;
|
|
2844
|
-
}
|
|
2845
|
-
parseToken(token, remainTokens) {
|
|
2846
|
-
try {
|
|
2847
|
-
if (isTagToken(token)) {
|
|
2848
|
-
const TagClass = this.liquid.tags[token.name];
|
|
2849
|
-
assert(TagClass, `tag "${token.name}" not found`);
|
|
2850
|
-
return new TagClass(token, remainTokens, this.liquid, this);
|
|
2851
|
-
}
|
|
2852
|
-
if (isOutputToken(token)) {
|
|
2853
|
-
return new Output(token, this.liquid);
|
|
2854
|
-
}
|
|
2855
|
-
return new HTML(token);
|
|
2856
|
-
}
|
|
2857
|
-
catch (e) {
|
|
2858
|
-
if (LiquidError.is(e))
|
|
2859
|
-
throw e;
|
|
2860
|
-
throw new ParseError(e, token);
|
|
2861
|
-
}
|
|
2862
|
-
}
|
|
2863
|
-
parseStream(tokens) {
|
|
2864
|
-
return new ParseStream(tokens, (token, tokens) => this.parseToken(token, tokens));
|
|
2865
|
-
}
|
|
2866
|
-
*_parseFileCached(file, sync, type = LookupType.Root, currentFile) {
|
|
2867
|
-
const cache = this.cache;
|
|
2868
|
-
const key = this.loader.shouldLoadRelative(file) ? currentFile + ',' + file : type + ':' + file;
|
|
2869
|
-
const tpls = yield cache.read(key);
|
|
2870
|
-
if (tpls)
|
|
2871
|
-
return tpls;
|
|
2872
|
-
const task = this._parseFile(file, sync, type, currentFile);
|
|
2873
|
-
// sync mode: exec the task and cache the result
|
|
2874
|
-
// async mode: cache the task before exec
|
|
2875
|
-
const taskOrTpl = sync ? yield task : toPromise(task);
|
|
2876
|
-
cache.write(key, taskOrTpl);
|
|
2877
|
-
// note: concurrent tasks will be reused, cache for failed task is removed until its end
|
|
2878
|
-
try {
|
|
2879
|
-
return yield taskOrTpl;
|
|
2880
|
-
}
|
|
2881
|
-
catch (err) {
|
|
2882
|
-
cache.remove(key);
|
|
2883
|
-
throw err;
|
|
2884
|
-
}
|
|
2885
|
-
}
|
|
2886
|
-
*_parseFile(file, sync, type = LookupType.Root, currentFile) {
|
|
2887
|
-
const filepath = yield this.loader.lookup(file, type, sync, currentFile);
|
|
2888
|
-
return this.parse(sync ? this.fs.readFileSync(filepath) : yield this.fs.readFile(filepath), filepath);
|
|
2889
|
-
}
|
|
2890
|
-
}
|
|
2891
|
-
|
|
2892
|
-
(function (TokenKind) {
|
|
2893
|
-
TokenKind[TokenKind["Number"] = 1] = "Number";
|
|
2894
|
-
TokenKind[TokenKind["Literal"] = 2] = "Literal";
|
|
2895
|
-
TokenKind[TokenKind["Tag"] = 4] = "Tag";
|
|
2896
|
-
TokenKind[TokenKind["Output"] = 8] = "Output";
|
|
2897
|
-
TokenKind[TokenKind["HTML"] = 16] = "HTML";
|
|
2898
|
-
TokenKind[TokenKind["Filter"] = 32] = "Filter";
|
|
2899
|
-
TokenKind[TokenKind["Hash"] = 64] = "Hash";
|
|
2900
|
-
TokenKind[TokenKind["PropertyAccess"] = 128] = "PropertyAccess";
|
|
2901
|
-
TokenKind[TokenKind["Word"] = 256] = "Word";
|
|
2902
|
-
TokenKind[TokenKind["Range"] = 512] = "Range";
|
|
2903
|
-
TokenKind[TokenKind["Quoted"] = 1024] = "Quoted";
|
|
2904
|
-
TokenKind[TokenKind["Operator"] = 2048] = "Operator";
|
|
2905
|
-
TokenKind[TokenKind["FilteredValue"] = 4096] = "FilteredValue";
|
|
2906
|
-
TokenKind[TokenKind["Delimited"] = 12] = "Delimited";
|
|
2907
|
-
})(exports.TokenKind || (exports.TokenKind = {}));
|
|
2908
|
-
|
|
2909
|
-
function isDelimitedToken(val) {
|
|
2910
|
-
return !!(getKind(val) & exports.TokenKind.Delimited);
|
|
2911
|
-
}
|
|
2912
|
-
function isOperatorToken(val) {
|
|
2913
|
-
return getKind(val) === exports.TokenKind.Operator;
|
|
2914
|
-
}
|
|
2915
|
-
function isHTMLToken(val) {
|
|
2916
|
-
return getKind(val) === exports.TokenKind.HTML;
|
|
2917
|
-
}
|
|
2918
|
-
function isOutputToken(val) {
|
|
2919
|
-
return getKind(val) === exports.TokenKind.Output;
|
|
2920
|
-
}
|
|
2921
|
-
function isTagToken(val) {
|
|
2922
|
-
return getKind(val) === exports.TokenKind.Tag;
|
|
2923
|
-
}
|
|
2924
|
-
function isQuotedToken(val) {
|
|
2925
|
-
return getKind(val) === exports.TokenKind.Quoted;
|
|
2926
|
-
}
|
|
2927
|
-
function isLiteralToken(val) {
|
|
2928
|
-
return getKind(val) === exports.TokenKind.Literal;
|
|
2929
|
-
}
|
|
2930
|
-
function isNumberToken(val) {
|
|
2931
|
-
return getKind(val) === exports.TokenKind.Number;
|
|
2932
|
-
}
|
|
2933
|
-
function isPropertyAccessToken(val) {
|
|
2934
|
-
return getKind(val) === exports.TokenKind.PropertyAccess;
|
|
2935
|
-
}
|
|
2936
|
-
function isWordToken(val) {
|
|
2937
|
-
return getKind(val) === exports.TokenKind.Word;
|
|
2938
|
-
}
|
|
2939
|
-
function isRangeToken(val) {
|
|
2940
|
-
return getKind(val) === exports.TokenKind.Range;
|
|
2941
|
-
}
|
|
2942
|
-
function isValueToken(val) {
|
|
2943
|
-
// valueTokenBitMask = TokenKind.Number | TokenKind.Literal | TokenKind.Quoted | TokenKind.PropertyAccess | TokenKind.Range
|
|
2944
|
-
return (getKind(val) & 1667) > 0;
|
|
2945
|
-
}
|
|
2946
|
-
function getKind(val) {
|
|
2947
|
-
return val ? val.kind : -1;
|
|
2948
|
-
}
|
|
2949
|
-
|
|
2950
|
-
var typeGuards = /*#__PURE__*/Object.freeze({
|
|
2951
|
-
__proto__: null,
|
|
2952
|
-
isDelimitedToken: isDelimitedToken,
|
|
2953
|
-
isOperatorToken: isOperatorToken,
|
|
2954
|
-
isHTMLToken: isHTMLToken,
|
|
2955
|
-
isOutputToken: isOutputToken,
|
|
2956
|
-
isTagToken: isTagToken,
|
|
2957
|
-
isQuotedToken: isQuotedToken,
|
|
2958
|
-
isLiteralToken: isLiteralToken,
|
|
2959
|
-
isNumberToken: isNumberToken,
|
|
2960
|
-
isPropertyAccessToken: isPropertyAccessToken,
|
|
2961
|
-
isWordToken: isWordToken,
|
|
2962
|
-
isRangeToken: isRangeToken,
|
|
2963
|
-
isValueToken: isValueToken
|
|
2964
|
-
});
|
|
2965
|
-
|
|
2966
|
-
/******************************************************************************
|
|
2967
|
-
Copyright (c) Microsoft Corporation.
|
|
2968
|
-
|
|
2969
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
2970
|
-
purpose with or without fee is hereby granted.
|
|
2971
|
-
|
|
2972
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
2973
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
2974
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
2975
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
2976
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
2977
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
2978
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
2979
|
-
***************************************************************************** */
|
|
2980
|
-
|
|
2981
|
-
var __assign = function() {
|
|
2982
|
-
__assign = Object.assign || function __assign(t) {
|
|
2983
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
2984
|
-
s = arguments[i];
|
|
2985
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
2986
|
-
}
|
|
2987
|
-
return t;
|
|
2988
|
-
};
|
|
2989
|
-
return __assign.apply(this, arguments);
|
|
2990
|
-
};
|
|
2991
|
-
|
|
2992
|
-
class Context {
|
|
2993
|
-
constructor(env = {}, opts = defaultOptions, renderOptions = {}, { memoryLimit, renderLimit } = {}) {
|
|
2994
|
-
/**
|
|
2995
|
-
* insert a Context-level empty scope,
|
|
2996
|
-
* for tags like `{% capture %}` `{% assign %}` to operate
|
|
2997
|
-
*/
|
|
2998
|
-
this.scopes = [{}];
|
|
2999
|
-
this.registers = {};
|
|
3000
|
-
this.breakCalled = false;
|
|
3001
|
-
this.continueCalled = false;
|
|
3002
|
-
this.sync = !!renderOptions.sync;
|
|
3003
|
-
this.opts = opts;
|
|
3004
|
-
this.globals = renderOptions.globals ?? opts.globals;
|
|
3005
|
-
this.environments = isObject(env) ? env : Object(env);
|
|
3006
|
-
this.strictVariables = renderOptions.strictVariables ?? this.opts.strictVariables;
|
|
3007
|
-
this.ownPropertyOnly = renderOptions.ownPropertyOnly ?? opts.ownPropertyOnly;
|
|
3008
|
-
this.memoryLimit = memoryLimit ?? new Limiter('memory alloc', renderOptions.memoryLimit ?? opts.memoryLimit);
|
|
3009
|
-
this.renderLimit = renderLimit ?? new Limiter('template render', getPerformance().now() + (renderOptions.renderLimit ?? opts.renderLimit));
|
|
3010
|
-
}
|
|
3011
|
-
getRegister(key) {
|
|
3012
|
-
return (this.registers[key] = this.registers[key] || {});
|
|
3013
|
-
}
|
|
3014
|
-
setRegister(key, value) {
|
|
3015
|
-
return (this.registers[key] = value);
|
|
3016
|
-
}
|
|
3017
|
-
saveRegister(...keys) {
|
|
3018
|
-
return keys.map(key => [key, this.getRegister(key)]);
|
|
3019
|
-
}
|
|
3020
|
-
restoreRegister(keyValues) {
|
|
3021
|
-
return keyValues.forEach(([key, value]) => this.setRegister(key, value));
|
|
3022
|
-
}
|
|
3023
|
-
getAll() {
|
|
3024
|
-
return [this.globals, this.environments, ...this.scopes]
|
|
3025
|
-
.reduce((ctx, val) => __assign(ctx, val), {});
|
|
3026
|
-
}
|
|
3027
|
-
/**
|
|
3028
|
-
* @deprecated use `_get()` or `getSync()` instead
|
|
3029
|
-
*/
|
|
3030
|
-
get(paths) {
|
|
3031
|
-
return this.getSync(paths);
|
|
3032
|
-
}
|
|
3033
|
-
getSync(paths) {
|
|
3034
|
-
return toValueSync(this._get(paths));
|
|
3035
|
-
}
|
|
3036
|
-
*_get(paths) {
|
|
3037
|
-
const scope = this.findScope(paths[0]); // first prop should always be a string
|
|
3038
|
-
return yield this._getFromScope(scope, paths);
|
|
3039
|
-
}
|
|
3040
|
-
/**
|
|
3041
|
-
* @deprecated use `_get()` instead
|
|
3042
|
-
*/
|
|
3043
|
-
getFromScope(scope, paths) {
|
|
3044
|
-
return toValueSync(this._getFromScope(scope, paths));
|
|
3045
|
-
}
|
|
3046
|
-
*_getFromScope(scope, paths, strictVariables = this.strictVariables) {
|
|
3047
|
-
if (isString(paths))
|
|
3048
|
-
paths = paths.split('.');
|
|
3049
|
-
for (let i = 0; i < paths.length; i++) {
|
|
3050
|
-
scope = yield readProperty(scope, paths[i], this.ownPropertyOnly);
|
|
3051
|
-
if (strictVariables && isUndefined(scope)) {
|
|
3052
|
-
throw new InternalUndefinedVariableError(paths.slice(0, i + 1).join('.'));
|
|
3053
|
-
}
|
|
3054
|
-
}
|
|
3055
|
-
return scope;
|
|
3056
|
-
}
|
|
3057
|
-
push(ctx) {
|
|
3058
|
-
return this.scopes.push(ctx);
|
|
3059
|
-
}
|
|
3060
|
-
pop() {
|
|
3061
|
-
return this.scopes.pop();
|
|
3062
|
-
}
|
|
3063
|
-
bottom() {
|
|
3064
|
-
return this.scopes[0];
|
|
3065
|
-
}
|
|
3066
|
-
spawn(scope = {}) {
|
|
3067
|
-
return new Context(scope, this.opts, {
|
|
3068
|
-
sync: this.sync,
|
|
3069
|
-
globals: this.globals,
|
|
3070
|
-
strictVariables: this.strictVariables
|
|
3071
|
-
}, {
|
|
3072
|
-
renderLimit: this.renderLimit,
|
|
3073
|
-
memoryLimit: this.memoryLimit
|
|
3074
|
-
});
|
|
3075
|
-
}
|
|
3076
|
-
findScope(key) {
|
|
3077
|
-
for (let i = this.scopes.length - 1; i >= 0; i--) {
|
|
3078
|
-
const candidate = this.scopes[i];
|
|
3079
|
-
if (key in candidate)
|
|
3080
|
-
return candidate;
|
|
3081
|
-
}
|
|
3082
|
-
if (key in this.environments)
|
|
3083
|
-
return this.environments;
|
|
3084
|
-
return this.globals;
|
|
3085
|
-
}
|
|
3086
|
-
}
|
|
3087
|
-
function readProperty(obj, key, ownPropertyOnly) {
|
|
3088
|
-
obj = toLiquid(obj);
|
|
3089
|
-
key = toValue(key);
|
|
3090
|
-
if (isNil(obj))
|
|
3091
|
-
return obj;
|
|
3092
|
-
if (isArray(obj) && key < 0)
|
|
3093
|
-
return obj[obj.length + +key];
|
|
3094
|
-
const value = readJSProperty(obj, key, ownPropertyOnly);
|
|
3095
|
-
if (value === undefined && obj instanceof Drop)
|
|
3096
|
-
return obj.liquidMethodMissing(key);
|
|
3097
|
-
if (isFunction(value))
|
|
3098
|
-
return value.call(obj);
|
|
3099
|
-
if (key === 'size')
|
|
3100
|
-
return readSize(obj);
|
|
3101
|
-
else if (key === 'first')
|
|
3102
|
-
return readFirst(obj);
|
|
3103
|
-
else if (key === 'last')
|
|
3104
|
-
return readLast(obj);
|
|
3105
|
-
return value;
|
|
3106
|
-
}
|
|
3107
|
-
function readJSProperty(obj, key, ownPropertyOnly) {
|
|
3108
|
-
if (ownPropertyOnly && !hasOwnProperty.call(obj, key) && !(obj instanceof Drop))
|
|
3109
|
-
return undefined;
|
|
3110
|
-
return obj[key];
|
|
3111
|
-
}
|
|
3112
|
-
function readFirst(obj) {
|
|
3113
|
-
if (isArray(obj))
|
|
3114
|
-
return obj[0];
|
|
3115
|
-
return obj['first'];
|
|
3116
|
-
}
|
|
3117
|
-
function readLast(obj) {
|
|
3118
|
-
if (isArray(obj))
|
|
3119
|
-
return obj[obj.length - 1];
|
|
3120
|
-
return obj['last'];
|
|
3121
|
-
}
|
|
3122
|
-
function readSize(obj) {
|
|
3123
|
-
if (hasOwnProperty.call(obj, 'size') || obj['size'] !== undefined)
|
|
3124
|
-
return obj['size'];
|
|
3125
|
-
if (isArray(obj) || isString(obj))
|
|
3126
|
-
return obj.length;
|
|
3127
|
-
if (typeof obj === 'object')
|
|
3128
|
-
return Object.keys(obj).length;
|
|
3129
|
-
}
|
|
3130
|
-
|
|
3131
|
-
var BlockMode;
|
|
3132
|
-
(function (BlockMode) {
|
|
3133
|
-
/* store rendered html into blocks */
|
|
3134
|
-
BlockMode[BlockMode["OUTPUT"] = 0] = "OUTPUT";
|
|
3135
|
-
/* output rendered html directly */
|
|
3136
|
-
BlockMode[BlockMode["STORE"] = 1] = "STORE";
|
|
3137
|
-
})(BlockMode || (BlockMode = {}));
|
|
3138
|
-
|
|
3139
|
-
const abs = argumentsToValue(Math.abs);
|
|
3140
|
-
const at_least = argumentsToValue(Math.max);
|
|
3141
|
-
const at_most = argumentsToValue(Math.min);
|
|
3142
|
-
const ceil = argumentsToValue(Math.ceil);
|
|
3143
|
-
const divided_by = argumentsToValue((dividend, divisor, integerArithmetic = false) => integerArithmetic ? Math.floor(dividend / divisor) : dividend / divisor);
|
|
3144
|
-
const floor = argumentsToValue(Math.floor);
|
|
3145
|
-
const minus = argumentsToValue((v, arg) => v - arg);
|
|
3146
|
-
const modulo = argumentsToValue((v, arg) => v % arg);
|
|
3147
|
-
const times = argumentsToValue((v, arg) => v * arg);
|
|
3148
|
-
function round(v, arg = 0) {
|
|
3149
|
-
v = toValue(v);
|
|
3150
|
-
arg = toValue(arg);
|
|
3151
|
-
const amp = Math.pow(10, arg);
|
|
3152
|
-
return Math.round(v * amp) / amp;
|
|
3153
|
-
}
|
|
3154
|
-
function plus(v, arg) {
|
|
3155
|
-
v = toValue(v);
|
|
3156
|
-
arg = toValue(arg);
|
|
3157
|
-
return Number(v) + Number(arg);
|
|
3158
|
-
}
|
|
3159
|
-
|
|
3160
|
-
var mathFilters = /*#__PURE__*/Object.freeze({
|
|
3161
|
-
__proto__: null,
|
|
3162
|
-
abs: abs,
|
|
3163
|
-
at_least: at_least,
|
|
3164
|
-
at_most: at_most,
|
|
3165
|
-
ceil: ceil,
|
|
3166
|
-
divided_by: divided_by,
|
|
3167
|
-
floor: floor,
|
|
3168
|
-
minus: minus,
|
|
3169
|
-
modulo: modulo,
|
|
3170
|
-
times: times,
|
|
3171
|
-
round: round,
|
|
3172
|
-
plus: plus
|
|
3173
|
-
});
|
|
3174
|
-
|
|
3175
|
-
const url_decode = (x) => decodeURIComponent(stringify(x)).replace(/\+/g, ' ');
|
|
3176
|
-
const url_encode = (x) => encodeURIComponent(stringify(x)).replace(/%20/g, '+');
|
|
3177
|
-
const cgi_escape = (x) => encodeURIComponent(stringify(x))
|
|
3178
|
-
.replace(/%20/g, '+')
|
|
3179
|
-
.replace(/[!'()*]/g, c => '%' + c.charCodeAt(0).toString(16).toUpperCase());
|
|
3180
|
-
const uri_escape = (x) => encodeURI(stringify(x))
|
|
3181
|
-
.replace(/%5B/g, '[')
|
|
3182
|
-
.replace(/%5D/g, ']');
|
|
3183
|
-
const rSlugifyDefault = /[^\p{M}\p{L}\p{Nd}]+/ug;
|
|
3184
|
-
const rSlugifyReplacers = {
|
|
3185
|
-
'raw': /\s+/g,
|
|
3186
|
-
'default': rSlugifyDefault,
|
|
3187
|
-
'pretty': /[^\p{M}\p{L}\p{Nd}._~!$&'()+,;=@]+/ug,
|
|
3188
|
-
'ascii': /[^A-Za-z0-9]+/g,
|
|
3189
|
-
'latin': rSlugifyDefault,
|
|
3190
|
-
'none': null
|
|
3191
|
-
};
|
|
3192
|
-
function slugify(str, mode = 'default', cased = false) {
|
|
3193
|
-
str = stringify(str);
|
|
3194
|
-
const replacer = rSlugifyReplacers[mode];
|
|
3195
|
-
if (replacer) {
|
|
3196
|
-
if (mode === 'latin')
|
|
3197
|
-
str = removeAccents(str);
|
|
3198
|
-
str = str.replace(replacer, '-').replace(/^-|-$/g, '');
|
|
3199
|
-
}
|
|
3200
|
-
return cased ? str : str.toLowerCase();
|
|
3201
|
-
}
|
|
3202
|
-
function removeAccents(str) {
|
|
3203
|
-
return str.replace(/[àáâãäå]/g, 'a')
|
|
3204
|
-
.replace(/[æ]/g, 'ae')
|
|
3205
|
-
.replace(/[ç]/g, 'c')
|
|
3206
|
-
.replace(/[èéêë]/g, 'e')
|
|
3207
|
-
.replace(/[ìíîï]/g, 'i')
|
|
3208
|
-
.replace(/[ð]/g, 'd')
|
|
3209
|
-
.replace(/[ñ]/g, 'n')
|
|
3210
|
-
.replace(/[òóôõöø]/g, 'o')
|
|
3211
|
-
.replace(/[ùúûü]/g, 'u')
|
|
3212
|
-
.replace(/[ýÿ]/g, 'y')
|
|
3213
|
-
.replace(/[ß]/g, 'ss')
|
|
3214
|
-
.replace(/[œ]/g, 'oe')
|
|
3215
|
-
.replace(/[þ]/g, 'th')
|
|
3216
|
-
.replace(/[ẞ]/g, 'SS')
|
|
3217
|
-
.replace(/[Œ]/g, 'OE')
|
|
3218
|
-
.replace(/[Þ]/g, 'TH');
|
|
3219
|
-
}
|
|
3220
|
-
|
|
3221
|
-
var urlFilters = /*#__PURE__*/Object.freeze({
|
|
3222
|
-
__proto__: null,
|
|
3223
|
-
url_decode: url_decode,
|
|
3224
|
-
url_encode: url_encode,
|
|
3225
|
-
cgi_escape: cgi_escape,
|
|
3226
|
-
uri_escape: uri_escape,
|
|
3227
|
-
slugify: slugify
|
|
3228
|
-
});
|
|
3229
|
-
|
|
3230
|
-
const join = argumentsToValue(function (v, arg) {
|
|
3231
|
-
const array = toArray(v);
|
|
3232
|
-
const sep = isNil(arg) ? ' ' : stringify(arg);
|
|
3233
|
-
const complexity = array.length * (1 + sep.length);
|
|
3234
|
-
this.context.memoryLimit.use(complexity);
|
|
3235
|
-
return array.join(sep);
|
|
3236
|
-
});
|
|
3237
|
-
const last$1 = argumentsToValue((v) => isArrayLike(v) ? last(v) : '');
|
|
3238
|
-
const first = argumentsToValue((v) => isArrayLike(v) ? v[0] : '');
|
|
3239
|
-
const reverse = argumentsToValue(function (v) {
|
|
3240
|
-
const array = toArray(v);
|
|
3241
|
-
this.context.memoryLimit.use(array.length);
|
|
3242
|
-
return [...array].reverse();
|
|
3243
|
-
});
|
|
3244
|
-
function* sort(arr, property) {
|
|
3245
|
-
const values = [];
|
|
3246
|
-
const array = toArray(arr);
|
|
3247
|
-
this.context.memoryLimit.use(array.length);
|
|
3248
|
-
for (const item of array) {
|
|
3249
|
-
values.push([
|
|
3250
|
-
item,
|
|
3251
|
-
property ? yield this.context._getFromScope(item, stringify(property).split('.'), false) : item
|
|
3252
|
-
]);
|
|
3253
|
-
}
|
|
3254
|
-
return values.sort((lhs, rhs) => {
|
|
3255
|
-
const lvalue = lhs[1];
|
|
3256
|
-
const rvalue = rhs[1];
|
|
3257
|
-
return lvalue < rvalue ? -1 : (lvalue > rvalue ? 1 : 0);
|
|
3258
|
-
}).map(tuple => tuple[0]);
|
|
3259
|
-
}
|
|
3260
|
-
function sort_natural(input, property) {
|
|
3261
|
-
const propertyString = stringify(property);
|
|
3262
|
-
const compare = property === undefined
|
|
3263
|
-
? caseInsensitiveCompare
|
|
3264
|
-
: (lhs, rhs) => caseInsensitiveCompare(lhs[propertyString], rhs[propertyString]);
|
|
3265
|
-
const array = toArray(input);
|
|
3266
|
-
this.context.memoryLimit.use(array.length);
|
|
3267
|
-
return [...array].sort(compare);
|
|
3268
|
-
}
|
|
3269
|
-
const size = (v) => (v && v.length) || 0;
|
|
3270
|
-
function* map(arr, property) {
|
|
3271
|
-
const results = [];
|
|
3272
|
-
const array = toArray(arr);
|
|
3273
|
-
this.context.memoryLimit.use(array.length);
|
|
3274
|
-
for (const item of array) {
|
|
3275
|
-
results.push(yield this.context._getFromScope(item, stringify(property), false));
|
|
3276
|
-
}
|
|
3277
|
-
return results;
|
|
3278
|
-
}
|
|
3279
|
-
function* sum(arr, property) {
|
|
3280
|
-
let sum = 0;
|
|
3281
|
-
const array = toArray(arr);
|
|
3282
|
-
for (const item of array) {
|
|
3283
|
-
const data = Number(property ? yield this.context._getFromScope(item, stringify(property), false) : item);
|
|
3284
|
-
sum += Number.isNaN(data) ? 0 : data;
|
|
3285
|
-
}
|
|
3286
|
-
return sum;
|
|
3287
|
-
}
|
|
3288
|
-
function compact(arr) {
|
|
3289
|
-
const array = toArray(arr);
|
|
3290
|
-
this.context.memoryLimit.use(array.length);
|
|
3291
|
-
return array.filter(x => !isNil(toValue(x)));
|
|
3292
|
-
}
|
|
3293
|
-
function concat(v, arg = []) {
|
|
3294
|
-
const lhs = toArray(v);
|
|
3295
|
-
const rhs = toArray(arg);
|
|
3296
|
-
this.context.memoryLimit.use(lhs.length + rhs.length);
|
|
3297
|
-
return lhs.concat(rhs);
|
|
3298
|
-
}
|
|
3299
|
-
function push(v, arg) {
|
|
3300
|
-
return concat.call(this, v, [arg]);
|
|
3301
|
-
}
|
|
3302
|
-
function unshift(v, arg) {
|
|
3303
|
-
const array = toArray(v);
|
|
3304
|
-
this.context.memoryLimit.use(array.length);
|
|
3305
|
-
const clone = [...array];
|
|
3306
|
-
clone.unshift(arg);
|
|
3307
|
-
return clone;
|
|
3308
|
-
}
|
|
3309
|
-
function pop(v) {
|
|
3310
|
-
const clone = [...toArray(v)];
|
|
3311
|
-
clone.pop();
|
|
3312
|
-
return clone;
|
|
3313
|
-
}
|
|
3314
|
-
function shift(v) {
|
|
3315
|
-
const array = toArray(v);
|
|
3316
|
-
this.context.memoryLimit.use(array.length);
|
|
3317
|
-
const clone = [...array];
|
|
3318
|
-
clone.shift();
|
|
3319
|
-
return clone;
|
|
3320
|
-
}
|
|
3321
|
-
function slice(v, begin, length = 1) {
|
|
3322
|
-
v = toValue(v);
|
|
3323
|
-
if (isNil(v))
|
|
3324
|
-
return [];
|
|
3325
|
-
if (!isArray(v))
|
|
3326
|
-
v = stringify(v);
|
|
3327
|
-
begin = begin < 0 ? v.length + begin : begin;
|
|
3328
|
-
this.context.memoryLimit.use(length);
|
|
3329
|
-
return v.slice(begin, begin + length);
|
|
3330
|
-
}
|
|
3331
|
-
function* where(arr, property, expected) {
|
|
3332
|
-
const values = [];
|
|
3333
|
-
arr = toArray(arr);
|
|
3334
|
-
this.context.memoryLimit.use(arr.length);
|
|
3335
|
-
const token = new Tokenizer(stringify(property)).readScopeValue();
|
|
3336
|
-
for (const item of arr) {
|
|
3337
|
-
values.push(yield evalToken(token, this.context.spawn(item)));
|
|
3338
|
-
}
|
|
3339
|
-
const matcher = this.context.opts.jekyllWhere
|
|
3340
|
-
? (v) => EmptyDrop.is(expected) ? equals(v, expected) : (isArray(v) ? arrayIncludes(v, expected) : equals(v, expected))
|
|
3341
|
-
: (v) => equals(v, expected);
|
|
3342
|
-
return arr.filter((_, i) => {
|
|
3343
|
-
if (expected === undefined)
|
|
3344
|
-
return isTruthy(values[i], this.context);
|
|
3345
|
-
return matcher(values[i]);
|
|
3346
|
-
});
|
|
3347
|
-
}
|
|
3348
|
-
function* where_exp(arr, itemName, exp) {
|
|
3349
|
-
const filtered = [];
|
|
3350
|
-
const keyTemplate = new Value(stringify(exp), this.liquid);
|
|
3351
|
-
const array = toArray(arr);
|
|
3352
|
-
this.context.memoryLimit.use(array.length);
|
|
3353
|
-
for (const item of array) {
|
|
3354
|
-
this.context.push({ [itemName]: item });
|
|
3355
|
-
const value = yield keyTemplate.value(this.context);
|
|
3356
|
-
this.context.pop();
|
|
3357
|
-
if (value)
|
|
3358
|
-
filtered.push(item);
|
|
3359
|
-
}
|
|
3360
|
-
return filtered;
|
|
3361
|
-
}
|
|
3362
|
-
function* group_by(arr, property) {
|
|
3363
|
-
const map = new Map();
|
|
3364
|
-
arr = toEnumerable(arr);
|
|
3365
|
-
const token = new Tokenizer(stringify(property)).readScopeValue();
|
|
3366
|
-
this.context.memoryLimit.use(arr.length);
|
|
3367
|
-
for (const item of arr) {
|
|
3368
|
-
const key = yield evalToken(token, this.context.spawn(item));
|
|
3369
|
-
if (!map.has(key))
|
|
3370
|
-
map.set(key, []);
|
|
3371
|
-
map.get(key).push(item);
|
|
3372
|
-
}
|
|
3373
|
-
return [...map.entries()].map(([name, items]) => ({ name, items }));
|
|
3374
|
-
}
|
|
3375
|
-
function* group_by_exp(arr, itemName, exp) {
|
|
3376
|
-
const map = new Map();
|
|
3377
|
-
const keyTemplate = new Value(stringify(exp), this.liquid);
|
|
3378
|
-
arr = toEnumerable(arr);
|
|
3379
|
-
this.context.memoryLimit.use(arr.length);
|
|
3380
|
-
for (const item of arr) {
|
|
3381
|
-
this.context.push({ [itemName]: item });
|
|
3382
|
-
const key = yield keyTemplate.value(this.context);
|
|
3383
|
-
this.context.pop();
|
|
3384
|
-
if (!map.has(key))
|
|
3385
|
-
map.set(key, []);
|
|
3386
|
-
map.get(key).push(item);
|
|
3387
|
-
}
|
|
3388
|
-
return [...map.entries()].map(([name, items]) => ({ name, items }));
|
|
3389
|
-
}
|
|
3390
|
-
function* find(arr, property, expected) {
|
|
3391
|
-
const token = new Tokenizer(stringify(property)).readScopeValue();
|
|
3392
|
-
const array = toArray(arr);
|
|
3393
|
-
for (const item of array) {
|
|
3394
|
-
const value = yield evalToken(token, this.context.spawn(item));
|
|
3395
|
-
if (equals(value, expected))
|
|
3396
|
-
return item;
|
|
3397
|
-
}
|
|
3398
|
-
}
|
|
3399
|
-
function* find_exp(arr, itemName, exp) {
|
|
3400
|
-
const predicate = new Value(stringify(exp), this.liquid);
|
|
3401
|
-
const array = toArray(arr);
|
|
3402
|
-
for (const item of array) {
|
|
3403
|
-
this.context.push({ [itemName]: item });
|
|
3404
|
-
const value = yield predicate.value(this.context);
|
|
3405
|
-
this.context.pop();
|
|
3406
|
-
if (value)
|
|
3407
|
-
return item;
|
|
3408
|
-
}
|
|
3409
|
-
}
|
|
3410
|
-
function uniq(arr) {
|
|
3411
|
-
arr = toArray(arr);
|
|
3412
|
-
this.context.memoryLimit.use(arr.length);
|
|
3413
|
-
return [...new Set(arr)];
|
|
3414
|
-
}
|
|
3415
|
-
function sample(v, count = 1) {
|
|
3416
|
-
v = toValue(v);
|
|
3417
|
-
if (isNil(v))
|
|
3418
|
-
return [];
|
|
3419
|
-
if (!isArray(v))
|
|
3420
|
-
v = stringify(v);
|
|
3421
|
-
this.context.memoryLimit.use(count);
|
|
3422
|
-
const shuffled = [...v].sort(() => Math.random() - 0.5);
|
|
3423
|
-
if (count === 1)
|
|
3424
|
-
return shuffled[0];
|
|
3425
|
-
return shuffled.slice(0, count);
|
|
3426
|
-
}
|
|
3427
|
-
|
|
3428
|
-
var arrayFilters = /*#__PURE__*/Object.freeze({
|
|
3429
|
-
__proto__: null,
|
|
3430
|
-
join: join,
|
|
3431
|
-
last: last$1,
|
|
3432
|
-
first: first,
|
|
3433
|
-
reverse: reverse,
|
|
3434
|
-
sort: sort,
|
|
3435
|
-
sort_natural: sort_natural,
|
|
3436
|
-
size: size,
|
|
3437
|
-
map: map,
|
|
3438
|
-
sum: sum,
|
|
3439
|
-
compact: compact,
|
|
3440
|
-
concat: concat,
|
|
3441
|
-
push: push,
|
|
3442
|
-
unshift: unshift,
|
|
3443
|
-
pop: pop,
|
|
3444
|
-
shift: shift,
|
|
3445
|
-
slice: slice,
|
|
3446
|
-
where: where,
|
|
3447
|
-
where_exp: where_exp,
|
|
3448
|
-
group_by: group_by,
|
|
3449
|
-
group_by_exp: group_by_exp,
|
|
3450
|
-
find: find,
|
|
3451
|
-
find_exp: find_exp,
|
|
3452
|
-
uniq: uniq,
|
|
3453
|
-
sample: sample
|
|
3454
|
-
});
|
|
3455
|
-
|
|
3456
|
-
function date(v, format, timezoneOffset) {
|
|
3457
|
-
const size = (v?.length ?? 0) + (format?.length ?? 0) + (timezoneOffset?.length ?? 0);
|
|
3458
|
-
this.context.memoryLimit.use(size);
|
|
3459
|
-
const date = parseDate(v, this.context.opts, timezoneOffset);
|
|
3460
|
-
if (!date)
|
|
3461
|
-
return v;
|
|
3462
|
-
format = toValue(format);
|
|
3463
|
-
format = isNil(format) ? this.context.opts.dateFormat : stringify(format);
|
|
3464
|
-
return strftime(date, format);
|
|
3465
|
-
}
|
|
3466
|
-
function date_to_xmlschema(v) {
|
|
3467
|
-
return date.call(this, v, '%Y-%m-%dT%H:%M:%S%:z');
|
|
3468
|
-
}
|
|
3469
|
-
function date_to_rfc822(v) {
|
|
3470
|
-
return date.call(this, v, '%a, %d %b %Y %H:%M:%S %z');
|
|
3471
|
-
}
|
|
3472
|
-
function date_to_string(v, type, style) {
|
|
3473
|
-
return stringify_date.call(this, v, '%b', type, style);
|
|
3474
|
-
}
|
|
3475
|
-
function date_to_long_string(v, type, style) {
|
|
3476
|
-
return stringify_date.call(this, v, '%B', type, style);
|
|
3477
|
-
}
|
|
3478
|
-
function stringify_date(v, month_type, type, style) {
|
|
3479
|
-
const date = parseDate(v, this.context.opts);
|
|
3480
|
-
if (!date)
|
|
3481
|
-
return v;
|
|
3482
|
-
if (type === 'ordinal') {
|
|
3483
|
-
const d = date.getDate();
|
|
3484
|
-
return style === 'US'
|
|
3485
|
-
? strftime(date, `${month_type} ${d}%q, %Y`)
|
|
3486
|
-
: strftime(date, `${d}%q ${month_type} %Y`);
|
|
3487
|
-
}
|
|
3488
|
-
return strftime(date, `%d ${month_type} %Y`);
|
|
3489
|
-
}
|
|
3490
|
-
function parseDate(v, opts, timezoneOffset) {
|
|
3491
|
-
let date;
|
|
3492
|
-
const defaultTimezoneOffset = timezoneOffset ?? opts.timezoneOffset;
|
|
3493
|
-
const locale = opts.locale;
|
|
3494
|
-
v = toValue(v);
|
|
3495
|
-
if (v === 'now' || v === 'today') {
|
|
3496
|
-
date = new LiquidDate(Date.now(), locale, defaultTimezoneOffset);
|
|
3497
|
-
}
|
|
3498
|
-
else if (isNumber(v)) {
|
|
3499
|
-
date = new LiquidDate(v * 1000, locale, defaultTimezoneOffset);
|
|
3500
|
-
}
|
|
3501
|
-
else if (isString(v)) {
|
|
3502
|
-
if (/^\d+$/.test(v)) {
|
|
3503
|
-
date = new LiquidDate(+v * 1000, locale, defaultTimezoneOffset);
|
|
3504
|
-
}
|
|
3505
|
-
else if (opts.preserveTimezones && timezoneOffset === undefined) {
|
|
3506
|
-
date = LiquidDate.createDateFixedToTimezone(v, locale);
|
|
3507
|
-
}
|
|
3508
|
-
else {
|
|
3509
|
-
date = new LiquidDate(v, locale, defaultTimezoneOffset);
|
|
3510
|
-
}
|
|
3511
|
-
}
|
|
3512
|
-
else {
|
|
3513
|
-
date = new LiquidDate(v, locale, defaultTimezoneOffset);
|
|
3514
|
-
}
|
|
3515
|
-
return date.valid() ? date : undefined;
|
|
3516
|
-
}
|
|
3517
|
-
|
|
3518
|
-
var dateFilters = /*#__PURE__*/Object.freeze({
|
|
3519
|
-
__proto__: null,
|
|
3520
|
-
date: date,
|
|
3521
|
-
date_to_xmlschema: date_to_xmlschema,
|
|
3522
|
-
date_to_rfc822: date_to_rfc822,
|
|
3523
|
-
date_to_string: date_to_string,
|
|
3524
|
-
date_to_long_string: date_to_long_string
|
|
3525
|
-
});
|
|
3526
|
-
|
|
3527
|
-
/**
|
|
3528
|
-
* String related filters
|
|
3529
|
-
*
|
|
3530
|
-
* * prefer stringify() to String() since `undefined`, `null` should eval ''
|
|
3531
|
-
*/
|
|
3532
|
-
const rCJKWord = /[\u4E00-\u9FFF\uF900-\uFAFF\u3400-\u4DBF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF]/gu;
|
|
3533
|
-
// Word boundary followed by word characters (for detecting words)
|
|
3534
|
-
const rNonCJKWord = /[^\u4E00-\u9FFF\uF900-\uFAFF\u3400-\u4DBF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF\s]+/gu;
|
|
3535
|
-
function append(v, arg) {
|
|
3536
|
-
assert(arguments.length === 2, 'append expect 2 arguments');
|
|
3537
|
-
const lhs = stringify(v);
|
|
3538
|
-
const rhs = stringify(arg);
|
|
3539
|
-
this.context.memoryLimit.use(lhs.length + rhs.length);
|
|
3540
|
-
return lhs + rhs;
|
|
3541
|
-
}
|
|
3542
|
-
function prepend(v, arg) {
|
|
3543
|
-
assert(arguments.length === 2, 'prepend expect 2 arguments');
|
|
3544
|
-
const lhs = stringify(v);
|
|
3545
|
-
const rhs = stringify(arg);
|
|
3546
|
-
this.context.memoryLimit.use(lhs.length + rhs.length);
|
|
3547
|
-
return rhs + lhs;
|
|
3548
|
-
}
|
|
3549
|
-
function lstrip(v, chars) {
|
|
3550
|
-
const str = stringify(v);
|
|
3551
|
-
this.context.memoryLimit.use(str.length);
|
|
3552
|
-
if (chars) {
|
|
3553
|
-
chars = escapeRegExp(stringify(chars));
|
|
3554
|
-
return str.replace(new RegExp(`^[${chars}]+`, 'g'), '');
|
|
3555
|
-
}
|
|
3556
|
-
return str.replace(/^\s+/, '');
|
|
3557
|
-
}
|
|
3558
|
-
function downcase(v) {
|
|
3559
|
-
const str = stringify(v);
|
|
3560
|
-
this.context.memoryLimit.use(str.length);
|
|
3561
|
-
return str.toLowerCase();
|
|
3562
|
-
}
|
|
3563
|
-
function upcase(v) {
|
|
3564
|
-
const str = stringify(v);
|
|
3565
|
-
this.context.memoryLimit.use(str.length);
|
|
3566
|
-
return stringify(str).toUpperCase();
|
|
3567
|
-
}
|
|
3568
|
-
function remove(v, arg) {
|
|
3569
|
-
const str = stringify(v);
|
|
3570
|
-
this.context.memoryLimit.use(str.length);
|
|
3571
|
-
return str.split(stringify(arg)).join('');
|
|
3572
|
-
}
|
|
3573
|
-
function remove_first(v, l) {
|
|
3574
|
-
const str = stringify(v);
|
|
3575
|
-
this.context.memoryLimit.use(str.length);
|
|
3576
|
-
return str.replace(stringify(l), '');
|
|
3577
|
-
}
|
|
3578
|
-
function remove_last(v, l) {
|
|
3579
|
-
const str = stringify(v);
|
|
3580
|
-
this.context.memoryLimit.use(str.length);
|
|
3581
|
-
const pattern = stringify(l);
|
|
3582
|
-
const index = str.lastIndexOf(pattern);
|
|
3583
|
-
if (index === -1)
|
|
3584
|
-
return str;
|
|
3585
|
-
return str.substring(0, index) + str.substring(index + pattern.length);
|
|
3586
|
-
}
|
|
3587
|
-
function rstrip(str, chars) {
|
|
3588
|
-
str = stringify(str);
|
|
3589
|
-
this.context.memoryLimit.use(str.length);
|
|
3590
|
-
if (chars) {
|
|
3591
|
-
chars = escapeRegExp(stringify(chars));
|
|
3592
|
-
return str.replace(new RegExp(`[${chars}]+$`, 'g'), '');
|
|
3593
|
-
}
|
|
3594
|
-
return str.replace(/\s+$/, '');
|
|
3595
|
-
}
|
|
3596
|
-
function split(v, arg) {
|
|
3597
|
-
const str = stringify(v);
|
|
3598
|
-
this.context.memoryLimit.use(str.length);
|
|
3599
|
-
const arr = str.split(stringify(arg));
|
|
3600
|
-
// align to ruby split, which is the behavior of shopify/liquid
|
|
3601
|
-
// see: https://ruby-doc.org/core-2.4.0/String.html#method-i-split
|
|
3602
|
-
while (arr.length && arr[arr.length - 1] === '')
|
|
3603
|
-
arr.pop();
|
|
3604
|
-
return arr;
|
|
3605
|
-
}
|
|
3606
|
-
function strip(v, chars) {
|
|
3607
|
-
const str = stringify(v);
|
|
3608
|
-
this.context.memoryLimit.use(str.length);
|
|
3609
|
-
if (chars) {
|
|
3610
|
-
chars = escapeRegExp(stringify(chars));
|
|
3611
|
-
return str
|
|
3612
|
-
.replace(new RegExp(`^[${chars}]+`, 'g'), '')
|
|
3613
|
-
.replace(new RegExp(`[${chars}]+$`, 'g'), '');
|
|
3614
|
-
}
|
|
3615
|
-
return str.trim();
|
|
3616
|
-
}
|
|
3617
|
-
function strip_newlines(v) {
|
|
3618
|
-
const str = stringify(v);
|
|
3619
|
-
this.context.memoryLimit.use(str.length);
|
|
3620
|
-
return str.replace(/\r?\n/gm, '');
|
|
3621
|
-
}
|
|
3622
|
-
function capitalize(str) {
|
|
3623
|
-
str = stringify(str);
|
|
3624
|
-
this.context.memoryLimit.use(str.length);
|
|
3625
|
-
return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
|
|
3626
|
-
}
|
|
3627
|
-
function replace(v, pattern, replacement) {
|
|
3628
|
-
const str = stringify(v);
|
|
3629
|
-
this.context.memoryLimit.use(str.length);
|
|
3630
|
-
return str.split(stringify(pattern)).join(replacement);
|
|
3631
|
-
}
|
|
3632
|
-
function replace_first(v, arg1, arg2) {
|
|
3633
|
-
const str = stringify(v);
|
|
3634
|
-
this.context.memoryLimit.use(str.length);
|
|
3635
|
-
return str.replace(stringify(arg1), arg2);
|
|
3636
|
-
}
|
|
3637
|
-
function replace_last(v, arg1, arg2) {
|
|
3638
|
-
const str = stringify(v);
|
|
3639
|
-
this.context.memoryLimit.use(str.length);
|
|
3640
|
-
const pattern = stringify(arg1);
|
|
3641
|
-
const index = str.lastIndexOf(pattern);
|
|
3642
|
-
if (index === -1)
|
|
3643
|
-
return str;
|
|
3644
|
-
const replacement = stringify(arg2);
|
|
3645
|
-
return str.substring(0, index) + replacement + str.substring(index + pattern.length);
|
|
3646
|
-
}
|
|
3647
|
-
function truncate(v, l = 50, o = '...') {
|
|
3648
|
-
const str = stringify(v);
|
|
3649
|
-
this.context.memoryLimit.use(str.length);
|
|
3650
|
-
if (str.length <= l)
|
|
3651
|
-
return v;
|
|
3652
|
-
return str.substring(0, l - o.length) + o;
|
|
3653
|
-
}
|
|
3654
|
-
function truncatewords(v, words = 15, o = '...') {
|
|
3655
|
-
const str = stringify(v);
|
|
3656
|
-
this.context.memoryLimit.use(str.length);
|
|
3657
|
-
const arr = str.split(/\s+/);
|
|
3658
|
-
if (words <= 0)
|
|
3659
|
-
words = 1;
|
|
3660
|
-
let ret = arr.slice(0, words).join(' ');
|
|
3661
|
-
if (arr.length >= words)
|
|
3662
|
-
ret += o;
|
|
3663
|
-
return ret;
|
|
3664
|
-
}
|
|
3665
|
-
function normalize_whitespace(v) {
|
|
3666
|
-
const str = stringify(v);
|
|
3667
|
-
this.context.memoryLimit.use(str.length);
|
|
3668
|
-
return str.replace(/\s+/g, ' ');
|
|
3669
|
-
}
|
|
3670
|
-
function number_of_words(input, mode) {
|
|
3671
|
-
const str = stringify(input);
|
|
3672
|
-
this.context.memoryLimit.use(str.length);
|
|
3673
|
-
input = str.trim();
|
|
3674
|
-
if (!input)
|
|
3675
|
-
return 0;
|
|
3676
|
-
switch (mode) {
|
|
3677
|
-
case 'cjk':
|
|
3678
|
-
// Count CJK characters and words
|
|
3679
|
-
return (input.match(rCJKWord) || []).length + (input.match(rNonCJKWord) || []).length;
|
|
3680
|
-
case 'auto':
|
|
3681
|
-
// Count CJK characters, if none, count words
|
|
3682
|
-
return rCJKWord.test(input)
|
|
3683
|
-
? input.match(rCJKWord).length + (input.match(rNonCJKWord) || []).length
|
|
3684
|
-
: input.split(/\s+/).length;
|
|
3685
|
-
default:
|
|
3686
|
-
// Count words only
|
|
3687
|
-
return input.split(/\s+/).length;
|
|
3688
|
-
}
|
|
3689
|
-
}
|
|
3690
|
-
function array_to_sentence_string(array, connector = 'and') {
|
|
3691
|
-
this.context.memoryLimit.use(array.length);
|
|
3692
|
-
switch (array.length) {
|
|
3693
|
-
case 0:
|
|
3694
|
-
return '';
|
|
3695
|
-
case 1:
|
|
3696
|
-
return array[0];
|
|
3697
|
-
case 2:
|
|
3698
|
-
return `${array[0]} ${connector} ${array[1]}`;
|
|
3699
|
-
default:
|
|
3700
|
-
return `${array.slice(0, -1).join(', ')}, ${connector} ${array[array.length - 1]}`;
|
|
3701
|
-
}
|
|
3702
|
-
}
|
|
3703
|
-
|
|
3704
|
-
var stringFilters = /*#__PURE__*/Object.freeze({
|
|
3705
|
-
__proto__: null,
|
|
3706
|
-
append: append,
|
|
3707
|
-
prepend: prepend,
|
|
3708
|
-
lstrip: lstrip,
|
|
3709
|
-
downcase: downcase,
|
|
3710
|
-
upcase: upcase,
|
|
3711
|
-
remove: remove,
|
|
3712
|
-
remove_first: remove_first,
|
|
3713
|
-
remove_last: remove_last,
|
|
3714
|
-
rstrip: rstrip,
|
|
3715
|
-
split: split,
|
|
3716
|
-
strip: strip,
|
|
3717
|
-
strip_newlines: strip_newlines,
|
|
3718
|
-
capitalize: capitalize,
|
|
3719
|
-
replace: replace,
|
|
3720
|
-
replace_first: replace_first,
|
|
3721
|
-
replace_last: replace_last,
|
|
3722
|
-
truncate: truncate,
|
|
3723
|
-
truncatewords: truncatewords,
|
|
3724
|
-
normalize_whitespace: normalize_whitespace,
|
|
3725
|
-
number_of_words: number_of_words,
|
|
3726
|
-
array_to_sentence_string: array_to_sentence_string
|
|
3727
|
-
});
|
|
3728
|
-
|
|
3729
|
-
const filters = {
|
|
3730
|
-
...htmlFilters,
|
|
3731
|
-
...mathFilters,
|
|
3732
|
-
...urlFilters,
|
|
3733
|
-
...arrayFilters,
|
|
3734
|
-
...dateFilters,
|
|
3735
|
-
...stringFilters,
|
|
3736
|
-
...misc
|
|
3737
|
-
};
|
|
3738
|
-
|
|
3739
|
-
class AssignTag extends Tag {
|
|
3740
|
-
constructor(token, remainTokens, liquid) {
|
|
3741
|
-
super(token, remainTokens, liquid);
|
|
3742
|
-
this.identifier = this.tokenizer.readIdentifier();
|
|
3743
|
-
this.key = this.identifier.content;
|
|
3744
|
-
this.tokenizer.assert(this.key, 'expected variable name');
|
|
3745
|
-
this.tokenizer.skipBlank();
|
|
3746
|
-
this.tokenizer.assert(this.tokenizer.peek() === '=', 'expected "="');
|
|
3747
|
-
this.tokenizer.advance();
|
|
3748
|
-
this.value = new Value(this.tokenizer.readFilteredValue(), this.liquid);
|
|
3749
|
-
}
|
|
3750
|
-
*render(ctx) {
|
|
3751
|
-
ctx.bottom()[this.key] = yield this.value.value(ctx, this.liquid.options.lenientIf);
|
|
3752
|
-
}
|
|
3753
|
-
*arguments() {
|
|
3754
|
-
yield this.value;
|
|
3755
|
-
}
|
|
3756
|
-
*localScope() {
|
|
3757
|
-
yield this.identifier;
|
|
3758
|
-
}
|
|
3759
|
-
}
|
|
3760
|
-
|
|
3761
|
-
const MODIFIERS = ['offset', 'limit', 'reversed'];
|
|
3762
|
-
class ForTag extends Tag {
|
|
3763
|
-
constructor(token, remainTokens, liquid, parser) {
|
|
3764
|
-
super(token, remainTokens, liquid);
|
|
3765
|
-
const variable = this.tokenizer.readIdentifier();
|
|
3766
|
-
const inStr = this.tokenizer.readIdentifier();
|
|
3767
|
-
const collection = this.tokenizer.readValue();
|
|
3768
|
-
if (!variable.size() || inStr.content !== 'in' || !collection) {
|
|
3769
|
-
throw new Error(`illegal tag: ${token.getText()}`);
|
|
3770
|
-
}
|
|
3771
|
-
this.variable = variable.content;
|
|
3772
|
-
this.collection = collection;
|
|
3773
|
-
this.hash = new Hash(this.tokenizer, liquid.options.keyValueSeparator);
|
|
3774
|
-
this.templates = [];
|
|
3775
|
-
this.elseTemplates = [];
|
|
3776
|
-
let p;
|
|
3777
|
-
const stream = parser.parseStream(remainTokens)
|
|
3778
|
-
.on('start', () => (p = this.templates))
|
|
3779
|
-
.on('tag:else', tag => { assertEmpty(tag.args); p = this.elseTemplates; })
|
|
3780
|
-
.on('tag:endfor', tag => { assertEmpty(tag.args); stream.stop(); })
|
|
3781
|
-
.on('template', (tpl) => p.push(tpl))
|
|
3782
|
-
.on('end', () => { throw new Error(`tag ${token.getText()} not closed`); });
|
|
3783
|
-
stream.start();
|
|
3784
|
-
}
|
|
3785
|
-
*render(ctx, emitter) {
|
|
3786
|
-
const r = this.liquid.renderer;
|
|
3787
|
-
let collection = toEnumerable(yield evalToken(this.collection, ctx));
|
|
3788
|
-
if (!collection.length) {
|
|
3789
|
-
yield r.renderTemplates(this.elseTemplates, ctx, emitter);
|
|
3790
|
-
return;
|
|
3791
|
-
}
|
|
3792
|
-
const continueKey = 'continue-' + this.variable + '-' + this.collection.getText();
|
|
3793
|
-
ctx.push({ continue: ctx.getRegister(continueKey) });
|
|
3794
|
-
const hash = yield this.hash.render(ctx);
|
|
3795
|
-
ctx.pop();
|
|
3796
|
-
const modifiers = this.liquid.options.orderedFilterParameters
|
|
3797
|
-
? Object.keys(hash).filter(x => MODIFIERS.includes(x))
|
|
3798
|
-
: MODIFIERS.filter(x => hash[x] !== undefined);
|
|
3799
|
-
collection = modifiers.reduce((collection, modifier) => {
|
|
3800
|
-
if (modifier === 'offset')
|
|
3801
|
-
return offset(collection, hash['offset']);
|
|
3802
|
-
if (modifier === 'limit')
|
|
3803
|
-
return limit(collection, hash['limit']);
|
|
3804
|
-
return reversed(collection);
|
|
3805
|
-
}, collection);
|
|
3806
|
-
ctx.setRegister(continueKey, (hash['offset'] || 0) + collection.length);
|
|
3807
|
-
const scope = { forloop: new ForloopDrop(collection.length, this.collection.getText(), this.variable) };
|
|
3808
|
-
ctx.push(scope);
|
|
3809
|
-
for (const item of collection) {
|
|
3810
|
-
scope[this.variable] = item;
|
|
3811
|
-
ctx.continueCalled = ctx.breakCalled = false;
|
|
3812
|
-
yield r.renderTemplates(this.templates, ctx, emitter);
|
|
3813
|
-
if (ctx.breakCalled)
|
|
3814
|
-
break;
|
|
3815
|
-
scope.forloop.next();
|
|
3816
|
-
}
|
|
3817
|
-
ctx.continueCalled = ctx.breakCalled = false;
|
|
3818
|
-
ctx.pop();
|
|
3819
|
-
}
|
|
3820
|
-
*children() {
|
|
3821
|
-
const templates = this.templates.slice();
|
|
3822
|
-
if (this.elseTemplates) {
|
|
3823
|
-
templates.push(...this.elseTemplates);
|
|
3824
|
-
}
|
|
3825
|
-
return templates;
|
|
3826
|
-
}
|
|
3827
|
-
*arguments() {
|
|
3828
|
-
yield this.collection;
|
|
3829
|
-
for (const v of Object.values(this.hash.hash)) {
|
|
3830
|
-
if (isValueToken(v)) {
|
|
3831
|
-
yield v;
|
|
3832
|
-
}
|
|
3833
|
-
}
|
|
3834
|
-
}
|
|
3835
|
-
blockScope() {
|
|
3836
|
-
return [this.variable, 'forloop'];
|
|
3837
|
-
}
|
|
3838
|
-
}
|
|
3839
|
-
function reversed(arr) {
|
|
3840
|
-
return [...arr].reverse();
|
|
3841
|
-
}
|
|
3842
|
-
function offset(arr, count) {
|
|
3843
|
-
return arr.slice(count);
|
|
3844
|
-
}
|
|
3845
|
-
function limit(arr, count) {
|
|
3846
|
-
return arr.slice(0, count);
|
|
3847
|
-
}
|
|
3848
|
-
|
|
3849
|
-
class CaptureTag extends Tag {
|
|
3850
|
-
constructor(tagToken, remainTokens, liquid, parser) {
|
|
3851
|
-
super(tagToken, remainTokens, liquid);
|
|
3852
|
-
this.templates = [];
|
|
3853
|
-
this.identifier = this.readVariable();
|
|
3854
|
-
this.variable = this.identifier.content;
|
|
3855
|
-
while (remainTokens.length) {
|
|
3856
|
-
const token = remainTokens.shift();
|
|
3857
|
-
if (isTagToken(token) && token.name === 'endcapture')
|
|
3858
|
-
return;
|
|
3859
|
-
this.templates.push(parser.parseToken(token, remainTokens));
|
|
3860
|
-
}
|
|
3861
|
-
throw new Error(`tag ${tagToken.getText()} not closed`);
|
|
3862
|
-
}
|
|
3863
|
-
readVariable() {
|
|
3864
|
-
let ident = this.tokenizer.readIdentifier();
|
|
3865
|
-
if (ident.content)
|
|
3866
|
-
return ident;
|
|
3867
|
-
ident = this.tokenizer.readQuoted();
|
|
3868
|
-
if (ident)
|
|
3869
|
-
return ident;
|
|
3870
|
-
throw this.tokenizer.error('invalid capture name');
|
|
3871
|
-
}
|
|
3872
|
-
*render(ctx) {
|
|
3873
|
-
const r = this.liquid.renderer;
|
|
3874
|
-
const html = yield r.renderTemplates(this.templates, ctx);
|
|
3875
|
-
ctx.bottom()[this.variable] = html;
|
|
3876
|
-
}
|
|
3877
|
-
*children() {
|
|
3878
|
-
return this.templates;
|
|
3879
|
-
}
|
|
3880
|
-
*localScope() {
|
|
3881
|
-
yield this.identifier;
|
|
3882
|
-
}
|
|
3883
|
-
}
|
|
3884
|
-
|
|
3885
|
-
class CaseTag extends Tag {
|
|
3886
|
-
constructor(tagToken, remainTokens, liquid, parser) {
|
|
3887
|
-
super(tagToken, remainTokens, liquid);
|
|
3888
|
-
this.branches = [];
|
|
3889
|
-
this.elseTemplates = [];
|
|
3890
|
-
this.value = new Value(this.tokenizer.readFilteredValue(), this.liquid);
|
|
3891
|
-
this.elseTemplates = [];
|
|
3892
|
-
let p = [];
|
|
3893
|
-
let elseCount = 0;
|
|
3894
|
-
const stream = parser.parseStream(remainTokens)
|
|
3895
|
-
.on('tag:when', (token) => {
|
|
3896
|
-
if (elseCount > 0) {
|
|
3897
|
-
return;
|
|
3898
|
-
}
|
|
3899
|
-
p = [];
|
|
3900
|
-
const values = [];
|
|
3901
|
-
while (!token.tokenizer.end()) {
|
|
3902
|
-
values.push(token.tokenizer.readValueOrThrow());
|
|
3903
|
-
token.tokenizer.skipBlank();
|
|
3904
|
-
if (token.tokenizer.peek() === ',') {
|
|
3905
|
-
token.tokenizer.readTo(',');
|
|
3906
|
-
}
|
|
3907
|
-
else {
|
|
3908
|
-
token.tokenizer.readTo('or');
|
|
3909
|
-
}
|
|
3910
|
-
}
|
|
3911
|
-
this.branches.push({
|
|
3912
|
-
values,
|
|
3913
|
-
templates: p
|
|
3914
|
-
});
|
|
3915
|
-
})
|
|
3916
|
-
.on('tag:else', () => {
|
|
3917
|
-
elseCount++;
|
|
3918
|
-
p = this.elseTemplates;
|
|
3919
|
-
})
|
|
3920
|
-
.on('tag:endcase', () => stream.stop())
|
|
3921
|
-
.on('template', (tpl) => {
|
|
3922
|
-
if (p !== this.elseTemplates || elseCount === 1) {
|
|
3923
|
-
p.push(tpl);
|
|
3924
|
-
}
|
|
3925
|
-
})
|
|
3926
|
-
.on('end', () => {
|
|
3927
|
-
throw new Error(`tag ${tagToken.getText()} not closed`);
|
|
3928
|
-
});
|
|
3929
|
-
stream.start();
|
|
3930
|
-
}
|
|
3931
|
-
*render(ctx, emitter) {
|
|
3932
|
-
const r = this.liquid.renderer;
|
|
3933
|
-
const target = toValue(yield this.value.value(ctx, ctx.opts.lenientIf));
|
|
3934
|
-
let branchHit = false;
|
|
3935
|
-
for (const branch of this.branches) {
|
|
3936
|
-
for (const valueToken of branch.values) {
|
|
3937
|
-
const value = yield evalToken(valueToken, ctx, ctx.opts.lenientIf);
|
|
3938
|
-
if (equals(target, value)) {
|
|
3939
|
-
yield r.renderTemplates(branch.templates, ctx, emitter);
|
|
3940
|
-
branchHit = true;
|
|
3941
|
-
break;
|
|
3942
|
-
}
|
|
3943
|
-
}
|
|
3944
|
-
}
|
|
3945
|
-
if (!branchHit) {
|
|
3946
|
-
yield r.renderTemplates(this.elseTemplates, ctx, emitter);
|
|
3947
|
-
}
|
|
3948
|
-
}
|
|
3949
|
-
*arguments() {
|
|
3950
|
-
yield this.value;
|
|
3951
|
-
yield* this.branches.flatMap(b => b.values);
|
|
3952
|
-
}
|
|
3953
|
-
*children() {
|
|
3954
|
-
const templates = this.branches.flatMap(b => b.templates);
|
|
3955
|
-
if (this.elseTemplates) {
|
|
3956
|
-
templates.push(...this.elseTemplates);
|
|
3957
|
-
}
|
|
3958
|
-
return templates;
|
|
3959
|
-
}
|
|
3960
|
-
}
|
|
3961
|
-
|
|
3962
|
-
class CommentTag extends Tag {
|
|
3963
|
-
constructor(tagToken, remainTokens, liquid) {
|
|
3964
|
-
super(tagToken, remainTokens, liquid);
|
|
3965
|
-
while (remainTokens.length) {
|
|
3966
|
-
const token = remainTokens.shift();
|
|
3967
|
-
if (isTagToken(token) && token.name === 'endcomment')
|
|
3968
|
-
return;
|
|
3969
|
-
}
|
|
3970
|
-
throw new Error(`tag ${tagToken.getText()} not closed`);
|
|
3971
|
-
}
|
|
3972
|
-
render() { }
|
|
3973
|
-
}
|
|
3974
|
-
|
|
3975
|
-
class RenderTag extends Tag {
|
|
3976
|
-
constructor(token, remainTokens, liquid, parser) {
|
|
3977
|
-
super(token, remainTokens, liquid);
|
|
3978
|
-
const tokenizer = this.tokenizer;
|
|
3979
|
-
this.file = parseFilePath(tokenizer, this.liquid, parser);
|
|
3980
|
-
this.currentFile = token.file;
|
|
3981
|
-
while (!tokenizer.end()) {
|
|
3982
|
-
tokenizer.skipBlank();
|
|
3983
|
-
const begin = tokenizer.p;
|
|
3984
|
-
const keyword = tokenizer.readIdentifier();
|
|
3985
|
-
if (keyword.content === 'with' || keyword.content === 'for') {
|
|
3986
|
-
tokenizer.skipBlank();
|
|
3987
|
-
// can be normal key/value pair, like "with: true"
|
|
3988
|
-
if (tokenizer.peek() !== ':') {
|
|
3989
|
-
const value = tokenizer.readValue();
|
|
3990
|
-
// can be normal key, like "with,"
|
|
3991
|
-
if (value) {
|
|
3992
|
-
const beforeAs = tokenizer.p;
|
|
3993
|
-
const asStr = tokenizer.readIdentifier();
|
|
3994
|
-
let alias;
|
|
3995
|
-
if (asStr.content === 'as')
|
|
3996
|
-
alias = tokenizer.readIdentifier();
|
|
3997
|
-
else
|
|
3998
|
-
tokenizer.p = beforeAs;
|
|
3999
|
-
this[keyword.content] = { value, alias: alias && alias.content };
|
|
4000
|
-
tokenizer.skipBlank();
|
|
4001
|
-
if (tokenizer.peek() === ',')
|
|
4002
|
-
tokenizer.advance();
|
|
4003
|
-
continue; // matched!
|
|
4004
|
-
}
|
|
4005
|
-
}
|
|
4006
|
-
}
|
|
4007
|
-
/**
|
|
4008
|
-
* restore cursor if with/for not matched
|
|
4009
|
-
*/
|
|
4010
|
-
tokenizer.p = begin;
|
|
4011
|
-
break;
|
|
4012
|
-
}
|
|
4013
|
-
this.hash = new Hash(tokenizer, liquid.options.keyValueSeparator);
|
|
4014
|
-
}
|
|
4015
|
-
*render(ctx, emitter) {
|
|
4016
|
-
const { liquid, hash } = this;
|
|
4017
|
-
const filepath = (yield renderFilePath(this['file'], ctx, liquid));
|
|
4018
|
-
assert(filepath, () => `illegal file path "${filepath}"`);
|
|
4019
|
-
const childCtx = ctx.spawn();
|
|
4020
|
-
const scope = childCtx.bottom();
|
|
4021
|
-
__assign(scope, yield hash.render(ctx));
|
|
4022
|
-
if (this['with']) {
|
|
4023
|
-
const { value, alias } = this['with'];
|
|
4024
|
-
scope[alias || filepath] = yield evalToken(value, ctx);
|
|
4025
|
-
}
|
|
4026
|
-
if (this['for']) {
|
|
4027
|
-
const { value, alias } = this['for'];
|
|
4028
|
-
const collection = toEnumerable(yield evalToken(value, ctx));
|
|
4029
|
-
scope['forloop'] = new ForloopDrop(collection.length, value.getText(), alias);
|
|
4030
|
-
for (const item of collection) {
|
|
4031
|
-
scope[alias] = item;
|
|
4032
|
-
const templates = (yield liquid._parsePartialFile(filepath, childCtx.sync, this['currentFile']));
|
|
4033
|
-
yield liquid.renderer.renderTemplates(templates, childCtx, emitter);
|
|
4034
|
-
scope['forloop'].next();
|
|
4035
|
-
}
|
|
4036
|
-
}
|
|
4037
|
-
else {
|
|
4038
|
-
const templates = (yield liquid._parsePartialFile(filepath, childCtx.sync, this['currentFile']));
|
|
4039
|
-
yield liquid.renderer.renderTemplates(templates, childCtx, emitter);
|
|
4040
|
-
}
|
|
4041
|
-
}
|
|
4042
|
-
*children(partials, sync) {
|
|
4043
|
-
if (partials && isString(this['file'])) {
|
|
4044
|
-
return (yield this.liquid._parsePartialFile(this['file'], sync, this['currentFile']));
|
|
4045
|
-
}
|
|
4046
|
-
return [];
|
|
4047
|
-
}
|
|
4048
|
-
partialScope() {
|
|
4049
|
-
if (isString(this['file'])) {
|
|
4050
|
-
const names = Object.keys(this.hash.hash);
|
|
4051
|
-
if (this['with']) {
|
|
4052
|
-
const { value, alias } = this['with'];
|
|
4053
|
-
if (isString(alias)) {
|
|
4054
|
-
names.push([alias, value]);
|
|
4055
|
-
}
|
|
4056
|
-
else if (isString(this.file)) {
|
|
4057
|
-
names.push([this.file, value]);
|
|
4058
|
-
}
|
|
4059
|
-
}
|
|
4060
|
-
if (this['for']) {
|
|
4061
|
-
const { value, alias } = this['for'];
|
|
4062
|
-
if (isString(alias)) {
|
|
4063
|
-
names.push([alias, value]);
|
|
4064
|
-
}
|
|
4065
|
-
else if (isString(this.file)) {
|
|
4066
|
-
names.push([this.file, value]);
|
|
4067
|
-
}
|
|
4068
|
-
}
|
|
4069
|
-
return { name: this['file'], isolated: true, scope: names };
|
|
4070
|
-
}
|
|
4071
|
-
}
|
|
4072
|
-
*arguments() {
|
|
4073
|
-
for (const v of Object.values(this.hash.hash)) {
|
|
4074
|
-
if (isValueToken(v)) {
|
|
4075
|
-
yield v;
|
|
4076
|
-
}
|
|
4077
|
-
}
|
|
4078
|
-
if (this['with']) {
|
|
4079
|
-
const { value } = this['with'];
|
|
4080
|
-
if (isValueToken(value)) {
|
|
4081
|
-
yield value;
|
|
4082
|
-
}
|
|
4083
|
-
}
|
|
4084
|
-
if (this['for']) {
|
|
4085
|
-
const { value } = this['for'];
|
|
4086
|
-
if (isValueToken(value)) {
|
|
4087
|
-
yield value;
|
|
4088
|
-
}
|
|
4089
|
-
}
|
|
4090
|
-
}
|
|
4091
|
-
}
|
|
4092
|
-
/**
|
|
4093
|
-
* @return null for "none",
|
|
4094
|
-
* @return Template[] for quoted with tags and/or filters
|
|
4095
|
-
* @return Token for expression (not quoted)
|
|
4096
|
-
* @throws TypeError if cannot read next token
|
|
4097
|
-
*/
|
|
4098
|
-
function parseFilePath(tokenizer, liquid, parser) {
|
|
4099
|
-
if (liquid.options.dynamicPartials) {
|
|
4100
|
-
const file = tokenizer.readValue();
|
|
4101
|
-
tokenizer.assert(file, 'illegal file path');
|
|
4102
|
-
if (file.getText() === 'none')
|
|
4103
|
-
return;
|
|
4104
|
-
if (isQuotedToken(file)) {
|
|
4105
|
-
// for filenames like "files/{{file}}", eval as liquid template
|
|
4106
|
-
const templates = parser.parse(evalQuotedToken(file));
|
|
4107
|
-
return optimize(templates);
|
|
4108
|
-
}
|
|
4109
|
-
return file;
|
|
4110
|
-
}
|
|
4111
|
-
const tokens = [...tokenizer.readFileNameTemplate(liquid.options)];
|
|
4112
|
-
const templates = optimize(parser.parseTokens(tokens));
|
|
4113
|
-
return templates === 'none' ? undefined : templates;
|
|
4114
|
-
}
|
|
4115
|
-
function optimize(templates) {
|
|
4116
|
-
// for filenames like "files/file.liquid", extract the string directly
|
|
4117
|
-
if (templates.length === 1 && isHTMLToken(templates[0].token))
|
|
4118
|
-
return templates[0].token.getContent();
|
|
4119
|
-
return templates;
|
|
4120
|
-
}
|
|
4121
|
-
function* renderFilePath(file, ctx, liquid) {
|
|
4122
|
-
if (typeof file === 'string')
|
|
4123
|
-
return file;
|
|
4124
|
-
if (Array.isArray(file))
|
|
4125
|
-
return liquid.renderer.renderTemplates(file, ctx);
|
|
4126
|
-
return yield evalToken(file, ctx);
|
|
4127
|
-
}
|
|
4128
|
-
|
|
4129
|
-
class IncludeTag extends Tag {
|
|
4130
|
-
constructor(token, remainTokens, liquid, parser) {
|
|
4131
|
-
super(token, remainTokens, liquid);
|
|
4132
|
-
const { tokenizer } = token;
|
|
4133
|
-
this['file'] = parseFilePath(tokenizer, this.liquid, parser);
|
|
4134
|
-
this['currentFile'] = token.file;
|
|
4135
|
-
const begin = tokenizer.p;
|
|
4136
|
-
const withStr = tokenizer.readIdentifier();
|
|
4137
|
-
if (withStr.content === 'with') {
|
|
4138
|
-
tokenizer.skipBlank();
|
|
4139
|
-
if (tokenizer.peek() !== ':') {
|
|
4140
|
-
this.withVar = tokenizer.readValue();
|
|
4141
|
-
}
|
|
4142
|
-
else
|
|
4143
|
-
tokenizer.p = begin;
|
|
4144
|
-
}
|
|
4145
|
-
else
|
|
4146
|
-
tokenizer.p = begin;
|
|
4147
|
-
this.hash = new Hash(tokenizer, liquid.options.jekyllInclude || liquid.options.keyValueSeparator);
|
|
4148
|
-
}
|
|
4149
|
-
*render(ctx, emitter) {
|
|
4150
|
-
const { liquid, hash, withVar } = this;
|
|
4151
|
-
const { renderer } = liquid;
|
|
4152
|
-
const filepath = (yield renderFilePath(this['file'], ctx, liquid));
|
|
4153
|
-
assert(filepath, () => `illegal file path "${filepath}"`);
|
|
4154
|
-
const saved = ctx.saveRegister('blocks', 'blockMode');
|
|
4155
|
-
ctx.setRegister('blocks', {});
|
|
4156
|
-
ctx.setRegister('blockMode', BlockMode.OUTPUT);
|
|
4157
|
-
const scope = (yield hash.render(ctx));
|
|
4158
|
-
if (withVar)
|
|
4159
|
-
scope[filepath] = yield evalToken(withVar, ctx);
|
|
4160
|
-
const templates = (yield liquid._parsePartialFile(filepath, ctx.sync, this['currentFile']));
|
|
4161
|
-
ctx.push(ctx.opts.jekyllInclude ? { include: scope } : scope);
|
|
4162
|
-
yield renderer.renderTemplates(templates, ctx, emitter);
|
|
4163
|
-
ctx.pop();
|
|
4164
|
-
ctx.restoreRegister(saved);
|
|
4165
|
-
}
|
|
4166
|
-
*children(partials, sync) {
|
|
4167
|
-
if (partials && isString(this['file'])) {
|
|
4168
|
-
return (yield this.liquid._parsePartialFile(this['file'], sync, this['currentFile']));
|
|
4169
|
-
}
|
|
4170
|
-
return [];
|
|
4171
|
-
}
|
|
4172
|
-
partialScope() {
|
|
4173
|
-
if (isString(this['file'])) {
|
|
4174
|
-
let names;
|
|
4175
|
-
if (this.liquid.options.jekyllInclude) {
|
|
4176
|
-
names = ['include'];
|
|
4177
|
-
}
|
|
4178
|
-
else {
|
|
4179
|
-
names = Object.keys(this.hash.hash);
|
|
4180
|
-
if (this.withVar) {
|
|
4181
|
-
names.push([this['file'], this.withVar]);
|
|
4182
|
-
}
|
|
4183
|
-
}
|
|
4184
|
-
return { name: this['file'], isolated: false, scope: names };
|
|
4185
|
-
}
|
|
4186
|
-
}
|
|
4187
|
-
*arguments() {
|
|
4188
|
-
yield* Object.values(this.hash.hash).filter(isValueToken);
|
|
4189
|
-
if (isValueToken(this['file'])) {
|
|
4190
|
-
yield this['file'];
|
|
4191
|
-
}
|
|
4192
|
-
if (isValueToken(this.withVar)) {
|
|
4193
|
-
yield this.withVar;
|
|
4194
|
-
}
|
|
4195
|
-
}
|
|
4196
|
-
}
|
|
4197
|
-
|
|
4198
|
-
class DecrementTag extends Tag {
|
|
4199
|
-
constructor(token, remainTokens, liquid) {
|
|
4200
|
-
super(token, remainTokens, liquid);
|
|
4201
|
-
this.identifier = this.tokenizer.readIdentifier();
|
|
4202
|
-
this.variable = this.identifier.content;
|
|
4203
|
-
}
|
|
4204
|
-
render(context, emitter) {
|
|
4205
|
-
const scope = context.environments;
|
|
4206
|
-
if (!isNumber(scope[this.variable])) {
|
|
4207
|
-
scope[this.variable] = 0;
|
|
4208
|
-
}
|
|
4209
|
-
emitter.write(stringify(--scope[this.variable]));
|
|
4210
|
-
}
|
|
4211
|
-
*localScope() {
|
|
4212
|
-
yield this.identifier;
|
|
4213
|
-
}
|
|
4214
|
-
}
|
|
4215
|
-
|
|
4216
|
-
class CycleTag extends Tag {
|
|
4217
|
-
constructor(token, remainTokens, liquid) {
|
|
4218
|
-
super(token, remainTokens, liquid);
|
|
4219
|
-
this.candidates = [];
|
|
4220
|
-
const group = this.tokenizer.readValue();
|
|
4221
|
-
this.tokenizer.skipBlank();
|
|
4222
|
-
if (group) {
|
|
4223
|
-
if (this.tokenizer.peek() === ':') {
|
|
4224
|
-
this.group = group;
|
|
4225
|
-
this.tokenizer.advance();
|
|
4226
|
-
}
|
|
4227
|
-
else
|
|
4228
|
-
this.candidates.push(group);
|
|
4229
|
-
}
|
|
4230
|
-
while (!this.tokenizer.end()) {
|
|
4231
|
-
const value = this.tokenizer.readValue();
|
|
4232
|
-
if (value)
|
|
4233
|
-
this.candidates.push(value);
|
|
4234
|
-
this.tokenizer.readTo(',');
|
|
4235
|
-
}
|
|
4236
|
-
this.tokenizer.assert(this.candidates.length, () => `empty candidates: "${token.getText()}"`);
|
|
4237
|
-
}
|
|
4238
|
-
*render(ctx, emitter) {
|
|
4239
|
-
const group = (yield evalToken(this.group, ctx));
|
|
4240
|
-
const fingerprint = `cycle:${group}:` + this.candidates.join(',');
|
|
4241
|
-
const groups = ctx.getRegister('cycle');
|
|
4242
|
-
let idx = groups[fingerprint];
|
|
4243
|
-
if (idx === undefined) {
|
|
4244
|
-
idx = groups[fingerprint] = 0;
|
|
4245
|
-
}
|
|
4246
|
-
const candidate = this.candidates[idx];
|
|
4247
|
-
idx = (idx + 1) % this.candidates.length;
|
|
4248
|
-
groups[fingerprint] = idx;
|
|
4249
|
-
return yield evalToken(candidate, ctx);
|
|
4250
|
-
}
|
|
4251
|
-
*arguments() {
|
|
4252
|
-
yield* this.candidates;
|
|
4253
|
-
if (this.group) {
|
|
4254
|
-
yield this.group;
|
|
4255
|
-
}
|
|
4256
|
-
}
|
|
4257
|
-
}
|
|
4258
|
-
|
|
4259
|
-
class IfTag extends Tag {
|
|
4260
|
-
constructor(tagToken, remainTokens, liquid, parser) {
|
|
4261
|
-
super(tagToken, remainTokens, liquid);
|
|
4262
|
-
this.branches = [];
|
|
4263
|
-
let p = [];
|
|
4264
|
-
parser.parseStream(remainTokens)
|
|
4265
|
-
.on('start', () => this.branches.push({
|
|
4266
|
-
value: new Value(tagToken.tokenizer.readFilteredValue(), this.liquid),
|
|
4267
|
-
templates: (p = [])
|
|
4268
|
-
}))
|
|
4269
|
-
.on('tag:elsif', (token) => {
|
|
4270
|
-
assert(!this.elseTemplates, 'unexpected elsif after else');
|
|
4271
|
-
this.branches.push({
|
|
4272
|
-
value: new Value(token.tokenizer.readFilteredValue(), this.liquid),
|
|
4273
|
-
templates: (p = [])
|
|
4274
|
-
});
|
|
4275
|
-
})
|
|
4276
|
-
.on('tag:else', tag => {
|
|
4277
|
-
assertEmpty(tag.args);
|
|
4278
|
-
assert(!this.elseTemplates, 'duplicated else');
|
|
4279
|
-
p = this.elseTemplates = [];
|
|
4280
|
-
})
|
|
4281
|
-
.on('tag:endif', function (tag) { assertEmpty(tag.args); this.stop(); })
|
|
4282
|
-
.on('template', (tpl) => p.push(tpl))
|
|
4283
|
-
.on('end', () => { throw new Error(`tag ${tagToken.getText()} not closed`); })
|
|
4284
|
-
.start();
|
|
4285
|
-
}
|
|
4286
|
-
*render(ctx, emitter) {
|
|
4287
|
-
const r = this.liquid.renderer;
|
|
4288
|
-
for (const { value, templates } of this.branches) {
|
|
4289
|
-
const v = yield value.value(ctx, ctx.opts.lenientIf);
|
|
4290
|
-
if (isTruthy(v, ctx)) {
|
|
4291
|
-
yield r.renderTemplates(templates, ctx, emitter);
|
|
4292
|
-
return;
|
|
4293
|
-
}
|
|
4294
|
-
}
|
|
4295
|
-
yield r.renderTemplates(this.elseTemplates || [], ctx, emitter);
|
|
4296
|
-
}
|
|
4297
|
-
*children() {
|
|
4298
|
-
const templates = this.branches.flatMap(b => b.templates);
|
|
4299
|
-
if (this.elseTemplates) {
|
|
4300
|
-
templates.push(...this.elseTemplates);
|
|
4301
|
-
}
|
|
4302
|
-
return templates;
|
|
4303
|
-
}
|
|
4304
|
-
arguments() {
|
|
4305
|
-
return this.branches.map(b => b.value);
|
|
4306
|
-
}
|
|
4307
|
-
}
|
|
4308
|
-
|
|
4309
|
-
class IncrementTag extends Tag {
|
|
4310
|
-
constructor(token, remainTokens, liquid) {
|
|
4311
|
-
super(token, remainTokens, liquid);
|
|
4312
|
-
this.identifier = this.tokenizer.readIdentifier();
|
|
4313
|
-
this.variable = this.identifier.content;
|
|
4314
|
-
}
|
|
4315
|
-
render(context, emitter) {
|
|
4316
|
-
const scope = context.environments;
|
|
4317
|
-
if (!isNumber(scope[this.variable])) {
|
|
4318
|
-
scope[this.variable] = 0;
|
|
4319
|
-
}
|
|
4320
|
-
const val = scope[this.variable];
|
|
4321
|
-
scope[this.variable]++;
|
|
4322
|
-
emitter.write(stringify(val));
|
|
4323
|
-
}
|
|
4324
|
-
*localScope() {
|
|
4325
|
-
yield this.identifier;
|
|
4326
|
-
}
|
|
4327
|
-
}
|
|
4328
|
-
|
|
4329
|
-
class LayoutTag extends Tag {
|
|
4330
|
-
constructor(token, remainTokens, liquid, parser) {
|
|
4331
|
-
super(token, remainTokens, liquid);
|
|
4332
|
-
this.file = parseFilePath(this.tokenizer, this.liquid, parser);
|
|
4333
|
-
this['currentFile'] = token.file;
|
|
4334
|
-
this.args = new Hash(this.tokenizer, liquid.options.keyValueSeparator);
|
|
4335
|
-
this.templates = parser.parseTokens(remainTokens);
|
|
4336
|
-
}
|
|
4337
|
-
*render(ctx, emitter) {
|
|
4338
|
-
const { liquid, args, file } = this;
|
|
4339
|
-
const { renderer } = liquid;
|
|
4340
|
-
if (file === undefined) {
|
|
4341
|
-
ctx.setRegister('blockMode', BlockMode.OUTPUT);
|
|
4342
|
-
yield renderer.renderTemplates(this.templates, ctx, emitter);
|
|
4343
|
-
return;
|
|
4344
|
-
}
|
|
4345
|
-
const filepath = (yield renderFilePath(this.file, ctx, liquid));
|
|
4346
|
-
assert(filepath, () => `illegal file path "${filepath}"`);
|
|
4347
|
-
const templates = (yield liquid._parseLayoutFile(filepath, ctx.sync, this['currentFile']));
|
|
4348
|
-
// render remaining contents and store rendered results
|
|
4349
|
-
ctx.setRegister('blockMode', BlockMode.STORE);
|
|
4350
|
-
const html = yield renderer.renderTemplates(this.templates, ctx);
|
|
4351
|
-
const blocks = ctx.getRegister('blocks');
|
|
4352
|
-
// set whole content to anonymous block if anonymous doesn't specified
|
|
4353
|
-
if (blocks[''] === undefined)
|
|
4354
|
-
blocks[''] = (parent, emitter) => emitter.write(html);
|
|
4355
|
-
ctx.setRegister('blockMode', BlockMode.OUTPUT);
|
|
4356
|
-
// render the layout file use stored blocks
|
|
4357
|
-
ctx.push((yield args.render(ctx)));
|
|
4358
|
-
yield renderer.renderTemplates(templates, ctx, emitter);
|
|
4359
|
-
ctx.pop();
|
|
4360
|
-
}
|
|
4361
|
-
*children(partials) {
|
|
4362
|
-
const templates = this.templates.slice();
|
|
4363
|
-
if (partials && isString(this.file)) {
|
|
4364
|
-
templates.push(...(yield this.liquid._parsePartialFile(this.file, true, this['currentFile'])));
|
|
4365
|
-
}
|
|
4366
|
-
return templates;
|
|
4367
|
-
}
|
|
4368
|
-
*arguments() {
|
|
4369
|
-
for (const v of Object.values(this.args.hash)) {
|
|
4370
|
-
if (isValueToken(v)) {
|
|
4371
|
-
yield v;
|
|
4372
|
-
}
|
|
4373
|
-
}
|
|
4374
|
-
if (isValueToken(this.file)) {
|
|
4375
|
-
yield this.file;
|
|
4376
|
-
}
|
|
4377
|
-
}
|
|
4378
|
-
partialScope() {
|
|
4379
|
-
if (isString(this.file)) {
|
|
4380
|
-
return { name: this.file, isolated: false, scope: Object.keys(this.args.hash) };
|
|
4381
|
-
}
|
|
4382
|
-
}
|
|
4383
|
-
}
|
|
4384
|
-
|
|
4385
|
-
class BlockTag extends Tag {
|
|
4386
|
-
constructor(token, remainTokens, liquid, parser) {
|
|
4387
|
-
super(token, remainTokens, liquid);
|
|
4388
|
-
this.templates = [];
|
|
4389
|
-
const match = /\w+/.exec(token.args);
|
|
4390
|
-
this.block = match ? match[0] : '';
|
|
4391
|
-
while (remainTokens.length) {
|
|
4392
|
-
const token = remainTokens.shift();
|
|
4393
|
-
if (isTagToken(token) && token.name === 'endblock')
|
|
4394
|
-
return;
|
|
4395
|
-
const template = parser.parseToken(token, remainTokens);
|
|
4396
|
-
this.templates.push(template);
|
|
4397
|
-
}
|
|
4398
|
-
throw new Error(`tag ${token.getText()} not closed`);
|
|
4399
|
-
}
|
|
4400
|
-
*render(ctx, emitter) {
|
|
4401
|
-
const blockRender = this.getBlockRender(ctx);
|
|
4402
|
-
if (ctx.getRegister('blockMode') === BlockMode.STORE) {
|
|
4403
|
-
ctx.getRegister('blocks')[this.block] = blockRender;
|
|
4404
|
-
}
|
|
4405
|
-
else {
|
|
4406
|
-
yield blockRender(new BlockDrop(), emitter);
|
|
4407
|
-
}
|
|
4408
|
-
}
|
|
4409
|
-
getBlockRender(ctx) {
|
|
4410
|
-
const { liquid, templates } = this;
|
|
4411
|
-
const renderChild = ctx.getRegister('blocks')[this.block];
|
|
4412
|
-
const renderCurrent = function* (superBlock, emitter) {
|
|
4413
|
-
// add {{ block.super }} support when rendering
|
|
4414
|
-
ctx.push({ block: superBlock });
|
|
4415
|
-
yield liquid.renderer.renderTemplates(templates, ctx, emitter);
|
|
4416
|
-
ctx.pop();
|
|
4417
|
-
};
|
|
4418
|
-
return renderChild
|
|
4419
|
-
? (superBlock, emitter) => renderChild(new BlockDrop(() => renderCurrent(superBlock, emitter)), emitter)
|
|
4420
|
-
: renderCurrent;
|
|
4421
|
-
}
|
|
4422
|
-
*children() {
|
|
4423
|
-
return this.templates;
|
|
4424
|
-
}
|
|
4425
|
-
blockScope() {
|
|
4426
|
-
return ['block'];
|
|
4427
|
-
}
|
|
4428
|
-
}
|
|
4429
|
-
|
|
4430
|
-
class RawTag extends Tag {
|
|
4431
|
-
constructor(tagToken, remainTokens, liquid) {
|
|
4432
|
-
super(tagToken, remainTokens, liquid);
|
|
4433
|
-
this.tokens = [];
|
|
4434
|
-
while (remainTokens.length) {
|
|
4435
|
-
const token = remainTokens.shift();
|
|
4436
|
-
if (isTagToken(token) && token.name === 'endraw')
|
|
4437
|
-
return;
|
|
4438
|
-
this.tokens.push(token);
|
|
4439
|
-
}
|
|
4440
|
-
throw new Error(`tag ${tagToken.getText()} not closed`);
|
|
4441
|
-
}
|
|
4442
|
-
render() {
|
|
4443
|
-
return this.tokens.map((token) => token.getText()).join('');
|
|
4444
|
-
}
|
|
4445
|
-
}
|
|
4446
|
-
|
|
4447
|
-
class TablerowloopDrop extends ForloopDrop {
|
|
4448
|
-
constructor(length, cols, collection, variable) {
|
|
4449
|
-
super(length, collection, variable);
|
|
4450
|
-
this.length = length;
|
|
4451
|
-
this.cols = cols;
|
|
4452
|
-
}
|
|
4453
|
-
row() {
|
|
4454
|
-
return Math.floor(this.i / this.cols) + 1;
|
|
4455
|
-
}
|
|
4456
|
-
col0() {
|
|
4457
|
-
return (this.i % this.cols);
|
|
4458
|
-
}
|
|
4459
|
-
col() {
|
|
4460
|
-
return this.col0() + 1;
|
|
4461
|
-
}
|
|
4462
|
-
col_first() {
|
|
4463
|
-
return this.col0() === 0;
|
|
4464
|
-
}
|
|
4465
|
-
col_last() {
|
|
4466
|
-
return this.col() === this.cols;
|
|
4467
|
-
}
|
|
4468
|
-
}
|
|
4469
|
-
|
|
4470
|
-
class TablerowTag extends Tag {
|
|
4471
|
-
constructor(tagToken, remainTokens, liquid, parser) {
|
|
4472
|
-
super(tagToken, remainTokens, liquid);
|
|
4473
|
-
const variable = this.tokenizer.readIdentifier();
|
|
4474
|
-
this.tokenizer.skipBlank();
|
|
4475
|
-
const predicate = this.tokenizer.readIdentifier();
|
|
4476
|
-
const collectionToken = this.tokenizer.readValue();
|
|
4477
|
-
if (predicate.content !== 'in' || !collectionToken) {
|
|
4478
|
-
throw new Error(`illegal tag: ${tagToken.getText()}`);
|
|
4479
|
-
}
|
|
4480
|
-
this.variable = variable.content;
|
|
4481
|
-
this.collection = collectionToken;
|
|
4482
|
-
this.args = new Hash(this.tokenizer, liquid.options.keyValueSeparator);
|
|
4483
|
-
this.templates = [];
|
|
4484
|
-
let p;
|
|
4485
|
-
const stream = parser.parseStream(remainTokens)
|
|
4486
|
-
.on('start', () => (p = this.templates))
|
|
4487
|
-
.on('tag:endtablerow', () => stream.stop())
|
|
4488
|
-
.on('template', (tpl) => p.push(tpl))
|
|
4489
|
-
.on('end', () => {
|
|
4490
|
-
throw new Error(`tag ${tagToken.getText()} not closed`);
|
|
4491
|
-
});
|
|
4492
|
-
stream.start();
|
|
4493
|
-
}
|
|
4494
|
-
*render(ctx, emitter) {
|
|
4495
|
-
let collection = toEnumerable(yield evalToken(this.collection, ctx));
|
|
4496
|
-
const args = (yield this.args.render(ctx));
|
|
4497
|
-
const offset = args.offset || 0;
|
|
4498
|
-
const limit = (args.limit === undefined) ? collection.length : args.limit;
|
|
4499
|
-
collection = collection.slice(offset, offset + limit);
|
|
4500
|
-
const cols = args.cols || collection.length;
|
|
4501
|
-
const r = this.liquid.renderer;
|
|
4502
|
-
const tablerowloop = new TablerowloopDrop(collection.length, cols, this.collection.getText(), this.variable);
|
|
4503
|
-
const scope = { tablerowloop };
|
|
4504
|
-
ctx.push(scope);
|
|
4505
|
-
for (let idx = 0; idx < collection.length; idx++, tablerowloop.next()) {
|
|
4506
|
-
scope[this.variable] = collection[idx];
|
|
4507
|
-
if (tablerowloop.col0() === 0) {
|
|
4508
|
-
if (tablerowloop.row() !== 1)
|
|
4509
|
-
emitter.write('</tr>');
|
|
4510
|
-
emitter.write(`<tr class="row${tablerowloop.row()}">`);
|
|
4511
|
-
}
|
|
4512
|
-
emitter.write(`<td class="col${tablerowloop.col()}">`);
|
|
4513
|
-
yield r.renderTemplates(this.templates, ctx, emitter);
|
|
4514
|
-
emitter.write('</td>');
|
|
4515
|
-
}
|
|
4516
|
-
if (collection.length)
|
|
4517
|
-
emitter.write('</tr>');
|
|
4518
|
-
ctx.pop();
|
|
4519
|
-
}
|
|
4520
|
-
*children() {
|
|
4521
|
-
return this.templates;
|
|
4522
|
-
}
|
|
4523
|
-
*arguments() {
|
|
4524
|
-
yield this.collection;
|
|
4525
|
-
for (const v of Object.values(this.args.hash)) {
|
|
4526
|
-
if (isValueToken(v)) {
|
|
4527
|
-
yield v;
|
|
4528
|
-
}
|
|
4529
|
-
}
|
|
4530
|
-
}
|
|
4531
|
-
blockScope() {
|
|
4532
|
-
return [this.variable, 'tablerowloop'];
|
|
4533
|
-
}
|
|
4534
|
-
}
|
|
4535
|
-
|
|
4536
|
-
class UnlessTag extends Tag {
|
|
4537
|
-
constructor(tagToken, remainTokens, liquid, parser) {
|
|
4538
|
-
super(tagToken, remainTokens, liquid);
|
|
4539
|
-
this.branches = [];
|
|
4540
|
-
this.elseTemplates = [];
|
|
4541
|
-
let p = [];
|
|
4542
|
-
let elseCount = 0;
|
|
4543
|
-
parser.parseStream(remainTokens)
|
|
4544
|
-
.on('start', () => this.branches.push({
|
|
4545
|
-
value: new Value(tagToken.tokenizer.readFilteredValue(), this.liquid),
|
|
4546
|
-
test: isFalsy,
|
|
4547
|
-
templates: (p = [])
|
|
4548
|
-
}))
|
|
4549
|
-
.on('tag:elsif', (token) => {
|
|
4550
|
-
if (elseCount > 0) {
|
|
4551
|
-
p = [];
|
|
4552
|
-
return;
|
|
4553
|
-
}
|
|
4554
|
-
this.branches.push({
|
|
4555
|
-
value: new Value(token.tokenizer.readFilteredValue(), this.liquid),
|
|
4556
|
-
test: isTruthy,
|
|
4557
|
-
templates: (p = [])
|
|
4558
|
-
});
|
|
4559
|
-
})
|
|
4560
|
-
.on('tag:else', () => {
|
|
4561
|
-
elseCount++;
|
|
4562
|
-
p = this.elseTemplates;
|
|
4563
|
-
})
|
|
4564
|
-
.on('tag:endunless', function () { this.stop(); })
|
|
4565
|
-
.on('template', (tpl) => {
|
|
4566
|
-
if (p !== this.elseTemplates || elseCount === 1) {
|
|
4567
|
-
p.push(tpl);
|
|
4568
|
-
}
|
|
4569
|
-
})
|
|
4570
|
-
.on('end', () => { throw new Error(`tag ${tagToken.getText()} not closed`); })
|
|
4571
|
-
.start();
|
|
4572
|
-
}
|
|
4573
|
-
*render(ctx, emitter) {
|
|
4574
|
-
const r = this.liquid.renderer;
|
|
4575
|
-
for (const { value, test, templates } of this.branches) {
|
|
4576
|
-
const v = yield value.value(ctx, ctx.opts.lenientIf);
|
|
4577
|
-
if (test(v, ctx)) {
|
|
4578
|
-
yield r.renderTemplates(templates, ctx, emitter);
|
|
4579
|
-
return;
|
|
4580
|
-
}
|
|
4581
|
-
}
|
|
4582
|
-
yield r.renderTemplates(this.elseTemplates, ctx, emitter);
|
|
4583
|
-
}
|
|
4584
|
-
*children() {
|
|
4585
|
-
const children = this.branches.flatMap(b => b.templates);
|
|
4586
|
-
if (this.elseTemplates) {
|
|
4587
|
-
children.push(...this.elseTemplates);
|
|
4588
|
-
}
|
|
4589
|
-
return children;
|
|
4590
|
-
}
|
|
4591
|
-
arguments() {
|
|
4592
|
-
return this.branches.map(b => b.value);
|
|
4593
|
-
}
|
|
4594
|
-
}
|
|
4595
|
-
|
|
4596
|
-
class BreakTag extends Tag {
|
|
4597
|
-
render(ctx, _emitter) {
|
|
4598
|
-
ctx.breakCalled = true;
|
|
4599
|
-
}
|
|
4600
|
-
}
|
|
4601
|
-
|
|
4602
|
-
class ContinueTag extends Tag {
|
|
4603
|
-
render(ctx, _emitter) {
|
|
4604
|
-
ctx.continueCalled = true;
|
|
4605
|
-
}
|
|
4606
|
-
}
|
|
4607
|
-
|
|
4608
|
-
class EchoTag extends Tag {
|
|
4609
|
-
constructor(token, remainTokens, liquid) {
|
|
4610
|
-
super(token, remainTokens, liquid);
|
|
4611
|
-
this.tokenizer.skipBlank();
|
|
4612
|
-
if (!this.tokenizer.end()) {
|
|
4613
|
-
this.value = new Value(this.tokenizer.readFilteredValue(), this.liquid);
|
|
4614
|
-
}
|
|
4615
|
-
}
|
|
4616
|
-
*render(ctx, emitter) {
|
|
4617
|
-
if (!this.value)
|
|
4618
|
-
return;
|
|
4619
|
-
const val = yield this.value.value(ctx, false);
|
|
4620
|
-
emitter.write(val);
|
|
4621
|
-
}
|
|
4622
|
-
*arguments() {
|
|
4623
|
-
if (this.value) {
|
|
4624
|
-
yield this.value;
|
|
4625
|
-
}
|
|
4626
|
-
}
|
|
4627
|
-
}
|
|
4628
|
-
|
|
4629
|
-
class LiquidTag extends Tag {
|
|
4630
|
-
constructor(token, remainTokens, liquid, parser) {
|
|
4631
|
-
super(token, remainTokens, liquid);
|
|
4632
|
-
const tokens = this.tokenizer.readLiquidTagTokens(this.liquid.options);
|
|
4633
|
-
this.templates = parser.parseTokens(tokens);
|
|
4634
|
-
}
|
|
4635
|
-
*render(ctx, emitter) {
|
|
4636
|
-
yield this.liquid.renderer.renderTemplates(this.templates, ctx, emitter);
|
|
4637
|
-
}
|
|
4638
|
-
*children() {
|
|
4639
|
-
return this.templates;
|
|
4640
|
-
}
|
|
4641
|
-
}
|
|
4642
|
-
|
|
4643
|
-
class InlineCommentTag extends Tag {
|
|
4644
|
-
constructor(tagToken, remainTokens, liquid) {
|
|
4645
|
-
super(tagToken, remainTokens, liquid);
|
|
4646
|
-
if (tagToken.args.search(/\n\s*[^#\s]/g) !== -1) {
|
|
4647
|
-
throw new Error('every line of an inline comment must start with a \'#\' character');
|
|
4648
|
-
}
|
|
4649
|
-
}
|
|
4650
|
-
render() { }
|
|
4651
|
-
}
|
|
4652
|
-
|
|
4653
|
-
const tags = {
|
|
4654
|
-
assign: AssignTag,
|
|
4655
|
-
'for': ForTag,
|
|
4656
|
-
capture: CaptureTag,
|
|
4657
|
-
'case': CaseTag,
|
|
4658
|
-
comment: CommentTag,
|
|
4659
|
-
include: IncludeTag,
|
|
4660
|
-
render: RenderTag,
|
|
4661
|
-
decrement: DecrementTag,
|
|
4662
|
-
increment: IncrementTag,
|
|
4663
|
-
cycle: CycleTag,
|
|
4664
|
-
'if': IfTag,
|
|
4665
|
-
layout: LayoutTag,
|
|
4666
|
-
block: BlockTag,
|
|
4667
|
-
raw: RawTag,
|
|
4668
|
-
tablerow: TablerowTag,
|
|
4669
|
-
unless: UnlessTag,
|
|
4670
|
-
'break': BreakTag,
|
|
4671
|
-
'continue': ContinueTag,
|
|
4672
|
-
echo: EchoTag,
|
|
4673
|
-
liquid: LiquidTag,
|
|
4674
|
-
'#': InlineCommentTag
|
|
4675
|
-
};
|
|
4676
|
-
|
|
4677
|
-
class Liquid {
|
|
4678
|
-
constructor(opts = {}) {
|
|
4679
|
-
this.renderer = new Render();
|
|
4680
|
-
this.filters = {};
|
|
4681
|
-
this.tags = {};
|
|
4682
|
-
this.options = normalize(opts);
|
|
4683
|
-
// eslint-disable-next-line deprecation/deprecation
|
|
4684
|
-
this.parser = new Parser(this);
|
|
4685
|
-
forOwn(tags, (conf, name) => this.registerTag(name, conf));
|
|
4686
|
-
forOwn(filters, (handler, name) => this.registerFilter(name, handler));
|
|
4687
|
-
}
|
|
4688
|
-
parse(html, filepath) {
|
|
4689
|
-
const parser = new Parser(this);
|
|
4690
|
-
return parser.parse(html, filepath);
|
|
4691
|
-
}
|
|
4692
|
-
_render(tpl, scope, renderOptions) {
|
|
4693
|
-
const ctx = scope instanceof Context ? scope : new Context(scope, this.options, renderOptions);
|
|
4694
|
-
return this.renderer.renderTemplates(tpl, ctx);
|
|
4695
|
-
}
|
|
4696
|
-
async render(tpl, scope, renderOptions) {
|
|
4697
|
-
return toPromise(this._render(tpl, scope, { ...renderOptions, sync: false }));
|
|
4698
|
-
}
|
|
4699
|
-
renderSync(tpl, scope, renderOptions) {
|
|
4700
|
-
return toValueSync(this._render(tpl, scope, { ...renderOptions, sync: true }));
|
|
4701
|
-
}
|
|
4702
|
-
renderToNodeStream(tpl, scope, renderOptions = {}) {
|
|
4703
|
-
const ctx = new Context(scope, this.options, renderOptions);
|
|
4704
|
-
return this.renderer.renderTemplatesToNodeStream(tpl, ctx);
|
|
4705
|
-
}
|
|
4706
|
-
_parseAndRender(html, scope, renderOptions) {
|
|
4707
|
-
const tpl = this.parse(html);
|
|
4708
|
-
return this._render(tpl, scope, renderOptions);
|
|
4709
|
-
}
|
|
4710
|
-
async parseAndRender(html, scope, renderOptions) {
|
|
4711
|
-
return toPromise(this._parseAndRender(html, scope, { ...renderOptions, sync: false }));
|
|
4712
|
-
}
|
|
4713
|
-
parseAndRenderSync(html, scope, renderOptions) {
|
|
4714
|
-
return toValueSync(this._parseAndRender(html, scope, { ...renderOptions, sync: true }));
|
|
4715
|
-
}
|
|
4716
|
-
_parsePartialFile(file, sync, currentFile) {
|
|
4717
|
-
return new Parser(this).parseFile(file, sync, LookupType.Partials, currentFile);
|
|
4718
|
-
}
|
|
4719
|
-
_parseLayoutFile(file, sync, currentFile) {
|
|
4720
|
-
return new Parser(this).parseFile(file, sync, LookupType.Layouts, currentFile);
|
|
4721
|
-
}
|
|
4722
|
-
_parseFile(file, sync, lookupType, currentFile) {
|
|
4723
|
-
return new Parser(this).parseFile(file, sync, lookupType, currentFile);
|
|
4724
|
-
}
|
|
4725
|
-
async parseFile(file, lookupType) {
|
|
4726
|
-
return toPromise(new Parser(this).parseFile(file, false, lookupType));
|
|
4727
|
-
}
|
|
4728
|
-
parseFileSync(file, lookupType) {
|
|
4729
|
-
return toValueSync(new Parser(this).parseFile(file, true, lookupType));
|
|
4730
|
-
}
|
|
4731
|
-
*_renderFile(file, ctx, renderFileOptions) {
|
|
4732
|
-
const templates = (yield this._parseFile(file, renderFileOptions.sync, renderFileOptions.lookupType));
|
|
4733
|
-
return yield this._render(templates, ctx, renderFileOptions);
|
|
4734
|
-
}
|
|
4735
|
-
async renderFile(file, ctx, renderFileOptions) {
|
|
4736
|
-
return toPromise(this._renderFile(file, ctx, { ...renderFileOptions, sync: false }));
|
|
4737
|
-
}
|
|
4738
|
-
renderFileSync(file, ctx, renderFileOptions) {
|
|
4739
|
-
return toValueSync(this._renderFile(file, ctx, { ...renderFileOptions, sync: true }));
|
|
4740
|
-
}
|
|
4741
|
-
async renderFileToNodeStream(file, scope, renderOptions) {
|
|
4742
|
-
const templates = await this.parseFile(file);
|
|
4743
|
-
return this.renderToNodeStream(templates, scope, renderOptions);
|
|
4744
|
-
}
|
|
4745
|
-
_evalValue(str, scope) {
|
|
4746
|
-
const value = new Value(str, this);
|
|
4747
|
-
const ctx = scope instanceof Context ? scope : new Context(scope, this.options);
|
|
4748
|
-
return value.value(ctx);
|
|
4749
|
-
}
|
|
4750
|
-
async evalValue(str, scope) {
|
|
4751
|
-
return toPromise(this._evalValue(str, scope));
|
|
4752
|
-
}
|
|
4753
|
-
evalValueSync(str, scope) {
|
|
4754
|
-
return toValueSync(this._evalValue(str, scope));
|
|
4755
|
-
}
|
|
4756
|
-
registerFilter(name, filter) {
|
|
4757
|
-
this.filters[name] = filter;
|
|
4758
|
-
}
|
|
4759
|
-
registerTag(name, tag) {
|
|
4760
|
-
this.tags[name] = isFunction(tag) ? tag : createTagClass(tag);
|
|
4761
|
-
}
|
|
4762
|
-
plugin(plugin) {
|
|
4763
|
-
return plugin.call(this, Liquid);
|
|
4764
|
-
}
|
|
4765
|
-
express() {
|
|
4766
|
-
const self = this; // eslint-disable-line
|
|
4767
|
-
let firstCall = true;
|
|
4768
|
-
return function (filePath, ctx, callback) {
|
|
4769
|
-
if (firstCall) {
|
|
4770
|
-
firstCall = false;
|
|
4771
|
-
const dirs = normalizeDirectoryList(this.root);
|
|
4772
|
-
self.options.root.unshift(...dirs);
|
|
4773
|
-
self.options.layouts.unshift(...dirs);
|
|
4774
|
-
self.options.partials.unshift(...dirs);
|
|
4775
|
-
}
|
|
4776
|
-
self.renderFile(filePath, ctx).then(html => callback(null, html), callback);
|
|
4777
|
-
};
|
|
4778
|
-
}
|
|
4779
|
-
async analyze(template, options = {}) {
|
|
4780
|
-
return analyze(template, options);
|
|
4781
|
-
}
|
|
4782
|
-
analyzeSync(template, options = {}) {
|
|
4783
|
-
return analyzeSync(template, options);
|
|
4784
|
-
}
|
|
4785
|
-
async parseAndAnalyze(html, filename, options = {}) {
|
|
4786
|
-
return analyze(this.parse(html, filename), options);
|
|
4787
|
-
}
|
|
4788
|
-
parseAndAnalyzeSync(html, filename, options = {}) {
|
|
4789
|
-
return analyzeSync(this.parse(html, filename), options);
|
|
4790
|
-
}
|
|
4791
|
-
/** Return an array of all variables without their properties. */
|
|
4792
|
-
async variables(template, options = {}) {
|
|
4793
|
-
const analysis = await analyze(isString(template) ? this.parse(template) : template, options);
|
|
4794
|
-
return Object.keys(analysis.variables);
|
|
4795
|
-
}
|
|
4796
|
-
/** Return an array of all variables without their properties. */
|
|
4797
|
-
variablesSync(template, options = {}) {
|
|
4798
|
-
const analysis = analyzeSync(isString(template) ? this.parse(template) : template, options);
|
|
4799
|
-
return Object.keys(analysis.variables);
|
|
4800
|
-
}
|
|
4801
|
-
/** Return an array of all variables including their properties/paths. */
|
|
4802
|
-
async fullVariables(template, options = {}) {
|
|
4803
|
-
const analysis = await analyze(isString(template) ? this.parse(template) : template, options);
|
|
4804
|
-
return Array.from(new Set(Object.values(analysis.variables).flatMap((a) => a.map((v) => String(v)))));
|
|
4805
|
-
}
|
|
4806
|
-
/** Return an array of all variables including their properties/paths. */
|
|
4807
|
-
fullVariablesSync(template, options = {}) {
|
|
4808
|
-
const analysis = analyzeSync(isString(template) ? this.parse(template) : template, options);
|
|
4809
|
-
return Array.from(new Set(Object.values(analysis.variables).flatMap((a) => a.map((v) => String(v)))));
|
|
4810
|
-
}
|
|
4811
|
-
/** Return an array of all variables, each as an array of properties/segments. */
|
|
4812
|
-
async variableSegments(template, options = {}) {
|
|
4813
|
-
const analysis = await analyze(isString(template) ? this.parse(template) : template, options);
|
|
4814
|
-
return Array.from(strictUniq(Object.values(analysis.variables).flatMap((a) => a.map((v) => v.toArray()))));
|
|
4815
|
-
}
|
|
4816
|
-
/** Return an array of all variables, each as an array of properties/segments. */
|
|
4817
|
-
variableSegmentsSync(template, options = {}) {
|
|
4818
|
-
const analysis = analyzeSync(isString(template) ? this.parse(template) : template, options);
|
|
4819
|
-
return Array.from(strictUniq(Object.values(analysis.variables).flatMap((a) => a.map((v) => v.toArray()))));
|
|
4820
|
-
}
|
|
4821
|
-
/** Return an array of all expected context variables without their properties. */
|
|
4822
|
-
async globalVariables(template, options = {}) {
|
|
4823
|
-
const analysis = await analyze(isString(template) ? this.parse(template) : template, options);
|
|
4824
|
-
return Object.keys(analysis.globals);
|
|
4825
|
-
}
|
|
4826
|
-
/** Return an array of all expected context variables without their properties. */
|
|
4827
|
-
globalVariablesSync(template, options = {}) {
|
|
4828
|
-
const analysis = analyzeSync(isString(template) ? this.parse(template) : template, options);
|
|
4829
|
-
return Object.keys(analysis.globals);
|
|
4830
|
-
}
|
|
4831
|
-
/** Return an array of all expected context variables including their properties/paths. */
|
|
4832
|
-
async globalFullVariables(template, options = {}) {
|
|
4833
|
-
const analysis = await analyze(isString(template) ? this.parse(template) : template, options);
|
|
4834
|
-
return Array.from(new Set(Object.values(analysis.globals).flatMap((a) => a.map((v) => String(v)))));
|
|
4835
|
-
}
|
|
4836
|
-
/** Return an array of all expected context variables including their properties/paths. */
|
|
4837
|
-
globalFullVariablesSync(template, options = {}) {
|
|
4838
|
-
const analysis = analyzeSync(isString(template) ? this.parse(template) : template, options);
|
|
4839
|
-
return Array.from(new Set(Object.values(analysis.globals).flatMap((a) => a.map((v) => String(v)))));
|
|
4840
|
-
}
|
|
4841
|
-
/** Return an array of all expected context variables, each as an array of properties/segments. */
|
|
4842
|
-
async globalVariableSegments(template, options = {}) {
|
|
4843
|
-
const analysis = await analyze(isString(template) ? this.parse(template) : template, options);
|
|
4844
|
-
return Array.from(strictUniq(Object.values(analysis.globals).flatMap((a) => a.map((v) => v.toArray()))));
|
|
4845
|
-
}
|
|
4846
|
-
/** Return an array of all expected context variables, each as an array of properties/segments. */
|
|
4847
|
-
globalVariableSegmentsSync(template, options = {}) {
|
|
4848
|
-
const analysis = analyzeSync(isString(template) ? this.parse(template) : template, options);
|
|
4849
|
-
return Array.from(strictUniq(Object.values(analysis.globals).flatMap((a) => a.map((v) => v.toArray()))));
|
|
4850
|
-
}
|
|
4851
|
-
}
|
|
4852
|
-
|
|
4853
|
-
/* istanbul ignore file */
|
|
4854
|
-
const version = '10.20.2';
|
|
4855
|
-
|
|
4856
|
-
exports.AssertionError = AssertionError;
|
|
4857
|
-
exports.AssignTag = AssignTag;
|
|
4858
|
-
exports.BlockTag = BlockTag;
|
|
4859
|
-
exports.BreakTag = BreakTag;
|
|
4860
|
-
exports.CaptureTag = CaptureTag;
|
|
4861
|
-
exports.CaseTag = CaseTag;
|
|
4862
|
-
exports.CommentTag = CommentTag;
|
|
4863
|
-
exports.Context = Context;
|
|
4864
|
-
exports.ContinueTag = ContinueTag;
|
|
4865
|
-
exports.CycleTag = CycleTag;
|
|
4866
|
-
exports.DecrementTag = DecrementTag;
|
|
4867
|
-
exports.Drop = Drop;
|
|
4868
|
-
exports.EchoTag = EchoTag;
|
|
4869
|
-
exports.Expression = Expression;
|
|
4870
|
-
exports.Filter = Filter;
|
|
4871
|
-
exports.ForTag = ForTag;
|
|
4872
|
-
exports.Hash = Hash;
|
|
4873
|
-
exports.IfTag = IfTag;
|
|
4874
|
-
exports.IncludeTag = IncludeTag;
|
|
4875
|
-
exports.IncrementTag = IncrementTag;
|
|
4876
|
-
exports.InlineCommentTag = InlineCommentTag;
|
|
4877
|
-
exports.LayoutTag = LayoutTag;
|
|
4878
|
-
exports.Liquid = Liquid;
|
|
4879
|
-
exports.LiquidError = LiquidError;
|
|
4880
|
-
exports.LiquidTag = LiquidTag;
|
|
4881
|
-
exports.Output = Output;
|
|
4882
|
-
exports.ParseError = ParseError;
|
|
4883
|
-
exports.ParseStream = ParseStream;
|
|
4884
|
-
exports.Parser = Parser;
|
|
4885
|
-
exports.RawTag = RawTag;
|
|
4886
|
-
exports.RenderError = RenderError;
|
|
4887
|
-
exports.RenderTag = RenderTag;
|
|
4888
|
-
exports.TablerowTag = TablerowTag;
|
|
4889
|
-
exports.Tag = Tag;
|
|
4890
|
-
exports.TagToken = TagToken;
|
|
4891
|
-
exports.Token = Token;
|
|
4892
|
-
exports.TokenizationError = TokenizationError;
|
|
4893
|
-
exports.Tokenizer = Tokenizer;
|
|
4894
|
-
exports.TypeGuards = typeGuards;
|
|
4895
|
-
exports.UndefinedVariableError = UndefinedVariableError;
|
|
4896
|
-
exports.UnlessTag = UnlessTag;
|
|
4897
|
-
exports.Value = Value;
|
|
4898
|
-
exports.Variable = Variable;
|
|
4899
|
-
exports.analyze = analyze;
|
|
4900
|
-
exports.analyzeSync = analyzeSync;
|
|
4901
|
-
exports.assert = assert;
|
|
4902
|
-
exports.createTrie = createTrie;
|
|
4903
|
-
exports.defaultOperators = defaultOperators;
|
|
4904
|
-
exports.defaultOptions = defaultOptions;
|
|
4905
|
-
exports.evalQuotedToken = evalQuotedToken;
|
|
4906
|
-
exports.evalToken = evalToken;
|
|
4907
|
-
exports.filters = filters;
|
|
4908
|
-
exports.isFalsy = isFalsy;
|
|
4909
|
-
exports.isTruthy = isTruthy;
|
|
4910
|
-
exports.tags = tags;
|
|
4911
|
-
exports.toPromise = toPromise;
|
|
4912
|
-
exports.toValue = toValue;
|
|
4913
|
-
exports.toValueSync = toValueSync;
|
|
4914
|
-
exports.version = version;
|