From 1ac90ef6330bcfd0ea362505a11db66453f3386f Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 18 Dec 2018 17:41:03 +0100 Subject: [PATCH 001/215] feat: add core tools --- .editorconfig | 15 + .gitignore | 91 ++ .gitlab-ci.yml | 36 + .gitlab/issue_templates/bug.md | 38 + .gitlab/issue_templates/feature.md | 16 + .npmignore | 11 + CHANGELOG.md | 18 + LICENSE | 200 +++ README.md | 134 ++ package-lock.json | 1928 ++++++++++++++++++++++++++++ package.json | 62 + report.html | 184 +++ resources/error.html.mustache | 10 + resources/file.html.mustache | 15 + resources/report.html.mustache | 28 + routes.md | 156 +++ src/cli.ts | 150 +++ src/common.ts | 152 +++ src/routes.ts | 181 +++ src/schema.ts | 109 ++ src/validate.ts | 248 ++++ tsconfig.json | 3 + tslint.json | 3 + 23 files changed, 3788 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml create mode 100644 .gitlab/issue_templates/bug.md create mode 100644 .gitlab/issue_templates/feature.md create mode 100644 .npmignore create mode 100644 CHANGELOG.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 report.html create mode 100644 resources/error.html.mustache create mode 100644 resources/file.html.mustache create mode 100644 resources/report.html.mustache create mode 100644 routes.md create mode 100644 src/cli.ts create mode 100644 src/common.ts create mode 100644 src/routes.ts create mode 100644 src/schema.ts create mode 100644 src/validate.ts create mode 100644 tsconfig.json create mode 100644 tslint.json diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..9a4062a7 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,15 @@ +# editorconfig.org + +root = true + +[*] +indent_style = space +indent_size = 2 + +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..c07b9dc8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,91 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# next.js build output +.next + +# nuxt.js build output +.nuxt + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +#DynamoDB Local files +.dynamodb/ + +########## end of https://github.com/github/gitignore/blob/master/Node.gitignore + +# ignore ide files +.idea +.vscode + +# ignore lib +lib + +# ignore docs +docs diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..9895379d --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,36 @@ +image: node:lts-alpine + +cache: + key: ${CI_COMMIT_REF_SLUG} + paths: + - lib + - node_modules + +before_script: + - npm install + +stages: + - build + - test + - deploy + +build: + stage: build + script: + - npm run build + +audit: + stage: test + script: + - npm audit + +pages: + stage: deploy + script: + - npm run documentation + - mv docs public + only: + - /^v[0-9]+\.[0-9]+\.[0-9]+$/ + artifacts: + paths: + - public diff --git a/.gitlab/issue_templates/bug.md b/.gitlab/issue_templates/bug.md new file mode 100644 index 00000000..f46f50ae --- /dev/null +++ b/.gitlab/issue_templates/bug.md @@ -0,0 +1,38 @@ +## Summary + +(Summarize the bug encountered concisely) + + +## Steps to reproduce + +(How one can reproduce the issue - this is very important) + + +## Example Project + +(If possible, please create an example project here on GitLab.com that exhibits the problematic behaviour, and link to it here in the bug report) + +(If you are using an older version of GitLab, this will also determine whether the bug has been fixed in a more recent version) + + +## What is the current bug behavior? + +(What actually happens) + + +## What is the expected correct behavior? + +(What you should see instead) + + +## Relevant logs and/or screenshots + +(Paste any relevant logs - please use code blocks (```) to format console output, +logs, and code as it's very hard to read otherwise.) + + +## Possible fixes + +(If you can, link to the line of code that might be responsible for the problem) + +/label ~meeting diff --git a/.gitlab/issue_templates/feature.md b/.gitlab/issue_templates/feature.md new file mode 100644 index 00000000..cb9b0517 --- /dev/null +++ b/.gitlab/issue_templates/feature.md @@ -0,0 +1,16 @@ +## Description + +(Describe the feature that you're requesting concisely) + + +## Explanation + +(Explain why the feature is necessary) + + +## Dependencies, issues to be resolved beforehand + +(List issues or dependencies that need to be resolved before this feature can be implemented) + + +/label ~meeting diff --git a/.npmignore b/.npmignore new file mode 100644 index 00000000..203fae89 --- /dev/null +++ b/.npmignore @@ -0,0 +1,11 @@ +# Ignore all files/folders by default +# See https://stackoverflow.com/a/29932318 +/* +# Except these files/folders +!docs +!lib +!LICENSE +!package.json +!package-lock.json +!README.md +!src diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..968fb715 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,18 @@ +# [0.1.0](https://gitlab.com/openstapps/core-converter/compare/v0.0.1...v0.1.0) (2018-11-29) + + +### Features + +* parameterize cli ([0ef3124](https://gitlab.com/openstapps/core-converter/commit/0ef3124)) + + + +## [0.0.1](https://gitlab.com/openstapps/core-converter/compare/2b1ab00...v0.0.1) (2018-11-29) + + +### Features + +* add core converter ([2b1ab00](https://gitlab.com/openstapps/core-converter/commit/2b1ab00)) + + + diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..9df63ccc --- /dev/null +++ b/LICENSE @@ -0,0 +1,200 @@ +GNU GENERAL PUBLIC LICENSE +Version 3, 29 June 2007 + +Copyright © 2007 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. + +Preamble + +The GNU General Public License is a free, copyleft license for software and other kinds of works. + +The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. + +To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. + +For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. + +Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. + +For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. + +Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. + +Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. + +The precise terms and conditions for copying, distribution and modification follow. + +TERMS AND CONDITIONS + +0. Definitions. +"This License" refers to version 3 of the GNU General Public License. + +"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. + +"The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. + +To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. + +A "covered work" means either the unmodified Program or a work based on the Program. + +To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. + +To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. + +An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. + +1. Source Code. +The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. +A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. + +The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. + +The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. + +The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. + +The Corresponding Source for a work in source code form is that same work. + +2. Basic Permissions. +All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. +You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. + +3. Protecting Users' Legal Rights From Anti-Circumvention Law. +No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. +When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. + +4. Conveying Verbatim Copies. +You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. +You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. + +5. Conveying Modified Source Versions. +You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: +a) The work must carry prominent notices stating that you modified it, and giving a relevant date. +b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". +c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. +d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. +A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. + +6. Conveying Non-Source Forms. +You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: +a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. +b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. +c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. +d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. +e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. +A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. + +A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. + +"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. + +If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). + +The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. + +Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. + +7. Additional Terms. +"Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. +When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. + +Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: + +a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or +b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or +c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or +d) Limiting the use for publicity purposes of names of licensors or authors of the material; or +e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or +f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. +All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. + +8. Termination. +You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). +However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. + +Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. + +9. Acceptance Not Required for Having Copies. +You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. +10. Automatic Licensing of Downstream Recipients. +Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. +An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. + +11. Patents. +A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". +A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. + +In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. + +If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. + +A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. + +12. No Surrender of Others' Freedom. +If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. +13. Use with the GNU Affero General Public License. +Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. +14. Revised Versions of this License. +The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. +Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. + +If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. + +Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. + +15. Disclaimer of Warranty. +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. +16. Limitation of Liability. +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +17. Interpretation of Sections 15 and 16. +If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. + + +Copyright (C) + +This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + +If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: + + Copyright (C) +This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. +This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". + +You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . + +The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . diff --git a/README.md b/README.md new file mode 100644 index 00000000..08f0e849 --- /dev/null +++ b/README.md @@ -0,0 +1,134 @@ +# @openstapps/core-tools + +[![pipeline status](https://img.shields.io/gitlab/pipeline/openstapps/core-tools.svg?style=flat-square)](https://gitlab.com/openstapps/core-tools/commits/master) +[![npm](https://img.shields.io/npm/v/@openstapps/core-tools.svg?style=flat-square)](https://npmjs.com/package/@openstapps/core-tools) +[![license)](https://img.shields.io/npm/l/@openstapps/core-tools.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.en.html) +[![documentation](https://img.shields.io/badge/documentation-online-blue.svg?style=flat-square)](https://openstapps.gitlab.io/core-tools) + +Tools to convert and validate StAppsCore + +## What are the tools for? + +The StAppsCore Converter is a tool for converting SC-types (TypeScript) into JSON schema files. + +JSON schema files are needed for run-time validation of SC-type objects, as this is a tedious task to do using SC-types defined in TypeScript (not possible without additional coding). That said, StAppsCore Converter practically prepares SC-types to be used for object validation (determining whether a JavaScript/JSON object is a valid object of the corresponding SC-type) using StAppsCore Validator. + +The StAppsCore Validator is a tool for run-time validation of objects (determining whether a JavaScript/JSON object is a valid object of the corresponding SC-type. It consumes JSON schema files from StAppsCore as the definitions of SC-types against which are validated concrete (actual) objects (as an example SCDish object in the example below). + +## Installation + +Installation of the npm package (using `npm install`) makes the tool available as an executable with the name `openstapps-core-tools`. + +## How to use the converter? + +Add `@validatable` to the Typedoc comment of the types that you want to convert to JSONSchema. + +The command `openstapps-core-tools` can then be called using these arguments: + +```shell +node_modules/.bin/openstapps-core-tools schema +``` +where: +- `` is path to the project (where used `*.ts` files are, e.g. `src/core`, +- `` is directory to save output files to, e.g. `lib/schema`. + +Complete command with the example arguments is then: +```shell +node_modules/.bin/openstapps-core-tools src/core lib/schema +``` + +Inside of a script in `package.json` or if the npm package is installed globally, the tool `stapps-convert` can be called without its local path (`node_modules/.bin`): + +```shell +openstapps-core-tools src/core lib/schema +``` + +## How to use the validator? + +### Using the validator programatically + +```typescript +import {Validator} from '@openstapps/core-tools'; +import {SCDish} from '@openstapps/core'; +import {ValidatorResult} from 'jsonschema'; +import {join} from 'path'; + +const objectToValidate: SCDish = { +type: 'Dish', +// more properties +}; + +// instantiate a new validator +const validator = new Validator(); + +// make the validator read the schema files +validator.addSchemas(join('node_modules', '@openstapps', 'core', 'lib', 'schema')); + +// validate an object +const result: ValidatorResult = validator.validate(objectToValidate); +``` + +#### Using validateFiles function + +The JSON files passed to the validateFiles method have an added layer. +That layer encapsulates the actual JSON data of the object to be verified and adds a property to enable true negative testing. + +Your basic JSON object: + +```json +{ + "property1": "value1", + "property2": "value2", + ... +} +``` + +JSON for validateFiles: +```json +{ + "errorNames": [], + "instance": { + "property1": "value1", + "property2": "value2", + ... + }, + "schema": "NameOfSchema" +} +``` + +Where `errorNames` holds the string values of the name property of the expected ValidationErrors from JSON Schema. Empty array means no errors are expected. + +`schema` holds the name of the schema to validate the instance against. + +### How to use validator as a CLI tool (executable)? + +The command `openstapps-core-tools` can then be called using these arguments: + +```shell +node_modules/.bin/openstapps-core-tools validate [reportPath] +``` +where: +- `` is a directory where JSON schema files are, e.g. `lib/schema`, +- `` is a directory where test files are, e.g. `src/test/resources`, +- `[reportPath]` is a file where the HTML report of the validation will be saved to, e.g. `report.html` (optional argument - if it's not provided no report will be written). + +Command with the example arguments is then for example: +```shell +node_modules/.bin/openstapps-validate lib/schema src/test/resources +``` + +Inside of a script in `package.json` or if the npm package is installed globally, the tool `openstapps-validate` can be called without its local path (`node_modules/.bin`): + +```shell +openstapps-validate lib/schema src/test/resources report.html +``` + +## Generate documentation for routes + +To generate a documentation for the routes use the following command in the root directory of your StAppsCore. + +The generator relies on dynamic imports and must therefore be run this way. + +```shell +node --require ts-node/register node_modules/@openstapps/core-tools/src/cli.ts routes PATH/TO/ROUTES.md +``` diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..2f458931 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1928 @@ +{ + "name": "@openstapps/core-tools", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@openstapps/configuration": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.5.0.tgz", + "integrity": "sha512-XBRdgDWqwaaSUUwOdo0Y2FlkR6lZVI+gIONoYWkZ/EAH+feC6oEKPQNuhj/7l0YLO4Z+Zll8udM7AWKh4ivMWA==", + "dev": true, + "requires": { + "@types/node": "10.12.15", + "commander": "2.19.0", + "tslint": "5.12.0", + "tslint-eslint-rules": "5.4.0" + } + }, + "@openstapps/logger": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.0.3.tgz", + "integrity": "sha512-Q1kghyVNIXepfuLcdy2gFygI6jpxTBV0oqwM46hqzST4w/DNmDnzpScVQNQf5C0PhLUihPNhpjLnu6i7ujIX3g==", + "requires": { + "@types/circular-json": "0.4.0", + "@types/node": "10.12.10", + "@types/nodemailer": "4.6.5", + "circular-json": "0.5.9", + "nodemailer": "4.7.0" + }, + "dependencies": { + "@types/node": { + "version": "10.12.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.10.tgz", + "integrity": "sha512-8xZEYckCbUVgK8Eg7lf5Iy4COKJ5uXlnIOnePN0WUwSQggy9tolM+tDJf7wMOnT/JT/W9xDYIaYggt3mRV2O5w==" + } + } + }, + "@types/async": { + "version": "2.0.50", + "resolved": "https://registry.npmjs.org/@types/async/-/async-2.0.50.tgz", + "integrity": "sha512-VMhZMMQgV1zsR+lX/0IBfAk+8Eb7dPVMWiQGFAt3qjo5x7Ml6b77jUo0e1C3ToD+XRDXqtrfw+6AB0uUsPEr3Q==" + }, + "@types/circular-json": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@types/circular-json/-/circular-json-0.4.0.tgz", + "integrity": "sha512-7+kYB7x5a7nFWW1YPBh3KxhwKfiaI4PbZ1RvzBU91LZy7lWJO822CI+pqzSre/DZ7KsCuMKdHnLHHFu8AyXbQg==" + }, + "@types/events": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", + "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==" + }, + "@types/fs-extra": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.4.tgz", + "integrity": "sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/handlebars": { + "version": "4.0.39", + "resolved": "https://registry.npmjs.org/@types/handlebars/-/handlebars-4.0.39.tgz", + "integrity": "sha512-vjaS7Q0dVqFp85QhyPSZqDKnTTCemcSHNHFvDdalO1s0Ifz5KuE64jQD5xoUkfdWwF4WpqdJEl7LsWH8rzhKJA==", + "dev": true + }, + "@types/highlight.js": { + "version": "9.12.3", + "resolved": "https://registry.npmjs.org/@types/highlight.js/-/highlight.js-9.12.3.tgz", + "integrity": "sha512-pGF/zvYOACZ/gLGWdQH8zSwteQS1epp68yRcVLJMgUck/MjEn/FBYmPub9pXT8C1e4a8YZfHo1CKyV8q1vKUnQ==", + "dev": true + }, + "@types/humanize-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/humanize-string/-/humanize-string-1.0.0.tgz", + "integrity": "sha512-lfaNfcTSt2DLiF1V8kXMhT4rX7ggkc10wI9SqTrxFMNTIfaafXHCL5DS1q2J/i+Be3EBQyG+Ls8GSbKngvSIkw==" + }, + "@types/lodash": { + "version": "4.14.119", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.119.tgz", + "integrity": "sha512-Z3TNyBL8Vd/M9D9Ms2S3LmFq2sSMzahodD6rCS9V2N44HUMINb75jNkSuwAx7eo2ufqTdfOdtGQpNbieUjPQmw==", + "dev": true + }, + "@types/marked": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@types/marked/-/marked-0.4.2.tgz", + "integrity": "sha512-cDB930/7MbzaGF6U3IwSQp6XBru8xWajF5PV2YZZeV8DyiliTuld11afVztGI9+yJZ29il5E+NpGA6ooV/Cjkg==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + }, + "@types/mustache": { + "version": "0.8.32", + "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-0.8.32.tgz", + "integrity": "sha512-RTVWV485OOf4+nO2+feurk0chzHkSjkjALiejpHltyuMf/13fGymbbNNFrSKdSSUg1TIwzszXdWsVirxgqYiFA==" + }, + "@types/node": { + "version": "10.12.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.15.tgz", + "integrity": "sha512-9kROxduaN98QghwwHmxXO2Xz3MaWf+I1sLVAA6KJDF5xix+IyXVhds0MAfdNwtcpSrzhaTsNB0/jnL86fgUhqA==" + }, + "@types/nodemailer": { + "version": "4.6.5", + "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-4.6.5.tgz", + "integrity": "sha512-cbs2HFLj33TBqzcCqTrs+6/mgTX3xl0odbApv3vTdF2+JERLxh5rDZCasXhvy+YqaiUNBr2I1RjNCdbKGs1Bnw==", + "requires": { + "@types/events": "*", + "@types/node": "*" + } + }, + "@types/shelljs": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.1.tgz", + "integrity": "sha512-1lQw+48BuVgp6c1+z8EMipp18IdnV2dLh6KQGwOm+kJy9nPjEkaqRKmwbDNEYf//EKBvKcwOC6V2cDrNxVoQeQ==", + "dev": true, + "requires": { + "@types/glob": "*", + "@types/node": "*" + } + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "requires": { + "lodash": "^4.17.10" + } + }, + "async-pool-native": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/async-pool-native/-/async-pool-native-0.1.0.tgz", + "integrity": "sha512-0uXldNQf9CzB4amb5SEg5lUouBzOOyKLHW6sx5FphkQStwTYV0tF6VIMpUkr0A66bIEZ5DaaOgmjkoANfjjRww==" + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + } + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "circular-json": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz", + "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + }, + "compare-func": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", + "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", + "dev": true, + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^3.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "conventional-changelog": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.0.5.tgz", + "integrity": "sha512-JYSVGJbnOl9S2gkZwmoJ+wX2gxNVHodUmEiv+eIykeJBNX0zN5vJ3oa2xCvk2HiF7TZ+Les0eq/aX49dcymONA==", + "dev": true, + "requires": { + "conventional-changelog-angular": "^5.0.2", + "conventional-changelog-atom": "^2.0.1", + "conventional-changelog-codemirror": "^2.0.1", + "conventional-changelog-core": "^3.1.5", + "conventional-changelog-ember": "^2.0.2", + "conventional-changelog-eslint": "^3.0.1", + "conventional-changelog-express": "^2.0.1", + "conventional-changelog-jquery": "^3.0.4", + "conventional-changelog-jshint": "^2.0.1", + "conventional-changelog-preset-loader": "^2.0.2" + } + }, + "conventional-changelog-angular": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.2.tgz", + "integrity": "sha512-yx7m7lVrXmt4nKWQgWZqxSALEiAKZhOAcbxdUaU9575mB0CzXVbgrgpfSnSP7OqWDUTYGD0YVJ0MSRdyOPgAwA==", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "q": "^1.5.1" + } + }, + "conventional-changelog-atom": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.1.tgz", + "integrity": "sha512-9BniJa4gLwL20Sm7HWSNXd0gd9c5qo49gCi8nylLFpqAHhkFTj7NQfROq3f1VpffRtzfTQp4VKU5nxbe2v+eZQ==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-cli": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.0.11.tgz", + "integrity": "sha512-00Z4EZfpuQxvStA5fjJXdixXCtRd5/AUMUOhYKOomhH3cRFqzF/P0MP8vavT9wnGkR0eba9mrWsMuqeVszPRxQ==", + "dev": true, + "requires": { + "add-stream": "^1.0.0", + "conventional-changelog": "^3.0.5", + "lodash": "^4.2.1", + "meow": "^4.0.0", + "tempfile": "^1.1.1" + } + }, + "conventional-changelog-codemirror": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.1.tgz", + "integrity": "sha512-23kT5IZWa+oNoUaDUzVXMYn60MCdOygTA2I+UjnOMiYVhZgmVwNd6ri/yDlmQGXHqbKhNR5NoXdBzSOSGxsgIQ==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-core": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.1.5.tgz", + "integrity": "sha512-iwqAotS4zk0wA4S84YY1JCUG7X3LxaRjJxuUo6GI4dZuIy243j5nOg/Ora35ExT4DOiw5dQbMMQvw2SUjh6moQ==", + "dev": true, + "requires": { + "conventional-changelog-writer": "^4.0.2", + "conventional-commits-parser": "^3.0.1", + "dateformat": "^3.0.0", + "get-pkg-repo": "^1.0.0", + "git-raw-commits": "2.0.0", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^2.0.2", + "lodash": "^4.2.1", + "normalize-package-data": "^2.3.5", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^2.0.0" + } + }, + "conventional-changelog-ember": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.2.tgz", + "integrity": "sha512-qtZbA3XefO/n6DDmkYywDYi6wDKNNc98MMl2F9PKSaheJ25Trpi3336W8fDlBhq0X+EJRuseceAdKLEMmuX2tg==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-eslint": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.1.tgz", + "integrity": "sha512-yH3+bYrtvgKxSFChUBQnKNh9/U9kN2JElYBm253VpYs5wXhPHVc9ENcuVGWijh24nnOkei7wEJmnmUzgZ4ok+A==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-express": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.1.tgz", + "integrity": "sha512-G6uCuCaQhLxdb4eEfAIHpcfcJ2+ao3hJkbLrw/jSK/eROeNfnxCJasaWdDAfFkxsbpzvQT4W01iSynU3OoPLIw==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jquery": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.4.tgz", + "integrity": "sha512-IVJGI3MseYoY6eybknnTf9WzeQIKZv7aNTm2KQsiFVJH21bfP2q7XVjfoMibdCg95GmgeFlaygMdeoDDa+ZbEQ==", + "dev": true, + "requires": { + "q": "^1.5.1" + } + }, + "conventional-changelog-jshint": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.1.tgz", + "integrity": "sha512-kRFJsCOZzPFm2tzRHULWP4tauGMvccOlXYf3zGeuSW4U0mZhk5NsjnRZ7xFWrTFPlCLV+PNmHMuXp5atdoZmEg==", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "q": "^1.5.1" + } + }, + "conventional-changelog-preset-loader": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.0.2.tgz", + "integrity": "sha512-pBY+qnUoJPXAXXqVGwQaVmcye05xi6z231QM98wHWamGAmu/ghkBprQAwmF5bdmyobdVxiLhPY3PrCfSeUNzRQ==", + "dev": true + }, + "conventional-changelog-writer": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.2.tgz", + "integrity": "sha512-d8/FQY/fix2xXEBUhOo8u3DCbyEw3UOQgYHxLsPDw+wHUDma/GQGAGsGtoH876WyNs32fViHmTOUrgRKVLvBug==", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "conventional-commits-filter": "^2.0.1", + "dateformat": "^3.0.0", + "handlebars": "^4.0.2", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.2.1", + "meow": "^4.0.0", + "semver": "^5.5.0", + "split": "^1.0.0", + "through2": "^2.0.0" + } + }, + "conventional-commits-filter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.1.tgz", + "integrity": "sha512-92OU8pz/977udhBjgPEbg3sbYzIxMDFTlQT97w7KdhR9igNqdJvy8smmedAAgn4tPiqseFloKkrVfbXCVd+E7A==", + "dev": true, + "requires": { + "is-subset": "^0.1.1", + "modify-values": "^1.0.0" + } + }, + "conventional-commits-parser": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.1.tgz", + "integrity": "sha512-P6U5UOvDeidUJ8ebHVDIoXzI7gMlQ1OF/id6oUvp8cnZvOXMt1n8nYl74Ey9YMn0uVQtxmCtjPQawpsssBWtGg==", + "dev": true, + "requires": { + "JSONStream": "^1.0.4", + "is-text-path": "^1.0.0", + "lodash": "^4.2.1", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0", + "trim-off-newlines": "^1.0.0" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "dargs": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", + "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + } + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "doctrine": { + "version": "0.7.2", + "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", + "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", + "dev": true, + "requires": { + "esutils": "^1.1.6", + "isarray": "0.0.1" + }, + "dependencies": { + "esutils": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz", + "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=", + "dev": true + } + } + }, + "dot-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", + "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "get-pkg-repo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", + "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "meow": "^3.3.0", + "normalize-package-data": "^2.3.0", + "parse-github-repo-url": "^1.3.0", + "through2": "^2.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + } + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "git-raw-commits": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", + "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", + "dev": true, + "requires": { + "dargs": "^4.0.1", + "lodash.template": "^4.0.2", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0" + } + }, + "git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "dev": true, + "requires": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "git-semver-tags": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.2.tgz", + "integrity": "sha512-34lMF7Yo1xEmsK2EkbArdoU79umpvm0MfzaDkSNYSJqtM5QLAVTPWgpiXSVI5o/O9EvZPSrP4Zvnec/CqhSd5w==", + "dev": true, + "requires": { + "meow": "^4.0.0", + "semver": "^5.5.0" + } + }, + "gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "dev": true, + "requires": { + "ini": "^1.3.2" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "handlebars": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz", + "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==", + "dev": true, + "requires": { + "async": "^2.5.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "highlight.js": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.1.tgz", + "integrity": "sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A==", + "dev": true + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "dev": true + }, + "humanize-string": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/humanize-string/-/humanize-string-1.0.2.tgz", + "integrity": "sha512-PH5GBkXqFxw5+4eKaKRIkD23y6vRd/IXSl7IldyJxEXpDH9SEIXRORkBtkGni/ae2P7RVOw6Wxypd2tGXhha1w==", + "requires": { + "decamelize": "^1.0.0" + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-subset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", + "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", + "dev": true + }, + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "dev": true, + "requires": { + "text-extensions": "^1.0.0" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true + }, + "jsonschema": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.4.tgz", + "integrity": "sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw==" + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.template": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", + "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", + "dev": true, + "requires": { + "lodash._reinterpolate": "~3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", + "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", + "dev": true, + "requires": { + "lodash._reinterpolate": "~3.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "make-error": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", + "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", + "dev": true + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, + "marked": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.4.0.tgz", + "integrity": "sha512-tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw==", + "dev": true + }, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true + }, + "mustache": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.0.1.tgz", + "integrity": "sha512-jFI/4UVRsRYdUbuDTKT7KzfOp7FiD5WzYmmwNwXyUVypC0xjoTL78Fqc0jHUPIvvGD+6DQSPHIt1NE7D1ArsqA==" + }, + "nodemailer": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-4.7.0.tgz", + "integrity": "sha512-IludxDypFpYw4xpzKdMAozBSkzKHmNBvGanUREjJItgJ2NYcK/s8+PggVhj7c2yGFQykKsnnmv1+Aqo0ZfjHmw==" + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parse-github-repo-url": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", + "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "prepend-file": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/prepend-file/-/prepend-file-1.3.1.tgz", + "integrity": "sha1-g7FuC0rBkB/OiNvZRaIvTMgd9Xk=", + "dev": true, + "requires": { + "tmp": "0.0.31" + } + }, + "prepend-file-cli": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/prepend-file-cli/-/prepend-file-cli-1.0.6.tgz", + "integrity": "sha1-/34RbJMU24XCLEOioH8/k4epp08=", + "dev": true, + "requires": { + "minimist": "^1.2.0", + "prepend-file": "1.3.1" + } + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "resolve": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.9.0.tgz", + "integrity": "sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + }, + "shelljs": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", + "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", + "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", + "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==", + "dev": true + }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "requires": { + "through": "2" + } + }, + "split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "dev": true, + "requires": { + "through2": "^2.0.2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "tempfile": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz", + "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=", + "dev": true, + "requires": { + "os-tmpdir": "^1.0.0", + "uuid": "^2.0.1" + } + }, + "text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "tmp": { + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", + "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.1" + } + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + }, + "trim-off-newlines": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", + "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", + "dev": true + }, + "ts-json-schema-generator": { + "version": "0.37.1", + "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.37.1.tgz", + "integrity": "sha512-fXTDJ/Saz6gHsJA7o5y6ltlVEQIfc9HOgfSn4lbuAPm+BnfLMJbce8ylQT3yCH8N9zbMqkF3ceOtcN8nxoINMA==", + "requires": { + "commander": "~2.19.0", + "glob": "~7.1.3", + "json-stable-stringify": "^1.0.1", + "typescript": "^3.2.2" + } + }, + "ts-node": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz", + "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", + "dev": true, + "requires": { + "arrify": "^1.0.0", + "buffer-from": "^1.1.0", + "diff": "^3.1.0", + "make-error": "^1.1.1", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "source-map-support": "^0.5.6", + "yn": "^2.0.0" + } + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + }, + "tslint": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.12.0.tgz", + "integrity": "sha512-CKEcH1MHUBhoV43SA/Jmy1l24HJJgI0eyLbBNSRyFlsQvb9v6Zdq+Nz2vEOH00nC5SUx4SneJ59PZUS/ARcokQ==", + "dev": true, + "requires": { + "babel-code-frame": "^6.22.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^3.2.0", + "glob": "^7.1.1", + "js-yaml": "^3.7.0", + "minimatch": "^3.0.4", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.8.0", + "tsutils": "^2.27.2" + } + }, + "tslint-eslint-rules": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/tslint-eslint-rules/-/tslint-eslint-rules-5.4.0.tgz", + "integrity": "sha512-WlSXE+J2vY/VPgIcqQuijMQiel+UtmXS+4nvK4ZzlDiqBfXse8FAvkNnTcYhnQyOTW5KFM+uRRGXxYhFpuBc6w==", + "dev": true, + "requires": { + "doctrine": "0.7.2", + "tslib": "1.9.0", + "tsutils": "^3.0.0" + }, + "dependencies": { + "tslib": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz", + "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ==", + "dev": true + }, + "tsutils": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.5.2.tgz", + "integrity": "sha512-qIlklNuI/1Dzfm+G+kJV5gg3gimZIX5haYtIVQe7qGyKd7eu8T1t1DY6pz4Sc2CGXAj9s1izycctm9Zfl9sRuQ==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + } + } + }, + "tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "typedoc": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.13.0.tgz", + "integrity": "sha512-jQWtvPcV+0fiLZAXFEe70v5gqjDO6pJYJz4mlTtmGJeW2KRoIU/BEfktma6Uj8Xii7UakuZjbxFewl3UYOkU/w==", + "dev": true, + "requires": { + "@types/fs-extra": "^5.0.3", + "@types/handlebars": "^4.0.38", + "@types/highlight.js": "^9.12.3", + "@types/lodash": "^4.14.110", + "@types/marked": "^0.4.0", + "@types/minimatch": "3.0.3", + "@types/shelljs": "^0.8.0", + "fs-extra": "^7.0.0", + "handlebars": "^4.0.6", + "highlight.js": "^9.0.0", + "lodash": "^4.17.10", + "marked": "^0.4.0", + "minimatch": "^3.0.0", + "progress": "^2.0.0", + "shelljs": "^0.8.2", + "typedoc-default-themes": "^0.5.0", + "typescript": "3.1.x" + }, + "dependencies": { + "typescript": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz", + "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==", + "dev": true + } + } + }, + "typedoc-default-themes": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.5.0.tgz", + "integrity": "sha1-bcJDPnjti+qOiHo6zeLzF4W9Yic=", + "dev": true + }, + "typescript": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.2.tgz", + "integrity": "sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg==" + }, + "uglify-js": { + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", + "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "dev": true, + "optional": true, + "requires": { + "commander": "~2.17.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true, + "optional": true + } + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "2.0.3", + "resolved": "http://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "yn": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", + "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..c750d2f4 --- /dev/null +++ b/package.json @@ -0,0 +1,62 @@ +{ + "name": "@openstapps/core-tools", + "version": "0.0.1", + "description": "Tools to convert and validate StAppsCore", + "keywords": [ + "converter", + "core", + "StApps", + "StAppsCore", + "validator" + ], + "repository": { + "type": "git", + "url": "git@gitlab.com:openstapps/core-tools.git" + }, + "license": "GPL-3.0-only", + "main": "./lib/index.js", + "types": "./lib/index.d.ts", + "bin": { + "openstapps-core-tools": "./lib/cli.js" + }, + "author": "Karl-Philipp Wulfert ", + "contributors": [ + "Anselm Stordeur ", + "Jovan Krunic ", + "Rainer Killinger" + ], + "scripts": { + "build": "npm run tslint && npm run compile && npm run documentation", + "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0", + "check-configuration": "openstapps-configuration", + "compile": "tsc && prepend lib/cli.js '#!/usr/bin/env node'", + "documentation": "typedoc --includeDeclarations --excludeExternals --mode modules --out docs src", + "prepareOnly": "npm run build", + "tslint": "tslint 'src/**/*.ts'" + }, + "dependencies": { + "@openstapps/logger": "0.0.3", + "@types/async": "2.0.50", + "@types/glob": "7.1.1", + "@types/humanize-string": "1.0.0", + "@types/mustache": "0.8.32", + "@types/node": "10.12.15", + "async": "2.6.1", + "async-pool-native": "0.1.0", + "commander": "2.19.0", + "glob": "7.1.3", + "humanize-string": "1.0.2", + "jsonschema": "1.2.4", + "mustache": "3.0.1", + "ts-json-schema-generator": "0.37.1", + "ts-node": "7.0.1" + }, + "devDependencies": { + "@openstapps/configuration": "0.5.0", + "conventional-changelog-cli": "2.0.11", + "prepend-file-cli": "1.0.6", + "tslint": "5.12.0", + "typedoc": "0.13.0", + "typescript": "3.2.2" + } +} diff --git a/report.html b/report.html new file mode 100644 index 00000000..2e591197 --- /dev/null +++ b/report.html @@ -0,0 +1,184 @@ + + + + Report + + + + + +
+ +

Validation result

+ +

Timestamp: 2018-12-18T16:07:51.540Z

+ +

Errors in Message.2.json

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#ErrorSchema

1

+
requires property "name"
+
instance.origin = {
+  "indexed": "2018-09-11T12:30:00Z"
+}
+
+
{
+  "type": "object",
+  "properties": {
+    "indexed": {
+      "$ref": "#/definitions/SCISO8601Date",
+      "description": "When the thing was indexed last from the origin"
+    },
+    "maintainer": {
+      "anyOf": [
+        {
+          "$ref": "#/definitions/SCPerson"
+        },
+        {
+          "$ref": "#/definitions/SCOrganization"
+        }
+      ],
+      "description": "Maintainer of the origin\n\ne.g. restaurant of a dish"
+    },
+    "modified": {
+      "$ref": "#/definitions/SCISO8601Date",
+      "description": "When the thing was modified last in the origin"
+    },
+    "name": {
+      "type": "string",
+      "description": "Name of the origin"
+    },
+    "originalId": {
+      "type": "string",
+      "description": "Original ID of the thing in the origin"
+    },
+    "responsibleEntity": {
+      "anyOf": [
+        {
+          "$ref": "#/definitions/SCPerson"
+        },
+        {
+          "$ref": "#/definitions/SCOrganization"
+        }
+      ],
+      "description": "Entity that is responsible for the entity\n\ne.g. an organizer for an event"
+    },
+    "url": {
+      "type": "string",
+      "description": "Main URL of the origin"
+    }
+  },
+  "required": [
+    "indexed",
+    "name"
+  ],
+  "additionalProperties": false,
+  "description": "Origin of a thing"
+}
+

2

+
is not one of enum values: message
+
instance.type = "invalid-value-in-schema"
+
+
{
+  "type": "string",
+  "enum": [
+    "message"
+  ],
+  "description": "Type of a message"
+}
+

3

+
expected error enum did not occur
+
unknown = {
+  "type": "invalid-value-in-schema",
+  "uid": "540862f3-ea30-5b8f-8678-56b4dc217140",
+  "image": "icon ion-android-hand stapps-color-red-dark",
+  "name": "Lösung für das Problem des Zurücksetzens der StApps-App gefunden",
+  "message": "Wie bereits berichtet, klagten User über das Löschen ihres Stundenplans beim Update von Version 0.8.0 auf 0.8.1. Wir haben eine Lösung für das Problem gefunden und testen diese ausführlich bis zum Ende dieser Woche. Wenn alles glatt verläuft, dann kommt am Wochenende die fehlerbereinige Version 0.8.2 heraus.\n\n*(25.Okt 2016)*",
+  "audiences": [
+    "students"
+  ],
+  "origin": {
+    "indexed": "2018-09-11T12:30:00Z"
+  }
+}
+
+

+  
+

Errors in Message.3.json

+ + + + + + + + + + + + + + + + + + +
#ErrorSchema

1

+
additionalProperty "invalid-non-existing-key-in-schema" exists in instance when not allowed
+
instance = {
+  "type": "message",
+  "invalid-non-existing-key-in-schema": 1,
+  "uid": "540862f3-ea30-5b8f-8678-56b4dc217140",
+  "image": "icon ion-android-hand stapps-color-red-dark",
+  "name": "Lösung für das Problem des Zurücksetzens der StApps-App gefunden",
+  "message": "Wie bereits berichtet, klagten User über das Löschen ihres Stundenplans beim Update von Version 0.8.0 auf 0.8.1. Wir haben eine Lösung für das Problem gefunden und testen diese ausführlich bis zum Ende dieser Woche. Wenn alles glatt verläuft, dann kommt am Wochenende die fehlerbereinige Version 0.8.2 heraus.\n\n*(25.Okt 2016)*",
+  "audiences": [
+    "students"
+  ],
+  "origin": {
+    "indexed": "2018-09-11T12:30:00Z",
+    "name": "Dummy"
+  }
+}
+
+
"https://core.stapps.tu-berlin.de/v0.0.1/lib/schema/SCMessage.json"
+
+ + +
+ + + + + + diff --git a/resources/error.html.mustache b/resources/error.html.mustache new file mode 100644 index 00000000..80a3373a --- /dev/null +++ b/resources/error.html.mustache @@ -0,0 +1,10 @@ + +

{{idx}}

+ +
{{message}}
+
{{property}} = {{instance}}
+ + +
{{schema}}
+ + diff --git a/resources/file.html.mustache b/resources/file.html.mustache new file mode 100644 index 00000000..517678f7 --- /dev/null +++ b/resources/file.html.mustache @@ -0,0 +1,15 @@ +

Errors in {{testFile}}

+ + + + + + + + + + + {{&errors}} + + +
#ErrorSchema
diff --git a/resources/report.html.mustache b/resources/report.html.mustache new file mode 100644 index 00000000..86cb8a99 --- /dev/null +++ b/resources/report.html.mustache @@ -0,0 +1,28 @@ + + + + Report + + + + + +
+ +

Validation result

+ +

Timestamp: {{timestamp}}

+ + {{&report}} + +
+ + + + + + diff --git a/routes.md b/routes.md new file mode 100644 index 00000000..c4995514 --- /dev/null +++ b/routes.md @@ -0,0 +1,156 @@ +# Routes + +## `POST /` [Index route](https://openstapps.gitlab.io/core/classes/_protocol_routes_index_indexrequest_.scindexroute.html) + +**Route to request meta information about the deployment** + + + +### Definition + +| parameter | value | +| --- | --- | +| request | [SCIndexRequest](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_index_indexrequest_.scindexrequest.html) | +| response | [SCIndexResponse](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_index_indexresponse_.scindexresponse.html) | +| success code | 200 | +| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | + + +## `PUT /:TYPE/:UID` [Thing update route](https://openstapps.gitlab.io/core/classes/_protocol_routes_type_uid_thingupdaterequest_.scthingupdateroute.html) + +**Route for updating existing things** + + + +### Definition + +| parameter | value | +| --- | --- | +| request | [SCThingUpdateRequest](https://openstapps.gitlab.io/core/modules/_protocol_routes_type_uid_thingupdaterequest_.html#scthingupdaterequest) | +| response | [SCThingUpdateResponse](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_type_uid_thingupdateresponse_.scthingupdateresponse.html) | +| success code | 200 | +| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCNotFoundErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scnotfounderrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | +| obligatory parameters |
parametertype
TYPE[SCThingTypes](https://openstapps.gitlab.io/core/modules/_thing_.html#scthingtypes)
UID[SCUuid](https://openstapps.gitlab.io/core/modules/_types_uuid_.html#scuuid)
| + +## `POST /bookAvailability` [Book availability route](https://openstapps.gitlab.io/core/classes/_protocol_routes_bookavailability_bookavailabilityrequest_.scbookavailabilityroute.html) + +**Route for book availability** + +This checks if a book is available in a library.
+**Example**: + +`POST https://example.com/bookAvailability` + +```json +{ + "isbn": "978-3-16-148410-0" +} +``` + + +### Definition + +| parameter | value | +| --- | --- | +| request | [SCBookAvailabilityRequest](https://openstapps.gitlab.io/core/modules/_protocol_routes_bookavailability_bookavailabilityrequest_.html#scbookavailabilityrequest) | +| response | [SCBookAvailabilityResponse](https://openstapps.gitlab.io/core/modules/_protocol_routes_bookavailability_bookavailabilityresponse_.html#scbookavailabilityresponse) | +| success code | 200 | +| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCNotFoundErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scnotfounderrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | + + +## `POST /bulk` [Bulk route](https://openstapps.gitlab.io/core/classes/_protocol_routes_bulk_bulkrequest_.scbulkroute.html) + +**Route for bulk creation** + + + +### Definition + +| parameter | value | +| --- | --- | +| request | [SCBulkRequest](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_bulk_bulkrequest_.scbulkrequest.html) | +| response | [SCBulkResponse](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_bulk_bulkresponse_.scbulkresponse.html) | +| success code | 200 | +| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | + + +## `POST /bulk/:UID` [Bulk add route](https://openstapps.gitlab.io/core/classes/_protocol_routes_bulk_uid_bulkaddrequest_.scbulkaddroute.html) + +**Route for indexing SC things in a bulk** + + + +### Definition + +| parameter | value | +| --- | --- | +| request | [SCBulkAddRequest](https://openstapps.gitlab.io/core/modules/_protocol_routes_bulk_uid_bulkaddrequest_.html#scbulkaddrequest) | +| response | [SCBulkAddResponse](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_bulk_uid_bulkaddresponse_.scbulkaddresponse.html) | +| success code | 201 | +| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCNotFoundErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scnotfounderrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | +| obligatory parameters |
parametertype
UID[SCUuid](https://openstapps.gitlab.io/core/modules/_types_uuid_.html#scuuid)
| + +## `POST /bulk/:UID/done` [Bulk done route](https://openstapps.gitlab.io/core/classes/_protocol_routes_bulk_uid_bulkdonerequest_.scbulkdoneroute.html) + +**Route for closing bulks** + + + +### Definition + +| parameter | value | +| --- | --- | +| request | [SCBulkDoneRequest](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_bulk_uid_bulkdonerequest_.scbulkdonerequest.html) | +| response | [SCBulkDoneResponse](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_bulk_uid_bulkdoneresponse_.scbulkdoneresponse.html) | +| success code | 204 | +| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCNotFoundErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scnotfounderrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | +| obligatory parameters |
parametertype
UID[SCUuid](https://openstapps.gitlab.io/core/modules/_types_uuid_.html#scuuid)
| + +## `POST /feedback` [Feedback route](https://openstapps.gitlab.io/core/classes/_protocol_routes_feedback_feedbackrequest_.scfeedbackroute.html) + +**Route for feedback submission** + + + +### Definition + +| parameter | value | +| --- | --- | +| request | [SCFeedbackRequest](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_feedback_feedbackrequest_.scfeedbackrequest.html) | +| response | [SCFeedbackResponse](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_feedback_feedbackresponse_.scfeedbackresponse.html) | +| success code | 204 | +| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | + + +## `POST /search/multi` [Multi search route](https://openstapps.gitlab.io/core/classes/_protocol_routes_search_multisearchrequest_.scmultisearchroute.html) + +**Route for submission of multiple search requests at once** + + + +### Definition + +| parameter | value | +| --- | --- | +| request | [SCMultiSearchRequest](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_search_multisearchrequest_.scmultisearchrequest.html) | +| response | [SCMultiSearchResponse](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_search_multisearchresponse_.scmultisearchresponse.html) | +| success code | 200 | +| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCTooManyRequestsErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.sctoomanyrequestserrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | + + +## `POST /search` [Search route](https://openstapps.gitlab.io/core/classes/_protocol_routes_search_searchrequest_.scsearchroute.html) + +**Route for searching things** + + + +### Definition + +| parameter | value | +| --- | --- | +| request | [SCSearchRequest](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_search_searchrequest_.scsearchrequest.html) | +| response | [SCSearchResponse](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_search_searchresponse_.scsearchresponse.html) | +| success code | 200 | +| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | + + diff --git a/src/cli.ts b/src/cli.ts new file mode 100644 index 00000000..aa7c8af2 --- /dev/null +++ b/src/cli.ts @@ -0,0 +1,150 @@ +/* + * Copyright (C) 2018 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import * as commander from 'commander'; +import {existsSync, readFileSync, writeFileSync} from 'fs'; +import {join, resolve} from 'path'; +import {getProjectReflection, logger, mkdirPromisified, readFilePromisifed} from './common'; +import {gatherRouteInformation, generateDocumentationForRoute, getNodeMetaInformationMap} from './routes'; +import {Converter, getValidatableTypesFromReflection} from './schema'; +import {validateFiles, writeReport} from './validate'; + +// handle unhandled promise rejections +process.on('unhandledRejection', (error: Error) => { + logger.error(error.message); + logger.info(error.stack); + process.exit(1); +}); + +commander + .version(JSON.parse(readFileSync(resolve(__dirname, '..', 'package.json')).toString()).version); + +commander + .command('routes ') + .action(async (relativeSrcPath, relativeMdPath) => { + // get absolute paths + const srcPath = resolve(relativeSrcPath); + const mdPath = resolve(relativeMdPath); + + // get project reflection + const projectReflection = getProjectReflection(srcPath); + + // get information about routes + const routes = await gatherRouteInformation(projectReflection); + + // initialize markdown output + let output: string = '# Routes\n\n'; + + // generate documentation for all routes + routes.forEach((routeWithMetaInformation) => { + output += generateDocumentationForRoute(routeWithMetaInformation, getNodeMetaInformationMap(projectReflection)); + }); + + // write documentation to file + writeFileSync(mdPath, output); + + logger.ok(`Route documentation written to ${mdPath}.`); + }); + +commander + .command('schema ') + .action(async (relativeSrcPath, relativeSchemaPath) => { + // get absolute paths + const srcPath = resolve(relativeSrcPath); + const schemaPath = resolve(relativeSchemaPath); + + // initialize new core converter + const coreConverter = new Converter(srcPath); + + // get project reflection + const projectReflection = getProjectReflection(srcPath); + + // get validatable types + const validatableTypes = getValidatableTypesFromReflection(projectReflection); + + logger.info(`Found ${validatableTypes.length} type(s) to generate schemas for.`); + + await mkdirPromisified(schemaPath, { + recursive: true, + }); + + logger.info(`Trying to find a package.json for ${srcPath}.`); + + let path = srcPath; + // TODO: this check should be less ugly! + while (!existsSync(join(path, 'package.json')) && path.length > 5) { + path = resolve(path, '..'); + } + + const corePackageJsonPath = join(path, 'package.json'); + + logger.info(`Using ${corePackageJsonPath} to determine version for schemas.`); + + const buffer = await readFilePromisifed(corePackageJsonPath); + const corePackageJson = JSON.parse(buffer.toString()); + const coreVersion = corePackageJson.version; + + logger.log(`Using ${coreVersion} as version for schemas.`); + + // generate and write JSONSchema files for validatable types + validatableTypes.forEach((type) => { + const schema = coreConverter.getSchema(type, coreVersion); + + const stringifiedSchema = JSON.stringify(schema, null, 2); + + const file = join(schemaPath, type + '.json'); + + // write schema to file + writeFileSync(file, stringifiedSchema); + + logger.info(`Generated schema for ${type} and saved to ${file}.`); + }); + + logger.ok(`Generated schemas for ${validatableTypes.length} type(s).`); + }); + +commander + .command('validate [reportPath]') + .action(async (relativeSchemaPath, relativeTestPath, relativeReportPath) => { + // get absolute paths + const schemaPath = resolve(relativeSchemaPath); + const testPath = resolve(relativeTestPath); + + const errorsPerFile = await validateFiles(schemaPath, testPath); + + let unexpected = false; + Object.keys(errorsPerFile).forEach((file) => { + unexpected = unexpected || errorsPerFile[file].some((error) => !error.expected); + }); + + if (typeof relativeReportPath !== 'undefined') { + const reportPath = resolve(relativeReportPath); + await writeReport(reportPath, errorsPerFile); + } + + if (!unexpected) { + logger.ok('Successfully finished validation.'); + } else { + logger.error('Unexpected errors occurred during validation'); + process.exit(1); + } + }); + +commander + .parse(process.argv); + +if (commander.args.length < 1) { + commander.outputHelp(); + process.exit(1); +} diff --git a/src/common.ts b/src/common.ts new file mode 100644 index 00000000..9a2d74e4 --- /dev/null +++ b/src/common.ts @@ -0,0 +1,152 @@ +/* + * Copyright (C) 2018 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {Logger} from '@openstapps/logger'; +import {mkdir, PathLike, readFile, writeFile} from 'fs'; +import * as glob from 'glob'; +import {Schema as JSONSchema, ValidationError} from 'jsonschema'; +import {Definition} from 'ts-json-schema-generator'; +import {Application, ProjectReflection} from 'typedoc'; +import {promisify} from 'util'; + +/** + * Initialized logger + */ +export const logger = new Logger(); + +export const globPromisfied = promisify(glob); +export const mkdirPromisified = promisify(mkdir); +export const readFilePromisifed = promisify(readFile); +export const writeFilePromisified = promisify(writeFile); + +/** + * A route instance with its relevant meta information + */ +export interface RouteWithMetaInformation { + /** + * Description of the route + */ + description: { + /** + * Short text of the description - title + */ + shortText?: string; + /** + * Text of the description + */ + text?: string; + }; + /** + * Name of the route + */ + name: string; + /** + * Instance of the route + */ + route: { + errorNames: string[]; + method: string; + obligatoryParameters: { + [k: string]: string; + } + requestBodyName: string; + responseBodyName: string; + statusCodeSuccess: number; + urlFragment: string; + }; +} + +/** + * A node with its relevant meta information + */ +export interface NodeWithMetaInformation { + /** + * Module the node belongs to + */ + module: string; + /** + * Type of the node + */ + type: string; +} + +/** + * A map of nodes indexed by their name + */ +export interface NodesWithMetaInformation { + /** + * Index signature + */ + [k: string]: NodeWithMetaInformation; +} + +/** + * A schema with definitions + */ +interface SchemaWithDefinitions extends JSONSchema { + definitions: { [name: string]: Definition }; +} + +/** + * An expectable error + */ +export type ExpectableValidationError = ValidationError & { expected: boolean }; + +/** + * A map of files and their expectable validation errors + */ +export interface ExpectableValidationErrors { + [fileName: string]: ExpectableValidationError[]; +} + +/** + * Get a project reflection from a path + * + * @param srcPath Path to get reflection from + */ +export function getProjectReflection(srcPath: PathLike): ProjectReflection { + logger.info(`Generating project reflection for ${srcPath.toString()}.`); + + // initialize new Typedoc application + const app = new Application({ + excludeExternals: true, + includeDeclarations: true, + module: 'commonjs', + }); + + // get input files + const inputFiles = app.expandInputFiles([srcPath.toString()]); + + // get project reflection from input files + return app.convert(inputFiles); +} + +/** + * Check if a schema has definitions + * + * @param schema Schema to check + */ +export function isSchemaWithDefinitions(schema: JSONSchema): schema is SchemaWithDefinitions { + return typeof schema.definitions !== 'undefined'; +} + +/** + * Guard method for determining if an object (a thing) has a type property with a type of string + * + * @param thing {any} Any object (thing) + * @returns {boolean} Is an object (a thing) with a type property with type of string + */ +export function isThingWithType(thing: any): thing is { type: string } { + return typeof thing.type === 'string'; +} diff --git a/src/routes.ts b/src/routes.ts new file mode 100644 index 00000000..a494a944 --- /dev/null +++ b/src/routes.ts @@ -0,0 +1,181 @@ +/* + * Copyright (C) 2018 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {asyncPool} from 'async-pool-native/dist/async-pool'; +import humanizeString = require('humanize-string'); +import {ProjectReflection} from 'typedoc'; +import {logger, NodesWithMetaInformation, NodeWithMetaInformation} from './common'; +import {RouteWithMetaInformation} from './common'; + +/** + * Gather relevant information of routes + * + * This gathers the information for all routes that implement the abstract class SCAbstractRoute. + * Furthermore it instantiates every route and adds it to the information. + * + * @param reflection Contents of the JSON representation which Typedoc generates + */ +export async function gatherRouteInformation(reflection: ProjectReflection): Promise { + const routes: RouteWithMetaInformation[] = []; + + await asyncPool(2, reflection.children, async (module: any) => { + if (Array.isArray(module.children) && module.children.length > 0) { + await asyncPool(2, module.children, (async (node: any) => { + if (Array.isArray(node.extendedTypes) && node.extendedTypes.length > 0) { + if (node.extendedTypes.some((extendedType: any) => { + return extendedType.name === 'SCAbstractRoute'; + })) { + logger.info(`Found ${node.name} in ${module.originalName}.`); + + const importedModule = await import(module.originalName); + + const route = new importedModule[node.name](); + + routes.push({description: node.comment, name: node.name, route}); + } + } + })); + } + }); + + return routes; +} + +/** + * Get a linked name for a node + * + * @param name Name of the node + * @param node Node itself + * @param humanize Whether to humanize the name or not + */ +export function getLinkedNameForNode(name: string, node: NodeWithMetaInformation, humanize: boolean = false): string { + let printableName = name; + + if (humanize) { + printableName = humanizeString(name.substr(2)); + } + + let link = `[${printableName}]`; + link += `(${getLinkForNode(name, node)})`; + return link; +} + +/** + * Get link for a node + * + * @param name Name of the node + * @param node Node itself + */ +export function getLinkForNode(name: string, node: NodeWithMetaInformation): string { + let link = 'https://openstapps.gitlab.io/core/'; + const module = node.module.toLowerCase().split('/').join('_'); + + if (node.type === 'Type alias') { + link += 'modules/'; + link += `_${module}_`; + link += `.html#${name.toLowerCase()}`; + return link; + } + + let type = 'classes'; + if (node.type !== 'Class') { + type = `${node.type.toLowerCase()}s`; + } + + link += `${type}/`; + link += `_${module}_`; + link += `.${name.toLowerCase()}.html`; + return link; +} + +/** + * Generate documentation snippet for one route + * + * @param routeWithInfo A route instance with its meta information + * @param nodes + */ +export function generateDocumentationForRoute(routeWithInfo: RouteWithMetaInformation, + nodes: NodesWithMetaInformation): string { + let output = ''; + + const route = routeWithInfo.route; + + output += `## \`${route.method} ${route.urlFragment}\``; + output += ` ${getLinkedNameForNode(routeWithInfo.name, nodes[routeWithInfo.name], true)}\n\n`; + + if (typeof routeWithInfo.description.shortText === 'string') { + output += `**${routeWithInfo.description.shortText}**\n\n`; + } + + if (typeof routeWithInfo.description.text === 'string') { + output += `${routeWithInfo.description.text.replace('\n', '
')}\n\n`; + } + + output += `### Definition + +| parameter | value | +| --- | --- | +| request | ${getLinkedNameForNode(route.requestBodyName, nodes[route.requestBodyName])} | +| response | ${getLinkedNameForNode(route.responseBodyName, nodes[route.responseBodyName])} | +| success code | ${route.statusCodeSuccess} | +| errors | ${route.errorNames.map((errorName) => { + return getLinkedNameForNode(errorName, nodes[errorName]); + }).join('
')} | +`; + if (typeof route.obligatoryParameters === 'object' && Object.keys(route.obligatoryParameters).length > 0) { + let parameterTable = ''; + + Object.keys(route.obligatoryParameters).forEach((parameter) => { + let type = route.obligatoryParameters![parameter]; + + if (typeof nodes[type] !== 'undefined') { + type = getLinkedNameForNode(type, nodes[type]); + } + + parameterTable += ``; + }); + + parameterTable += '
parametertype
${parameter}${type}
'; + + output += `| obligatory parameters | ${parameterTable} |`; + } + output += '\n\n'; + + return output; +} + +/** + * Get a map of nodes with their meta information + * + * @param projectReflection Reflection to get information from + */ +export function getNodeMetaInformationMap(projectReflection: ProjectReflection): NodesWithMetaInformation { + const nodes: NodesWithMetaInformation = {}; + + // iterate over modules + projectReflection.children.forEach((module: any) => { + if (Array.isArray(module.children) && module.children.length > 0) { + // iterate over types + module.children.forEach((node: any) => { + // add node with module and type + nodes[node.name] = { + module: module.name.substring(1, module.name.length - 1), + type: node.kindString, + }; + }); + } + }); + + return nodes; +} diff --git a/src/schema.ts b/src/schema.ts new file mode 100644 index 00000000..1c7e0313 --- /dev/null +++ b/src/schema.ts @@ -0,0 +1,109 @@ +/* + * Copyright (C) 2018 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {Schema as JSONSchema} from 'jsonschema'; +import {join} from 'path'; +import {DEFAULT_CONFIG, SchemaGenerator} from 'ts-json-schema-generator'; +import {createFormatter} from 'ts-json-schema-generator/dist/factory/formatter'; +import {createParser} from 'ts-json-schema-generator/dist/factory/parser'; +import {createProgram} from 'ts-json-schema-generator/dist/factory/program'; +import {ProjectReflection} from 'typedoc'; +import * as ts from 'typescript'; +import {isSchemaWithDefinitions} from './common'; + +/** + * StAppsCore converter + * + * Converts TypeScript source files to JSON schema files + */ +export class Converter { + private generator: SchemaGenerator; + + /** + * Create a new converter + * + * @param path Path to the project + */ + constructor(path: string) { + // set config for schema generator + const config = { + ...DEFAULT_CONFIG, + // expose: 'exported' as any, + // jsDoc: 'extended' as any, + path: join(path, '**/*.ts'), + sortProps: true, + topRef: false, + type: 'SC', + }; + + // create TypeScript program from config + const program: ts.Program = createProgram(config); + + // create generator + this.generator = new SchemaGenerator( + program, + createParser(program, config), + createFormatter(config), + ); + } + + /** + * Get schema for specific StAppsCore type + * + * @param {string} type Type to get the schema for + * @param {string} version Version to set for the schema + * @returns {Schema} Generated schema + */ + getSchema(type: string, version: string): JSONSchema { + // generate schema for this file/type + const schema: JSONSchema = this.generator.createSchema(type); + + // set id of schema + schema.id = 'https://core.stapps.tu-berlin.de/v' + version + '/lib/schema/' + type + '.json'; + + if (isSchemaWithDefinitions(schema)) { + // add self reference to definitions + schema.definitions['SC' + type] = Object.assign({}, schema.properties); + } + + return schema; + } +} + +/** + * Get a list of validatable types from a reflection + * + * @param projectReflection Reflection to get validatable types from + */ +export function getValidatableTypesFromReflection(projectReflection: ProjectReflection): string[] { + const validatableTypes: string[] = []; + + // iterate over modules + projectReflection.children.forEach((module) => { + if (Array.isArray(module.children) && module.children.length > 0) { + // iterate over types + module.children.forEach((type) => { + // check if type has annotation @validatable + if (typeof type.comment === 'object' + && Array.isArray(type.comment.tags) + && type.comment.tags.find((tag) => tag.tagName === 'validatable')) { + // add type to list + validatableTypes.push(type.name); + } + }); + } + }); + + return validatableTypes; +} diff --git a/src/validate.ts b/src/validate.ts new file mode 100644 index 00000000..86cd047b --- /dev/null +++ b/src/validate.ts @@ -0,0 +1,248 @@ +/* + * Copyright (C) 2018 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {asyncPool} from 'async-pool-native/dist/async-pool'; +import {PathLike} from 'fs'; +import {Schema, Validator as JSONSchemaValidator, ValidatorResult} from 'jsonschema'; +import * as mustache from 'mustache'; +import {basename, join, resolve} from 'path'; +import { + ExpectableValidationErrors, + globPromisfied, + isThingWithType, + logger, + readFilePromisifed, + writeFilePromisified, +} from './common'; + +/** + * StAppsCore validator + */ +export class Validator { + /** + * Map of schema names to schemas + */ + private readonly schemas: { [type: string]: Schema } = {}; + + /** + * JSONSchema validator instance + */ + private readonly validator: JSONSchemaValidator; + + /** + * Create a new validator + */ + constructor() { + this.validator = new JSONSchemaValidator(); + } + + /** + * Feed the schema files to the validator + * + * @param schemaDir Path to directory that contains schema files + */ + public async addSchemas(schemaDir: PathLike): Promise { + const schemaFiles = await globPromisfied(join(schemaDir.toString(), '*.json')); + + if (schemaFiles.length === 0) { + throw new Error(`No schema files in ${schemaDir.toString()}!`); + } + + logger.log(`Adding schemas from ${schemaDir} to validator.`); + + // Iterate over schema files + await asyncPool(2, schemaFiles, async (file) => { + // read schema file + const buffer = await readFilePromisifed(file); + const schema = JSON.parse(buffer.toString()); + + // add schema to validator + this.validator.addSchema(schema); + + // add schema to map + this.schemas[basename(file, '.json')] = schema; + + logger.info(`Added ${file} to validator.`); + }); + + return schemaFiles; + } + + /** + * Validates anything against a given schema name + * + * @param instance Instance to validate + * @param schemaName Name of schema to validate instance against + */ + public validate(instance: any, schemaName: string): ValidatorResult { + if (typeof this.schemas[schemaName] !== 'object') { + throw new Error(`No schema available for ${schemaName}.`); + } + + return this.validator.validate(instance, this.schemas[schemaName]); + } + + /** + * Validate an instance of a thing against the consumed schema files + * + * @param instance Instance to validate + * @deprecated Use [[validate]] instead + */ + public validateThing(instance: T): ValidatorResult { + if (!isThingWithType(instance)) { + throw new Error('Instance.type does not exist.'); + } + + const schemaName = instance.type.split(' ').map((part) => { + return part.substr(0, 1).toUpperCase() + part.substr(1); + }).join(''); + + return this.validate(instance, schemaName); + } +} + +/** + * Validate all test files in the given resources directory against schema files in the given (schema) directory + * + * @param schemaDir The directory where the JSON schema files are + * @param resourcesDir The directory where the test files are + */ +export async function validateFiles(schemaDir: string, resourcesDir: string): Promise { + // instantiate new validator + const v = new Validator(); + await v.addSchemas(schemaDir); + + // get list of files to test + const testFiles = await globPromisfied(join(resourcesDir, '*.json')); + + if (testFiles.length === 0) { + throw new Error(`No test files in ${resourcesDir}!`); + } + + logger.log(`Found ${testFiles.length} file(s) to test.`); + + // map of errors per file + const errors: ExpectableValidationErrors = {}; + + // iterate over files to test + await asyncPool(2, testFiles, async (testFile) => { + const testFileName = basename(testFile); + + const buffer = await readFilePromisifed(join(resourcesDir, testFileName)); + + // read test description from file + const testDescription = JSON.parse(buffer.toString()); + + // validate instance from test description + const result = v.validate(testDescription.instance, testDescription.schema); + + // list of expected errors for this test description + const expectedErrors: string[] = []; + expectedErrors.push.apply(expectedErrors, testDescription.errorNames); + + // number of unexpected errors + let unexpectedErrors = 0; + + if (result.errors.length > 0) { + errors[testFileName] = []; + + // iterate over errors + result.errors.forEach((error) => { + // get idx of expected error + const errorIdx = expectedErrors.indexOf(error.name); + let expected = false; + + if (errorIdx >= 0) { + // remove from list of expected errors + expectedErrors.splice(errorIdx, 1); + expected = true; + } else { + unexpectedErrors++; + logger.error(`Unexpected error ${error.name} in ${testFile}`); + } + + // add error to list of errors + errors[testFileName].push({ + ...error, + expected, + }); + }); + } + + if (expectedErrors.length > 0) { + expectedErrors.forEach((error) => { + logger.error(`Extraneous expected error '${error}' in ${testFile}.`); + errors[testFileName].push({ + argument: false, + expected: false, + instance: testDescription.instance, + message: `expected error ${error} did not occur`, + name: `expected ${error}`, + property: 'unknown', + schema: undefined as any, + }); + }); + } else if (unexpectedErrors === 0) { + logger.info(`Successfully validated ${testFile}.`); + } + }); + + return errors; +} + +/** + * Write a report for errors that occurred in validation + * + * @param reportPath Path to write report to + * @param errors Errors that occurred in validation + */ +export async function writeReport(reportPath: PathLike, errors: ExpectableValidationErrors): Promise { + let buffer = await readFilePromisifed(resolve(__dirname, '..', 'resources', 'file.html.mustache')); + const fileTemplate = buffer.toString(); + + buffer = await readFilePromisifed(resolve(__dirname, '..', 'resources', 'error.html.mustache')); + const errorTemplate = buffer.toString(); + + let output = ''; + + Object.keys(errors).forEach((fileName) => { + let fileOutput = ''; + + errors[fileName].forEach((error, idx) => { + fileOutput += mustache.render(errorTemplate, { + idx: idx + 1, + instance: JSON.stringify(error.instance, null, 2), + message: error.message, + property: error.property, + schema: JSON.stringify(error.schema, null, 2), + status: (error.expected) ? 'alert-success' : 'alert-danger', + }); + }); + + output += mustache.render(fileTemplate, { + errors: fileOutput, + testFile: fileName, + }); + }); + + buffer = await readFilePromisifed(resolve(__dirname, '..', 'resources', 'report.html.mustache')); + const reportTemplate = buffer.toString(); + + await writeFilePromisified(reportPath, mustache.render(reportTemplate, { + report: output, + timestamp: (new Date()).toISOString(), + })); + + logger.ok(`Wrote report to ${reportPath}.`); +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..066a5f38 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/@openstapps/configuration/tsconfig.json" +} diff --git a/tslint.json b/tslint.json new file mode 100644 index 00000000..f125abb0 --- /dev/null +++ b/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/@openstapps/configuration/tslint.json" +} From d7474774289d58fcf016626ca41621e710d3a464 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 18 Dec 2018 17:41:48 +0100 Subject: [PATCH 002/215] docs: add changelog --- CHANGELOG.md | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 968fb715..59ec5640 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,18 +1,9 @@ -# [0.1.0](https://gitlab.com/openstapps/core-converter/compare/v0.0.1...v0.1.0) (2018-11-29) +## [0.0.1](https://gitlab.com/openstapps/core-tools/compare/1ac90ef...v0.0.1) (2018-12-18) ### Features -* parameterize cli ([0ef3124](https://gitlab.com/openstapps/core-converter/commit/0ef3124)) - - - -## [0.0.1](https://gitlab.com/openstapps/core-converter/compare/2b1ab00...v0.0.1) (2018-11-29) - - -### Features - -* add core converter ([2b1ab00](https://gitlab.com/openstapps/core-converter/commit/2b1ab00)) +* add core tools ([1ac90ef](https://gitlab.com/openstapps/core-tools/commit/1ac90ef)) From e4cdba3c03721fb9936e495221a6c088140bb383 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 18 Dec 2018 17:45:55 +0100 Subject: [PATCH 003/215] refactor: remove extraneous file --- report.html | 184 ---------------------------------------------------- 1 file changed, 184 deletions(-) delete mode 100644 report.html diff --git a/report.html b/report.html deleted file mode 100644 index 2e591197..00000000 --- a/report.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - Report - - - - - -
- -

Validation result

- -

Timestamp: 2018-12-18T16:07:51.540Z

- -

Errors in Message.2.json

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#ErrorSchema

1

-
requires property "name"
-
instance.origin = {
-  "indexed": "2018-09-11T12:30:00Z"
-}
-
-
{
-  "type": "object",
-  "properties": {
-    "indexed": {
-      "$ref": "#/definitions/SCISO8601Date",
-      "description": "When the thing was indexed last from the origin"
-    },
-    "maintainer": {
-      "anyOf": [
-        {
-          "$ref": "#/definitions/SCPerson"
-        },
-        {
-          "$ref": "#/definitions/SCOrganization"
-        }
-      ],
-      "description": "Maintainer of the origin\n\ne.g. restaurant of a dish"
-    },
-    "modified": {
-      "$ref": "#/definitions/SCISO8601Date",
-      "description": "When the thing was modified last in the origin"
-    },
-    "name": {
-      "type": "string",
-      "description": "Name of the origin"
-    },
-    "originalId": {
-      "type": "string",
-      "description": "Original ID of the thing in the origin"
-    },
-    "responsibleEntity": {
-      "anyOf": [
-        {
-          "$ref": "#/definitions/SCPerson"
-        },
-        {
-          "$ref": "#/definitions/SCOrganization"
-        }
-      ],
-      "description": "Entity that is responsible for the entity\n\ne.g. an organizer for an event"
-    },
-    "url": {
-      "type": "string",
-      "description": "Main URL of the origin"
-    }
-  },
-  "required": [
-    "indexed",
-    "name"
-  ],
-  "additionalProperties": false,
-  "description": "Origin of a thing"
-}
-

2

-
is not one of enum values: message
-
instance.type = "invalid-value-in-schema"
-
-
{
-  "type": "string",
-  "enum": [
-    "message"
-  ],
-  "description": "Type of a message"
-}
-

3

-
expected error enum did not occur
-
unknown = {
-  "type": "invalid-value-in-schema",
-  "uid": "540862f3-ea30-5b8f-8678-56b4dc217140",
-  "image": "icon ion-android-hand stapps-color-red-dark",
-  "name": "Lösung für das Problem des Zurücksetzens der StApps-App gefunden",
-  "message": "Wie bereits berichtet, klagten User über das Löschen ihres Stundenplans beim Update von Version 0.8.0 auf 0.8.1. Wir haben eine Lösung für das Problem gefunden und testen diese ausführlich bis zum Ende dieser Woche. Wenn alles glatt verläuft, dann kommt am Wochenende die fehlerbereinige Version 0.8.2 heraus.\n\n*(25.Okt 2016)*",
-  "audiences": [
-    "students"
-  ],
-  "origin": {
-    "indexed": "2018-09-11T12:30:00Z"
-  }
-}
-
-

-  
-

Errors in Message.3.json

- - - - - - - - - - - - - - - - - - -
#ErrorSchema

1

-
additionalProperty "invalid-non-existing-key-in-schema" exists in instance when not allowed
-
instance = {
-  "type": "message",
-  "invalid-non-existing-key-in-schema": 1,
-  "uid": "540862f3-ea30-5b8f-8678-56b4dc217140",
-  "image": "icon ion-android-hand stapps-color-red-dark",
-  "name": "Lösung für das Problem des Zurücksetzens der StApps-App gefunden",
-  "message": "Wie bereits berichtet, klagten User über das Löschen ihres Stundenplans beim Update von Version 0.8.0 auf 0.8.1. Wir haben eine Lösung für das Problem gefunden und testen diese ausführlich bis zum Ende dieser Woche. Wenn alles glatt verläuft, dann kommt am Wochenende die fehlerbereinige Version 0.8.2 heraus.\n\n*(25.Okt 2016)*",
-  "audiences": [
-    "students"
-  ],
-  "origin": {
-    "indexed": "2018-09-11T12:30:00Z",
-    "name": "Dummy"
-  }
-}
-
-
"https://core.stapps.tu-berlin.de/v0.0.1/lib/schema/SCMessage.json"
-
- - -
- - - - - - From 40a21110db5d1a688dd03d9a54982025d369c329 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 18 Dec 2018 17:46:08 +0100 Subject: [PATCH 004/215] ci: use correct image --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9895379d..112fb1a7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: node:lts-alpine +image: registry.gitlab.com/openstapps/projectmanagement/node:latest cache: key: ${CI_COMMIT_REF_SLUG} From ec98d20b4ae8695a4f2c9e9f9350dfb79231d5e0 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 18 Dec 2018 17:58:26 +0100 Subject: [PATCH 005/215] build: fix build process --- package-lock.json | 36 +++++++++++++++++------------------- package.json | 3 ++- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2f458931..5f1bf8dc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -184,8 +184,7 @@ "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" }, "async": { "version": "2.6.1", @@ -243,8 +242,7 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, "builtin-modules": { "version": "1.1.1", @@ -571,8 +569,7 @@ "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" }, "doctrine": { "version": "0.7.2", @@ -1173,8 +1170,7 @@ "make-error": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", - "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", - "dev": true + "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==" }, "map-obj": { "version": "2.0.0", @@ -1216,8 +1212,7 @@ "minimist": { "version": "1.2.0", "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "minimist-options": { "version": "3.0.2", @@ -1233,7 +1228,6 @@ "version": "0.5.1", "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, "requires": { "minimist": "0.0.8" }, @@ -1241,8 +1235,7 @@ "minimist": { "version": "0.0.8", "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" } } }, @@ -1529,6 +1522,15 @@ "path-parse": "^1.0.6" } }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -1561,14 +1563,12 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-support": { "version": "0.5.9", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", - "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -1734,7 +1734,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz", "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", - "dev": true, "requires": { "arrify": "^1.0.0", "buffer-from": "^1.1.0", @@ -1921,8 +1920,7 @@ "yn": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", - "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=", - "dev": true + "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=" } } } diff --git a/package.json b/package.json index c750d2f4..7f6cbc2f 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "build": "npm run tslint && npm run compile && npm run documentation", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0", "check-configuration": "openstapps-configuration", - "compile": "tsc && prepend lib/cli.js '#!/usr/bin/env node'", + "compile": "rimraf lib && tsc && prepend lib/cli.js '#!/usr/bin/env node\n'", "documentation": "typedoc --includeDeclarations --excludeExternals --mode modules --out docs src", "prepareOnly": "npm run build", "tslint": "tslint 'src/**/*.ts'" @@ -55,6 +55,7 @@ "@openstapps/configuration": "0.5.0", "conventional-changelog-cli": "2.0.11", "prepend-file-cli": "1.0.6", + "rimraf": "2.6.2", "tslint": "5.12.0", "typedoc": "0.13.0", "typescript": "3.2.2" From 1aa9e2e316bb66c8743db076e59a80f5778ae569 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 18 Dec 2018 17:59:48 +0100 Subject: [PATCH 006/215] 0.0.2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5f1bf8dc..67b2edb4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.0.1", + "version": "0.0.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 7f6cbc2f..64c549bf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.0.1", + "version": "0.0.2", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 1950032519f76e1e0597a4eb5c38964143846e34 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 18 Dec 2018 17:59:56 +0100 Subject: [PATCH 007/215] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 59ec5640..e3eac6f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [0.0.2](https://gitlab.com/openstapps/core-tools/compare/v0.0.1...v0.0.2) (2018-12-18) + + + ## [0.0.1](https://gitlab.com/openstapps/core-tools/compare/1ac90ef...v0.0.1) (2018-12-18) From ff3d73cb5e3df1fff0566bc631f3ad4c83f289cb Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 18 Dec 2018 18:14:07 +0100 Subject: [PATCH 008/215] ci: use npm ci instead of install --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 112fb1a7..9032a1e2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,7 +7,7 @@ cache: - node_modules before_script: - - npm install + - npm ci stages: - build From 6502bcf2b517ab98909626a7b8baa08e7cdcdc3e Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 18 Dec 2018 22:28:39 +0100 Subject: [PATCH 009/215] fix: do not ignore resources --- .npmignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.npmignore b/.npmignore index 203fae89..44cf3c95 100644 --- a/.npmignore +++ b/.npmignore @@ -8,4 +8,5 @@ !package.json !package-lock.json !README.md +!resources !src From 611882f752f2f5724ee67af58354ade9507f1295 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 18 Dec 2018 22:28:59 +0100 Subject: [PATCH 010/215] build: build before packing --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 64c549bf..7db58e72 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "check-configuration": "openstapps-configuration", "compile": "rimraf lib && tsc && prepend lib/cli.js '#!/usr/bin/env node\n'", "documentation": "typedoc --includeDeclarations --excludeExternals --mode modules --out docs src", - "prepareOnly": "npm run build", + "prepack": "npm run build", "tslint": "tslint 'src/**/*.ts'" }, "dependencies": { From 623e0da72113c46bea12be9500ca7caa546bda3f Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 18 Dec 2018 22:29:16 +0100 Subject: [PATCH 011/215] 0.0.3 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 67b2edb4..2a6b7e5d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.0.2", + "version": "0.0.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 7db58e72..28f36715 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.0.2", + "version": "0.0.3", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From b3dcc2853b80bcae877ffa68079ebd7396e052c0 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 18 Dec 2018 22:29:33 +0100 Subject: [PATCH 012/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e3eac6f4..10b9e780 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## [0.0.3](https://gitlab.com/openstapps/core-tools/compare/v0.0.2...v0.0.3) (2018-12-18) + + +### Bug Fixes + +* do not ignore resources ([6502bcf](https://gitlab.com/openstapps/core-tools/commit/6502bcf)) + + + ## [0.0.2](https://gitlab.com/openstapps/core-tools/compare/v0.0.1...v0.0.2) (2018-12-18) From 308235c6b4e15231f752bb5532a85da3eee68d20 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Wed, 19 Dec 2018 14:55:04 +0100 Subject: [PATCH 013/215] ci: use npm install instead of ci --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9032a1e2..112fb1a7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,7 +7,7 @@ cache: - node_modules before_script: - - npm ci + - npm install stages: - build From 7b7299d9c475105f9d2387c9dc31974139997483 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Wed, 19 Dec 2018 14:58:06 +0100 Subject: [PATCH 014/215] feat: validate generated schemas Fixes #1 --- package-lock.json | 39 +++++++++++++++++++++++++++++++++++++++ package.json | 1 + src/schema.ts | 21 ++++++++++++++++++++- 3 files changed, 60 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 2a6b7e5d..98d7e322 100644 --- a/package-lock.json +++ b/package-lock.json @@ -148,6 +148,17 @@ "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", "dev": true }, + "ajv": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", + "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", @@ -625,6 +636,16 @@ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -1066,6 +1087,11 @@ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", @@ -1429,6 +1455,11 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", @@ -1878,6 +1909,14 @@ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/package.json b/package.json index 28f36715..e1aeb20c 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "@types/humanize-string": "1.0.0", "@types/mustache": "0.8.32", "@types/node": "10.12.15", + "ajv": "6.6.2", "async": "2.6.1", "async-pool-native": "0.1.0", "commander": "2.19.0", diff --git a/src/schema.ts b/src/schema.ts index 1c7e0313..5fbb2197 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -12,6 +12,7 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ +import * as ajv from 'ajv'; import {Schema as JSONSchema} from 'jsonschema'; import {join} from 'path'; import {DEFAULT_CONFIG, SchemaGenerator} from 'ts-json-schema-generator'; @@ -29,6 +30,7 @@ import {isSchemaWithDefinitions} from './common'; */ export class Converter { private generator: SchemaGenerator; + private schemaValidator: ajv.Ajv; /** * Create a new converter @@ -56,6 +58,10 @@ export class Converter { createParser(program, config), createFormatter(config), ); + + // create ajv instance + this.schemaValidator = new ajv(); + this.schemaValidator.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json')); } /** @@ -73,8 +79,21 @@ export class Converter { schema.id = 'https://core.stapps.tu-berlin.de/v' + version + '/lib/schema/' + type + '.json'; if (isSchemaWithDefinitions(schema)) { + const selfReference = { + ...{}, + ...schema, + }; + + delete selfReference.$schema; + delete selfReference.definitions; + delete selfReference.id; + // add self reference to definitions - schema.definitions['SC' + type] = Object.assign({}, schema.properties); + schema.definitions['SC' + type] = Object.assign({}, selfReference as any); + } + + if (!this.schemaValidator.validateSchema(schema)) { + throw new Error(`Generated schema for ${type} is invalid!`); } return schema; From e7a36635ff9c0cdc28f50ab7970b3dfdb83e5451 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Mon, 7 Jan 2019 16:52:43 +0100 Subject: [PATCH 015/215] build: update scripts --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index e1aeb20c..b67901de 100644 --- a/package.json +++ b/package.json @@ -27,11 +27,11 @@ ], "scripts": { "build": "npm run tslint && npm run compile && npm run documentation", - "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0", + "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md && git commit -m 'docs: update changelog'", "check-configuration": "openstapps-configuration", "compile": "rimraf lib && tsc && prepend lib/cli.js '#!/usr/bin/env node\n'", "documentation": "typedoc --includeDeclarations --excludeExternals --mode modules --out docs src", - "prepack": "npm run build", + "prepublishOnly": "npm run build", "tslint": "tslint 'src/**/*.ts'" }, "dependencies": { From e82f23561677b6a6ad00e710b78149343c2b769e Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Mon, 7 Jan 2019 16:55:11 +0100 Subject: [PATCH 016/215] test: add tests for schema generation --- package-lock.json | 482 +++++++++++++++++++++++++++++++++++++++--- package.json | 6 + test/Schema.spec.ts | 115 ++++++++++ test/resources/Foo.ts | 6 + 4 files changed, 580 insertions(+), 29 deletions(-) create mode 100644 test/Schema.spec.ts create mode 100644 test/resources/Foo.ts diff --git a/package-lock.json b/package-lock.json index 98d7e322..15f547e7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,6 +40,11 @@ "resolved": "https://registry.npmjs.org/@types/async/-/async-2.0.50.tgz", "integrity": "sha512-VMhZMMQgV1zsR+lX/0IBfAk+8Eb7dPVMWiQGFAt3qjo5x7Ml6b77jUo0e1C3ToD+XRDXqtrfw+6AB0uUsPEr3Q==" }, + "@types/chai": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.7.tgz", + "integrity": "sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==" + }, "@types/circular-json": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@types/circular-json/-/circular-json-0.4.0.tgz", @@ -103,6 +108,11 @@ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" }, + "@types/mocha": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.5.tgz", + "integrity": "sha512-lAVp+Kj54ui/vLUFxsJTMtWvZraZxum3w3Nwkble2dNuV5VnPA+Mi2oGX9XYJAaIvZi3tn3cbjS/qcJXRb6Bww==" + }, "@types/mustache": { "version": "0.8.32", "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-0.8.32.tgz", @@ -162,8 +172,7 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { "version": "2.2.1", @@ -197,6 +206,11 @@ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" + }, "async": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", @@ -250,6 +264,11 @@ "concat-map": "0.0.1" } }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -264,8 +283,7 @@ "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" }, "camelcase-keys": { "version": "4.2.0", @@ -278,11 +296,23 @@ "quick-lru": "^1.0.0" } }, + "chai": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", + "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.0", + "type-detect": "^4.0.5" + } + }, "chalk": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -293,7 +323,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -302,23 +331,56 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } } } }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" + }, "circular-json": { "version": "0.5.9", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz", "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==" }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -326,8 +388,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "commander": { "version": "2.19.0", @@ -530,6 +591,18 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", @@ -554,6 +627,14 @@ "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", "dev": true }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -577,6 +658,14 @@ } } }, + "deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "requires": { + "type-detect": "^4.0.0" + } + }, "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", @@ -621,8 +710,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "esprima": { "version": "4.0.1", @@ -636,6 +724,32 @@ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", @@ -650,7 +764,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, "requires": { "locate-path": "^2.0.0" } @@ -671,6 +784,16 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" + }, "get-pkg-repo": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", @@ -854,6 +977,11 @@ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", "dev": true }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, "git-raw-commits": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", @@ -923,6 +1051,11 @@ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", "dev": true }, + "growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + }, "handlebars": { "version": "4.0.12", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz", @@ -947,8 +1080,12 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" }, "highlight.js": { "version": "9.13.1", @@ -1002,6 +1139,11 @@ "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", "dev": true }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -1026,6 +1168,11 @@ "number-is-nan": "^1.0.0" } }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, "is-obj": { "version": "1.0.1", "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", @@ -1038,6 +1185,11 @@ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", "dev": true }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, "is-subset": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", @@ -1065,6 +1217,11 @@ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", "dev": true }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", @@ -1131,6 +1288,14 @@ "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.4.tgz", "integrity": "sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw==" }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "^1.0.0" + } + }, "load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", @@ -1147,7 +1312,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, "requires": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -1193,6 +1357,15 @@ "signal-exit": "^3.0.0" } }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, "make-error": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", @@ -1210,6 +1383,14 @@ "integrity": "sha512-tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw==", "dev": true }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, "meow": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", @@ -1227,6 +1408,11 @@ "trim-newlines": "^2.0.0" } }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -1265,17 +1451,84 @@ } } }, + "mocha": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", + "requires": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + }, + "dependencies": { + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "mocha-typescript": { + "version": "1.1.17", + "resolved": "https://registry.npmjs.org/mocha-typescript/-/mocha-typescript-1.1.17.tgz", + "integrity": "sha512-Ge6pCQkZumkkhxVNdAf3JxunskShgaynCb30HYD7TT1Yhog/7NW2+6w5RcRHI+nuQrCMTX6z1+qf2pD8qwCoQA==", + "requires": { + "@types/mocha": "^5.2.0", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "yargs": "^11.0.0" + } + }, "modify-values": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", "dev": true }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, "mustache": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.0.1.tgz", "integrity": "sha512-jFI/4UVRsRYdUbuDTKT7KzfOp7FiD5WzYmmwNwXyUVypC0xjoTL78Fqc0jHUPIvvGD+6DQSPHIt1NE7D1ArsqA==" }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, "nodemailer": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-4.7.0.tgz", @@ -1293,11 +1546,18 @@ "validate-npm-package-license": "^3.0.1" } }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "object-assign": { "version": "4.1.1", @@ -1331,17 +1591,31 @@ } } }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, "os-tmpdir": { "version": "1.0.2", "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, "requires": { "p-try": "^1.0.0" } @@ -1350,7 +1624,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, "requires": { "p-limit": "^1.1.0" } @@ -1358,8 +1631,7 @@ "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, "parse-github-repo-url": { "version": "1.4.1", @@ -1380,14 +1652,18 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, "path-is-absolute": { "version": "1.0.1", "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", @@ -1403,6 +1679,11 @@ "pify": "^3.0.0" } }, + "pathval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=" + }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -1455,6 +1736,11 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -1544,6 +1830,16 @@ "is-finite": "^1.0.0" } }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, "resolve": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.9.0.tgz", @@ -1571,8 +1867,25 @@ "semver": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", - "dev": true + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, "shelljs": { "version": "0.8.3", @@ -1588,8 +1901,7 @@ "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "source-map": { "version": "0.6.1", @@ -1661,6 +1973,30 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "string_decoder": { "version": "1.1.1", "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -1674,7 +2010,6 @@ "version": "3.0.1", "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -1685,6 +2020,11 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, "strip-indent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", @@ -1839,6 +2179,11 @@ "tslib": "^1.8.1" } }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + }, "typedoc": { "version": "0.13.0", "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.13.0.tgz", @@ -1939,12 +2284,54 @@ "spdx-expression-parse": "^3.0.0" } }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, "wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", "dev": true }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -1956,6 +2343,43 @@ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", "dev": true }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "requires": { + "camelcase": "^4.1.0" + } + }, "yn": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", diff --git a/package.json b/package.json index b67901de..7abea32a 100644 --- a/package.json +++ b/package.json @@ -32,22 +32,28 @@ "compile": "rimraf lib && tsc && prepend lib/cli.js '#!/usr/bin/env node\n'", "documentation": "typedoc --includeDeclarations --excludeExternals --mode modules --out docs src", "prepublishOnly": "npm run build", + "test": "mocha --require ts-node/register --ui mocha-typescript test/*.spec.ts", "tslint": "tslint 'src/**/*.ts'" }, "dependencies": { "@openstapps/logger": "0.0.3", "@types/async": "2.0.50", + "@types/chai": "4.1.7", "@types/glob": "7.1.1", "@types/humanize-string": "1.0.0", + "@types/mocha": "5.2.5", "@types/mustache": "0.8.32", "@types/node": "10.12.15", "ajv": "6.6.2", "async": "2.6.1", "async-pool-native": "0.1.0", + "chai": "4.2.0", "commander": "2.19.0", "glob": "7.1.3", "humanize-string": "1.0.2", "jsonschema": "1.2.4", + "mocha": "5.2.0", + "mocha-typescript": "1.1.17", "mustache": "3.0.1", "ts-json-schema-generator": "0.37.1", "ts-node": "7.0.1" diff --git a/test/Schema.spec.ts b/test/Schema.spec.ts new file mode 100644 index 00000000..c00ae8b9 --- /dev/null +++ b/test/Schema.spec.ts @@ -0,0 +1,115 @@ +/* + * Copyright (C) 2018 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {Logger} from '@openstapps/logger'; +import {expect} from 'chai'; +import {slow, suite, test, timeout} from 'mocha-typescript'; +import {join} from 'path'; +import {ProjectReflection} from 'typedoc'; +import {Converter, getValidatableTypesFromReflection} from '../src/schema'; + +const logger = new Logger(); + +type RecursivePartial = { + [P in keyof T]?: + T[P] extends Array ? Array> : + T[P] extends object ? RecursivePartial : + T[P]; +}; + +process.on('unhandledRejection', (err) => { + logger.error('UNHANDLED REJECTION', err.stack); + process.exit(1); +}); + +@suite(timeout(10000), slow(5000)) +export class SchemaSpec { + @test + async getSchema() { + const converter = new Converter(join(__dirname, 'resources')); + + const schema = converter.getSchema('Foo', '0.0.1'); + + expect(schema).to.be.deep.equal({ + $schema: 'http://json-schema.org/draft-06/schema#', + additionalProperties: false, + definitions: { + SCFoo: { + additionalProperties: false, + properties: { + lorem: { + enum: [ + 'ipsum', + ], + type: 'string', + }, + }, + required: [ + 'lorem', + ], + type: 'object', + }, + }, + id: 'https://core.stapps.tu-berlin.de/v0.0.1/lib/schema/Foo.json', + properties: { + lorem: { + enum: [ + 'ipsum', + ], + type: 'string', + }, + }, + required: [ + 'lorem', + ], + type: 'object', + }); + } + + @test + async getValidatableTypesFromReflection() { + const reflection: RecursivePartial = { + children: [ + { + children: [ + { + comment: { + tags: [ + { + tagName: 'validatable', + }, + ], + }, + name: 'foo', + }, + { + name: 'bar', + }, + ], + }, + { + children: [ + { + name: 'foobar', + }, + ], + }, + ], + }; + + const validatableTypes = getValidatableTypesFromReflection(reflection as any); + + expect(validatableTypes).to.be.deep.equal(['foo']); + } +} diff --git a/test/resources/Foo.ts b/test/resources/Foo.ts new file mode 100644 index 00000000..4ff6dce6 --- /dev/null +++ b/test/resources/Foo.ts @@ -0,0 +1,6 @@ +/** + * @validatable + */ +export interface Foo { + lorem: 'ipsum'; +} From cc1074b817feea1ba46b15aa1a855b17276d23bc Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Mon, 7 Jan 2019 17:01:26 +0100 Subject: [PATCH 017/215] ci: run tests --- .gitlab-ci.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 112fb1a7..21150099 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,16 +15,29 @@ stages: - deploy build: + tags: + - docker stage: build script: - npm run build +test: + tags: + - docker + stage: test + script: + - npm test + audit: + tags: + - docker stage: test script: - npm audit pages: + tags: + - docker stage: deploy script: - npm run documentation From 0876e0cdf8b86506b1be4e2b8c9a002294d58116 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 8 Jan 2019 14:15:08 +0100 Subject: [PATCH 018/215] 0.1.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 15f547e7..5fee72ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.0.3", + "version": "0.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 7abea32a..b8b85825 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.0.3", + "version": "0.1.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From a2bd0d113b43aa52cfa3c24e05b200858616af7d Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 8 Jan 2019 14:15:12 +0100 Subject: [PATCH 019/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 10b9e780..7b801ae7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [0.1.0](https://gitlab.com/openstapps/core-tools/compare/v0.0.3...v0.1.0) (2019-01-08) + + +### Features + +* validate generated schemas ([7b7299d](https://gitlab.com/openstapps/core-tools/commit/7b7299d)), closes [#1](https://gitlab.com/openstapps/core-tools/issues/1) + + + ## [0.0.3](https://gitlab.com/openstapps/core-tools/compare/v0.0.2...v0.0.3) (2018-12-18) From b248d1b5e0306247ce35e5c9d45637b0f3f83cac Mon Sep 17 00:00:00 2001 From: Anselm Stordeur Date: Wed, 9 Jan 2019 15:17:05 +0100 Subject: [PATCH 020/215] fix: add missing dependency typedoc Fixes #5 --- package-lock.json | 112 ++++++++++++++++-------------------------- package.json | 10 ++-- src/common.ts | 10 +++- src/routes.ts | 14 +++++- src/schema.ts | 4 ++ test/Schema.spec.ts | 12 +---- test/resources/Foo.ts | 15 ++++++ 7 files changed, 90 insertions(+), 87 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5fee72ac..d7de784d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,14 @@ "commander": "2.19.0", "tslint": "5.12.0", "tslint-eslint-rules": "5.4.0" + }, + "dependencies": { + "@types/node": { + "version": "10.12.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.15.tgz", + "integrity": "sha512-9kROxduaN98QghwwHmxXO2Xz3MaWf+I1sLVAA6KJDF5xix+IyXVhds0MAfdNwtcpSrzhaTsNB0/jnL86fgUhqA==", + "dev": true + } } }, "@openstapps/logger": { @@ -59,7 +67,6 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.4.tgz", "integrity": "sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g==", - "dev": true, "requires": { "@types/node": "*" } @@ -75,16 +82,14 @@ } }, "@types/handlebars": { - "version": "4.0.39", - "resolved": "https://registry.npmjs.org/@types/handlebars/-/handlebars-4.0.39.tgz", - "integrity": "sha512-vjaS7Q0dVqFp85QhyPSZqDKnTTCemcSHNHFvDdalO1s0Ifz5KuE64jQD5xoUkfdWwF4WpqdJEl7LsWH8rzhKJA==", - "dev": true + "version": "4.0.40", + "resolved": "https://registry.npmjs.org/@types/handlebars/-/handlebars-4.0.40.tgz", + "integrity": "sha512-sGWNtsjNrLOdKha2RV1UeF8+UbQnPSG7qbe5wwbni0mw4h2gHXyPFUMOC+xwGirIiiydM/HSqjDO4rk6NFB18w==" }, "@types/highlight.js": { "version": "9.12.3", "resolved": "https://registry.npmjs.org/@types/highlight.js/-/highlight.js-9.12.3.tgz", - "integrity": "sha512-pGF/zvYOACZ/gLGWdQH8zSwteQS1epp68yRcVLJMgUck/MjEn/FBYmPub9pXT8C1e4a8YZfHo1CKyV8q1vKUnQ==", - "dev": true + "integrity": "sha512-pGF/zvYOACZ/gLGWdQH8zSwteQS1epp68yRcVLJMgUck/MjEn/FBYmPub9pXT8C1e4a8YZfHo1CKyV8q1vKUnQ==" }, "@types/humanize-string": { "version": "1.0.0", @@ -94,14 +99,12 @@ "@types/lodash": { "version": "4.14.119", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.119.tgz", - "integrity": "sha512-Z3TNyBL8Vd/M9D9Ms2S3LmFq2sSMzahodD6rCS9V2N44HUMINb75jNkSuwAx7eo2ufqTdfOdtGQpNbieUjPQmw==", - "dev": true + "integrity": "sha512-Z3TNyBL8Vd/M9D9Ms2S3LmFq2sSMzahodD6rCS9V2N44HUMINb75jNkSuwAx7eo2ufqTdfOdtGQpNbieUjPQmw==" }, "@types/marked": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/@types/marked/-/marked-0.4.2.tgz", - "integrity": "sha512-cDB930/7MbzaGF6U3IwSQp6XBru8xWajF5PV2YZZeV8DyiliTuld11afVztGI9+yJZ29il5E+NpGA6ooV/Cjkg==", - "dev": true + "integrity": "sha512-cDB930/7MbzaGF6U3IwSQp6XBru8xWajF5PV2YZZeV8DyiliTuld11afVztGI9+yJZ29il5E+NpGA6ooV/Cjkg==" }, "@types/minimatch": { "version": "3.0.3", @@ -119,9 +122,9 @@ "integrity": "sha512-RTVWV485OOf4+nO2+feurk0chzHkSjkjALiejpHltyuMf/13fGymbbNNFrSKdSSUg1TIwzszXdWsVirxgqYiFA==" }, "@types/node": { - "version": "10.12.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.15.tgz", - "integrity": "sha512-9kROxduaN98QghwwHmxXO2Xz3MaWf+I1sLVAA6KJDF5xix+IyXVhds0MAfdNwtcpSrzhaTsNB0/jnL86fgUhqA==" + "version": "10.12.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", + "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==" }, "@types/nodemailer": { "version": "4.6.5", @@ -136,7 +139,6 @@ "version": "0.8.1", "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.1.tgz", "integrity": "sha512-1lQw+48BuVgp6c1+z8EMipp18IdnV2dLh6KQGwOm+kJy9nPjEkaqRKmwbDNEYf//EKBvKcwOC6V2cDrNxVoQeQ==", - "dev": true, "requires": { "@types/glob": "*", "@types/node": "*" @@ -772,7 +774,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -1048,8 +1049,7 @@ "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", - "dev": true + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" }, "growl": { "version": "1.10.5", @@ -1060,7 +1060,6 @@ "version": "4.0.12", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz", "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==", - "dev": true, "requires": { "async": "^2.5.0", "optimist": "^0.6.1", @@ -1088,10 +1087,9 @@ "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" }, "highlight.js": { - "version": "9.13.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.1.tgz", - "integrity": "sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A==", - "dev": true + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz", + "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=" }, "hosted-git-info": { "version": "2.7.1", @@ -1134,10 +1132,9 @@ "dev": true }, "interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", - "dev": true + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==" }, "invert-kv": { "version": "1.0.0", @@ -1267,7 +1264,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, "requires": { "graceful-fs": "^4.1.6" } @@ -1380,8 +1376,7 @@ "marked": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/marked/-/marked-0.4.0.tgz", - "integrity": "sha512-tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw==", - "dev": true + "integrity": "sha512-tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw==" }, "mem": { "version": "1.1.0", @@ -1577,7 +1572,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, "requires": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" @@ -1586,8 +1580,7 @@ "minimist": { "version": "0.0.10", "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" } } }, @@ -1667,8 +1660,7 @@ "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "path-type": { "version": "3.0.0", @@ -1733,8 +1725,7 @@ "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, "pseudomap": { "version": "1.0.2", @@ -1806,7 +1797,6 @@ "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, "requires": { "resolve": "^1.1.6" } @@ -1844,18 +1834,17 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.9.0.tgz", "integrity": "sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ==", - "dev": true, "requires": { "path-parse": "^1.0.6" } }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "safe-buffer": { @@ -1891,7 +1880,6 @@ "version": "0.8.3", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", - "dev": true, "requires": { "glob": "^7.0.0", "interpret": "^1.0.0", @@ -2091,9 +2079,9 @@ "dev": true }, "ts-json-schema-generator": { - "version": "0.37.1", - "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.37.1.tgz", - "integrity": "sha512-fXTDJ/Saz6gHsJA7o5y6ltlVEQIfc9HOgfSn4lbuAPm+BnfLMJbce8ylQT3yCH8N9zbMqkF3ceOtcN8nxoINMA==", + "version": "0.38.1", + "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.38.1.tgz", + "integrity": "sha512-m0yBRUU35pPBUIavL1fFN7XEgcA1xNqcuIegT5Zm7QF3wsjqXofIMqO/lCVXVGCAHYvaOcRfpsPCS63w3vvAEQ==", "requires": { "commander": "~2.19.0", "glob": "~7.1.3", @@ -2185,10 +2173,9 @@ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" }, "typedoc": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.13.0.tgz", - "integrity": "sha512-jQWtvPcV+0fiLZAXFEe70v5gqjDO6pJYJz4mlTtmGJeW2KRoIU/BEfktma6Uj8Xii7UakuZjbxFewl3UYOkU/w==", - "dev": true, + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.14.0.tgz", + "integrity": "sha512-9DOYWO6O02YGZfbNOrELtmpQF4Eba/6AfNQNt46iRuIokoEq1Axdz9Ae/XjgdoXsM2ShGlDZsAO36BwRVz/Nmw==", "requires": { "@types/fs-extra": "^5.0.3", "@types/handlebars": "^4.0.38", @@ -2199,29 +2186,20 @@ "@types/shelljs": "^0.8.0", "fs-extra": "^7.0.0", "handlebars": "^4.0.6", - "highlight.js": "^9.0.0", + "highlight.js": "9.12.0", "lodash": "^4.17.10", "marked": "^0.4.0", "minimatch": "^3.0.0", "progress": "^2.0.0", "shelljs": "^0.8.2", "typedoc-default-themes": "^0.5.0", - "typescript": "3.1.x" - }, - "dependencies": { - "typescript": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz", - "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==", - "dev": true - } + "typescript": "3.2.x" } }, "typedoc-default-themes": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.5.0.tgz", - "integrity": "sha1-bcJDPnjti+qOiHo6zeLzF4W9Yic=", - "dev": true + "integrity": "sha1-bcJDPnjti+qOiHo6zeLzF4W9Yic=" }, "typescript": { "version": "3.2.2", @@ -2232,7 +2210,6 @@ "version": "3.4.9", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", - "dev": true, "optional": true, "requires": { "commander": "~2.17.1", @@ -2243,7 +2220,6 @@ "version": "2.17.1", "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true, "optional": true } } @@ -2251,8 +2227,7 @@ "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "uri-js": { "version": "4.2.2", @@ -2300,8 +2275,7 @@ "wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" }, "wrap-ansi": { "version": "2.1.0", diff --git a/package.json b/package.json index b8b85825..ab2db2a9 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@types/humanize-string": "1.0.0", "@types/mocha": "5.2.5", "@types/mustache": "0.8.32", - "@types/node": "10.12.15", + "@types/node": "10.12.18", "ajv": "6.6.2", "async": "2.6.1", "async-pool-native": "0.1.0", @@ -55,16 +55,16 @@ "mocha": "5.2.0", "mocha-typescript": "1.1.17", "mustache": "3.0.1", - "ts-json-schema-generator": "0.37.1", - "ts-node": "7.0.1" + "ts-json-schema-generator": "0.38.1", + "ts-node": "7.0.1", + "typedoc": "0.14.0" }, "devDependencies": { "@openstapps/configuration": "0.5.0", "conventional-changelog-cli": "2.0.11", "prepend-file-cli": "1.0.6", - "rimraf": "2.6.2", + "rimraf": "2.6.3", "tslint": "5.12.0", - "typedoc": "0.13.0", "typescript": "3.2.2" } } diff --git a/src/common.ts b/src/common.ts index 9a2d74e4..2e517d1b 100644 --- a/src/common.ts +++ b/src/common.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018 StApps + * Copyright (C) 2018-2019 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -129,7 +129,13 @@ export function getProjectReflection(srcPath: PathLike): ProjectReflection { const inputFiles = app.expandInputFiles([srcPath.toString()]); // get project reflection from input files - return app.convert(inputFiles); + const result = app.convert(inputFiles); + + if (typeof result === 'undefined') { + throw new Error('Project reflection could not be generated.'); + } + + return result; } /** diff --git a/src/routes.ts b/src/routes.ts index a494a944..871317cd 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018 StApps + * Copyright (C) 2018-2019 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -29,6 +29,10 @@ import {RouteWithMetaInformation} from './common'; export async function gatherRouteInformation(reflection: ProjectReflection): Promise { const routes: RouteWithMetaInformation[] = []; + if (!Array.isArray(reflection.children)) { + throw new Error('Project reflection doesn\'t contain any modules.'); + } + await asyncPool(2, reflection.children, async (module: any) => { if (Array.isArray(module.children) && module.children.length > 0) { await asyncPool(2, module.children, (async (node: any) => { @@ -49,6 +53,10 @@ export async function gatherRouteInformation(reflection: ProjectReflection): Pro } }); + if (routes.length === 0) { + throw new Error('No route information found.'); + } + return routes; } @@ -163,6 +171,10 @@ export function generateDocumentationForRoute(routeWithInfo: RouteWithMetaInform export function getNodeMetaInformationMap(projectReflection: ProjectReflection): NodesWithMetaInformation { const nodes: NodesWithMetaInformation = {}; + if (typeof projectReflection.children === 'undefined') { + throw new Error('Project reflection doesn\'t contain any modules.'); + } + // iterate over modules projectReflection.children.forEach((module: any) => { if (Array.isArray(module.children) && module.children.length > 0) { diff --git a/src/schema.ts b/src/schema.ts index 5fbb2197..ce6ed087 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -108,6 +108,10 @@ export class Converter { export function getValidatableTypesFromReflection(projectReflection: ProjectReflection): string[] { const validatableTypes: string[] = []; + if (typeof projectReflection.children === 'undefined') { + throw new Error('Project reflection doesn\'t contain any modules.'); + } + // iterate over modules projectReflection.children.forEach((module) => { if (Array.isArray(module.children) && module.children.length > 0) { diff --git a/test/Schema.spec.ts b/test/Schema.spec.ts index c00ae8b9..363c1917 100644 --- a/test/Schema.spec.ts +++ b/test/Schema.spec.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018 StApps + * Copyright (C) 2018-2019 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -16,18 +16,10 @@ import {Logger} from '@openstapps/logger'; import {expect} from 'chai'; import {slow, suite, test, timeout} from 'mocha-typescript'; import {join} from 'path'; -import {ProjectReflection} from 'typedoc'; import {Converter, getValidatableTypesFromReflection} from '../src/schema'; const logger = new Logger(); -type RecursivePartial = { - [P in keyof T]?: - T[P] extends Array ? Array> : - T[P] extends object ? RecursivePartial : - T[P]; -}; - process.on('unhandledRejection', (err) => { logger.error('UNHANDLED REJECTION', err.stack); process.exit(1); @@ -79,7 +71,7 @@ export class SchemaSpec { @test async getValidatableTypesFromReflection() { - const reflection: RecursivePartial = { + const reflection: any = { children: [ { children: [ diff --git a/test/resources/Foo.ts b/test/resources/Foo.ts index 4ff6dce6..c8f1b2cc 100644 --- a/test/resources/Foo.ts +++ b/test/resources/Foo.ts @@ -1,3 +1,18 @@ +/* + * Copyright (C) 2018-2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + /** * @validatable */ From 9852f678385a0333a9c440be9a997e708864c510 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Mon, 14 Jan 2019 14:09:55 +0100 Subject: [PATCH 021/215] refactor: remove extraneous file --- routes.md | 156 ------------------------------------------------------ 1 file changed, 156 deletions(-) delete mode 100644 routes.md diff --git a/routes.md b/routes.md deleted file mode 100644 index c4995514..00000000 --- a/routes.md +++ /dev/null @@ -1,156 +0,0 @@ -# Routes - -## `POST /` [Index route](https://openstapps.gitlab.io/core/classes/_protocol_routes_index_indexrequest_.scindexroute.html) - -**Route to request meta information about the deployment** - - - -### Definition - -| parameter | value | -| --- | --- | -| request | [SCIndexRequest](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_index_indexrequest_.scindexrequest.html) | -| response | [SCIndexResponse](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_index_indexresponse_.scindexresponse.html) | -| success code | 200 | -| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | - - -## `PUT /:TYPE/:UID` [Thing update route](https://openstapps.gitlab.io/core/classes/_protocol_routes_type_uid_thingupdaterequest_.scthingupdateroute.html) - -**Route for updating existing things** - - - -### Definition - -| parameter | value | -| --- | --- | -| request | [SCThingUpdateRequest](https://openstapps.gitlab.io/core/modules/_protocol_routes_type_uid_thingupdaterequest_.html#scthingupdaterequest) | -| response | [SCThingUpdateResponse](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_type_uid_thingupdateresponse_.scthingupdateresponse.html) | -| success code | 200 | -| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCNotFoundErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scnotfounderrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | -| obligatory parameters |
parametertype
TYPE[SCThingTypes](https://openstapps.gitlab.io/core/modules/_thing_.html#scthingtypes)
UID[SCUuid](https://openstapps.gitlab.io/core/modules/_types_uuid_.html#scuuid)
| - -## `POST /bookAvailability` [Book availability route](https://openstapps.gitlab.io/core/classes/_protocol_routes_bookavailability_bookavailabilityrequest_.scbookavailabilityroute.html) - -**Route for book availability** - -This checks if a book is available in a library.
-**Example**: - -`POST https://example.com/bookAvailability` - -```json -{ - "isbn": "978-3-16-148410-0" -} -``` - - -### Definition - -| parameter | value | -| --- | --- | -| request | [SCBookAvailabilityRequest](https://openstapps.gitlab.io/core/modules/_protocol_routes_bookavailability_bookavailabilityrequest_.html#scbookavailabilityrequest) | -| response | [SCBookAvailabilityResponse](https://openstapps.gitlab.io/core/modules/_protocol_routes_bookavailability_bookavailabilityresponse_.html#scbookavailabilityresponse) | -| success code | 200 | -| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCNotFoundErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scnotfounderrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | - - -## `POST /bulk` [Bulk route](https://openstapps.gitlab.io/core/classes/_protocol_routes_bulk_bulkrequest_.scbulkroute.html) - -**Route for bulk creation** - - - -### Definition - -| parameter | value | -| --- | --- | -| request | [SCBulkRequest](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_bulk_bulkrequest_.scbulkrequest.html) | -| response | [SCBulkResponse](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_bulk_bulkresponse_.scbulkresponse.html) | -| success code | 200 | -| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | - - -## `POST /bulk/:UID` [Bulk add route](https://openstapps.gitlab.io/core/classes/_protocol_routes_bulk_uid_bulkaddrequest_.scbulkaddroute.html) - -**Route for indexing SC things in a bulk** - - - -### Definition - -| parameter | value | -| --- | --- | -| request | [SCBulkAddRequest](https://openstapps.gitlab.io/core/modules/_protocol_routes_bulk_uid_bulkaddrequest_.html#scbulkaddrequest) | -| response | [SCBulkAddResponse](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_bulk_uid_bulkaddresponse_.scbulkaddresponse.html) | -| success code | 201 | -| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCNotFoundErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scnotfounderrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | -| obligatory parameters |
parametertype
UID[SCUuid](https://openstapps.gitlab.io/core/modules/_types_uuid_.html#scuuid)
| - -## `POST /bulk/:UID/done` [Bulk done route](https://openstapps.gitlab.io/core/classes/_protocol_routes_bulk_uid_bulkdonerequest_.scbulkdoneroute.html) - -**Route for closing bulks** - - - -### Definition - -| parameter | value | -| --- | --- | -| request | [SCBulkDoneRequest](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_bulk_uid_bulkdonerequest_.scbulkdonerequest.html) | -| response | [SCBulkDoneResponse](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_bulk_uid_bulkdoneresponse_.scbulkdoneresponse.html) | -| success code | 204 | -| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCNotFoundErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scnotfounderrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | -| obligatory parameters |
parametertype
UID[SCUuid](https://openstapps.gitlab.io/core/modules/_types_uuid_.html#scuuid)
| - -## `POST /feedback` [Feedback route](https://openstapps.gitlab.io/core/classes/_protocol_routes_feedback_feedbackrequest_.scfeedbackroute.html) - -**Route for feedback submission** - - - -### Definition - -| parameter | value | -| --- | --- | -| request | [SCFeedbackRequest](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_feedback_feedbackrequest_.scfeedbackrequest.html) | -| response | [SCFeedbackResponse](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_feedback_feedbackresponse_.scfeedbackresponse.html) | -| success code | 204 | -| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | - - -## `POST /search/multi` [Multi search route](https://openstapps.gitlab.io/core/classes/_protocol_routes_search_multisearchrequest_.scmultisearchroute.html) - -**Route for submission of multiple search requests at once** - - - -### Definition - -| parameter | value | -| --- | --- | -| request | [SCMultiSearchRequest](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_search_multisearchrequest_.scmultisearchrequest.html) | -| response | [SCMultiSearchResponse](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_search_multisearchresponse_.scmultisearchresponse.html) | -| success code | 200 | -| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCTooManyRequestsErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.sctoomanyrequestserrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | - - -## `POST /search` [Search route](https://openstapps.gitlab.io/core/classes/_protocol_routes_search_searchrequest_.scsearchroute.html) - -**Route for searching things** - - - -### Definition - -| parameter | value | -| --- | --- | -| request | [SCSearchRequest](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_search_searchrequest_.scsearchrequest.html) | -| response | [SCSearchResponse](https://openstapps.gitlab.io/core/interfaces/_protocol_routes_search_searchresponse_.scsearchresponse.html) | -| success code | 200 | -| errors | [SCInternalServerErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scinternalservererrorresponse.html)
[SCMethodNotAllowedErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scmethodnotallowederrorresponse.html)
[SCUnsupportedMediaTypeErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scunsupportedmediatypeerrorresponse.html)
[SCValidationErrorResponse](https://openstapps.gitlab.io/core/classes/_protocol_errors_errorresponse_.scvalidationerrorresponse.html) | - - From 0cdc5b97bf675c67b4122dd10f99448c820a5c5b Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Mon, 14 Jan 2019 14:10:32 +0100 Subject: [PATCH 022/215] 0.1.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index d7de784d..9b88f508 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.1.0", + "version": "0.1.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ab2db2a9..1d228b44 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.1.0", + "version": "0.1.1", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 5194c0fb118948e348eefd79d1b854ed61f9fc1a Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Mon, 14 Jan 2019 14:10:45 +0100 Subject: [PATCH 023/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b801ae7..6c08aec6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## [0.1.1](https://gitlab.com/openstapps/core-tools/compare/v0.1.0...v0.1.1) (2019-01-14) + + +### Bug Fixes + +* add missing dependency typedoc ([b248d1b](https://gitlab.com/openstapps/core-tools/commit/b248d1b)), closes [#5](https://gitlab.com/openstapps/core-tools/issues/5) + + + # [0.1.0](https://gitlab.com/openstapps/core-tools/compare/v0.0.3...v0.1.0) (2019-01-08) From 7438465149b591ebf1583a8bd6b9da56aa9c9f57 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Mon, 14 Jan 2019 17:57:18 +0100 Subject: [PATCH 024/215] feat: add pack script Fixes #4 --- package-lock.json | 100 +++++++++- package.json | 3 + src/cli.ts | 13 +- src/common.ts | 10 +- src/pack.ts | 463 ++++++++++++++++++++++++++++++++++++++++++++++ src/validate.ts | 20 +- 6 files changed, 582 insertions(+), 27 deletions(-) create mode 100644 src/pack.ts diff --git a/package-lock.json b/package-lock.json index 9b88f508..103ba38c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -58,6 +58,14 @@ "resolved": "https://registry.npmjs.org/@types/circular-json/-/circular-json-0.4.0.tgz", "integrity": "sha512-7+kYB7x5a7nFWW1YPBh3KxhwKfiaI4PbZ1RvzBU91LZy7lWJO822CI+pqzSre/DZ7KsCuMKdHnLHHFu8AyXbQg==" }, + "@types/del": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/del/-/del-3.0.1.tgz", + "integrity": "sha512-y6qRq6raBuu965clKgx6FHuiPu3oHdtmzMPXi8Uahsjdq1L6DL5fS/aY5/s71YwM7k6K1QIWvem5vNwlnNGIkQ==", + "requires": { + "@types/glob": "*" + } + }, "@types/events": { "version": "1.2.0", "resolved": "http://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", @@ -203,6 +211,19 @@ "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", "dev": true }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", @@ -668,6 +689,19 @@ "type-detect": "^4.0.0" } }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "requires": { + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" + } + }, "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", @@ -1046,6 +1080,25 @@ "path-is-absolute": "^1.0.0" } }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", @@ -1176,6 +1229,27 @@ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "requires": { + "path-is-inside": "^1.0.1" + } + }, "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", @@ -1557,8 +1631,7 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "once": { "version": "1.4.0", @@ -1621,6 +1694,11 @@ "p-limit": "^1.1.0" } }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==" + }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", @@ -1652,6 +1730,11 @@ "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -1679,20 +1762,17 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, "requires": { "pinkie": "^2.0.0" } @@ -1842,7 +1922,6 @@ "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -2066,6 +2145,11 @@ "os-tmpdir": "~1.0.1" } }, + "toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=" + }, "trim-newlines": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", diff --git a/package.json b/package.json index 1d228b44..7fe004e1 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "@openstapps/logger": "0.0.3", "@types/async": "2.0.50", "@types/chai": "4.1.7", + "@types/del": "3.0.1", "@types/glob": "7.1.1", "@types/humanize-string": "1.0.0", "@types/mocha": "5.2.5", @@ -49,12 +50,14 @@ "async-pool-native": "0.1.0", "chai": "4.2.0", "commander": "2.19.0", + "del": "3.0.0", "glob": "7.1.3", "humanize-string": "1.0.2", "jsonschema": "1.2.4", "mocha": "5.2.0", "mocha-typescript": "1.1.17", "mustache": "3.0.1", + "toposort": "2.0.2", "ts-json-schema-generator": "0.38.1", "ts-node": "7.0.1", "typedoc": "0.14.0" diff --git a/src/cli.ts b/src/cli.ts index aa7c8af2..46513106 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018 StApps + * Copyright (C) 2018-2019 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -15,7 +15,8 @@ import * as commander from 'commander'; import {existsSync, readFileSync, writeFileSync} from 'fs'; import {join, resolve} from 'path'; -import {getProjectReflection, logger, mkdirPromisified, readFilePromisifed} from './common'; +import {getProjectReflection, logger, mkdirPromisified, readFilePromisified} from './common'; +import {pack} from './pack'; import {gatherRouteInformation, generateDocumentationForRoute, getNodeMetaInformationMap} from './routes'; import {Converter, getValidatableTypesFromReflection} from './schema'; import {validateFiles, writeReport} from './validate'; @@ -91,7 +92,7 @@ commander logger.info(`Using ${corePackageJsonPath} to determine version for schemas.`); - const buffer = await readFilePromisifed(corePackageJsonPath); + const buffer = await readFilePromisified(corePackageJsonPath); const corePackageJson = JSON.parse(buffer.toString()); const coreVersion = corePackageJson.version; @@ -141,6 +142,12 @@ commander } }); +commander + .command('pack') + .action(async () => { + await pack(); + }); + commander .parse(process.argv); diff --git a/src/common.ts b/src/common.ts index 2e517d1b..16645f87 100644 --- a/src/common.ts +++ b/src/common.ts @@ -13,22 +13,20 @@ * this program. If not, see . */ import {Logger} from '@openstapps/logger'; -import {mkdir, PathLike, readFile, writeFile} from 'fs'; +import {mkdir, PathLike, readFile, unlink, writeFile} from 'fs'; import * as glob from 'glob'; import {Schema as JSONSchema, ValidationError} from 'jsonschema'; import {Definition} from 'ts-json-schema-generator'; import {Application, ProjectReflection} from 'typedoc'; import {promisify} from 'util'; -/** - * Initialized logger - */ export const logger = new Logger(); -export const globPromisfied = promisify(glob); +export const globPromisified = promisify(glob); export const mkdirPromisified = promisify(mkdir); -export const readFilePromisifed = promisify(readFile); +export const readFilePromisified = promisify(readFile); export const writeFilePromisified = promisify(writeFile); +export const unlinkPromisified = promisify(unlink); /** * A route instance with its relevant meta information diff --git a/src/pack.ts b/src/pack.ts new file mode 100644 index 00000000..da4ee655 --- /dev/null +++ b/src/pack.ts @@ -0,0 +1,463 @@ +/* + * Copyright (C) 2018-2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import * as del from 'del'; +import {existsSync} from 'fs'; +import {basename, dirname, join} from 'path'; +import {cwd} from 'process'; +import {globPromisified, logger, readFilePromisified, unlinkPromisified, writeFilePromisified} from './common'; + +const PACK_IDENTIFIER = '/* PACKED BY @openstapps/pack */'; + +/** + * A JavaScript module representation to sort a list of them by dependencies + */ +interface JavaScriptModule { + /** + * Content of the module + */ + content: string; + + /** + * List of names of dependencies + */ + dependencies: string[]; + + /** + * Directory the module is in + */ + directory: string; + + /** + * The name of the module + */ + name: string; +} + +/** + * Pack cli.js + * + * This finds all internal requires and replaces the paths with `./index` or internal requires if it has been + * required already. + * + * Furthermore it checks that no shebang line is present and that it does not export anything. + */ +async function packCliJs(): Promise { + const path = join(cwd(), 'lib', 'cli.js'); + + if (!existsSync(path)) { + return; + } + + logger.info('Adjusting JavaScript CLI...'); + + const buffer = await readFilePromisified(path); + const content = buffer.toString(); + + if (content.indexOf('#!/') === 0) { + throw new Error('`cli.js` must not contain a shebang line! It is added by this script.'); + } + + let internalRequire: string | null = null; + + const adjustedContent = '#!/usr/bin/env node\n\n' + content + .split('\n') + .map((line, lineNumber) => { + + // check for exports (cli.js is not allowed to export anything) + if (Array.isArray(line.match(/^\s*((exports)|(module\.exports))/))) { + throw new Error( + 'Line ' + + lineNumber + + ' in cli.js has a reference to the exports object. cli.js is not for exporting. Line was: "' + + line + + '"', + ); + } + + // replace lines with internal requires + // extract module name from line + const match = line.match(/^(\s*)(const|var) ([a-z0-9_]*) = require\(("[^"]+"|'[^']+')\);$/i); + + if (match !== null) { + const importedName = match[3]; + const moduleName = match[4].substring(1, match[4].length - 1); + + // if it begins with '.' and not ends with json + if (/^[.]{1,2}\/(?!.*\.json$).*$/i.test(moduleName)) { + + // is the first internal require + if (internalRequire !== null) { + return 'const ' + importedName + ' = ' + internalRequire + ';'; + } + + // only the first import needs a require + internalRequire = importedName; + return 'const ' + importedName + ' = require("./index");'; + } + } + return line; + }) + .join('\n'); + + return await writeFilePromisified(path, adjustedContent); +} + +/** + * Get a list containing the contents of all type definition files + */ +async function getAllTypeDefinitions(): Promise { + const fileNames = await globPromisified(join(cwd(), '*(lib|src)', '**', '*.d.ts'), { + ignore: [ + join(cwd(), 'lib', 'doc', '**', '*.d.ts'), + join(cwd(), 'lib', 'test', '**', '*.d.ts'), + join(cwd(), 'lib', 'cli.d.ts'), + ], + }); + + const promises = fileNames.map((fileName) => { + return readFilePromisified(fileName, 'utf8'); + }); + + return await Promise.all(promises); +} + +/** + * Pack a list of type definitions into one file + */ +async function packTypeDefinitions(): Promise { + logger.info('Packing TypeScript definition files...'); + + const path = join(cwd(), 'lib', 'index.d.ts'); + + await deleteFileIfExistingAndPacked(path); + + const typeDefinitions = await getAllTypeDefinitions(); + + // pack TypeScript definition files + const imports: { [k: string]: string[] } = {}; + + const referenceLines: string[] = []; + + let allDefinitions = typeDefinitions + // concat them separated by new lines + .join('\n\n\n\n\n') + // split all lines + .split('\n') + .map((line) => { + if (line.indexOf('export =') !== -1) { + throw new Error('`export =` is not allowed by pack. Use named imports instead.'); + } + + if (line.indexOf('/// { + return object.trim(); + }); + + // add list of already imported objects for module + if (typeof imports[module] === 'undefined') { + imports[module] = []; + } + + // count already imported objects and objects to import now + const objectsToImport: string[] = []; + importedObjects.forEach((object) => { + if (imports[module].indexOf(object) === -1) { + imports[module].push(object); + objectsToImport.push(object); + } + }); + + // replace import line + if (objectsToImport.length === 0) { + return '// extraneous removed import'; + } else { + return 'import { ' + objectsToImport.join(', ') + ' } from \'' + module + '\';'; + } + } + + return line; + }) + // filter lines which contain "local" imports + .filter((line) => { + return !line.match(/^import .* from '\./); + }) + // concat all lines separated by new lines + .join('\n'); + + if (allDefinitions.length > 0) { + if (referenceLines.length > 0) { + allDefinitions = referenceLines.join('\n') + '\n\n' + allDefinitions; + } + + // write packed TypeScript definition files + return await writeFilePromisified(path, PACK_IDENTIFIER + '\n\n' + allDefinitions); + } +} + +/** + * Get all JavaScript modules + */ +async function getAllJavaScriptModules(): Promise { + const fileNames = await globPromisified(join(cwd(), 'lib', '**', '*.js'), { + ignore: [ + join(cwd(), 'lib', 'doc', '**', '*.js'), + join(cwd(), 'lib', 'test', '*.js'), + join(cwd(), 'lib', 'cli.js'), + ], + }); + + const promises = fileNames.map(async (fileName) => { + const fileContent = await readFilePromisified(fileName, 'utf8'); + const directory = dirname(fileName).replace(new RegExp('^' + join(cwd(), 'lib')), ''); + + return { + content: '(function() {\n' + fileContent + '\n})();\n', + dependencies: getAllInternalDependencies(fileContent), + directory: directory, + name: basename(fileName, '.js'), + }; + }); + + return await Promise.all(promises); +} + +/** + * Pack all javascript files + */ +async function packJavaScriptFiles(): Promise { + const path = join(cwd(), 'lib', 'index.js'); + + logger.info('Packing JavaScript files...'); + + await deleteFileIfExistingAndPacked(path); + + // topologically sort the modules (sort by dependencies) + const jsModules = topologicalSort(await getAllJavaScriptModules()); + + let wholeCode = jsModules + // convert modules to strings + .map((module) => { + module.content = module.content + .split('\n') + .map((line) => { + const match = line.match( + /^(\s*)(const|var) ([a-z0-9_]*) = ((require\("([^"]+)"\))|(require\('([^']+)'\)));$/i, + ); + + // replace lines with internal requires + if (match !== null) { + // match[6] or match[8] contain the modulePath + if (typeof match[6] === 'undefined') { + match[6] = match[8]; + } + + const whiteSpace = match[1] ? match[1] : ''; + const importedName = match[3]; + const modulePath = match[6]; + + // leave line unchanged if it is a "global" import + if (modulePath.match(/^[.]{1,2}\//) === null) { + return line; + } + + // replace internal requires with `module.exports` + if (existsSync(join(cwd(), 'lib', module.directory, modulePath + '.js'))) { + return whiteSpace + 'const ' + importedName + ' = module.exports;'; + } + + if (existsSync(join(cwd(), 'src', module.directory, modulePath))) { + return whiteSpace + 'const ' + importedName + ' = require(\'../src/' + modulePath + '\');'; + } + + logger.warn('Import ' + importedName + ' could not be found in module.directory ' + modulePath); + } + + return line; + }) + .join('\n'); + + return '// Module: ' + module.name + '\n' + module.content; + }) + // concat them separated by new lines + .join('\n\n\n\n\n') + // split all lines + .split('\n') + // filter lines + .filter((line) => { + // remove strict usage + if (line === '"use strict";') { + return false; + } + + // remove esModule property + if (line === 'Object.defineProperty(exports, "__esModule", { value: true });') { + return false; + } + + // remove source map references + if (line.indexOf('//# sourceMappingURL=') === 0) { + return false; + } + + // keep all other lines + return true; + }) + // concat all lines separated by new lines + .join('\n'); + + if (wholeCode.length > 0) { + // add meta lines to the file + wholeCode = '"use strict";\nObject.defineProperty(exports, "__esModule", { value: true });\n\n' + wholeCode; + + // write packed JavaScript files + return await writeFilePromisified(path, PACK_IDENTIFIER + '\n\n' + wholeCode); + } +} + +/** + * Delete file if it exists and is packed by this script + * + * @param path Path to file to check/delete + */ +async function deleteFileIfExistingAndPacked(path: string): Promise { + try { + const buffer = await readFilePromisified(path); + const content = buffer.toString(); + + // check if packed by this script + if (content.indexOf(PACK_IDENTIFIER) === 0) { + logger.log('Found `' + path + '` which is packed by this script. Deleting it...'); + return await unlinkPromisified(path); + } + } catch (err) { + if (err.code === 'ENOENT') { + return; + } + } +} + +/** + * Get all internal dependencies from the content of a module + * + * @param moduleContent Module content to analyze + */ +function getAllInternalDependencies(moduleContent: string): string[] { + // match all const = require(); + const requireLines = + moduleContent.match(/^\s*(const|var) [a-z0-9_]* = require\("([^"]+)"\)|require\('([^']+)'\);$/gmi); + + if (Array.isArray(requireLines)) { + return requireLines.map((requireLine) => { + const matches = requireLine.match(/require\("([^"]+)"\)|require\('([^']+)'\);$/i); + + // previously matched require line does not contain a require?! + if (matches === null) { + throw new Error(); + } + + // return only the moduleName + return matches[1]; + }).filter((moduleName) => { + // filter out internal modules beginning with './' and not ending with '.json' + return /^[.]{1,2}\/(?!.*\.json$).*$/i.test(moduleName); + }).map((internalModuleName) => { + // cut './' from the name + return internalModuleName.substring(2); + }); + } + + return []; +} + +/** + * Sort modules by their dependencies + * + * @param modules Modules to sort + */ +function topologicalSort(modules: JavaScriptModule[]): JavaScriptModule[] { + const topoSort = require('toposort'); + + // vertices are modules, an edge from a to b means that b depends on a + const edges: string[][] = []; + const nodes: string[] = []; + + // add all edges + modules.forEach((module) => { + module.dependencies.forEach((dependenciePath) => { + // add edge from dependency to our module + edges.push([basename(dependenciePath), module.name]); + }); + + nodes.push(module.name); + }); + + // sort graph and return as an array of sorted modules + return topoSort.array(nodes, edges).map((moduleName: string) => { + return modules.find((module) => { + return module.name === moduleName; + }); + }); +} + +/** + * Pack + */ +export async function pack() { + logger.log(`Packing project in ${process.cwd()}...`); + + // run all tasks in parallel + const promises: Array> = [ + packCliJs(), + packTypeDefinitions(), + packJavaScriptFiles(), + ]; + + await Promise.all(promises); + + // clean up afterwards + logger.info('Deleting extraneous files...'); + + await del([ + // delete all transpiled files + 'lib/*', + + // keep packed files + '!lib/index.d.ts', '!lib/index.js', + + // keep converted schema files + '!lib/schema', '!lib/schema/*.json', + + // keep documentation + '!lib/doc', '!lib/doc/*', '!lib/doc/**/*', + + // keep cli + '!lib/cli.js', + + // keep tests + '!lib/test', '!lib/test/*', '!lib/test/**/*', + ]); +} diff --git a/src/validate.ts b/src/validate.ts index 86cd047b..9641adce 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018 StApps + * Copyright (C) 2018-2019 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -19,10 +19,10 @@ import * as mustache from 'mustache'; import {basename, join, resolve} from 'path'; import { ExpectableValidationErrors, - globPromisfied, + globPromisified, isThingWithType, logger, - readFilePromisifed, + readFilePromisified, writeFilePromisified, } from './common'; @@ -53,7 +53,7 @@ export class Validator { * @param schemaDir Path to directory that contains schema files */ public async addSchemas(schemaDir: PathLike): Promise { - const schemaFiles = await globPromisfied(join(schemaDir.toString(), '*.json')); + const schemaFiles = await globPromisified(join(schemaDir.toString(), '*.json')); if (schemaFiles.length === 0) { throw new Error(`No schema files in ${schemaDir.toString()}!`); @@ -64,7 +64,7 @@ export class Validator { // Iterate over schema files await asyncPool(2, schemaFiles, async (file) => { // read schema file - const buffer = await readFilePromisifed(file); + const buffer = await readFilePromisified(file); const schema = JSON.parse(buffer.toString()); // add schema to validator @@ -124,7 +124,7 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr await v.addSchemas(schemaDir); // get list of files to test - const testFiles = await globPromisfied(join(resourcesDir, '*.json')); + const testFiles = await globPromisified(join(resourcesDir, '*.json')); if (testFiles.length === 0) { throw new Error(`No test files in ${resourcesDir}!`); @@ -139,7 +139,7 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr await asyncPool(2, testFiles, async (testFile) => { const testFileName = basename(testFile); - const buffer = await readFilePromisifed(join(resourcesDir, testFileName)); + const buffer = await readFilePromisified(join(resourcesDir, testFileName)); // read test description from file const testDescription = JSON.parse(buffer.toString()); @@ -208,10 +208,10 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr * @param errors Errors that occurred in validation */ export async function writeReport(reportPath: PathLike, errors: ExpectableValidationErrors): Promise { - let buffer = await readFilePromisifed(resolve(__dirname, '..', 'resources', 'file.html.mustache')); + let buffer = await readFilePromisified(resolve(__dirname, '..', 'resources', 'file.html.mustache')); const fileTemplate = buffer.toString(); - buffer = await readFilePromisifed(resolve(__dirname, '..', 'resources', 'error.html.mustache')); + buffer = await readFilePromisified(resolve(__dirname, '..', 'resources', 'error.html.mustache')); const errorTemplate = buffer.toString(); let output = ''; @@ -236,7 +236,7 @@ export async function writeReport(reportPath: PathLike, errors: ExpectableValida }); }); - buffer = await readFilePromisifed(resolve(__dirname, '..', 'resources', 'report.html.mustache')); + buffer = await readFilePromisified(resolve(__dirname, '..', 'resources', 'report.html.mustache')); const reportTemplate = buffer.toString(); await writeFilePromisified(reportPath, mustache.render(reportTemplate, { From faca4e1300e5a73f28ed36fb4608dbd64ac077ed Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Mon, 14 Jan 2019 18:11:00 +0100 Subject: [PATCH 025/215] docs: enhance and fix readme --- README.md | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 08f0e849..32c98aaa 100644 --- a/README.md +++ b/README.md @@ -49,12 +49,12 @@ openstapps-core-tools src/core lib/schema ```typescript import {Validator} from '@openstapps/core-tools'; -import {SCDish} from '@openstapps/core'; +import {SCDish, SCThingType} from '@openstapps/core'; import {ValidatorResult} from 'jsonschema'; import {join} from 'path'; const objectToValidate: SCDish = { -type: 'Dish', +type: SCThingType.Dish, // more properties }; @@ -62,10 +62,10 @@ type: 'Dish', const validator = new Validator(); // make the validator read the schema files -validator.addSchemas(join('node_modules', '@openstapps', 'core', 'lib', 'schema')); - -// validate an object -const result: ValidatorResult = validator.validate(objectToValidate); +validator.addSchemas(join('node_modules', '@openstapps', 'core', 'lib', 'schema')).then(() => { + // validate an object + const result: ValidatorResult = validator.validate(objectToValidate, 'SCDish'); +}); ``` #### Using validateFiles function @@ -114,13 +114,13 @@ where: Command with the example arguments is then for example: ```shell -node_modules/.bin/openstapps-validate lib/schema src/test/resources +node_modules/.bin/openstapps-core-tools lib/schema src/test/resources ``` Inside of a script in `package.json` or if the npm package is installed globally, the tool `openstapps-validate` can be called without its local path (`node_modules/.bin`): ```shell -openstapps-validate lib/schema src/test/resources report.html +openstapps-core-tools lib/schema src/test/resources report.html ``` ## Generate documentation for routes @@ -132,3 +132,11 @@ The generator relies on dynamic imports and must therefore be run this way. ```shell node --require ts-node/register node_modules/@openstapps/core-tools/src/cli.ts routes PATH/TO/ROUTES.md ``` + +## Pack definitions and implementations + +To pack all the different files into two distribution files - one for definitions/one for implementations - use the following command: + +```shell +openstapps-core-tools pack +``` From db607545bbe948d36d1491cc4d289f09ef796dd9 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Mon, 21 Jan 2019 15:43:47 +0100 Subject: [PATCH 026/215] 0.2.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 103ba38c..a6cfcb2d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.1.1", + "version": "0.2.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 7fe004e1..e9e0d1a2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.1.1", + "version": "0.2.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 5d105c4fa42e882a7414632fec19d057411bb9e9 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Mon, 21 Jan 2019 15:43:50 +0100 Subject: [PATCH 027/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c08aec6..8bd76413 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [0.2.0](https://gitlab.com/openstapps/core-tools/compare/v0.1.1...v0.2.0) (2019-01-21) + + +### Features + +* add pack script ([7438465](https://gitlab.com/openstapps/core-tools/commit/7438465)), closes [#4](https://gitlab.com/openstapps/core-tools/issues/4) + + + ## [0.1.1](https://gitlab.com/openstapps/core-tools/compare/v0.1.0...v0.1.1) (2019-01-14) From ba2de4b48f8b31fac567e312b30fbfb9f2cb8f33 Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Wed, 30 Jan 2019 08:14:47 +0000 Subject: [PATCH 028/215] refactor: update the CLI examples --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 32c98aaa..898ddc37 100644 --- a/README.md +++ b/README.md @@ -34,13 +34,13 @@ where: Complete command with the example arguments is then: ```shell -node_modules/.bin/openstapps-core-tools src/core lib/schema +node_modules/.bin/openstapps-core-tools schema src/core lib/schema ``` Inside of a script in `package.json` or if the npm package is installed globally, the tool `stapps-convert` can be called without its local path (`node_modules/.bin`): ```shell -openstapps-core-tools src/core lib/schema +openstapps-core-tools schema src/core lib/schema ``` ## How to use the validator? @@ -114,13 +114,13 @@ where: Command with the example arguments is then for example: ```shell -node_modules/.bin/openstapps-core-tools lib/schema src/test/resources +node_modules/.bin/openstapps-core-tools validate lib/schema src/test/resources ``` Inside of a script in `package.json` or if the npm package is installed globally, the tool `openstapps-validate` can be called without its local path (`node_modules/.bin`): ```shell -openstapps-core-tools lib/schema src/test/resources report.html +openstapps-core-tools validate lib/schema src/test/resources report.html ``` ## Generate documentation for routes From e559234cea9ef245733f8117ab4a27e83db54e14 Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Wed, 30 Jan 2019 11:15:32 +0100 Subject: [PATCH 029/215] fix: add SC prefix to the camel cased type of the instance --- src/validate.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/validate.ts b/src/validate.ts index 9641adce..d2519f89 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -104,7 +104,7 @@ export class Validator { throw new Error('Instance.type does not exist.'); } - const schemaName = instance.type.split(' ').map((part) => { + const schemaName = 'SC' + instance.type.split(' ').map((part) => { return part.substr(0, 1).toUpperCase() + part.substr(1); }).join(''); From 0f179f1200ae10c151abaa35d2e99a1fc3482d9c Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Wed, 30 Jan 2019 11:29:42 +0000 Subject: [PATCH 030/215] docs: add the hint to only use the method for SC types --- src/validate.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/validate.ts b/src/validate.ts index d2519f89..6e980d60 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -95,6 +95,8 @@ export class Validator { /** * Validate an instance of a thing against the consumed schema files + * + * Only use this method for instances of the SC * * @param instance Instance to validate * @deprecated Use [[validate]] instead From 466cc2579c8a5492e4977f6129ece49d345fe3dd Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Wed, 30 Jan 2019 12:29:41 +0000 Subject: [PATCH 031/215] docs: update the method description --- src/validate.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/validate.ts b/src/validate.ts index 6e980d60..4b5d1a3e 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -96,7 +96,7 @@ export class Validator { /** * Validate an instance of a thing against the consumed schema files * - * Only use this method for instances of the SC + * Only use this method for instances of the SC with a set type property * * @param instance Instance to validate * @deprecated Use [[validate]] instead From aa645a2cc4661c58c6050196ee1944dfd9e5eea8 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Wed, 30 Jan 2019 14:17:54 +0100 Subject: [PATCH 032/215] feat: add function to find tsconfig.json --- src/common.ts | 32 +++++++++++++++++++++++++++++++- test/Common.spec.ts | 31 +++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 test/Common.spec.ts diff --git a/src/common.ts b/src/common.ts index 16645f87..aaa344b6 100644 --- a/src/common.ts +++ b/src/common.ts @@ -13,9 +13,11 @@ * this program. If not, see . */ import {Logger} from '@openstapps/logger'; -import {mkdir, PathLike, readFile, unlink, writeFile} from 'fs'; +import {existsSync, mkdir, PathLike, readFile, unlink, writeFile} from 'fs'; import * as glob from 'glob'; import {Schema as JSONSchema, ValidationError} from 'jsonschema'; +import {platform} from 'os'; +import {join, sep} from 'path'; import {Definition} from 'ts-json-schema-generator'; import {Application, ProjectReflection} from 'typedoc'; import {promisify} from 'util'; @@ -154,3 +156,31 @@ export function isSchemaWithDefinitions(schema: JSONSchema): schema is SchemaWit export function isThingWithType(thing: any): thing is { type: string } { return typeof thing.type === 'string'; } + +/** + * Get path that contains a tsconfig.json + * + * @param startPath Path from where to start searching "upwards" + */ +export function getTsconfigPath(startPath: string): string { + let tsconfigPath = startPath; + + // see https://stackoverflow.com/questions/9652043/identifying-the-file-system-root-with-node-js + const root = (platform() === 'win32') ? process.cwd().split(sep)[0] : '/'; + + // repeat until a tsconfig.json is found + while (!existsSync(join(tsconfigPath, 'tsconfig.json'))) { + if (tsconfigPath === root) { + throw new Error(`Reached file system root ${root} while searching for 'tsconfig.json' in ${startPath}!`); + } + + // pop last directory + const tsconfigPathParts = tsconfigPath.split(sep); + tsconfigPathParts.pop(); + tsconfigPath = tsconfigPathParts.join(sep); + } + + logger.info(`Using 'tsconfig.json' from ${tsconfigPath}.`); + + return tsconfigPath; +} diff --git a/test/Common.spec.ts b/test/Common.spec.ts new file mode 100644 index 00000000..7e2a7256 --- /dev/null +++ b/test/Common.spec.ts @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2018-2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {expect} from 'chai'; +import {slow, suite, test, timeout} from 'mocha-typescript'; +import {cwd} from 'process'; +import {getTsconfigPath, logger} from '../src/common'; + +process.on('unhandledRejection', (err) => { + logger.error('UNHANDLED REJECTION', err.stack); + process.exit(1); +}); + +@suite(timeout(10000), slow(5000)) +export class CommonSpec { + @test + async getTsconfigPath() { + expect(getTsconfigPath(__dirname)).to.be.equal(cwd()); + } +} From 6b1a4202f92759c9ef36d32d0960faf4f56cc8db Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Wed, 30 Jan 2019 14:18:10 +0100 Subject: [PATCH 033/215] fix: use tsconfig.json of project for schema generation Fixes #10 --- src/common.ts | 1 + {test => src}/resources/Foo.ts | 0 src/schema.ts | 4 ++-- test/Schema.spec.ts | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) rename {test => src}/resources/Foo.ts (100%) diff --git a/src/common.ts b/src/common.ts index aaa344b6..bfcca2a2 100644 --- a/src/common.ts +++ b/src/common.ts @@ -123,6 +123,7 @@ export function getProjectReflection(srcPath: PathLike): ProjectReflection { excludeExternals: true, includeDeclarations: true, module: 'commonjs', + tsconfig: join(getTsconfigPath(srcPath.toString()), 'tsconfig.json'), }); // get input files diff --git a/test/resources/Foo.ts b/src/resources/Foo.ts similarity index 100% rename from test/resources/Foo.ts rename to src/resources/Foo.ts diff --git a/src/schema.ts b/src/schema.ts index ce6ed087..d9141431 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -21,7 +21,7 @@ import {createParser} from 'ts-json-schema-generator/dist/factory/parser'; import {createProgram} from 'ts-json-schema-generator/dist/factory/program'; import {ProjectReflection} from 'typedoc'; import * as ts from 'typescript'; -import {isSchemaWithDefinitions} from './common'; +import {getTsconfigPath, isSchemaWithDefinitions} from './common'; /** * StAppsCore converter @@ -43,7 +43,7 @@ export class Converter { ...DEFAULT_CONFIG, // expose: 'exported' as any, // jsDoc: 'extended' as any, - path: join(path, '**/*.ts'), + path: join(getTsconfigPath(path), 'tsconfig.json'), sortProps: true, topRef: false, type: 'SC', diff --git a/test/Schema.spec.ts b/test/Schema.spec.ts index 363c1917..56dc8066 100644 --- a/test/Schema.spec.ts +++ b/test/Schema.spec.ts @@ -29,7 +29,7 @@ process.on('unhandledRejection', (err) => { export class SchemaSpec { @test async getSchema() { - const converter = new Converter(join(__dirname, 'resources')); + const converter = new Converter(join(__dirname, '..', 'src', 'resources')); const schema = converter.getSchema('Foo', '0.0.1'); From f73d0779f1ca91a769ba40a76baf671275be03db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jovan=20Kruni=C4=87?= Date: Wed, 30 Jan 2019 15:43:12 +0100 Subject: [PATCH 034/215] 0.2.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index a6cfcb2d..a152b2d0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.2.0", + "version": "0.2.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index e9e0d1a2..7947bc0b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.2.0", + "version": "0.2.1", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 7519ba2bfee10efb1f58287d85b47738b79758b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jovan=20Kruni=C4=87?= Date: Wed, 30 Jan 2019 15:43:39 +0100 Subject: [PATCH 035/215] docs: update changelog --- CHANGELOG.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8bd76413..963f7e77 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +## [0.2.1](https://gitlab.com/openstapps/core-tools/compare/v0.2.0...v0.2.1) (2019-01-30) + + +### Bug Fixes + +* add SC prefix to the camel cased type of the instance ([e559234](https://gitlab.com/openstapps/core-tools/commit/e559234)) +* use tsconfig.json of project for schema generation ([6b1a420](https://gitlab.com/openstapps/core-tools/commit/6b1a420)), closes [#10](https://gitlab.com/openstapps/core-tools/issues/10) + + +### Features + +* add function to find tsconfig.json ([aa645a2](https://gitlab.com/openstapps/core-tools/commit/aa645a2)) + + + # [0.2.0](https://gitlab.com/openstapps/core-tools/compare/v0.1.1...v0.2.0) (2019-01-21) From 1c744328eb03dc8019fe6dc3a309f68260210146 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Wed, 6 Feb 2019 17:03:51 +0100 Subject: [PATCH 036/215] feat: ensure correct path for input files --- src/common.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/common.ts b/src/common.ts index bfcca2a2..8b7b5947 100644 --- a/src/common.ts +++ b/src/common.ts @@ -118,16 +118,23 @@ export interface ExpectableValidationErrors { export function getProjectReflection(srcPath: PathLike): ProjectReflection { logger.info(`Generating project reflection for ${srcPath.toString()}.`); + const tsconfigPath = getTsconfigPath(srcPath.toString()); + // initialize new Typedoc application const app = new Application({ excludeExternals: true, includeDeclarations: true, module: 'commonjs', - tsconfig: join(getTsconfigPath(srcPath.toString()), 'tsconfig.json'), + tsconfig: join(tsconfigPath, 'tsconfig.json'), }); + let inputFilePath = srcPath; + if (inputFilePath === tsconfigPath) { + inputFilePath = join(tsconfigPath, 'src'); + } + // get input files - const inputFiles = app.expandInputFiles([srcPath.toString()]); + const inputFiles = app.expandInputFiles([inputFilePath.toString()]); // get project reflection from input files const result = app.convert(inputFiles); From bf7ff5abd5b1c4a0256b9f980b56027d650947bd Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Wed, 6 Feb 2019 17:04:11 +0100 Subject: [PATCH 037/215] 0.3.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index a152b2d0..e4fbce43 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.2.1", + "version": "0.3.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 7947bc0b..00be27b4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.2.1", + "version": "0.3.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 4984f78d9517786e5a98e20ee8feb3102b3c013a Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Wed, 6 Feb 2019 17:04:13 +0100 Subject: [PATCH 038/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 963f7e77..be7b4c95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [0.3.0](https://gitlab.com/openstapps/core-tools/compare/v0.2.1...v0.3.0) (2019-02-06) + + +### Features + +* ensure correct path for input files ([1c74432](https://gitlab.com/openstapps/core-tools/commit/1c74432)) + + + ## [0.2.1](https://gitlab.com/openstapps/core-tools/compare/v0.2.0...v0.2.1) (2019-01-30) From 1dbb59b9d73c74417c5c158b4478c9856421feb8 Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Fri, 22 Feb 2019 11:09:35 +0100 Subject: [PATCH 039/215] refactor: remove deprecated and unused methods --- package-lock.json | 492 +++++++++++++++++++++++--------------------- package.json | 20 +- src/common.ts | 10 - src/validate.ts | 21 -- test/Schema.spec.ts | 2 +- 5 files changed, 272 insertions(+), 273 deletions(-) diff --git a/package-lock.json b/package-lock.json index e4fbce43..65d6ea70 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,12 +5,14 @@ "requires": true, "dependencies": { "@openstapps/configuration": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.5.0.tgz", - "integrity": "sha512-XBRdgDWqwaaSUUwOdo0Y2FlkR6lZVI+gIONoYWkZ/EAH+feC6oEKPQNuhj/7l0YLO4Z+Zll8udM7AWKh4ivMWA==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.6.0.tgz", + "integrity": "sha512-ArEbUWMwBqrzYzhYKEdQPoYA0M8jxdmCahouukbbrlWz6Ca3h5K1n3C7FG8g17bMYoVkthkJXt4uHMYtsQTY1A==", "dev": true, "requires": { + "@types/chalk": "2.2.0", "@types/node": "10.12.15", + "chalk": "2.4.2", "commander": "2.19.0", "tslint": "5.12.0", "tslint-eslint-rules": "5.4.0" @@ -21,38 +23,55 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.15.tgz", "integrity": "sha512-9kROxduaN98QghwwHmxXO2Xz3MaWf+I1sLVAA6KJDF5xix+IyXVhds0MAfdNwtcpSrzhaTsNB0/jnL86fgUhqA==", "dev": true + }, + "tslint": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.12.0.tgz", + "integrity": "sha512-CKEcH1MHUBhoV43SA/Jmy1l24HJJgI0eyLbBNSRyFlsQvb9v6Zdq+Nz2vEOH00nC5SUx4SneJ59PZUS/ARcokQ==", + "dev": true, + "requires": { + "babel-code-frame": "^6.22.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^3.2.0", + "glob": "^7.1.1", + "js-yaml": "^3.7.0", + "minimatch": "^3.0.4", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.8.0", + "tsutils": "^2.27.2" + } } } }, "@openstapps/logger": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.0.3.tgz", - "integrity": "sha512-Q1kghyVNIXepfuLcdy2gFygI6jpxTBV0oqwM46hqzST4w/DNmDnzpScVQNQf5C0PhLUihPNhpjLnu6i7ujIX3g==", + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.0.5.tgz", + "integrity": "sha512-XzWt+5h4Y7ki0IFXrIuT7Qc6CHU+5QmrS0bf9wzP+OQ0qiEGb4KoJ3/y5CiXCebI3JC2wPJsUDpKYitV+kLWCQ==", "requires": { "@types/circular-json": "0.4.0", - "@types/node": "10.12.10", + "@types/node": "10.12.18", "@types/nodemailer": "4.6.5", "circular-json": "0.5.9", - "nodemailer": "4.7.0" - }, - "dependencies": { - "@types/node": { - "version": "10.12.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.10.tgz", - "integrity": "sha512-8xZEYckCbUVgK8Eg7lf5Iy4COKJ5uXlnIOnePN0WUwSQggy9tolM+tDJf7wMOnT/JT/W9xDYIaYggt3mRV2O5w==" - } + "nodemailer": "5.1.1" } }, - "@types/async": { - "version": "2.0.50", - "resolved": "https://registry.npmjs.org/@types/async/-/async-2.0.50.tgz", - "integrity": "sha512-VMhZMMQgV1zsR+lX/0IBfAk+8Eb7dPVMWiQGFAt3qjo5x7Ml6b77jUo0e1C3ToD+XRDXqtrfw+6AB0uUsPEr3Q==" - }, "@types/chai": { "version": "4.1.7", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.7.tgz", "integrity": "sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==" }, + "@types/chalk": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@types/chalk/-/chalk-2.2.0.tgz", + "integrity": "sha512-1zzPV9FDe1I/WHhRkf9SNgqtRJWZqrBWgu7JGveuHmmyR9CnAPCie2N/x+iHrgnpYBIcCJWHBoMRv2TRWktsvw==", + "dev": true, + "requires": { + "chalk": "*" + } + }, "@types/circular-json": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@types/circular-json/-/circular-json-0.4.0.tgz", @@ -67,14 +86,14 @@ } }, "@types/events": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", - "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" }, "@types/fs-extra": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.4.tgz", - "integrity": "sha512-DsknoBvD8s+RFfSGjmERJ7ZOP1HI0UZRA3FSI+Zakhrc/Gy26YQsLI+m5V5DHxroHRJqCDLKJp7Hixn8zyaF7g==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.5.tgz", + "integrity": "sha512-w7iqhDH9mN8eLClQOYTkhdYUOSpp25eXxfc6VbFOGtzxW34JcvctH2bKjj4jD4++z4R5iO5D+pg48W2e03I65A==", "requires": { "@types/node": "*" } @@ -105,9 +124,9 @@ "integrity": "sha512-lfaNfcTSt2DLiF1V8kXMhT4rX7ggkc10wI9SqTrxFMNTIfaafXHCL5DS1q2J/i+Be3EBQyG+Ls8GSbKngvSIkw==" }, "@types/lodash": { - "version": "4.14.119", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.119.tgz", - "integrity": "sha512-Z3TNyBL8Vd/M9D9Ms2S3LmFq2sSMzahodD6rCS9V2N44HUMINb75jNkSuwAx7eo2ufqTdfOdtGQpNbieUjPQmw==" + "version": "4.14.121", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.121.tgz", + "integrity": "sha512-ORj7IBWj13iYufXt/VXrCNMbUuCTJfhzme5kx9U/UtcIPdJYuvPDUAlHlbNhz/8lKCLy9XGIZnGrqXOtQbPGoQ==" }, "@types/marked": { "version": "0.4.2", @@ -120,9 +139,9 @@ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" }, "@types/mocha": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.5.tgz", - "integrity": "sha512-lAVp+Kj54ui/vLUFxsJTMtWvZraZxum3w3Nwkble2dNuV5VnPA+Mi2oGX9XYJAaIvZi3tn3cbjS/qcJXRb6Bww==" + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.6.tgz", + "integrity": "sha512-1axi39YdtBI7z957vdqXI4Ac25e7YihYQtJa+Clnxg1zTJEaIRbndt71O3sP4GAMgiAm0pY26/b9BrY4MR/PMw==" }, "@types/mustache": { "version": "0.8.32", @@ -144,9 +163,9 @@ } }, "@types/shelljs": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.1.tgz", - "integrity": "sha512-1lQw+48BuVgp6c1+z8EMipp18IdnV2dLh6KQGwOm+kJy9nPjEkaqRKmwbDNEYf//EKBvKcwOC6V2cDrNxVoQeQ==", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.3.tgz", + "integrity": "sha512-miY41hqc5SkRlsZDod3heDa4OS9xv8G77EMBQuSpqq86HBn66l7F+f8y9YKm+1PIuwC8QEZVwN8YxOOG7Y67fA==", "requires": { "@types/glob": "*", "@types/node": "*" @@ -169,9 +188,9 @@ "dev": true }, "ajv": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", - "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.1.tgz", + "integrity": "sha512-XDN92U311aINL77ieWHmqCcNlwjoP5cHXDxIxbf2MaPYuCXOHS7gHH8jktxeK5omgd52XbSTX6a4Piwd1pQmzA==", "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -180,15 +199,22 @@ } }, "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "arg": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", + "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==" }, "argparse": { "version": "1.0.10", @@ -227,7 +253,8 @@ "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true }, "assertion-error": { "version": "1.1.0", @@ -235,11 +262,11 @@ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" }, "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", + "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", "requires": { - "lodash": "^4.17.10" + "lodash": "^4.17.11" } }, "async-pool-native": { @@ -258,9 +285,21 @@ "js-tokens": "^3.0.2" }, "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -270,6 +309,21 @@ "strip-ansi": "^3.0.0", "supports-color": "^2.0.0" } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true } } }, @@ -333,31 +387,13 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } } }, "check-error": { @@ -378,21 +414,6 @@ "string-width": "^2.1.1", "strip-ansi": "^4.0.0", "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } } }, "code-point-at": { @@ -434,15 +455,15 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "conventional-changelog": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.0.5.tgz", - "integrity": "sha512-JYSVGJbnOl9S2gkZwmoJ+wX2gxNVHodUmEiv+eIykeJBNX0zN5vJ3oa2xCvk2HiF7TZ+Les0eq/aX49dcymONA==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.0.6.tgz", + "integrity": "sha512-1b96x3G67lDKakRvMm+VvYGwgRk+C8aapHKL5iZ/TJzzD/RuyGA2diHNEsR+uPHmQ7/A4Ts7j6N+VNqUoOfksg==", "dev": true, "requires": { - "conventional-changelog-angular": "^5.0.2", + "conventional-changelog-angular": "^5.0.3", "conventional-changelog-atom": "^2.0.1", "conventional-changelog-codemirror": "^2.0.1", - "conventional-changelog-core": "^3.1.5", + "conventional-changelog-core": "^3.1.6", "conventional-changelog-ember": "^2.0.2", "conventional-changelog-eslint": "^3.0.1", "conventional-changelog-express": "^2.0.1", @@ -452,9 +473,9 @@ } }, "conventional-changelog-angular": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.2.tgz", - "integrity": "sha512-yx7m7lVrXmt4nKWQgWZqxSALEiAKZhOAcbxdUaU9575mB0CzXVbgrgpfSnSP7OqWDUTYGD0YVJ0MSRdyOPgAwA==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.3.tgz", + "integrity": "sha512-YD1xzH7r9yXQte/HF9JBuEDfvjxxwDGGwZU1+ndanbY0oFgA+Po1T9JDSpPLdP0pZT6MhCAsdvFKC4TJ4MTJTA==", "dev": true, "requires": { "compare-func": "^1.3.1", @@ -471,13 +492,13 @@ } }, "conventional-changelog-cli": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.0.11.tgz", - "integrity": "sha512-00Z4EZfpuQxvStA5fjJXdixXCtRd5/AUMUOhYKOomhH3cRFqzF/P0MP8vavT9wnGkR0eba9mrWsMuqeVszPRxQ==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.0.12.tgz", + "integrity": "sha512-6wh9W5Gpr9DM40E8cFi0qa6JotVm4Jq+suksuqgKnm544H8ZXsRhgGNXShDASOteY9brv9fX8/+fE/QL1wHqbA==", "dev": true, "requires": { "add-stream": "^1.0.0", - "conventional-changelog": "^3.0.5", + "conventional-changelog": "^3.0.6", "lodash": "^4.2.1", "meow": "^4.0.0", "tempfile": "^1.1.1" @@ -493,12 +514,12 @@ } }, "conventional-changelog-core": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.1.5.tgz", - "integrity": "sha512-iwqAotS4zk0wA4S84YY1JCUG7X3LxaRjJxuUo6GI4dZuIy243j5nOg/Ora35ExT4DOiw5dQbMMQvw2SUjh6moQ==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.1.6.tgz", + "integrity": "sha512-5teTAZOtJ4HLR6384h50nPAaKdDr+IaU0rnD2Gg2C3MS7hKsEPH8pZxrDNqam9eOSPQg9tET6uZY79zzgSz+ig==", "dev": true, "requires": { - "conventional-changelog-writer": "^4.0.2", + "conventional-changelog-writer": "^4.0.3", "conventional-commits-parser": "^3.0.1", "dateformat": "^3.0.0", "get-pkg-repo": "^1.0.0", @@ -566,15 +587,15 @@ "dev": true }, "conventional-changelog-writer": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.2.tgz", - "integrity": "sha512-d8/FQY/fix2xXEBUhOo8u3DCbyEw3UOQgYHxLsPDw+wHUDma/GQGAGsGtoH876WyNs32fViHmTOUrgRKVLvBug==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.3.tgz", + "integrity": "sha512-bIlpSiQtQZ1+nDVHEEh798Erj2jhN/wEjyw9sfxY9es6h7pREE5BNJjfv0hXGH/FTrAsEpHUq4xzK99eePpwuA==", "dev": true, "requires": { "compare-func": "^1.3.1", "conventional-commits-filter": "^2.0.1", "dateformat": "^3.0.0", - "handlebars": "^4.0.2", + "handlebars": "^4.1.0", "json-stringify-safe": "^5.0.1", "lodash": "^4.2.1", "meow": "^4.0.0", @@ -709,7 +730,7 @@ }, "doctrine": { "version": "0.7.2", - "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", "dev": true, "requires": { @@ -850,7 +871,7 @@ }, "camelcase-keys": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { @@ -879,7 +900,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { @@ -898,7 +919,7 @@ }, "meow": { "version": "3.7.0", - "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { @@ -914,6 +935,12 @@ "trim-newlines": "^1.0.0" } }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", @@ -945,7 +972,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -1042,7 +1069,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -1110,9 +1137,9 @@ "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" }, "handlebars": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz", - "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.0.tgz", + "integrity": "sha512-l2jRuU1NAWK6AW5qqcTATWQJvNPEwkM7NEKSiv/gqOsoSQbVoWyqVEY5GS+XPQ88zLNmqASRpzfdm8d79hJS+w==", "requires": { "async": "^2.5.0", "optimist": "^0.6.1", @@ -1127,6 +1154,14 @@ "dev": true, "requires": { "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } } }, "has-flag": { @@ -1140,9 +1175,9 @@ "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" }, "highlight.js": { - "version": "9.12.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz", - "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=" + "version": "9.14.2", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.14.2.tgz", + "integrity": "sha512-Nc6YNECYpxyJABGYJAyw7dBAYbXEuIzwzkqoJnwbc1nIpCiN+3ioYf0XrBnLiyyG0JLuJhpPtt2iTSbXiKLoyA==" }, "hosted-git-info": { "version": "2.7.1", @@ -1200,15 +1235,6 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "^1.0.0" - } - }, "is-finite": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", @@ -1225,7 +1251,7 @@ }, "is-obj": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, @@ -1300,9 +1326,9 @@ "dev": true }, "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", + "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -1475,6 +1501,14 @@ "read-pkg-up": "^3.0.0", "redent": "^2.0.0", "trim-newlines": "^2.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } } }, "mimic-fn": { @@ -1491,9 +1525,9 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "minimist-options": { "version": "3.0.2", @@ -1507,17 +1541,10 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } } }, "mocha": { @@ -1555,14 +1582,6 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -1599,18 +1618,18 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, "nodemailer": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-4.7.0.tgz", - "integrity": "sha512-IludxDypFpYw4xpzKdMAozBSkzKHmNBvGanUREjJItgJ2NYcK/s8+PggVhj7c2yGFQykKsnnmv1+Aqo0ZfjHmw==" + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-5.1.1.tgz", + "integrity": "sha512-hKGCoeNdFL2W7S76J/Oucbw0/qRlfG815tENdhzcqTpSjKgAN91mFOqU2lQUflRRxFM7iZvCyaFcAR9noc/CqQ==" }, "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "requires": { "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", + "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" } @@ -1648,13 +1667,6 @@ "requires": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" - } } }, "os-locale": { @@ -1669,7 +1681,7 @@ }, "os-tmpdir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, @@ -1727,7 +1739,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { @@ -1794,6 +1806,14 @@ "requires": { "minimist": "^1.2.0", "prepend-file": "1.3.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } } }, "process-nextick-args": { @@ -1852,7 +1872,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { @@ -1911,9 +1931,9 @@ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, "resolve": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.9.0.tgz", - "integrity": "sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", + "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", "requires": { "path-parse": "^1.0.6" } @@ -1976,9 +1996,9 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", + "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -2011,9 +2031,9 @@ } }, "spdx-license-ids": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", - "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", + "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==", "dev": true }, "split": { @@ -2036,7 +2056,7 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, @@ -2047,26 +2067,11 @@ "requires": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } } }, "string_decoder": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { @@ -2074,11 +2079,11 @@ } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^3.0.0" } }, "strip-bom": { @@ -2099,10 +2104,12 @@ "dev": true }, "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "requires": { + "has-flag": "^3.0.0" + } }, "tempfile": { "version": "1.1.1", @@ -2122,7 +2129,7 @@ }, "through": { "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, @@ -2163,29 +2170,33 @@ "dev": true }, "ts-json-schema-generator": { - "version": "0.38.1", - "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.38.1.tgz", - "integrity": "sha512-m0yBRUU35pPBUIavL1fFN7XEgcA1xNqcuIegT5Zm7QF3wsjqXofIMqO/lCVXVGCAHYvaOcRfpsPCS63w3vvAEQ==", + "version": "0.40.0", + "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.40.0.tgz", + "integrity": "sha512-VkxzG2fBVzu5Ohv6UXa6g43GGq3d/ejeZHetvMbLDFJZ2xPOEKglMLAQbZ8aX6WAE7cdhhSum8S5BnDMqB045Q==", "requires": { "commander": "~2.19.0", "glob": "~7.1.3", "json-stable-stringify": "^1.0.1", - "typescript": "^3.2.2" + "typescript": "^3.3.1" + }, + "dependencies": { + "typescript": { + "version": "3.3.3333", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.3333.tgz", + "integrity": "sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw==" + } } }, "ts-node": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz", - "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.0.2.tgz", + "integrity": "sha512-MosTrinKmaAcWgO8tqMjMJB22h+sp3Rd1i4fdoWY4mhBDekOwIAKI/bzmRi7IcbCmjquccYg2gcF6NBkLgr0Tw==", "requires": { - "arrify": "^1.0.0", - "buffer-from": "^1.1.0", + "arg": "^4.1.0", "diff": "^3.1.0", "make-error": "^1.1.1", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", "source-map-support": "^0.5.6", - "yn": "^2.0.0" + "yn": "^3.0.0" } }, "tslib": { @@ -2195,9 +2206,9 @@ "dev": true }, "tslint": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.12.0.tgz", - "integrity": "sha512-CKEcH1MHUBhoV43SA/Jmy1l24HJJgI0eyLbBNSRyFlsQvb9v6Zdq+Nz2vEOH00nC5SUx4SneJ59PZUS/ARcokQ==", + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.12.1.tgz", + "integrity": "sha512-sfodBHOucFg6egff8d1BvuofoOQ/nOeYNfbp7LDlKBcLNrL3lmS5zoiDGyOMdT7YsEXAwWpTdAHwOGOc8eRZAw==", "dev": true, "requires": { "babel-code-frame": "^6.22.0", @@ -2232,9 +2243,9 @@ "dev": true }, "tsutils": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.5.2.tgz", - "integrity": "sha512-qIlklNuI/1Dzfm+G+kJV5gg3gimZIX5haYtIVQe7qGyKd7eu8T1t1DY6pz4Sc2CGXAj9s1izycctm9Zfl9sRuQ==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.8.0.tgz", + "integrity": "sha512-XQdPhgcoTbCD8baXC38PQ0vpTZ8T3YrE+vR66YIj/xvDt1//8iAhafpIT/4DmvzzC1QFapEImERu48Pa01dIUA==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -2257,9 +2268,9 @@ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" }, "typedoc": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.14.0.tgz", - "integrity": "sha512-9DOYWO6O02YGZfbNOrELtmpQF4Eba/6AfNQNt46iRuIokoEq1Axdz9Ae/XjgdoXsM2ShGlDZsAO36BwRVz/Nmw==", + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.14.2.tgz", + "integrity": "sha512-aEbgJXV8/KqaVhcedT7xG6d2r+mOvB5ep3eIz1KuB5sc4fDYXcepEEMdU7XSqLFO5hVPu0nllHi1QxX2h/QlpQ==", "requires": { "@types/fs-extra": "^5.0.3", "@types/handlebars": "^4.0.38", @@ -2270,7 +2281,7 @@ "@types/shelljs": "^0.8.0", "fs-extra": "^7.0.0", "handlebars": "^4.0.6", - "highlight.js": "9.12.0", + "highlight.js": "^9.13.1", "lodash": "^4.17.10", "marked": "^0.4.0", "minimatch": "^3.0.0", @@ -2278,6 +2289,13 @@ "shelljs": "^0.8.2", "typedoc-default-themes": "^0.5.0", "typescript": "3.2.x" + }, + "dependencies": { + "typescript": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz", + "integrity": "sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==" + } } }, "typedoc-default-themes": { @@ -2288,7 +2306,8 @@ "typescript": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.2.tgz", - "integrity": "sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg==" + "integrity": "sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg==", + "dev": true }, "uglify-js": { "version": "3.4.9", @@ -2329,7 +2348,7 @@ }, "uuid": { "version": "2.0.3", - "resolved": "http://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", "dev": true }, @@ -2370,6 +2389,11 @@ "strip-ansi": "^3.0.1" }, "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", @@ -2387,6 +2411,14 @@ "is-fullwidth-code-point": "^1.0.0", "strip-ansi": "^3.0.0" } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } } } }, @@ -2439,9 +2471,9 @@ } }, "yn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", - "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.0.0.tgz", + "integrity": "sha512-+Wo/p5VRfxUgBUGy2j/6KX2mj9AYJWOHuhMjMcbBFc3y54o9/4buK1ksBvuiK01C3kby8DH9lSmJdSxw+4G/2Q==" } } } diff --git a/package.json b/package.json index 00be27b4..ac79e262 100644 --- a/package.json +++ b/package.json @@ -36,17 +36,15 @@ "tslint": "tslint 'src/**/*.ts'" }, "dependencies": { - "@openstapps/logger": "0.0.3", - "@types/async": "2.0.50", + "@openstapps/logger": "0.0.5", "@types/chai": "4.1.7", "@types/del": "3.0.1", "@types/glob": "7.1.1", "@types/humanize-string": "1.0.0", - "@types/mocha": "5.2.5", + "@types/mocha": "5.2.6", "@types/mustache": "0.8.32", "@types/node": "10.12.18", - "ajv": "6.6.2", - "async": "2.6.1", + "ajv": "6.9.1", "async-pool-native": "0.1.0", "chai": "4.2.0", "commander": "2.19.0", @@ -58,16 +56,16 @@ "mocha-typescript": "1.1.17", "mustache": "3.0.1", "toposort": "2.0.2", - "ts-json-schema-generator": "0.38.1", - "ts-node": "7.0.1", - "typedoc": "0.14.0" + "ts-json-schema-generator": "0.40.0", + "ts-node": "8.0.2", + "typedoc": "0.14.2" }, "devDependencies": { - "@openstapps/configuration": "0.5.0", - "conventional-changelog-cli": "2.0.11", + "@openstapps/configuration": "0.6.0", + "conventional-changelog-cli": "2.0.12", "prepend-file-cli": "1.0.6", "rimraf": "2.6.3", - "tslint": "5.12.0", + "tslint": "5.12.1", "typescript": "3.2.2" } } diff --git a/src/common.ts b/src/common.ts index 8b7b5947..36db9daa 100644 --- a/src/common.ts +++ b/src/common.ts @@ -155,16 +155,6 @@ export function isSchemaWithDefinitions(schema: JSONSchema): schema is SchemaWit return typeof schema.definitions !== 'undefined'; } -/** - * Guard method for determining if an object (a thing) has a type property with a type of string - * - * @param thing {any} Any object (thing) - * @returns {boolean} Is an object (a thing) with a type property with type of string - */ -export function isThingWithType(thing: any): thing is { type: string } { - return typeof thing.type === 'string'; -} - /** * Get path that contains a tsconfig.json * diff --git a/src/validate.ts b/src/validate.ts index 4b5d1a3e..7385a3e8 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -20,7 +20,6 @@ import {basename, join, resolve} from 'path'; import { ExpectableValidationErrors, globPromisified, - isThingWithType, logger, readFilePromisified, writeFilePromisified, @@ -92,26 +91,6 @@ export class Validator { return this.validator.validate(instance, this.schemas[schemaName]); } - - /** - * Validate an instance of a thing against the consumed schema files - * - * Only use this method for instances of the SC with a set type property - * - * @param instance Instance to validate - * @deprecated Use [[validate]] instead - */ - public validateThing(instance: T): ValidatorResult { - if (!isThingWithType(instance)) { - throw new Error('Instance.type does not exist.'); - } - - const schemaName = 'SC' + instance.type.split(' ').map((part) => { - return part.substr(0, 1).toUpperCase() + part.substr(1); - }).join(''); - - return this.validate(instance, schemaName); - } } /** diff --git a/test/Schema.spec.ts b/test/Schema.spec.ts index 56dc8066..3b7bc7bc 100644 --- a/test/Schema.spec.ts +++ b/test/Schema.spec.ts @@ -25,7 +25,7 @@ process.on('unhandledRejection', (err) => { process.exit(1); }); -@suite(timeout(10000), slow(5000)) +@suite(timeout(15000), slow(5000)) export class SchemaSpec { @test async getSchema() { From d3ce936626751f24f20081403271d77e2c346e03 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 26 Feb 2019 16:16:26 +0100 Subject: [PATCH 040/215] feat: adjust generation of route documentation Fixes #12 --- src/common.ts | 2 +- src/routes.ts | 25 +++++++++++++++---------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/common.ts b/src/common.ts index 36db9daa..aa3fd42c 100644 --- a/src/common.ts +++ b/src/common.ts @@ -55,7 +55,7 @@ export interface RouteWithMetaInformation { * Instance of the route */ route: { - errorNames: string[]; + errorNames: Error[]; method: string; obligatoryParameters: { [k: string]: string; diff --git a/src/routes.ts b/src/routes.ts index 871317cd..ad2c4259 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -13,10 +13,8 @@ * this program. If not, see . */ import {asyncPool} from 'async-pool-native/dist/async-pool'; -import humanizeString = require('humanize-string'); import {ProjectReflection} from 'typedoc'; -import {logger, NodesWithMetaInformation, NodeWithMetaInformation} from './common'; -import {RouteWithMetaInformation} from './common'; +import {logger, NodesWithMetaInformation, NodeWithMetaInformation, RouteWithMetaInformation} from './common'; /** * Gather relevant information of routes @@ -33,20 +31,25 @@ export async function gatherRouteInformation(reflection: ProjectReflection): Pro throw new Error('Project reflection doesn\'t contain any modules.'); } - await asyncPool(2, reflection.children, async (module: any) => { + await asyncPool(2, reflection.children, async (module) => { if (Array.isArray(module.children) && module.children.length > 0) { - await asyncPool(2, module.children, (async (node: any) => { + await asyncPool(2, module.children, (async (node) => { if (Array.isArray(node.extendedTypes) && node.extendedTypes.length > 0) { - if (node.extendedTypes.some((extendedType: any) => { - return extendedType.name === 'SCAbstractRoute'; + if (node.extendedTypes.some((extendedType) => { + return (extendedType as any).name === 'SCAbstractRoute'; })) { logger.info(`Found ${node.name} in ${module.originalName}.`); + if (module.originalName.match(/\.d\.ts$/)) { + module.originalName = module.originalName.substr(0, module.originalName.length - 5); + logger.info(`Using compiled version of module in ${module.originalName}.`); + } + const importedModule = await import(module.originalName); const route = new importedModule[node.name](); - routes.push({description: node.comment, name: node.name, route}); + routes.push({description: node.comment!, name: node.name, route}); } } })); @@ -68,6 +71,8 @@ export async function gatherRouteInformation(reflection: ProjectReflection): Pro * @param humanize Whether to humanize the name or not */ export function getLinkedNameForNode(name: string, node: NodeWithMetaInformation, humanize: boolean = false): string { + const humanizeString = require('humanize-string'); + let printableName = name; if (humanize) { @@ -137,8 +142,8 @@ export function generateDocumentationForRoute(routeWithInfo: RouteWithMetaInform | request | ${getLinkedNameForNode(route.requestBodyName, nodes[route.requestBodyName])} | | response | ${getLinkedNameForNode(route.responseBodyName, nodes[route.responseBodyName])} | | success code | ${route.statusCodeSuccess} | -| errors | ${route.errorNames.map((errorName) => { - return getLinkedNameForNode(errorName, nodes[errorName]); +| errors | ${route.errorNames.map((error) => { + return getLinkedNameForNode(error.name, nodes[error.name]); }).join('
')} | `; if (typeof route.obligatoryParameters === 'object' && Object.keys(route.obligatoryParameters).length > 0) { From 89fcf5b642a419a07c3ac52183be394600643ca3 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 26 Feb 2019 16:55:53 +0100 Subject: [PATCH 041/215] ci: add test job for generation of route documentation --- .gitlab-ci.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 21150099..02d1177a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,7 +3,6 @@ image: registry.gitlab.com/openstapps/projectmanagement/node:latest cache: key: ${CI_COMMIT_REF_SLUG} paths: - - lib - node_modules before_script: @@ -20,6 +19,9 @@ build: stage: build script: - npm run build + artifacts: + paths: + - lib test: tags: @@ -35,6 +37,17 @@ audit: script: - npm audit +routes: + dependencies: + - build + stage: test + script: + - npm install @openstapps/core + - node lib/cli.js routes node_modules/@openstapps/core routes.md + artifacts: + paths: + - routes.md + pages: tags: - docker From 15e9432ae0f51391d061d55ad2464e3c95a7917d Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 26 Feb 2019 16:56:06 +0100 Subject: [PATCH 042/215] docs: adjust readme to reflect changes --- README.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 898ddc37..533574ed 100644 --- a/README.md +++ b/README.md @@ -26,15 +26,17 @@ Add `@validatable` to the Typedoc comment of the types that you want to convert The command `openstapps-core-tools` can then be called using these arguments: ```shell -node_modules/.bin/openstapps-core-tools schema +openstapps-core-tools schema ``` + where: - `` is path to the project (where used `*.ts` files are, e.g. `src/core`, - `` is directory to save output files to, e.g. `lib/schema`. Complete command with the example arguments is then: + ```shell -node_modules/.bin/openstapps-core-tools schema src/core lib/schema +openstapps-core-tools schema src/core lib/schema ``` Inside of a script in `package.json` or if the npm package is installed globally, the tool `stapps-convert` can be called without its local path (`node_modules/.bin`): @@ -105,16 +107,18 @@ Where `errorNames` holds the string values of the name property of the expected The command `openstapps-core-tools` can then be called using these arguments: ```shell -node_modules/.bin/openstapps-core-tools validate [reportPath] +openstapps-core-tools validate [reportPath] ``` + where: - `` is a directory where JSON schema files are, e.g. `lib/schema`, - `` is a directory where test files are, e.g. `src/test/resources`, - `[reportPath]` is a file where the HTML report of the validation will be saved to, e.g. `report.html` (optional argument - if it's not provided no report will be written). Command with the example arguments is then for example: + ```shell -node_modules/.bin/openstapps-core-tools validate lib/schema src/test/resources +openstapps-core-tools validate lib/schema src/test/resources ``` Inside of a script in `package.json` or if the npm package is installed globally, the tool `openstapps-validate` can be called without its local path (`node_modules/.bin`): @@ -123,14 +127,12 @@ Inside of a script in `package.json` or if the npm package is installed globally openstapps-core-tools validate lib/schema src/test/resources report.html ``` -## Generate documentation for routes +## Generate documentation for routes -To generate a documentation for the routes use the following command in the root directory of your StAppsCore. - -The generator relies on dynamic imports and must therefore be run this way. +To generate a documentation for the routes use the following command. ```shell -node --require ts-node/register node_modules/@openstapps/core-tools/src/cli.ts routes PATH/TO/ROUTES.md +openstapps-core-tools routes PATH/TO/CORE PATH/TO/ROUTES.md ``` ## Pack definitions and implementations From 3e5fa7fc2f85d92fe00189aa05796463b8e36b3e Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 26 Feb 2019 17:04:05 +0100 Subject: [PATCH 043/215] build: update dependencies --- package-lock.json | 1652 +++++++++++++++++++++++++++++++++++++++++++-- package.json | 16 +- 2 files changed, 1587 insertions(+), 81 deletions(-) diff --git a/package-lock.json b/package-lock.json index 65d6ea70..e64a9c4b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,9 +5,9 @@ "requires": true, "dependencies": { "@openstapps/configuration": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.6.0.tgz", - "integrity": "sha512-ArEbUWMwBqrzYzhYKEdQPoYA0M8jxdmCahouukbbrlWz6Ca3h5K1n3C7FG8g17bMYoVkthkJXt4uHMYtsQTY1A==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.7.0.tgz", + "integrity": "sha512-oQjT4AE3xyMvzdfrpQ18P95i8bp5Bvwlc8SiBOwid0sjGC8ATdLsveZrwF9NHsIxGh8STodfOi/COvae5DnNWA==", "dev": true, "requires": { "@types/chalk": "2.2.0", @@ -56,6 +56,13 @@ "@types/nodemailer": "4.6.5", "circular-json": "0.5.9", "nodemailer": "5.1.1" + }, + "dependencies": { + "@types/node": { + "version": "10.12.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", + "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==" + } } }, "@types/chai": { @@ -149,9 +156,9 @@ "integrity": "sha512-RTVWV485OOf4+nO2+feurk0chzHkSjkjALiejpHltyuMf/13fGymbbNNFrSKdSSUg1TIwzszXdWsVirxgqYiFA==" }, "@types/node": { - "version": "10.12.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", - "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==" + "version": "10.12.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.27.tgz", + "integrity": "sha512-e9wgeY6gaY21on3ve0xAjgBVjGDWq/xUteK0ujsE53bUoxycMkqfnkUgMt6ffZtykZ5X12Mg3T7Pw4TRCObDKg==" }, "@types/nodemailer": { "version": "4.6.5", @@ -188,9 +195,9 @@ "dev": true }, "ajv": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.1.tgz", - "integrity": "sha512-XDN92U311aINL77ieWHmqCcNlwjoP5cHXDxIxbf2MaPYuCXOHS7gHH8jktxeK5omgd52XbSTX6a4Piwd1pQmzA==", + "version": "6.9.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.2.tgz", + "integrity": "sha512-4UFy0/LgDo7Oa/+wOAlj44tp9K78u38E5/359eSrqEp1Z5PdVfimCcs7SluXMP755RUQu6d2b4AvF0R1C9RZjg==", "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -198,6 +205,11 @@ "uri-js": "^4.2.2" } }, + "ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==" + }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", @@ -220,11 +232,25 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "requires": { "sprintf-js": "~1.0.2" } }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -250,6 +276,11 @@ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", @@ -261,6 +292,11 @@ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, "async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", @@ -274,6 +310,11 @@ "resolved": "https://registry.npmjs.org/async-pool-native/-/async-pool-native-0.1.0.tgz", "integrity": "sha512-0uXldNQf9CzB4amb5SEg5lUouBzOOyKLHW6sx5FphkQStwTYV0tF6VIMpUkr0A66bIEZ5DaaOgmjkoANfjjRww==" }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -299,7 +340,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -332,6 +373,56 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -341,6 +432,33 @@ "concat-map": "0.0.1" } }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", @@ -357,6 +475,22 @@ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", @@ -406,6 +540,27 @@ "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz", "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==" }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", @@ -421,6 +576,15 @@ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -449,6 +613,11 @@ "dot-prop": "^3.0.0" } }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -629,6 +798,11 @@ "trim-off-newlines": "^1.0.0" } }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -672,11 +846,11 @@ "dev": true }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "decamelize": { @@ -702,6 +876,11 @@ } } }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, "deep-eql": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", @@ -710,6 +889,51 @@ "type-detect": "^4.0.0" } }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "del": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", @@ -723,6 +947,11 @@ "rimraf": "^2.2.8" } }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" + }, "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", @@ -730,7 +959,7 @@ }, "doctrine": { "version": "0.7.2", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", + "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", "dev": true, "requires": { @@ -755,6 +984,14 @@ "is-obj": "^1.0.0" } }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "requires": { + "once": "^1.4.0" + } + }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -764,6 +1001,29 @@ "is-arrayish": "^0.2.1" } }, + "es-abstract": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", + "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", + "requires": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-keys": "^1.0.12" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -772,8 +1032,7 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esutils": { "version": "2.0.2", @@ -807,6 +1066,137 @@ } } }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", @@ -817,6 +1207,27 @@ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -825,6 +1236,45 @@ "locate-path": "^2.0.0" } }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "flat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", + "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "requires": { + "is-buffer": "~2.0.3" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", + "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, "fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", @@ -840,6 +1290,11 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", @@ -871,7 +1326,7 @@ }, "camelcase-keys": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { @@ -900,7 +1355,7 @@ }, "load-json-file": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { @@ -919,7 +1374,7 @@ }, "meow": { "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { @@ -972,7 +1427,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -1044,6 +1499,11 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, "git-raw-commits": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", @@ -1069,7 +1529,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -1107,6 +1567,28 @@ "path-is-absolute": "^1.0.0" } }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, "globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", @@ -1147,6 +1629,14 @@ "uglify-js": "^3.1.4" } }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -1169,16 +1659,58 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, "highlight.js": { "version": "9.14.2", "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.14.2.tgz", "integrity": "sha512-Nc6YNECYpxyJABGYJAyw7dBAYbXEuIzwzkqoJnwbc1nIpCiN+3ioYf0XrBnLiyyG0JLuJhpPtt2iTSbXiKLoyA==" }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "requires": { + "parse-passwd": "^1.0.0" + } + }, "hosted-git-info": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", @@ -1216,8 +1748,7 @@ "ini": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "interpret": { "version": "1.2.0", @@ -1229,12 +1760,90 @@ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, "is-finite": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", @@ -1249,9 +1858,35 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "is-obj": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, @@ -1282,6 +1917,22 @@ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", "dev": true }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "requires": { + "has": "^1.0.1" + } + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -1293,6 +1944,14 @@ "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", "dev": true }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "requires": { + "has-symbols": "^1.0.0" + } + }, "is-text-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", @@ -1308,6 +1967,11 @@ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -1319,6 +1983,11 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", @@ -1326,9 +1995,9 @@ "dev": true }, "js-yaml": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", - "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", + "version": "3.12.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.2.tgz", + "integrity": "sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -1384,6 +2053,11 @@ "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.4.tgz", "integrity": "sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw==" }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", @@ -1443,6 +2117,14 @@ "lodash._reinterpolate": "~3.0.0" } }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "requires": { + "chalk": "^2.0.1" + } + }, "loud-rejection": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", @@ -1467,12 +2149,33 @@ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==" }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, "map-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", "dev": true }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, "marked": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/marked/-/marked-0.4.0.tgz", @@ -1511,6 +2214,26 @@ } } }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", @@ -1539,48 +2262,204 @@ "is-plain-obj": "^1.1.0" } }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" } }, "mocha": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", - "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.0.2.tgz", + "integrity": "sha512-RtTJsmmToGyeTznSOMoM6TPEk1A84FQaHIciKrRqARZx+B5ccJ5tXlmJzEKGBxZdqk9UjpRsesZTUkZmR5YnuQ==", "requires": { + "ansi-colors": "3.2.3", "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", + "debug": "3.2.6", "diff": "3.5.0", "escape-string-regexp": "1.0.5", - "glob": "7.1.2", + "findup-sync": "2.0.0", + "glob": "7.1.3", "growl": "1.10.5", - "he": "1.1.1", + "he": "1.2.0", + "js-yaml": "3.12.0", + "log-symbols": "2.2.0", "minimatch": "3.0.4", "mkdirp": "0.5.1", - "supports-color": "5.4.0" + "ms": "2.1.1", + "node-environment-flags": "1.0.4", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "12.0.5", + "yargs-parser": "11.1.1", + "yargs-unparser": "1.5.0" }, "dependencies": { - "commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==" + "camelcase": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==" }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "mem": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", + "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^2.0.0" + } + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-limit": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", + "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==" + }, + "supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } @@ -1603,20 +2482,46 @@ "dev": true }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" }, "mustache": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.0.1.tgz", "integrity": "sha512-jFI/4UVRsRYdUbuDTKT7KzfOp7FiD5WzYmmwNwXyUVypC0xjoTL78Fqc0jHUPIvvGD+6DQSPHIt1NE7D1ArsqA==" }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" }, + "node-environment-flags": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.4.tgz", + "integrity": "sha512-M9rwCnWVLW7PX+NUWe3ejEdiLYinRpsEre9hMkU/6NS4h+EEulYaDH1gCEZ2gyXsmw+RXYDaV2JkkTNcsPDJ0Q==", + "requires": { + "object.getownpropertydescriptors": "^2.0.3" + } + }, "nodemailer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-5.1.1.tgz", @@ -1652,6 +2557,75 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", + "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -1681,15 +2655,25 @@ }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, + "p-is-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", + "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==" + }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -1732,6 +2716,16 @@ "json-parse-better-errors": "^1.0.1" } }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", @@ -1739,7 +2733,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { @@ -1789,6 +2783,11 @@ "pinkie": "^2.0.0" } }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, "prepend-file": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/prepend-file/-/prepend-file-1.3.1.tgz", @@ -1832,6 +2831,15 @@ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -1872,7 +2880,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { @@ -1911,6 +2919,25 @@ "strip-indent": "^2.0.0" } }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, "repeating": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", @@ -1938,6 +2965,25 @@ "path-parse": "^1.0.6" } }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -1952,6 +2998,14 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, "semver": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", @@ -1962,6 +3016,27 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -1990,11 +3065,138 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, "source-map-support": { "version": "0.5.10", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", @@ -2004,6 +3206,11 @@ "source-map": "^0.6.0" } }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, "spdx-correct": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", @@ -2045,6 +3252,14 @@ "through": "2" } }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, "split2": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", @@ -2056,9 +3271,27 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } }, "string-width": { "version": "2.1.1", @@ -2071,7 +3304,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { @@ -2103,6 +3336,11 @@ "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", "dev": true }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, "supports-color": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", @@ -2129,7 +3367,7 @@ }, "through": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, @@ -2152,6 +3390,44 @@ "os-tmpdir": "~1.0.1" } }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, "toposort": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", @@ -2206,9 +3482,9 @@ "dev": true }, "tslint": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.12.1.tgz", - "integrity": "sha512-sfodBHOucFg6egff8d1BvuofoOQ/nOeYNfbp7LDlKBcLNrL3lmS5zoiDGyOMdT7YsEXAwWpTdAHwOGOc8eRZAw==", + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.13.0.tgz", + "integrity": "sha512-ECOOQRxXCYnUUePG5h/+Z1Zouobk3KFpIHA9aKBB/nnMxs97S1JJPDGt5J4cGm1y9U9VmVlfboOxA8n1kSNzGw==", "dev": true, "requires": { "babel-code-frame": "^6.22.0", @@ -2219,6 +3495,7 @@ "glob": "^7.1.1", "js-yaml": "^3.7.0", "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", "resolve": "^1.3.2", "semver": "^5.3.0", "tslib": "^1.8.0", @@ -2304,9 +3581,9 @@ "integrity": "sha1-bcJDPnjti+qOiHo6zeLzF4W9Yic=" }, "typescript": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.2.tgz", - "integrity": "sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg==", + "version": "3.3.3333", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.3333.tgz", + "integrity": "sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw==", "dev": true }, "uglify-js": { @@ -2327,11 +3604,84 @@ } } }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } + } + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + } + } + }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -2340,6 +3690,16 @@ "punycode": "^2.1.0" } }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -2348,7 +3708,7 @@ }, "uuid": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "resolved": "http://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", "dev": true }, @@ -2375,6 +3735,14 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, "wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", @@ -2470,6 +3838,144 @@ "camelcase": "^4.1.0" } }, + "yargs-unparser": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz", + "integrity": "sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw==", + "requires": { + "flat": "^4.1.0", + "lodash": "^4.17.11", + "yargs": "^12.0.5" + }, + "dependencies": { + "camelcase": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==" + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "mem": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", + "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^2.0.0" + } + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-limit": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", + "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==" + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, "yn": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/yn/-/yn-3.0.0.tgz", diff --git a/package.json b/package.json index ac79e262..68930832 100644 --- a/package.json +++ b/package.json @@ -30,8 +30,8 @@ "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md && git commit -m 'docs: update changelog'", "check-configuration": "openstapps-configuration", "compile": "rimraf lib && tsc && prepend lib/cli.js '#!/usr/bin/env node\n'", - "documentation": "typedoc --includeDeclarations --excludeExternals --mode modules --out docs src", - "prepublishOnly": "npm run build", + "documentation": "typedoc --includeDeclarations --mode modules --out docs --readme README.md --listInvalidSymbolLinks --excludeExternals src", + "prepublishOnly": "npm ci && npm run build", "test": "mocha --require ts-node/register --ui mocha-typescript test/*.spec.ts", "tslint": "tslint 'src/**/*.ts'" }, @@ -43,8 +43,8 @@ "@types/humanize-string": "1.0.0", "@types/mocha": "5.2.6", "@types/mustache": "0.8.32", - "@types/node": "10.12.18", - "ajv": "6.9.1", + "@types/node": "10.12.27", + "ajv": "6.9.2", "async-pool-native": "0.1.0", "chai": "4.2.0", "commander": "2.19.0", @@ -52,7 +52,7 @@ "glob": "7.1.3", "humanize-string": "1.0.2", "jsonschema": "1.2.4", - "mocha": "5.2.0", + "mocha": "6.0.2", "mocha-typescript": "1.1.17", "mustache": "3.0.1", "toposort": "2.0.2", @@ -61,11 +61,11 @@ "typedoc": "0.14.2" }, "devDependencies": { - "@openstapps/configuration": "0.6.0", + "@openstapps/configuration": "0.7.0", "conventional-changelog-cli": "2.0.12", "prepend-file-cli": "1.0.6", "rimraf": "2.6.3", - "tslint": "5.12.1", - "typescript": "3.2.2" + "tslint": "5.13.0", + "typescript": "3.3.3333" } } From 1022150ca3d2af846b819e0e0e46ead71134d5f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Wed, 3 Apr 2019 12:33:53 +0200 Subject: [PATCH 044/215] feat: add feature to validate schemas directly --- src/validate.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/validate.ts b/src/validate.ts index 7385a3e8..282c7e1a 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -82,14 +82,20 @@ export class Validator { * Validates anything against a given schema name * * @param instance Instance to validate - * @param schemaName Name of schema to validate instance against + * @param schema Name of schema to validate instance against or the schema itself */ - public validate(instance: any, schemaName: string): ValidatorResult { - if (typeof this.schemas[schemaName] !== 'object') { - throw new Error(`No schema available for ${schemaName}.`); - } + public validate(instance: any, schema: string | Schema): ValidatorResult { + if (typeof schema === 'string') { + // if you want to access a schema that is contained in the validator object + if (typeof this.schemas[schema] !== 'object') { + throw new Error(`No schema available for ${schema}.`); + } - return this.validator.validate(instance, this.schemas[schemaName]); + return this.validator.validate(instance, this.schemas[schema]); + } else { + // if you have a schema and want to validate it directly + return this.validator.validate(instance, schema); + } } } From 944f4e252ddcb3ae6830b071d3bd88755a98400a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Wed, 3 Apr 2019 12:50:05 +0200 Subject: [PATCH 045/215] ci: allow audit to fail --- .gitlab-ci.yml | 12 +++++++++++- README.md | 2 +- package-lock.json | 6 +++--- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 02d1177a..5641193e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,6 +36,16 @@ audit: stage: test script: - npm audit + allow_failure: true + except: + - schedules + +scheduled-audit: + stage: test + script: + - npm-audit + only: + - schedules routes: dependencies: @@ -43,7 +53,7 @@ routes: stage: test script: - npm install @openstapps/core - - node lib/cli.js routes node_modules/@openstapps/core routes.md + - node lib/cli.js routes node_modules/@openstapps/core/lib routes.md artifacts: paths: - routes.md diff --git a/README.md b/README.md index 533574ed..b0f683b6 100644 --- a/README.md +++ b/README.md @@ -132,7 +132,7 @@ openstapps-core-tools validate lib/schema src/test/resources report.html To generate a documentation for the routes use the following command. ```shell -openstapps-core-tools routes PATH/TO/CORE PATH/TO/ROUTES.md +openstapps-core-tools routes PATH/TO/CORE/lib PATH/TO/ROUTES.md ``` ## Pack definitions and implementations diff --git a/package-lock.json b/package-lock.json index e64a9c4b..60d18a29 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1995,9 +1995,9 @@ "dev": true }, "js-yaml": { - "version": "3.12.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.2.tgz", - "integrity": "sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz", + "integrity": "sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ==", "dev": true, "requires": { "argparse": "^1.0.7", From bd41c3a707580cb3d357e62edf113506af816299 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Wed, 3 Apr 2019 15:06:53 +0200 Subject: [PATCH 046/215] 0.4.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 60d18a29..0675021b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.3.0", + "version": "0.4.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 68930832..9570780b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.3.0", + "version": "0.4.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From a7ac4fe23d3c6967788f93c8d56dc89a2f5210bc Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Wed, 3 Apr 2019 15:06:56 +0200 Subject: [PATCH 047/215] docs: update changelog --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index be7b4c95..8a650f7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +# [0.4.0](https://gitlab.com/openstapps/core-tools/compare/v0.3.0...v0.4.0) (2019-04-03) + + +### Features + +* add feature to validate schemas directly ([1022150](https://gitlab.com/openstapps/core-tools/commit/1022150)) +* adjust generation of route documentation ([d3ce936](https://gitlab.com/openstapps/core-tools/commit/d3ce936)), closes [#12](https://gitlab.com/openstapps/core-tools/issues/12) + + + # [0.3.0](https://gitlab.com/openstapps/core-tools/compare/v0.2.1...v0.3.0) (2019-02-06) From 9e8dc186f3306dc6bcc98400e006b8d046374e4f Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Mon, 8 Apr 2019 10:59:40 +0200 Subject: [PATCH 048/215] build: update dependencies Fixes #16 --- package-lock.json | 1414 +++++++-------------------------------------- package.json | 24 +- src/schema.ts | 3 +- 3 files changed, 232 insertions(+), 1209 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0675021b..4d8be7e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,29 +5,34 @@ "requires": true, "dependencies": { "@openstapps/configuration": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.7.0.tgz", - "integrity": "sha512-oQjT4AE3xyMvzdfrpQ18P95i8bp5Bvwlc8SiBOwid0sjGC8ATdLsveZrwF9NHsIxGh8STodfOi/COvae5DnNWA==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.8.0.tgz", + "integrity": "sha512-LwSlnm2BhT6ZtueW/29XhDLqnkU5ps63ar4UF0Nw5a79tTZ7XsQ7BY11ZH2LYwV132+k1tPgjnqpY/KrVgVltQ==", "dev": true, "requires": { - "@types/chalk": "2.2.0", - "@types/node": "10.12.15", + "@types/node": "10.14.3", "chalk": "2.4.2", "commander": "2.19.0", - "tslint": "5.12.0", + "tslint": "5.14.0", "tslint-eslint-rules": "5.4.0" }, "dependencies": { "@types/node": { - "version": "10.12.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.15.tgz", - "integrity": "sha512-9kROxduaN98QghwwHmxXO2Xz3MaWf+I1sLVAA6KJDF5xix+IyXVhds0MAfdNwtcpSrzhaTsNB0/jnL86fgUhqA==", + "version": "10.14.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.3.tgz", + "integrity": "sha512-2lhc7S28vo8FwR3Jv3Ifyd77AxEsx+Nl9ajWiac6/eWuvZ84zPK4RE05pfqcn3acIzlZDpQj5F1rIKQZX3ptLQ==", + "dev": true + }, + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", "dev": true }, "tslint": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.12.0.tgz", - "integrity": "sha512-CKEcH1MHUBhoV43SA/Jmy1l24HJJgI0eyLbBNSRyFlsQvb9v6Zdq+Nz2vEOH00nC5SUx4SneJ59PZUS/ARcokQ==", + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.14.0.tgz", + "integrity": "sha512-IUla/ieHVnB8Le7LdQFRGlVJid2T/gaJe5VkjzRVSRR6pA2ODYrnfR1hmxi+5+au9l50jBwpbBL34txgv4NnTQ==", "dev": true, "requires": { "babel-code-frame": "^6.22.0", @@ -38,10 +43,11 @@ "glob": "^7.1.1", "js-yaml": "^3.7.0", "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", "resolve": "^1.3.2", "semver": "^5.3.0", "tslib": "^1.8.0", - "tsutils": "^2.27.2" + "tsutils": "^2.29.0" } } } @@ -70,26 +76,17 @@ "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.7.tgz", "integrity": "sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==" }, - "@types/chalk": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@types/chalk/-/chalk-2.2.0.tgz", - "integrity": "sha512-1zzPV9FDe1I/WHhRkf9SNgqtRJWZqrBWgu7JGveuHmmyR9CnAPCie2N/x+iHrgnpYBIcCJWHBoMRv2TRWktsvw==", - "dev": true, - "requires": { - "chalk": "*" - } - }, "@types/circular-json": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@types/circular-json/-/circular-json-0.4.0.tgz", "integrity": "sha512-7+kYB7x5a7nFWW1YPBh3KxhwKfiaI4PbZ1RvzBU91LZy7lWJO822CI+pqzSre/DZ7KsCuMKdHnLHHFu8AyXbQg==" }, "@types/del": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/del/-/del-3.0.1.tgz", - "integrity": "sha512-y6qRq6raBuu965clKgx6FHuiPu3oHdtmzMPXi8Uahsjdq1L6DL5fS/aY5/s71YwM7k6K1QIWvem5vNwlnNGIkQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/del/-/del-4.0.0.tgz", + "integrity": "sha512-LDE5atstX5kKnTobWknpmGHC52DH/tp8pIVsD2SSxaOFqW3AQr0EpdzYIfkZ331xe7l9Vn9NlJsBG6viU3mjBA==", "requires": { - "@types/glob": "*" + "del": "*" } }, "@types/events": { @@ -126,9 +123,12 @@ "integrity": "sha512-pGF/zvYOACZ/gLGWdQH8zSwteQS1epp68yRcVLJMgUck/MjEn/FBYmPub9pXT8C1e4a8YZfHo1CKyV8q1vKUnQ==" }, "@types/humanize-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/humanize-string/-/humanize-string-1.0.0.tgz", - "integrity": "sha512-lfaNfcTSt2DLiF1V8kXMhT4rX7ggkc10wI9SqTrxFMNTIfaafXHCL5DS1q2J/i+Be3EBQyG+Ls8GSbKngvSIkw==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/humanize-string/-/humanize-string-2.0.2.tgz", + "integrity": "sha512-WC9Chke6ZWPNhvqRkChJCLEc46yaS6ZNTzbKumopVIbdrkq7IqL/84s19J8sc1903of0pL2QydCfTdhRyKN4ag==", + "requires": { + "humanize-string": "*" + } }, "@types/lodash": { "version": "4.14.121", @@ -156,9 +156,9 @@ "integrity": "sha512-RTVWV485OOf4+nO2+feurk0chzHkSjkjALiejpHltyuMf/13fGymbbNNFrSKdSSUg1TIwzszXdWsVirxgqYiFA==" }, "@types/node": { - "version": "10.12.27", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.27.tgz", - "integrity": "sha512-e9wgeY6gaY21on3ve0xAjgBVjGDWq/xUteK0ujsE53bUoxycMkqfnkUgMt6ffZtykZ5X12Mg3T7Pw4TRCObDKg==" + "version": "10.14.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.4.tgz", + "integrity": "sha512-DT25xX/YgyPKiHFOpNuANIQIVvYEwCWXgK2jYYwqgaMrYE6+tq+DtmMwlD3drl6DJbUwtlIDnn0d7tIn/EbXBg==" }, "@types/nodemailer": { "version": "4.6.5", @@ -195,9 +195,9 @@ "dev": true }, "ajv": { - "version": "6.9.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.2.tgz", - "integrity": "sha512-4UFy0/LgDo7Oa/+wOAlj44tp9K78u38E5/359eSrqEp1Z5PdVfimCcs7SluXMP755RUQu6d2b4AvF0R1C9RZjg==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", + "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -236,21 +236,6 @@ "sprintf-js": "~1.0.2" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", @@ -276,11 +261,6 @@ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", @@ -292,11 +272,6 @@ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, "async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", @@ -310,11 +285,6 @@ "resolved": "https://registry.npmjs.org/async-pool-native/-/async-pool-native-0.1.0.tgz", "integrity": "sha512-0uXldNQf9CzB4amb5SEg5lUouBzOOyKLHW6sx5FphkQStwTYV0tF6VIMpUkr0A66bIEZ5DaaOgmjkoANfjjRww==" }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -340,7 +310,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -373,56 +343,6 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -432,33 +352,6 @@ "concat-map": "0.0.1" } }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, "browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", @@ -475,22 +368,6 @@ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", @@ -540,27 +417,6 @@ "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz", "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==" }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", @@ -576,15 +432,6 @@ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -599,9 +446,9 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" }, "compare-func": { "version": "1.3.2", @@ -613,11 +460,6 @@ "dot-prop": "^3.0.0" } }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -798,11 +640,6 @@ "trim-off-newlines": "^1.0.0" } }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -876,11 +713,6 @@ } } }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, "deep-eql": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", @@ -897,61 +729,26 @@ "object-keys": "^1.0.12" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.0.tgz", + "integrity": "sha512-C4kvKNlYrwXhKxz97BuohF8YoGgQ23Xm9lvoHmgT7JaPGprSEjk3+XFled74Yt/x0ZABUHg2D67covzAPUKx5Q==", "requires": { "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } } }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" - }, "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", @@ -959,7 +756,7 @@ }, "doctrine": { "version": "0.7.2", - "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", "dev": true, "requires": { @@ -984,6 +781,11 @@ "is-obj": "^1.0.0" } }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", @@ -1066,137 +868,6 @@ } } }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", @@ -1207,27 +878,6 @@ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -1236,43 +886,12 @@ "locate-path": "^2.0.0" } }, - "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - } - }, "flat": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", "requires": { "is-buffer": "~2.0.3" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" } }, "fs-extra": { @@ -1499,11 +1118,6 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, "git-raw-commits": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", @@ -1567,28 +1181,6 @@ "path-is-absolute": "^1.0.0" } }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } - }, "globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", @@ -1664,35 +1256,6 @@ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -1703,14 +1266,6 @@ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.14.2.tgz", "integrity": "sha512-Nc6YNECYpxyJABGYJAyw7dBAYbXEuIzwzkqoJnwbc1nIpCiN+3ioYf0XrBnLiyyG0JLuJhpPtt2iTSbXiKLoyA==" }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "requires": { - "parse-passwd": "^1.0.0" - } - }, "hosted-git-info": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", @@ -1718,11 +1273,21 @@ "dev": true }, "humanize-string": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/humanize-string/-/humanize-string-1.0.2.tgz", - "integrity": "sha512-PH5GBkXqFxw5+4eKaKRIkD23y6vRd/IXSl7IldyJxEXpDH9SEIXRORkBtkGni/ae2P7RVOw6Wxypd2tGXhha1w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/humanize-string/-/humanize-string-2.1.0.tgz", + "integrity": "sha512-sQ+hqmxyXW8Cj7iqxcQxD7oSy3+AXnIZXdUF9lQMkzaG8dtbKAB8U7lCtViMnwQ+MpdCKsO2Kiij3G6UUXq/Xg==", "requires": { - "decamelize": "^1.0.0" + "decamelize": "^2.0.0" + }, + "dependencies": { + "decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "requires": { + "xregexp": "4.0.0" + } + } } }, "indent-string": { @@ -1748,7 +1313,8 @@ "ini": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true }, "interpret": { "version": "1.2.0", @@ -1760,24 +1326,6 @@ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -1785,65 +1333,20 @@ "dev": true }, "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", + "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" }, "is-callable": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, "is-finite": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", @@ -1858,32 +1361,6 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "is-obj": { "version": "1.0.1", "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", @@ -1891,14 +1368,14 @@ "dev": true }, "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.0.0.tgz", + "integrity": "sha512-m5dHHzpOXEiv18JEORttBO64UgTEypx99vCxQLjbBvGhOJxnTNglYoFXxwo6AbsQb79sqqycQEHv2hWkHZAijA==" }, "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.0.0.tgz", + "integrity": "sha512-6Vz5Gc9s/sDA3JBVu0FzWufm8xaBsqy1zn8Q6gmvGP6nSDMw78aS4poBNeatWjaRpTpxxLn1WOndAiOlk+qY8A==", "requires": { "is-path-inside": "^1.0.0" } @@ -1917,14 +1394,6 @@ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", "dev": true }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, "is-regex": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", @@ -1967,11 +1436,6 @@ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -1983,11 +1447,6 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", @@ -1998,7 +1457,6 @@ "version": "3.13.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz", "integrity": "sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ==", - "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -2053,11 +1511,6 @@ "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.4.tgz", "integrity": "sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw==" }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", @@ -2157,25 +1610,12 @@ "p-defer": "^1.0.0" } }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, "map-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", "dev": true }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } - }, "marked": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/marked/-/marked-0.4.0.tgz", @@ -2214,26 +1654,6 @@ } } }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", @@ -2262,48 +1682,29 @@ "is-plain-obj": "^1.1.0" } }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, "mkdirp": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" } }, "mocha": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.0.2.tgz", - "integrity": "sha512-RtTJsmmToGyeTznSOMoM6TPEk1A84FQaHIciKrRqARZx+B5ccJ5tXlmJzEKGBxZdqk9UjpRsesZTUkZmR5YnuQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.1.1.tgz", + "integrity": "sha512-ayfr68s4kyDnCU0hjkTk5Z8J8dqr1iPUuVjmd+dLFgaGKOPlgx1XrOGn5k3H1LlXNnLBb8voZMYMKxchiA4Ujg==", "requires": { "ansi-colors": "3.2.3", "browser-stdout": "1.3.1", "debug": "3.2.6", "diff": "3.5.0", "escape-string-regexp": "1.0.5", - "findup-sync": "2.0.0", + "find-up": "3.0.0", "glob": "7.1.3", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "3.12.0", + "js-yaml": "3.13.0", "log-symbols": "2.2.0", "minimatch": "3.0.4", "mkdirp": "0.5.1", @@ -2314,15 +1715,20 @@ "supports-color": "6.0.0", "which": "1.3.1", "wide-align": "1.1.3", - "yargs": "12.0.5", - "yargs-parser": "11.1.1", + "yargs": "13.2.2", + "yargs-parser": "13.0.0", "yargs-unparser": "1.5.0" }, "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, "camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==" + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, "execa": { "version": "1.0.0", @@ -2346,6 +1752,11 @@ "locate-path": "^3.0.0" } }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, "get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -2359,15 +1770,6 @@ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" }, - "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, "lcid": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", @@ -2386,15 +1788,20 @@ } }, "mem": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", - "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", "requires": { "map-age-cleaner": "^0.1.1", - "mimic-fn": "^1.0.0", + "mimic-fn": "^2.0.0", "p-is-promise": "^2.0.0" } }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, "os-locale": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", @@ -2406,9 +1813,9 @@ } }, "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", + "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", "requires": { "p-try": "^2.0.0" } @@ -2422,9 +1829,32 @@ } }, "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "require-main-filename": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==" + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } }, "supports-color": { "version": "6.0.0", @@ -2434,29 +1864,33 @@ "has-flag": "^3.0.0" } }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", + "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", "requires": { "cliui": "^4.0.0", - "decamelize": "^1.2.0", "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^2.0.0", + "string-width": "^3.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" + "y18n": "^4.0.0", + "yargs-parser": "^13.0.0" } }, "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", + "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", "requires": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -2491,24 +1925,6 @@ "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.0.1.tgz", "integrity": "sha512-jFI/4UVRsRYdUbuDTKT7KzfOp7FiD5WzYmmwNwXyUVypC0xjoTL78Fqc0jHUPIvvGD+6DQSPHIt1NE7D1ArsqA==" }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -2557,46 +1973,10 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "object-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", - "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object.assign": { "version": "4.1.0", @@ -2618,14 +1998,6 @@ "es-abstract": "^1.5.1" } }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } - }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -2670,9 +2042,9 @@ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, "p-is-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", - "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" }, "p-limit": { "version": "1.3.0", @@ -2691,9 +2063,9 @@ } }, "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" }, "p-try": { "version": "1.0.0", @@ -2716,16 +2088,6 @@ "json-parse-better-errors": "^1.0.1" } }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", @@ -2768,7 +2130,8 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true }, "pinkie": { "version": "2.0.4", @@ -2783,11 +2146,6 @@ "pinkie": "^2.0.0" } }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, "prepend-file": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/prepend-file/-/prepend-file-1.3.1.tgz", @@ -2919,25 +2277,6 @@ "strip-indent": "^2.0.0" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, "repeating": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", @@ -2965,25 +2304,6 @@ "path-parse": "^1.0.6" } }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - } - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -2998,14 +2318,6 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, "semver": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", @@ -3016,27 +2328,6 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, - "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -3065,152 +2356,20 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, "source-map-support": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", - "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.11.tgz", + "integrity": "sha512-//sajEx/fGL3iw6fltKMdPvy8kL3kJ2O3iuYlRoT3k9Kb4BjOoZ+BZzaNHeuaruSt+Kf3Zk9tnfAQg9/AJqUVQ==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, "spdx-correct": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", @@ -3252,14 +2411,6 @@ "through": "2" } }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, "split2": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", @@ -3271,28 +2422,9 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -3390,44 +2522,6 @@ "os-tmpdir": "~1.0.1" } }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, "toposort": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", @@ -3456,6 +2550,11 @@ "typescript": "^3.3.1" }, "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + }, "typescript": { "version": "3.3.3333", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.3333.tgz", @@ -3464,9 +2563,9 @@ } }, "ts-node": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.0.2.tgz", - "integrity": "sha512-MosTrinKmaAcWgO8tqMjMJB22h+sp3Rd1i4fdoWY4mhBDekOwIAKI/bzmRi7IcbCmjquccYg2gcF6NBkLgr0Tw==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.0.3.tgz", + "integrity": "sha512-2qayBA4vdtVRuDo11DEFSsD/SFsBXQBRZZhbRGSIkmYmVkWjULn/GGMdG10KVqkaGndljfaTD8dKjWgcejO8YA==", "requires": { "arg": "^4.1.0", "diff": "^3.1.0", @@ -3482,9 +2581,9 @@ "dev": true }, "tslint": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.13.0.tgz", - "integrity": "sha512-ECOOQRxXCYnUUePG5h/+Z1Zouobk3KFpIHA9aKBB/nnMxs97S1JJPDGt5J4cGm1y9U9VmVlfboOxA8n1kSNzGw==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.15.0.tgz", + "integrity": "sha512-6bIEujKR21/3nyeoX2uBnE8s+tMXCQXhqMmaIPJpHmXJoBJPTLcI7/VHRtUwMhnLVdwLqqY3zmd8Dxqa5CVdJA==", "dev": true, "requires": { "babel-code-frame": "^6.22.0", @@ -3493,13 +2592,13 @@ "commander": "^2.12.1", "diff": "^3.2.0", "glob": "^7.1.1", - "js-yaml": "^3.7.0", + "js-yaml": "^3.13.0", "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "resolve": "^1.3.2", "semver": "^5.3.0", "tslib": "^1.8.0", - "tsutils": "^2.27.2" + "tsutils": "^2.29.0" } }, "tslint-eslint-rules": { @@ -3520,9 +2619,9 @@ "dev": true }, "tsutils": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.8.0.tgz", - "integrity": "sha512-XQdPhgcoTbCD8baXC38PQ0vpTZ8T3YrE+vR66YIj/xvDt1//8iAhafpIT/4DmvzzC1QFapEImERu48Pa01dIUA==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.10.0.tgz", + "integrity": "sha512-q20XSMq7jutbGB8luhKKsQldRKWvyBO2BGqni3p4yq8Ys9bEP/xQw3KepKmMRt9gJ4lvQSScrihJrcKdKoSU7Q==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -3581,9 +2680,9 @@ "integrity": "sha1-bcJDPnjti+qOiHo6zeLzF4W9Yic=" }, "typescript": { - "version": "3.3.3333", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.3333.tgz", - "integrity": "sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.2.tgz", + "integrity": "sha512-Og2Vn6Mk7JAuWA1hQdDQN/Ekm/SchX80VzLhjKN9ETYrIepBFAd8PkOdOTK2nKt0FCkmMZKBJvQ1dV1gIxPu/A==", "dev": true }, "uglify-js": { @@ -3604,84 +2703,11 @@ } } }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } - } - }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - } - } - }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -3690,16 +2716,6 @@ "punycode": "^2.1.0" } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -3795,6 +2811,11 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, + "xregexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", + "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==" + }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", @@ -3849,9 +2870,9 @@ }, "dependencies": { "camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==" + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, "execa": { "version": "1.0.0", @@ -3906,15 +2927,20 @@ } }, "mem": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", - "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", "requires": { "map-age-cleaner": "^0.1.1", - "mimic-fn": "^1.0.0", + "mimic-fn": "^2.0.0", "p-is-promise": "^2.0.0" } }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, "os-locale": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", @@ -3926,9 +2952,9 @@ } }, "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", + "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", "requires": { "p-try": "^2.0.0" } @@ -3942,9 +2968,9 @@ } }, "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, "yargs": { "version": "12.0.5", @@ -3977,9 +3003,9 @@ } }, "yn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.0.0.tgz", - "integrity": "sha512-+Wo/p5VRfxUgBUGy2j/6KX2mj9AYJWOHuhMjMcbBFc3y54o9/4buK1ksBvuiK01C3kby8DH9lSmJdSxw+4G/2Q==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.0.tgz", + "integrity": "sha512-kKfnnYkbTfrAdd0xICNFw7Atm8nKpLcLv9AZGEt+kczL/WQVai4e2V6ZN8U/O+iI6WrNuJjNNOyu4zfhl9D3Hg==" } } } diff --git a/package.json b/package.json index 9570780b..43c5a70e 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md && git commit -m 'docs: update changelog'", "check-configuration": "openstapps-configuration", "compile": "rimraf lib && tsc && prepend lib/cli.js '#!/usr/bin/env node\n'", - "documentation": "typedoc --includeDeclarations --mode modules --out docs --readme README.md --listInvalidSymbolLinks --excludeExternals src", + "documentation": "typedoc --includeDeclarations --mode modules --out docs --readme README.md --listInvalidSymbolLinks src", "prepublishOnly": "npm ci && npm run build", "test": "mocha --require ts-node/register --ui mocha-typescript test/*.spec.ts", "tslint": "tslint 'src/**/*.ts'" @@ -38,34 +38,32 @@ "dependencies": { "@openstapps/logger": "0.0.5", "@types/chai": "4.1.7", - "@types/del": "3.0.1", "@types/glob": "7.1.1", - "@types/humanize-string": "1.0.0", "@types/mocha": "5.2.6", "@types/mustache": "0.8.32", - "@types/node": "10.12.27", - "ajv": "6.9.2", + "@types/node": "10.14.4", + "ajv": "6.10.0", "async-pool-native": "0.1.0", "chai": "4.2.0", - "commander": "2.19.0", - "del": "3.0.0", + "commander": "2.20.0", + "del": "4.1.0", "glob": "7.1.3", - "humanize-string": "1.0.2", + "humanize-string": "2.1.0", "jsonschema": "1.2.4", - "mocha": "6.0.2", + "mocha": "6.1.1", "mocha-typescript": "1.1.17", "mustache": "3.0.1", "toposort": "2.0.2", "ts-json-schema-generator": "0.40.0", - "ts-node": "8.0.2", + "ts-node": "8.0.3", "typedoc": "0.14.2" }, "devDependencies": { - "@openstapps/configuration": "0.7.0", + "@openstapps/configuration": "0.8.0", "conventional-changelog-cli": "2.0.12", "prepend-file-cli": "1.0.6", "rimraf": "2.6.3", - "tslint": "5.13.0", - "typescript": "3.3.3333" + "tslint": "5.15.0", + "typescript": "3.4.2" } } diff --git a/src/schema.ts b/src/schema.ts index d9141431..438ebc60 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -20,7 +20,6 @@ import {createFormatter} from 'ts-json-schema-generator/dist/factory/formatter'; import {createParser} from 'ts-json-schema-generator/dist/factory/parser'; import {createProgram} from 'ts-json-schema-generator/dist/factory/program'; import {ProjectReflection} from 'typedoc'; -import * as ts from 'typescript'; import {getTsconfigPath, isSchemaWithDefinitions} from './common'; /** @@ -50,7 +49,7 @@ export class Converter { }; // create TypeScript program from config - const program: ts.Program = createProgram(config); + const program = createProgram(config); // create generator this.generator = new SchemaGenerator( From e34ac4308e179e95f7bde4de3d3e3a0a127bb2b6 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 9 Apr 2019 10:57:20 +0200 Subject: [PATCH 049/215] ci: fix scheduled audit --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5641193e..97ca371e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -43,7 +43,7 @@ audit: scheduled-audit: stage: test script: - - npm-audit + - npm audit only: - schedules From cbe465efd5f7092252fa2af747927093c84f12cf Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Mon, 8 Apr 2019 11:21:26 +0200 Subject: [PATCH 050/215] build: correctly list dev dependencies --- package-lock.json | 297 ++++++++++++++++++++++++++++++++-------------- package.json | 10 +- src/routes.ts | 2 +- src/schema.ts | 2 +- src/validate.ts | 2 +- 5 files changed, 217 insertions(+), 96 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4d8be7e2..44f77027 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,11 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@krlwlfrt/async-pool": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@krlwlfrt/async-pool/-/async-pool-0.0.3.tgz", + "integrity": "sha512-/1kQ293t30sgnFRo/8cuMH2kE/kpf8K98yFLgJWYLnWy3SddbzDKK0J8JKy8LIf1wW+Tc833NazDluRxnVSA/g==" + }, "@openstapps/configuration": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.8.0.tgz", @@ -74,21 +79,14 @@ "@types/chai": { "version": "4.1.7", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.7.tgz", - "integrity": "sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==" + "integrity": "sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==", + "dev": true }, "@types/circular-json": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@types/circular-json/-/circular-json-0.4.0.tgz", "integrity": "sha512-7+kYB7x5a7nFWW1YPBh3KxhwKfiaI4PbZ1RvzBU91LZy7lWJO822CI+pqzSre/DZ7KsCuMKdHnLHHFu8AyXbQg==" }, - "@types/del": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/del/-/del-4.0.0.tgz", - "integrity": "sha512-LDE5atstX5kKnTobWknpmGHC52DH/tp8pIVsD2SSxaOFqW3AQr0EpdzYIfkZ331xe7l9Vn9NlJsBG6viU3mjBA==", - "requires": { - "del": "*" - } - }, "@types/events": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", @@ -122,14 +120,6 @@ "resolved": "https://registry.npmjs.org/@types/highlight.js/-/highlight.js-9.12.3.tgz", "integrity": "sha512-pGF/zvYOACZ/gLGWdQH8zSwteQS1epp68yRcVLJMgUck/MjEn/FBYmPub9pXT8C1e4a8YZfHo1CKyV8q1vKUnQ==" }, - "@types/humanize-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/humanize-string/-/humanize-string-2.0.2.tgz", - "integrity": "sha512-WC9Chke6ZWPNhvqRkChJCLEc46yaS6ZNTzbKumopVIbdrkq7IqL/84s19J8sc1903of0pL2QydCfTdhRyKN4ag==", - "requires": { - "humanize-string": "*" - } - }, "@types/lodash": { "version": "4.14.121", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.121.tgz", @@ -148,7 +138,8 @@ "@types/mocha": { "version": "5.2.6", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.6.tgz", - "integrity": "sha512-1axi39YdtBI7z957vdqXI4Ac25e7YihYQtJa+Clnxg1zTJEaIRbndt71O3sP4GAMgiAm0pY26/b9BrY4MR/PMw==" + "integrity": "sha512-1axi39YdtBI7z957vdqXI4Ac25e7YihYQtJa+Clnxg1zTJEaIRbndt71O3sP4GAMgiAm0pY26/b9BrY4MR/PMw==", + "dev": true }, "@types/mustache": { "version": "0.8.32", @@ -208,17 +199,20 @@ "ansi-colors": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==" + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "dev": true }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -232,6 +226,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -280,11 +275,6 @@ "lodash": "^4.17.11" } }, - "async-pool-native": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/async-pool-native/-/async-pool-native-0.1.0.tgz", - "integrity": "sha512-0uXldNQf9CzB4amb5SEg5lUouBzOOyKLHW6sx5FphkQStwTYV0tF6VIMpUkr0A66bIEZ5DaaOgmjkoANfjjRww==" - }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -310,7 +300,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -355,7 +345,8 @@ "browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true }, "buffer-from": { "version": "1.1.1", @@ -371,7 +362,8 @@ "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true }, "camelcase-keys": { "version": "4.2.0", @@ -401,6 +393,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -421,6 +414,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, "requires": { "string-width": "^2.1.1", "strip-ansi": "^4.0.0", @@ -430,12 +424,14 @@ "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -443,7 +439,8 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "commander": { "version": "2.20.0", @@ -650,6 +647,7 @@ "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, "requires": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -686,6 +684,7 @@ "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, "requires": { "ms": "^2.1.1" } @@ -693,7 +692,8 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true }, "decamelize-keys": { "version": "1.1.0", @@ -725,6 +725,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, "requires": { "object-keys": "^1.0.12" } @@ -756,7 +757,7 @@ }, "doctrine": { "version": "0.7.2", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", + "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", "dev": true, "requires": { @@ -784,12 +785,14 @@ "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, "requires": { "once": "^1.4.0" } @@ -807,6 +810,7 @@ "version": "1.13.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", + "dev": true, "requires": { "es-to-primitive": "^1.2.0", "function-bind": "^1.1.1", @@ -820,6 +824,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -829,12 +834,14 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true }, "esutils": { "version": "2.0.2", @@ -846,6 +853,7 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, "requires": { "cross-spawn": "^5.0.1", "get-stream": "^3.0.0", @@ -860,6 +868,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, "requires": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", @@ -882,6 +891,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, "requires": { "locate-path": "^2.0.0" } @@ -890,6 +900,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "dev": true, "requires": { "is-buffer": "~2.0.3" } @@ -912,12 +923,14 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true }, "get-func-name": { "version": "2.0.0", @@ -1116,7 +1129,8 @@ "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true }, "git-raw-commits": { "version": "2.0.0", @@ -1208,7 +1222,8 @@ "growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true }, "handlebars": { "version": "4.1.0", @@ -1225,6 +1240,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -1249,17 +1265,20 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true }, "highlight.js": { "version": "9.14.2", @@ -1324,7 +1343,8 @@ "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true }, "is-arrayish": { "version": "0.2.1", @@ -1335,17 +1355,20 @@ "is-buffer": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" + "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==", + "dev": true }, "is-callable": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true }, "is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true }, "is-finite": { "version": "1.0.2", @@ -1359,7 +1382,8 @@ "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true }, "is-obj": { "version": "1.0.1", @@ -1398,6 +1422,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, "requires": { "has": "^1.0.1" } @@ -1405,7 +1430,8 @@ "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true }, "is-subset": { "version": "0.1.1", @@ -1417,6 +1443,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, "requires": { "has-symbols": "^1.0.0" } @@ -1445,7 +1472,8 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "js-tokens": { "version": "3.0.2", @@ -1457,6 +1485,7 @@ "version": "3.13.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz", "integrity": "sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ==", + "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -1515,6 +1544,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, "requires": { "invert-kv": "^1.0.0" } @@ -1535,6 +1565,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, "requires": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -1574,6 +1605,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, "requires": { "chalk": "^2.0.1" } @@ -1592,6 +1624,7 @@ "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, "requires": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" @@ -1606,6 +1639,7 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, "requires": { "p-defer": "^1.0.0" } @@ -1625,6 +1659,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, "requires": { "mimic-fn": "^1.0.0" } @@ -1657,7 +1692,8 @@ "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true }, "minimatch": { "version": "3.0.4", @@ -1684,8 +1720,9 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, "requires": { "minimist": "0.0.8" } @@ -1694,6 +1731,7 @@ "version": "6.1.1", "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.1.1.tgz", "integrity": "sha512-ayfr68s4kyDnCU0hjkTk5Z8J8dqr1iPUuVjmd+dLFgaGKOPlgx1XrOGn5k3H1LlXNnLBb8voZMYMKxchiA4Ujg==", + "dev": true, "requires": { "ansi-colors": "3.2.3", "browser-stdout": "1.3.1", @@ -1723,17 +1761,20 @@ "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true }, "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true }, "execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, "requires": { "cross-spawn": "^6.0.0", "get-stream": "^4.0.0", @@ -1748,6 +1789,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, "requires": { "locate-path": "^3.0.0" } @@ -1755,12 +1797,14 @@ "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true }, "get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, "requires": { "pump": "^3.0.0" } @@ -1768,12 +1812,14 @@ "invert-kv": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true }, "lcid": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, "requires": { "invert-kv": "^2.0.0" } @@ -1782,6 +1828,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -1791,6 +1838,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, "requires": { "map-age-cleaner": "^0.1.1", "mimic-fn": "^2.0.0", @@ -1800,12 +1848,14 @@ "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true }, "os-locale": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, "requires": { "execa": "^1.0.0", "lcid": "^2.0.0", @@ -1816,6 +1866,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "dev": true, "requires": { "p-try": "^2.0.0" } @@ -1824,6 +1875,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, "requires": { "p-limit": "^2.0.0" } @@ -1831,17 +1883,20 @@ "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", @@ -1852,6 +1907,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, "requires": { "ansi-regex": "^4.1.0" } @@ -1860,6 +1916,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -1867,12 +1924,14 @@ "y18n": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true }, "yargs": { "version": "13.2.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", + "dev": true, "requires": { "cliui": "^4.0.0", "find-up": "^3.0.0", @@ -1891,6 +1950,7 @@ "version": "13.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", + "dev": true, "requires": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -1902,6 +1962,7 @@ "version": "1.1.17", "resolved": "https://registry.npmjs.org/mocha-typescript/-/mocha-typescript-1.1.17.tgz", "integrity": "sha512-Ge6pCQkZumkkhxVNdAf3JxunskShgaynCb30HYD7TT1Yhog/7NW2+6w5RcRHI+nuQrCMTX6z1+qf2pD8qwCoQA==", + "dev": true, "requires": { "@types/mocha": "^5.2.0", "chalk": "^2.4.1", @@ -1918,7 +1979,8 @@ "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true }, "mustache": { "version": "3.0.1", @@ -1928,12 +1990,14 @@ "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true }, "node-environment-flags": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.4.tgz", "integrity": "sha512-M9rwCnWVLW7PX+NUWe3ejEdiLYinRpsEre9hMkU/6NS4h+EEulYaDH1gCEZ2gyXsmw+RXYDaV2JkkTNcsPDJ0Q==", + "dev": true, "requires": { "object.getownpropertydescriptors": "^2.0.3" } @@ -1959,6 +2023,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, "requires": { "path-key": "^2.0.0" } @@ -1966,7 +2031,8 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true }, "object-assign": { "version": "4.1.1", @@ -1976,12 +2042,14 @@ "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true }, "object.assign": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, "requires": { "define-properties": "^1.1.2", "function-bind": "^1.1.1", @@ -1993,6 +2061,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, "requires": { "define-properties": "^1.1.2", "es-abstract": "^1.5.1" @@ -2019,6 +2088,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, "requires": { "execa": "^0.7.0", "lcid": "^1.0.0", @@ -2034,22 +2104,26 @@ "p-defer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true }, "p-is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, "requires": { "p-try": "^1.0.0" } @@ -2058,6 +2132,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, "requires": { "p-limit": "^1.1.0" } @@ -2070,7 +2145,8 @@ "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true }, "parse-github-repo-url": { "version": "1.4.1", @@ -2091,7 +2167,8 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true }, "path-is-absolute": { "version": "1.0.1", @@ -2106,7 +2183,8 @@ "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true }, "path-parse": { "version": "1.0.6", @@ -2187,12 +2265,14 @@ "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -2289,12 +2369,14 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true }, "resolve": { "version": "1.10.0", @@ -2321,17 +2403,20 @@ "semver": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, "requires": { "shebang-regex": "^1.0.0" } @@ -2339,7 +2424,8 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true }, "shelljs": { "version": "0.8.3", @@ -2354,7 +2440,8 @@ "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true }, "source-map": { "version": "0.6.1", @@ -2422,13 +2509,15 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" @@ -2447,6 +2536,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, "requires": { "ansi-regex": "^3.0.0" } @@ -2460,7 +2550,8 @@ "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true }, "strip-indent": { "version": "2.0.0", @@ -2471,12 +2562,14 @@ "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true }, "supports-color": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -2742,6 +2835,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, "requires": { "isexe": "^2.0.0" } @@ -2749,12 +2843,14 @@ "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true }, "wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, "requires": { "string-width": "^1.0.2 || 2" } @@ -2768,6 +2864,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" @@ -2776,12 +2873,14 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "^1.0.0" } @@ -2790,6 +2889,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -2800,6 +2900,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "^2.0.0" } @@ -2825,17 +2926,20 @@ "y18n": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true }, "yargs": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "dev": true, "requires": { "cliui": "^4.0.0", "decamelize": "^1.1.1", @@ -2855,6 +2959,7 @@ "version": "9.0.2", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, "requires": { "camelcase": "^4.1.0" } @@ -2863,6 +2968,7 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz", "integrity": "sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw==", + "dev": true, "requires": { "flat": "^4.1.0", "lodash": "^4.17.11", @@ -2872,12 +2978,14 @@ "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true }, "execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, "requires": { "cross-spawn": "^6.0.0", "get-stream": "^4.0.0", @@ -2892,6 +3000,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, "requires": { "locate-path": "^3.0.0" } @@ -2900,6 +3009,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, "requires": { "pump": "^3.0.0" } @@ -2907,12 +3017,14 @@ "invert-kv": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true }, "lcid": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, "requires": { "invert-kv": "^2.0.0" } @@ -2921,6 +3033,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -2930,6 +3043,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, "requires": { "map-age-cleaner": "^0.1.1", "mimic-fn": "^2.0.0", @@ -2939,12 +3053,14 @@ "mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true }, "os-locale": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, "requires": { "execa": "^1.0.0", "lcid": "^2.0.0", @@ -2955,6 +3071,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "dev": true, "requires": { "p-try": "^2.0.0" } @@ -2963,6 +3080,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, "requires": { "p-limit": "^2.0.0" } @@ -2970,12 +3088,14 @@ "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true }, "yargs": { "version": "12.0.5", "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, "requires": { "cliui": "^4.0.0", "decamelize": "^1.2.0", @@ -2995,6 +3115,7 @@ "version": "11.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, "requires": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" diff --git a/package.json b/package.json index 43c5a70e..1a3b7d2a 100644 --- a/package.json +++ b/package.json @@ -36,22 +36,18 @@ "tslint": "tslint 'src/**/*.ts'" }, "dependencies": { + "@krlwlfrt/async-pool": "0.0.3", "@openstapps/logger": "0.0.5", - "@types/chai": "4.1.7", "@types/glob": "7.1.1", - "@types/mocha": "5.2.6", "@types/mustache": "0.8.32", "@types/node": "10.14.4", "ajv": "6.10.0", - "async-pool-native": "0.1.0", "chai": "4.2.0", "commander": "2.20.0", "del": "4.1.0", "glob": "7.1.3", "humanize-string": "2.1.0", "jsonschema": "1.2.4", - "mocha": "6.1.1", - "mocha-typescript": "1.1.17", "mustache": "3.0.1", "toposort": "2.0.2", "ts-json-schema-generator": "0.40.0", @@ -60,7 +56,11 @@ }, "devDependencies": { "@openstapps/configuration": "0.8.0", + "@types/chai": "4.1.7", + "@types/mocha": "5.2.6", "conventional-changelog-cli": "2.0.12", + "mocha": "6.1.1", + "mocha-typescript": "1.1.17", "prepend-file-cli": "1.0.6", "rimraf": "2.6.3", "tslint": "5.15.0", diff --git a/src/routes.ts b/src/routes.ts index ad2c4259..d86648cc 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -12,7 +12,7 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {asyncPool} from 'async-pool-native/dist/async-pool'; +import {asyncPool} from '@krlwlfrt/async-pool'; import {ProjectReflection} from 'typedoc'; import {logger, NodesWithMetaInformation, NodeWithMetaInformation, RouteWithMetaInformation} from './common'; diff --git a/src/schema.ts b/src/schema.ts index 438ebc60..cff2e7bd 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018 StApps + * Copyright (C) 2018, 2019 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/src/validate.ts b/src/validate.ts index 282c7e1a..fe48ba3b 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -12,7 +12,7 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {asyncPool} from 'async-pool-native/dist/async-pool'; +import {asyncPool} from '@krlwlfrt/async-pool'; import {PathLike} from 'fs'; import {Schema, Validator as JSONSchemaValidator, ValidatorResult} from 'jsonschema'; import * as mustache from 'mustache'; From 67b6d5045962e19efd2948a89dcbd25cf2f28cb4 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 9 Apr 2019 11:09:20 +0200 Subject: [PATCH 051/215] 0.5.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 44f77027..dcb9bc75 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.4.0", + "version": "0.5.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 1a3b7d2a..c4990269 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.4.0", + "version": "0.5.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 641b80964e0115f98a0184a2edf73fa0d9084a08 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 9 Apr 2019 11:09:38 +0200 Subject: [PATCH 052/215] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a650f7a..9c85beb9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# [0.5.0](https://gitlab.com/openstapps/core-tools/compare/v0.4.0...v0.5.0) (2019-04-09) + + + # [0.4.0](https://gitlab.com/openstapps/core-tools/compare/v0.3.0...v0.4.0) (2019-04-03) From b8e3322d7fe1a9a07b30f4577fc9ab1be6a939f4 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 25 Mar 2019 13:32:11 +0000 Subject: [PATCH 053/215] docs: Update examples in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b0f683b6..88e02ed9 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ openstapps-core-tools schema src/core lib/schema ### Using the validator programatically ```typescript -import {Validator} from '@openstapps/core-tools'; +import {Validator} from '@openstapps/core-tools/lib/validate'; import {SCDish, SCThingType} from '@openstapps/core'; import {ValidatorResult} from 'jsonschema'; import {join} from 'path'; From 7f8b158eae6c8ab7866ea2f580af68eb7328a22b Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 9 Apr 2019 16:11:09 +0200 Subject: [PATCH 054/215] 0.5.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index dcb9bc75..1d5f2a38 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.5.0", + "version": "0.5.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index c4990269..4b8bb631 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.5.0", + "version": "0.5.1", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From b1cee16bde71945e92d0500c5a14083c2766327b Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 9 Apr 2019 16:11:12 +0200 Subject: [PATCH 055/215] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c85beb9..60dfdb92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [0.5.1](https://gitlab.com/openstapps/core-tools/compare/v0.5.0...v0.5.1) (2019-04-09) + + + # [0.5.0](https://gitlab.com/openstapps/core-tools/compare/v0.4.0...v0.5.0) (2019-04-09) From c0f37ccd69ddef7365effec61dab4372016f49bf Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 16 Apr 2019 13:39:34 +0200 Subject: [PATCH 056/215] build: update dependencies --- package-lock.json | 177 ++++++++++++++++++++++++---------------------- package.json | 8 +-- 2 files changed, 95 insertions(+), 90 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1d5f2a38..119861a9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,57 +4,33 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@babel/runtime": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.3.tgz", + "integrity": "sha512-9lsJwJLxDh/T3Q3SZszfWOTkk3pHbkmH+3KY+zwIDmsNlxsumuhS2TH3NIpktU4kNvfzy+k3eLT7aTJSPTo0OA==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, "@krlwlfrt/async-pool": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/@krlwlfrt/async-pool/-/async-pool-0.0.3.tgz", "integrity": "sha512-/1kQ293t30sgnFRo/8cuMH2kE/kpf8K98yFLgJWYLnWy3SddbzDKK0J8JKy8LIf1wW+Tc833NazDluRxnVSA/g==" }, "@openstapps/configuration": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.8.0.tgz", - "integrity": "sha512-LwSlnm2BhT6ZtueW/29XhDLqnkU5ps63ar4UF0Nw5a79tTZ7XsQ7BY11ZH2LYwV132+k1tPgjnqpY/KrVgVltQ==", + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.12.0.tgz", + "integrity": "sha512-3gmpIqQ/QrUaams0xtUsysAwzlMAoxPzldGZjymMApgqzZArhjbSdd2S7KvgYeIZb+nA+etklr+LIcHyHQGxxQ==", "dev": true, "requires": { - "@types/node": "10.14.3", + "@types/node": "10.14.4", + "@types/yaml": "1.0.2", "chalk": "2.4.2", - "commander": "2.19.0", - "tslint": "5.14.0", - "tslint-eslint-rules": "5.4.0" - }, - "dependencies": { - "@types/node": { - "version": "10.14.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.3.tgz", - "integrity": "sha512-2lhc7S28vo8FwR3Jv3Ifyd77AxEsx+Nl9ajWiac6/eWuvZ84zPK4RE05pfqcn3acIzlZDpQj5F1rIKQZX3ptLQ==", - "dev": true - }, - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - }, - "tslint": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.14.0.tgz", - "integrity": "sha512-IUla/ieHVnB8Le7LdQFRGlVJid2T/gaJe5VkjzRVSRR6pA2ODYrnfR1hmxi+5+au9l50jBwpbBL34txgv4NnTQ==", - "dev": true, - "requires": { - "babel-code-frame": "^6.22.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^3.2.0", - "glob": "^7.1.1", - "js-yaml": "^3.7.0", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.8.0", - "tsutils": "^2.29.0" - } - } + "commander": "2.20.0", + "tslint": "5.15.0", + "tslint-eslint-rules": "5.4.0", + "yaml": "1.5.0" } }, "@openstapps/logger": { @@ -169,6 +145,12 @@ "@types/node": "*" } }, + "@types/yaml": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.0.2.tgz", + "integrity": "sha512-rS1VJFjyGKNHk8H97COnPIK+oeLnc0J9G0ES63o/Ky+WlJCeaFGiGCTGhV/GEVKua7ZWIV1JIDopYUwrfvTo7A==", + "dev": true + }, "JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", @@ -267,14 +249,6 @@ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" }, - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "requires": { - "lodash": "^4.17.11" - } - }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -1226,11 +1200,11 @@ "dev": true }, "handlebars": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.0.tgz", - "integrity": "sha512-l2jRuU1NAWK6AW5qqcTATWQJvNPEwkM7NEKSiv/gqOsoSQbVoWyqVEY5GS+XPQ88zLNmqASRpzfdm8d79hJS+w==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", + "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", "requires": { - "async": "^2.5.0", + "neo-async": "^2.6.0", "optimist": "^0.6.1", "source-map": "^0.6.1", "uglify-js": "^3.1.4" @@ -1482,9 +1456,9 @@ "dev": true }, "js-yaml": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz", - "integrity": "sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -1728,9 +1702,9 @@ } }, "mocha": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.1.1.tgz", - "integrity": "sha512-ayfr68s4kyDnCU0hjkTk5Z8J8dqr1iPUuVjmd+dLFgaGKOPlgx1XrOGn5k3H1LlXNnLBb8voZMYMKxchiA4Ujg==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.1.3.tgz", + "integrity": "sha512-QdE/w//EPHrqgT5PNRUjRVHy6IJAzAf1R8n2O8W8K2RZ+NbPfOD5cBDp+PGa2Gptep37C/TdBiaNwakppEzEbg==", "dev": true, "requires": { "ansi-colors": "3.2.3", @@ -1747,7 +1721,7 @@ "minimatch": "3.0.4", "mkdirp": "0.5.1", "ms": "2.1.1", - "node-environment-flags": "1.0.4", + "node-environment-flags": "1.0.5", "object.assign": "4.1.0", "strip-json-comments": "2.0.1", "supports-color": "6.0.0", @@ -1815,6 +1789,16 @@ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", "dev": true }, + "js-yaml": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz", + "integrity": "sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "lcid": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", @@ -1987,6 +1971,11 @@ "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.0.1.tgz", "integrity": "sha512-jFI/4UVRsRYdUbuDTKT7KzfOp7FiD5WzYmmwNwXyUVypC0xjoTL78Fqc0jHUPIvvGD+6DQSPHIt1NE7D1ArsqA==" }, + "neo-async": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", + "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==" + }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -1994,12 +1983,21 @@ "dev": true }, "node-environment-flags": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.4.tgz", - "integrity": "sha512-M9rwCnWVLW7PX+NUWe3ejEdiLYinRpsEre9hMkU/6NS4h+EEulYaDH1gCEZ2gyXsmw+RXYDaV2JkkTNcsPDJ0Q==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", + "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", "dev": true, "requires": { - "object.getownpropertydescriptors": "^2.0.3" + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + }, + "dependencies": { + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true + } } }, "nodemailer": { @@ -2357,6 +2355,12 @@ "strip-indent": "^2.0.0" } }, + "regenerator-runtime": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", + "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==", + "dev": true + }, "repeating": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", @@ -2449,9 +2453,9 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-support": { - "version": "0.5.11", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.11.tgz", - "integrity": "sha512-//sajEx/fGL3iw6fltKMdPvy8kL3kJ2O3iuYlRoT3k9Kb4BjOoZ+BZzaNHeuaruSt+Kf3Zk9tnfAQg9/AJqUVQ==", + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", + "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -2656,9 +2660,9 @@ } }, "ts-node": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.0.3.tgz", - "integrity": "sha512-2qayBA4vdtVRuDo11DEFSsD/SFsBXQBRZZhbRGSIkmYmVkWjULn/GGMdG10KVqkaGndljfaTD8dKjWgcejO8YA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.1.0.tgz", + "integrity": "sha512-34jpuOrxDuf+O6iW1JpgTRDFynUZ1iEqtYruBqh35gICNjN8x+LpVcPAcwzLPi9VU6mdA3ym+x233nZmZp445A==", "requires": { "arg": "^4.1.0", "diff": "^3.1.0", @@ -2773,27 +2777,19 @@ "integrity": "sha1-bcJDPnjti+qOiHo6zeLzF4W9Yic=" }, "typescript": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.2.tgz", - "integrity": "sha512-Og2Vn6Mk7JAuWA1hQdDQN/Ekm/SchX80VzLhjKN9ETYrIepBFAd8PkOdOTK2nKt0FCkmMZKBJvQ1dV1gIxPu/A==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.3.tgz", + "integrity": "sha512-FFgHdPt4T/duxx6Ndf7hwgMZZjZpB+U0nMNGVCYPq0rEzWKjEDobm4J6yb3CS7naZ0yURFqdw9Gwc7UOh/P9oQ==", "dev": true }, "uglify-js": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.4.tgz", + "integrity": "sha512-GpKo28q/7Bm5BcX9vOu4S46FwisbPbAmkkqPnGIpKvKTM96I85N6XHQV+k4I6FA2wxgLhcsSyHoNhzucwCflvA==", "optional": true, "requires": { - "commander": "~2.17.1", + "commander": "~2.20.0", "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "optional": true - } } }, "universalify": { @@ -2935,6 +2931,15 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, + "yaml": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.5.0.tgz", + "integrity": "sha512-nKxSWOa7vxAP2pikrGxbkZsG/garQseRiLn9mIDjzwoQsyVy7ZWIpLoARejnINGGLA4fttuzRFFNxxbsztdJgw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.4.3" + } + }, "yargs": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", diff --git a/package.json b/package.json index 4b8bb631..e8af1350 100644 --- a/package.json +++ b/package.json @@ -51,19 +51,19 @@ "mustache": "3.0.1", "toposort": "2.0.2", "ts-json-schema-generator": "0.40.0", - "ts-node": "8.0.3", + "ts-node": "8.1.0", "typedoc": "0.14.2" }, "devDependencies": { - "@openstapps/configuration": "0.8.0", + "@openstapps/configuration": "0.12.0", "@types/chai": "4.1.7", "@types/mocha": "5.2.6", "conventional-changelog-cli": "2.0.12", - "mocha": "6.1.1", + "mocha": "6.1.3", "mocha-typescript": "1.1.17", "prepend-file-cli": "1.0.6", "rimraf": "2.6.3", "tslint": "5.15.0", - "typescript": "3.4.2" + "typescript": "3.4.3" } } From 011c19153818bb3ede19c894f93d4f5dae86d99b Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 16 Apr 2019 13:41:35 +0200 Subject: [PATCH 057/215] build: exclude documentation from packages Fixes #19 --- .npmignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.npmignore b/.npmignore index 44cf3c95..1038f776 100644 --- a/.npmignore +++ b/.npmignore @@ -2,7 +2,6 @@ # See https://stackoverflow.com/a/29932318 /* # Except these files/folders -!docs !lib !LICENSE !package.json From 271da704835cccad6078fbfc352f8df2acb9ccc7 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 16 Apr 2019 13:41:54 +0200 Subject: [PATCH 058/215] build: adjust scripts and contributors --- package.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index e8af1350..56b5dcc0 100644 --- a/package.json +++ b/package.json @@ -22,11 +22,13 @@ "author": "Karl-Philipp Wulfert ", "contributors": [ "Anselm Stordeur ", - "Jovan Krunic ", - "Rainer Killinger" + "Jovan Krunić ", + "Rainer Killinger", + "Michel Jonathan Schmitz", + "Wieland Schöbl" ], "scripts": { - "build": "npm run tslint && npm run compile && npm run documentation", + "build": "npm run tslint && npm run compile", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md && git commit -m 'docs: update changelog'", "check-configuration": "openstapps-configuration", "compile": "rimraf lib && tsc && prepend lib/cli.js '#!/usr/bin/env node\n'", From 19a403c14dd52fdc6d1b8be965deb4d1086ad451 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 16 Apr 2019 13:42:06 +0200 Subject: [PATCH 059/215] ci: adjust ci configuration --- .gitlab-ci.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 97ca371e..713d8643 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: registry.gitlab.com/openstapps/projectmanagement/node:latest +image: registry.gitlab.com/openstapps/projectmanagement/node cache: key: ${CI_COMMIT_REF_SLUG} @@ -31,8 +31,6 @@ test: - npm test audit: - tags: - - docker stage: test script: - npm audit @@ -59,8 +57,6 @@ routes: - routes.md pages: - tags: - - docker stage: deploy script: - npm run documentation From d7ef81f04560bc1bb87bfcf0309171b93958d2c6 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 16 Apr 2019 13:58:38 +0200 Subject: [PATCH 060/215] 0.6.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 119861a9..2e5ce1b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.5.1", + "version": "0.6.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 56b5dcc0..bc395c95 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.5.1", + "version": "0.6.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 8c0613b3da090c890655ab75755ec4dbe5c7b045 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Tue, 16 Apr 2019 13:58:42 +0200 Subject: [PATCH 061/215] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 60dfdb92..0b4bde4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# [0.6.0](https://gitlab.com/openstapps/core-tools/compare/v0.5.1...v0.6.0) (2019-04-16) + + + ## [0.5.1](https://gitlab.com/openstapps/core-tools/compare/v0.5.0...v0.5.1) (2019-04-09) From e8863db4a21bad5ce8900ea51e36315a67e3c501 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Mon, 27 May 2019 17:54:30 +0200 Subject: [PATCH 062/215] build: update dependencies --- package-lock.json | 654 ++++++++++++++++++++++++++-------------------- package.json | 24 +- 2 files changed, 387 insertions(+), 291 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2e5ce1b1..4c25a4f5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,65 +4,89 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, "@babel/runtime": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.3.tgz", - "integrity": "sha512-9lsJwJLxDh/T3Q3SZszfWOTkk3pHbkmH+3KY+zwIDmsNlxsumuhS2TH3NIpktU4kNvfzy+k3eLT7aTJSPTo0OA==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz", + "integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==", "dev": true, "requires": { "regenerator-runtime": "^0.13.2" } }, "@krlwlfrt/async-pool": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@krlwlfrt/async-pool/-/async-pool-0.0.3.tgz", - "integrity": "sha512-/1kQ293t30sgnFRo/8cuMH2kE/kpf8K98yFLgJWYLnWy3SddbzDKK0J8JKy8LIf1wW+Tc833NazDluRxnVSA/g==" + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@krlwlfrt/async-pool/-/async-pool-0.1.0.tgz", + "integrity": "sha512-PbDyjVme3HR8CrMI04SokU97Enq/+txP5fS2O0XYVSmMYteJ7Q9CLO2y0t8PmNZkt4YCxmHgaNEdMs+/Ki+PAA==" }, "@openstapps/configuration": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.12.0.tgz", - "integrity": "sha512-3gmpIqQ/QrUaams0xtUsysAwzlMAoxPzldGZjymMApgqzZArhjbSdd2S7KvgYeIZb+nA+etklr+LIcHyHQGxxQ==", + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.16.1.tgz", + "integrity": "sha512-GEYYfL0do3jikl2UyfvNdGJoQZGeo9sCYkfDrCsOYDZNxuHkHq5fzOPx8OJtMLblNzLgN65tiW+JPRWw6wTwKg==", "dev": true, "requires": { "@types/node": "10.14.4", + "@types/semver": "6.0.0", "@types/yaml": "1.0.2", "chalk": "2.4.2", "commander": "2.20.0", - "tslint": "5.15.0", + "semver": "6.0.0", + "tslint": "5.16.0", "tslint-eslint-rules": "5.4.0", "yaml": "1.5.0" - } - }, - "@openstapps/logger": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.0.5.tgz", - "integrity": "sha512-XzWt+5h4Y7ki0IFXrIuT7Qc6CHU+5QmrS0bf9wzP+OQ0qiEGb4KoJ3/y5CiXCebI3JC2wPJsUDpKYitV+kLWCQ==", - "requires": { - "@types/circular-json": "0.4.0", - "@types/node": "10.12.18", - "@types/nodemailer": "4.6.5", - "circular-json": "0.5.9", - "nodemailer": "5.1.1" }, "dependencies": { "@types/node": { - "version": "10.12.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", - "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==" + "version": "10.14.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.4.tgz", + "integrity": "sha512-DT25xX/YgyPKiHFOpNuANIQIVvYEwCWXgK2jYYwqgaMrYE6+tq+DtmMwlD3drl6DJbUwtlIDnn0d7tIn/EbXBg==", + "dev": true + }, + "semver": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz", + "integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==", + "dev": true } } }, + "@openstapps/logger": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.2.1.tgz", + "integrity": "sha512-6+F1nxEBuNTrd3hhBxKnvkH8B84HvB/dVmoMP9Pmv2g3mL3pYJ9l2BBGaACDRA7oUCyLpbNQw+4Kf+VdyzOttw==", + "requires": { + "@types/node": "10.14.7", + "@types/nodemailer": "6.1.0", + "chalk": "2.4.2", + "flatted": "2.0.0", + "nodemailer": "6.1.1" + } + }, "@types/chai": { "version": "4.1.7", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.7.tgz", "integrity": "sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==", "dev": true }, - "@types/circular-json": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@types/circular-json/-/circular-json-0.4.0.tgz", - "integrity": "sha512-7+kYB7x5a7nFWW1YPBh3KxhwKfiaI4PbZ1RvzBU91LZy7lWJO822CI+pqzSre/DZ7KsCuMKdHnLHHFu8AyXbQg==" - }, "@types/events": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", @@ -123,19 +147,24 @@ "integrity": "sha512-RTVWV485OOf4+nO2+feurk0chzHkSjkjALiejpHltyuMf/13fGymbbNNFrSKdSSUg1TIwzszXdWsVirxgqYiFA==" }, "@types/node": { - "version": "10.14.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.4.tgz", - "integrity": "sha512-DT25xX/YgyPKiHFOpNuANIQIVvYEwCWXgK2jYYwqgaMrYE6+tq+DtmMwlD3drl6DJbUwtlIDnn0d7tIn/EbXBg==" + "version": "10.14.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.7.tgz", + "integrity": "sha512-on4MmIDgHXiuJDELPk1NFaKVUxxCFr37tm8E9yN6rAiF5Pzp/9bBfBHkoexqRiY+hk/Z04EJU9kKEb59YqJ82A==" }, "@types/nodemailer": { - "version": "4.6.5", - "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-4.6.5.tgz", - "integrity": "sha512-cbs2HFLj33TBqzcCqTrs+6/mgTX3xl0odbApv3vTdF2+JERLxh5rDZCasXhvy+YqaiUNBr2I1RjNCdbKGs1Bnw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.1.0.tgz", + "integrity": "sha512-WysSJ4sGW2Aum1Cs6HFosZdlR3WUzX0XoSLsI53q77gLd4wDfE84OXffZu5/nLIjeKh4SwfTsdrKsgBL9WowMA==", "requires": { - "@types/events": "*", "@types/node": "*" } }, + "@types/semver": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.0.0.tgz", + "integrity": "sha512-OO0srjOGH99a4LUN2its3+r6CBYcplhJ466yLqs+zvAWgphCpS8hYZEZ797tRDP/QKcqTdb/YCN6ifASoAWkrQ==", + "dev": true + }, "@types/shelljs": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.3.tgz", @@ -194,7 +223,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -249,59 +277,6 @@ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -367,7 +342,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -379,11 +353,6 @@ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" }, - "circular-json": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz", - "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==" - }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", @@ -405,7 +374,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -413,8 +381,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "commander": { "version": "2.20.0", @@ -437,21 +404,22 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "conventional-changelog": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.0.6.tgz", - "integrity": "sha512-1b96x3G67lDKakRvMm+VvYGwgRk+C8aapHKL5iZ/TJzzD/RuyGA2diHNEsR+uPHmQ7/A4Ts7j6N+VNqUoOfksg==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.8.tgz", + "integrity": "sha512-fb3/DOLLrQdNqN0yYn/lT6HcNsAa9A+VTDBqlZBMQcEPPIeJIMI+DBs3yu+eiYOLi22w9oShq3nn/zN6qm1Hmw==", "dev": true, "requires": { "conventional-changelog-angular": "^5.0.3", "conventional-changelog-atom": "^2.0.1", "conventional-changelog-codemirror": "^2.0.1", - "conventional-changelog-core": "^3.1.6", + "conventional-changelog-conventionalcommits": "^3.0.2", + "conventional-changelog-core": "^3.2.2", "conventional-changelog-ember": "^2.0.2", - "conventional-changelog-eslint": "^3.0.1", + "conventional-changelog-eslint": "^3.0.2", "conventional-changelog-express": "^2.0.1", "conventional-changelog-jquery": "^3.0.4", "conventional-changelog-jshint": "^2.0.1", - "conventional-changelog-preset-loader": "^2.0.2" + "conventional-changelog-preset-loader": "^2.1.1" } }, "conventional-changelog-angular": { @@ -474,13 +442,13 @@ } }, "conventional-changelog-cli": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.0.12.tgz", - "integrity": "sha512-6wh9W5Gpr9DM40E8cFi0qa6JotVm4Jq+suksuqgKnm544H8ZXsRhgGNXShDASOteY9brv9fX8/+fE/QL1wHqbA==", + "version": "2.0.21", + "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.0.21.tgz", + "integrity": "sha512-gMT1XvSVmo9Np1WUXz8Mvt3K+OtzR+Xu13z0jq/3qsXBbLuYc2/oaUXVr68r3fYOL8E9dN2uvX7Hc7RkeWvRVA==", "dev": true, "requires": { "add-stream": "^1.0.0", - "conventional-changelog": "^3.0.6", + "conventional-changelog": "^3.1.8", "lodash": "^4.2.1", "meow": "^4.0.0", "tempfile": "^1.1.1" @@ -495,14 +463,24 @@ "q": "^1.5.1" } }, - "conventional-changelog-core": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.1.6.tgz", - "integrity": "sha512-5teTAZOtJ4HLR6384h50nPAaKdDr+IaU0rnD2Gg2C3MS7hKsEPH8pZxrDNqam9eOSPQg9tET6uZY79zzgSz+ig==", + "conventional-changelog-conventionalcommits": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-3.0.2.tgz", + "integrity": "sha512-w1+fQSDnm/7+sPKIYC5nfRVYDszt+6HdWizrigSqWFVIiiBVzkHGeqDLMSHc+Qq9qssHVAxAak5206epZyK87A==", "dev": true, "requires": { - "conventional-changelog-writer": "^4.0.3", - "conventional-commits-parser": "^3.0.1", + "compare-func": "^1.3.1", + "q": "^1.5.1" + } + }, + "conventional-changelog-core": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.2.2.tgz", + "integrity": "sha512-cssjAKajxaOX5LNAJLB+UOcoWjAIBvXtDMedv/58G+YEmAXMNfC16mmPl0JDOuVJVfIqM0nqQiZ8UCm8IXbE0g==", + "dev": true, + "requires": { + "conventional-changelog-writer": "^4.0.5", + "conventional-commits-parser": "^3.0.2", "dateformat": "^3.0.0", "get-pkg-repo": "^1.0.0", "git-raw-commits": "2.0.0", @@ -513,7 +491,7 @@ "q": "^1.5.1", "read-pkg": "^3.0.0", "read-pkg-up": "^3.0.0", - "through2": "^2.0.0" + "through2": "^3.0.0" } }, "conventional-changelog-ember": { @@ -526,9 +504,9 @@ } }, "conventional-changelog-eslint": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.1.tgz", - "integrity": "sha512-yH3+bYrtvgKxSFChUBQnKNh9/U9kN2JElYBm253VpYs5wXhPHVc9ENcuVGWijh24nnOkei7wEJmnmUzgZ4ok+A==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.2.tgz", + "integrity": "sha512-Yi7tOnxjZLXlCYBHArbIAm8vZ68QUSygFS7PgumPRiEk+9NPUeucy5Wg9AAyKoBprSV3o6P7Oghh4IZSLtKCvQ==", "dev": true, "requires": { "q": "^1.5.1" @@ -563,51 +541,59 @@ } }, "conventional-changelog-preset-loader": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.0.2.tgz", - "integrity": "sha512-pBY+qnUoJPXAXXqVGwQaVmcye05xi6z231QM98wHWamGAmu/ghkBprQAwmF5bdmyobdVxiLhPY3PrCfSeUNzRQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.1.1.tgz", + "integrity": "sha512-K4avzGMLm5Xw0Ek/6eE3vdOXkqnpf9ydb68XYmCc16cJ99XMMbc2oaNMuPwAsxVK6CC1yA4/I90EhmWNj0Q6HA==", "dev": true }, "conventional-changelog-writer": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.3.tgz", - "integrity": "sha512-bIlpSiQtQZ1+nDVHEEh798Erj2jhN/wEjyw9sfxY9es6h7pREE5BNJjfv0hXGH/FTrAsEpHUq4xzK99eePpwuA==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.6.tgz", + "integrity": "sha512-ou/sbrplJMM6KQpR5rKFYNVQYesFjN7WpNGdudQSWNi6X+RgyFUcSv871YBYkrUYV9EX8ijMohYVzn9RUb+4ag==", "dev": true, "requires": { "compare-func": "^1.3.1", - "conventional-commits-filter": "^2.0.1", + "conventional-commits-filter": "^2.0.2", "dateformat": "^3.0.0", "handlebars": "^4.1.0", "json-stringify-safe": "^5.0.1", "lodash": "^4.2.1", "meow": "^4.0.0", - "semver": "^5.5.0", + "semver": "^6.0.0", "split": "^1.0.0", - "through2": "^2.0.0" + "through2": "^3.0.0" + }, + "dependencies": { + "semver": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.0.tgz", + "integrity": "sha512-kCqEOOHoBcFs/2Ccuk4Xarm/KiWRSLEX9CAZF8xkJ6ZPlIoTZ8V5f7J16vYLJqDbR7KrxTJpR2lqjIEm2Qx9cQ==", + "dev": true + } } }, "conventional-commits-filter": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.1.tgz", - "integrity": "sha512-92OU8pz/977udhBjgPEbg3sbYzIxMDFTlQT97w7KdhR9igNqdJvy8smmedAAgn4tPiqseFloKkrVfbXCVd+E7A==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.2.tgz", + "integrity": "sha512-WpGKsMeXfs21m1zIw4s9H5sys2+9JccTzpN6toXtxhpw2VNF2JUXwIakthKBy+LN4DvJm+TzWhxOMWOs1OFCFQ==", "dev": true, "requires": { - "is-subset": "^0.1.1", + "lodash.ismatch": "^4.4.0", "modify-values": "^1.0.0" } }, "conventional-commits-parser": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.1.tgz", - "integrity": "sha512-P6U5UOvDeidUJ8ebHVDIoXzI7gMlQ1OF/id6oUvp8cnZvOXMt1n8nYl74Ey9YMn0uVQtxmCtjPQawpsssBWtGg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.3.tgz", + "integrity": "sha512-KaA/2EeUkO4bKjinNfGUyqPTX/6w9JGshuQRik4r/wJz7rUw3+D3fDG6sZSEqJvKILzKXFQuFkpPLclcsAuZcg==", "dev": true, "requires": { "JSONStream": "^1.0.4", - "is-text-path": "^1.0.0", + "is-text-path": "^2.0.0", "lodash": "^4.2.1", "meow": "^4.0.0", "split2": "^2.0.0", - "through2": "^2.0.0", + "through2": "^3.0.0", "trim-off-newlines": "^1.0.0" } }, @@ -705,10 +691,11 @@ } }, "del": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.0.tgz", - "integrity": "sha512-C4kvKNlYrwXhKxz97BuohF8YoGgQ23Xm9lvoHmgT7JaPGprSEjk3+XFled74Yt/x0ZABUHg2D67covzAPUKx5Q==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", "requires": { + "@types/glob": "^7.1.1", "globby": "^6.1.0", "is-path-cwd": "^2.0.0", "is-path-in-cwd": "^2.0.0", @@ -725,13 +712,13 @@ } }, "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", + "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==" }, "doctrine": { "version": "0.7.2", - "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", "dev": true, "requires": { @@ -808,8 +795,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "esprima": { "version": "4.0.1", @@ -879,6 +865,11 @@ "is-buffer": "~2.0.3" } }, + "flatted": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz", + "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==" + }, "fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", @@ -932,7 +923,7 @@ }, "camelcase-keys": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { @@ -959,9 +950,15 @@ "repeating": "^2.0.0" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "load-json-file": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { @@ -980,7 +977,7 @@ }, "meow": { "version": "3.7.0", - "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { @@ -1033,7 +1030,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -1058,6 +1055,21 @@ "read-pkg": "^1.0.0" } }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, "redent": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", @@ -1068,6 +1080,15 @@ "strip-indent": "^1.0.1" } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "strip-bom": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", @@ -1086,6 +1107,16 @@ "get-stdin": "^4.0.1" } }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", @@ -1117,6 +1148,48 @@ "meow": "^4.0.0", "split2": "^2.0.0", "through2": "^2.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } } }, "git-remote-origin-url": { @@ -1131,7 +1204,7 @@ "dependencies": { "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } @@ -1157,9 +1230,9 @@ } }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1219,28 +1292,10 @@ "function-bind": "^1.1.1" } }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - } - } - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { "version": "1.0.0", @@ -1361,29 +1416,29 @@ }, "is-obj": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", "dev": true }, "is-path-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.0.0.tgz", - "integrity": "sha512-m5dHHzpOXEiv18JEORttBO64UgTEypx99vCxQLjbBvGhOJxnTNglYoFXxwo6AbsQb79sqqycQEHv2hWkHZAijA==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.1.0.tgz", + "integrity": "sha512-Sc5j3/YnM8tDeyCsVeKlm/0p95075DyLmDEIkSgQ7mXkrOX+uTCtmQFm0CYzVyJwcCCmO3k8qfJt17SxQwB5Zw==" }, "is-path-in-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.0.0.tgz", - "integrity": "sha512-6Vz5Gc9s/sDA3JBVu0FzWufm8xaBsqy1zn8Q6gmvGP6nSDMw78aS4poBNeatWjaRpTpxxLn1WOndAiOlk+qY8A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "^2.1.0" } }, "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "^1.0.2" } }, "is-plain-obj": { @@ -1407,12 +1462,6 @@ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, - "is-subset": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", - "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", - "dev": true - }, "is-symbol": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", @@ -1423,12 +1472,12 @@ } }, "is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", + "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", "dev": true, "requires": { - "text-extensions": "^1.0.0" + "text-extensions": "^2.0.0" } }, "is-utf8": { @@ -1450,9 +1499,9 @@ "dev": true }, "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "js-yaml": { @@ -1556,6 +1605,12 @@ "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", "dev": true }, + "lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", + "dev": true + }, "lodash.template": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", @@ -1694,7 +1749,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "dev": true, "requires": { @@ -1702,9 +1757,9 @@ } }, "mocha": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.1.3.tgz", - "integrity": "sha512-QdE/w//EPHrqgT5PNRUjRVHy6IJAzAf1R8n2O8W8K2RZ+NbPfOD5cBDp+PGa2Gptep37C/TdBiaNwakppEzEbg==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.1.4.tgz", + "integrity": "sha512-PN8CIy4RXsIoxoFJzS4QNnCH4psUCPWc4/rPrst/ecSJJbLBkubMiyGCP2Kj/9YnWbotFqAoeXyXMucj7gwCFg==", "dev": true, "requires": { "ansi-colors": "3.2.3", @@ -1716,7 +1771,7 @@ "glob": "7.1.3", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "3.13.0", + "js-yaml": "3.13.1", "log-symbols": "2.2.0", "minimatch": "3.0.4", "mkdirp": "0.5.1", @@ -1744,6 +1799,12 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, "execa": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", @@ -1783,22 +1844,26 @@ "pump": "^3.0.0" } }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "invert-kv": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", "dev": true }, - "js-yaml": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz", - "integrity": "sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, "lcid": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", @@ -2001,9 +2066,9 @@ } }, "nodemailer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-5.1.1.tgz", - "integrity": "sha512-hKGCoeNdFL2W7S76J/Oucbw0/qRlfG815tENdhzcqTpSjKgAN91mFOqU2lQUflRRxFM7iZvCyaFcAR9noc/CqQ==" + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.1.1.tgz", + "integrity": "sha512-/x5MRIh56VyuuhLfcz+DL2SlBARpZpgQIf2A4Ao4hMb69MHSgDIMPwYmFwesGT1lkRDZ0eBSoym5+JoIZ3N+cQ==" }, "normalize-package-data": { "version": "2.5.0", @@ -2170,7 +2235,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { @@ -2315,26 +2380,14 @@ } }, "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz", + "integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, "rechoir": { @@ -2488,9 +2541,9 @@ } }, "spdx-license-ids": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", - "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", + "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==", "dev": true }, "split": { @@ -2509,11 +2562,53 @@ "dev": true, "requires": { "through2": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } } }, "sprintf-js": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, @@ -2528,9 +2623,9 @@ } }, "string_decoder": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", + "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -2573,7 +2668,6 @@ "version": "5.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -2589,25 +2683,24 @@ } }, "text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.0.0.tgz", + "integrity": "sha512-F91ZqLgvi1E0PdvmxMgp+gcf6q8fMH7mhdwWfzXnl1k+GbpQDmi8l7DzLC5JTASKbwpY3TfxajAUzAXcv2NmsQ==", "dev": true }, "through": { "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", "dev": true, "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "readable-stream": "2 || 3" } }, "tmp": { @@ -2637,35 +2730,30 @@ "dev": true }, "ts-json-schema-generator": { - "version": "0.40.0", - "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.40.0.tgz", - "integrity": "sha512-VkxzG2fBVzu5Ohv6UXa6g43GGq3d/ejeZHetvMbLDFJZ2xPOEKglMLAQbZ8aX6WAE7cdhhSum8S5BnDMqB045Q==", + "version": "0.42.0", + "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.42.0.tgz", + "integrity": "sha512-UAfnxm4u10t3HC81DUPFgyIiXpa5XHotNlUEPqbhdoiW+MU+MYNtPCgeU/VK/F+mBmw6uPow+5VCEUNZYwMupQ==", "requires": { - "commander": "~2.19.0", - "glob": "~7.1.3", + "commander": "~2.20.0", + "glob": "~7.1.4", "json-stable-stringify": "^1.0.1", - "typescript": "^3.3.1" + "typescript": "~3.4.5" }, "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" - }, "typescript": { - "version": "3.3.3333", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.3333.tgz", - "integrity": "sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw==" + "version": "3.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.5.tgz", + "integrity": "sha512-YycBxUb49UUhdNMU5aJ7z5Ej2XGmaIBL0x34vZ82fn3hGvD+bgrMrVDpatgz2f7YxUMJxMkbWxJZeAvDxVe7Vw==" } } }, "ts-node": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.1.0.tgz", - "integrity": "sha512-34jpuOrxDuf+O6iW1JpgTRDFynUZ1iEqtYruBqh35gICNjN8x+LpVcPAcwzLPi9VU6mdA3ym+x233nZmZp445A==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.2.0.tgz", + "integrity": "sha512-m8XQwUurkbYqXrKqr3WHCW310utRNvV5OnRVeISeea7LoCWVcdfeB/Ntl8JYWFh+WRoUAdBgESrzKochQt7sMw==", "requires": { "arg": "^4.1.0", - "diff": "^3.1.0", + "diff": "^4.0.1", "make-error": "^1.1.1", "source-map-support": "^0.5.6", "yn": "^3.0.0" @@ -2678,12 +2766,12 @@ "dev": true }, "tslint": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.15.0.tgz", - "integrity": "sha512-6bIEujKR21/3nyeoX2uBnE8s+tMXCQXhqMmaIPJpHmXJoBJPTLcI7/VHRtUwMhnLVdwLqqY3zmd8Dxqa5CVdJA==", + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.16.0.tgz", + "integrity": "sha512-UxG2yNxJ5pgGwmMzPMYh/CCnCnh0HfPgtlVRDs1ykZklufFBL1ZoTlWFRz2NQjcoEiDoRp+JyT0lhBbbH/obyA==", "dev": true, "requires": { - "babel-code-frame": "^6.22.0", + "@babel/code-frame": "^7.0.0", "builtin-modules": "^1.1.1", "chalk": "^2.3.0", "commander": "^2.12.1", @@ -2696,6 +2784,14 @@ "semver": "^5.3.0", "tslib": "^1.8.0", "tsutils": "^2.29.0" + }, + "dependencies": { + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + } } }, "tslint-eslint-rules": { @@ -2777,9 +2873,9 @@ "integrity": "sha1-bcJDPnjti+qOiHo6zeLzF4W9Yic=" }, "typescript": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.3.tgz", - "integrity": "sha512-FFgHdPt4T/duxx6Ndf7hwgMZZjZpB+U0nMNGVCYPq0rEzWKjEDobm4J6yb3CS7naZ0yURFqdw9Gwc7UOh/P9oQ==", + "version": "3.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.5.tgz", + "integrity": "sha512-YycBxUb49UUhdNMU5aJ7z5Ej2XGmaIBL0x34vZ82fn3hGvD+bgrMrVDpatgz2f7YxUMJxMkbWxJZeAvDxVe7Vw==", "dev": true }, "uglify-js": { @@ -2813,7 +2909,7 @@ }, "uuid": { "version": "2.0.3", - "resolved": "http://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", "dev": true }, diff --git a/package.json b/package.json index bc395c95..2706573e 100644 --- a/package.json +++ b/package.json @@ -38,34 +38,34 @@ "tslint": "tslint 'src/**/*.ts'" }, "dependencies": { - "@krlwlfrt/async-pool": "0.0.3", - "@openstapps/logger": "0.0.5", + "@krlwlfrt/async-pool": "0.1.0", + "@openstapps/logger": "0.2.1", "@types/glob": "7.1.1", "@types/mustache": "0.8.32", - "@types/node": "10.14.4", + "@types/node": "10.14.7", "ajv": "6.10.0", "chai": "4.2.0", "commander": "2.20.0", - "del": "4.1.0", - "glob": "7.1.3", + "del": "4.1.1", + "glob": "7.1.4", "humanize-string": "2.1.0", "jsonschema": "1.2.4", "mustache": "3.0.1", "toposort": "2.0.2", - "ts-json-schema-generator": "0.40.0", - "ts-node": "8.1.0", + "ts-json-schema-generator": "0.42.0", + "ts-node": "8.2.0", "typedoc": "0.14.2" }, "devDependencies": { - "@openstapps/configuration": "0.12.0", + "@openstapps/configuration": "0.16.1", "@types/chai": "4.1.7", "@types/mocha": "5.2.6", - "conventional-changelog-cli": "2.0.12", - "mocha": "6.1.3", + "conventional-changelog-cli": "2.0.21", + "mocha": "6.1.4", "mocha-typescript": "1.1.17", "prepend-file-cli": "1.0.6", "rimraf": "2.6.3", - "tslint": "5.15.0", - "typescript": "3.4.3" + "tslint": "5.16.0", + "typescript": "3.4.5" } } From 3fda81d2793aa6af65546a08269e90706f74c1a7 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Mon, 27 May 2019 17:54:40 +0200 Subject: [PATCH 063/215] docs: adjust copyright years --- src/pack.ts | 2 +- src/resources/Foo.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pack.ts b/src/pack.ts index da4ee655..92709573 100644 --- a/src/pack.ts +++ b/src/pack.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018-2019 StApps + * Copyright (C) 2019 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/src/resources/Foo.ts b/src/resources/Foo.ts index c8f1b2cc..83727420 100644 --- a/src/resources/Foo.ts +++ b/src/resources/Foo.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018-2019 StApps + * Copyright (C) 2019 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. From 13b4d3d498cde6e7af7b62686b7bfa807d904152 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Mon, 27 May 2019 18:01:58 +0200 Subject: [PATCH 064/215] refactor: adjust code to updated dependencies --- src/cli.ts | 25 +++++++++++++------------ src/common.ts | 6 ++---- src/pack.ts | 17 +++++++++-------- src/routes.ts | 7 ++++--- src/validate.ts | 16 ++++++++-------- test/Common.spec.ts | 5 +++-- test/Schema.spec.ts | 4 +--- 7 files changed, 40 insertions(+), 40 deletions(-) diff --git a/src/cli.ts b/src/cli.ts index 46513106..11352edc 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -12,10 +12,11 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ +import {Logger} from '@openstapps/logger'; import * as commander from 'commander'; import {existsSync, readFileSync, writeFileSync} from 'fs'; import {join, resolve} from 'path'; -import {getProjectReflection, logger, mkdirPromisified, readFilePromisified} from './common'; +import {getProjectReflection, mkdirPromisified, readFilePromisified} from './common'; import {pack} from './pack'; import {gatherRouteInformation, generateDocumentationForRoute, getNodeMetaInformationMap} from './routes'; import {Converter, getValidatableTypesFromReflection} from './schema'; @@ -23,8 +24,8 @@ import {validateFiles, writeReport} from './validate'; // handle unhandled promise rejections process.on('unhandledRejection', (error: Error) => { - logger.error(error.message); - logger.info(error.stack); + Logger.error(error.message); + Logger.info(error.stack); process.exit(1); }); @@ -55,7 +56,7 @@ commander // write documentation to file writeFileSync(mdPath, output); - logger.ok(`Route documentation written to ${mdPath}.`); + Logger.ok(`Route documentation written to ${mdPath}.`); }); commander @@ -74,13 +75,13 @@ commander // get validatable types const validatableTypes = getValidatableTypesFromReflection(projectReflection); - logger.info(`Found ${validatableTypes.length} type(s) to generate schemas for.`); + Logger.info(`Found ${validatableTypes.length} type(s) to generate schemas for.`); await mkdirPromisified(schemaPath, { recursive: true, }); - logger.info(`Trying to find a package.json for ${srcPath}.`); + Logger.info(`Trying to find a package.json for ${srcPath}.`); let path = srcPath; // TODO: this check should be less ugly! @@ -90,13 +91,13 @@ commander const corePackageJsonPath = join(path, 'package.json'); - logger.info(`Using ${corePackageJsonPath} to determine version for schemas.`); + Logger.info(`Using ${corePackageJsonPath} to determine version for schemas.`); const buffer = await readFilePromisified(corePackageJsonPath); const corePackageJson = JSON.parse(buffer.toString()); const coreVersion = corePackageJson.version; - logger.log(`Using ${coreVersion} as version for schemas.`); + Logger.log(`Using ${coreVersion} as version for schemas.`); // generate and write JSONSchema files for validatable types validatableTypes.forEach((type) => { @@ -109,10 +110,10 @@ commander // write schema to file writeFileSync(file, stringifiedSchema); - logger.info(`Generated schema for ${type} and saved to ${file}.`); + Logger.info(`Generated schema for ${type} and saved to ${file}.`); }); - logger.ok(`Generated schemas for ${validatableTypes.length} type(s).`); + Logger.ok(`Generated schemas for ${validatableTypes.length} type(s).`); }); commander @@ -135,9 +136,9 @@ commander } if (!unexpected) { - logger.ok('Successfully finished validation.'); + Logger.ok('Successfully finished validation.'); } else { - logger.error('Unexpected errors occurred during validation'); + Logger.error('Unexpected errors occurred during validation'); process.exit(1); } }); diff --git a/src/common.ts b/src/common.ts index aa3fd42c..532a0e67 100644 --- a/src/common.ts +++ b/src/common.ts @@ -22,8 +22,6 @@ import {Definition} from 'ts-json-schema-generator'; import {Application, ProjectReflection} from 'typedoc'; import {promisify} from 'util'; -export const logger = new Logger(); - export const globPromisified = promisify(glob); export const mkdirPromisified = promisify(mkdir); export const readFilePromisified = promisify(readFile); @@ -116,7 +114,7 @@ export interface ExpectableValidationErrors { * @param srcPath Path to get reflection from */ export function getProjectReflection(srcPath: PathLike): ProjectReflection { - logger.info(`Generating project reflection for ${srcPath.toString()}.`); + Logger.info(`Generating project reflection for ${srcPath.toString()}.`); const tsconfigPath = getTsconfigPath(srcPath.toString()); @@ -178,7 +176,7 @@ export function getTsconfigPath(startPath: string): string { tsconfigPath = tsconfigPathParts.join(sep); } - logger.info(`Using 'tsconfig.json' from ${tsconfigPath}.`); + Logger.info(`Using 'tsconfig.json' from ${tsconfigPath}.`); return tsconfigPath; } diff --git a/src/pack.ts b/src/pack.ts index 92709573..8149bd2b 100644 --- a/src/pack.ts +++ b/src/pack.ts @@ -12,11 +12,12 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ +import {Logger} from '@openstapps/logger'; import * as del from 'del'; import {existsSync} from 'fs'; import {basename, dirname, join} from 'path'; import {cwd} from 'process'; -import {globPromisified, logger, readFilePromisified, unlinkPromisified, writeFilePromisified} from './common'; +import {globPromisified, readFilePromisified, unlinkPromisified, writeFilePromisified} from './common'; const PACK_IDENTIFIER = '/* PACKED BY @openstapps/pack */'; @@ -60,7 +61,7 @@ async function packCliJs(): Promise { return; } - logger.info('Adjusting JavaScript CLI...'); + Logger.info('Adjusting JavaScript CLI...'); const buffer = await readFilePromisified(path); const content = buffer.toString(); @@ -137,7 +138,7 @@ async function getAllTypeDefinitions(): Promise { * Pack a list of type definitions into one file */ async function packTypeDefinitions(): Promise { - logger.info('Packing TypeScript definition files...'); + Logger.info('Packing TypeScript definition files...'); const path = join(cwd(), 'lib', 'index.d.ts'); @@ -251,7 +252,7 @@ async function getAllJavaScriptModules(): Promise { async function packJavaScriptFiles(): Promise { const path = join(cwd(), 'lib', 'index.js'); - logger.info('Packing JavaScript files...'); + Logger.info('Packing JavaScript files...'); await deleteFileIfExistingAndPacked(path); @@ -293,7 +294,7 @@ async function packJavaScriptFiles(): Promise { return whiteSpace + 'const ' + importedName + ' = require(\'../src/' + modulePath + '\');'; } - logger.warn('Import ' + importedName + ' could not be found in module.directory ' + modulePath); + Logger.warn('Import ' + importedName + ' could not be found in module.directory ' + modulePath); } return line; @@ -350,7 +351,7 @@ async function deleteFileIfExistingAndPacked(path: string): Promise { // check if packed by this script if (content.indexOf(PACK_IDENTIFIER) === 0) { - logger.log('Found `' + path + '` which is packed by this script. Deleting it...'); + Logger.log('Found `' + path + '` which is packed by this script. Deleting it...'); return await unlinkPromisified(path); } } catch (err) { @@ -427,7 +428,7 @@ function topologicalSort(modules: JavaScriptModule[]): JavaScriptModule[] { * Pack */ export async function pack() { - logger.log(`Packing project in ${process.cwd()}...`); + Logger.log(`Packing project in ${process.cwd()}...`); // run all tasks in parallel const promises: Array> = [ @@ -439,7 +440,7 @@ export async function pack() { await Promise.all(promises); // clean up afterwards - logger.info('Deleting extraneous files...'); + Logger.info('Deleting extraneous files...'); await del([ // delete all transpiled files diff --git a/src/routes.ts b/src/routes.ts index d86648cc..e9e50756 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -13,8 +13,9 @@ * this program. If not, see . */ import {asyncPool} from '@krlwlfrt/async-pool'; +import {Logger} from '@openstapps/logger'; import {ProjectReflection} from 'typedoc'; -import {logger, NodesWithMetaInformation, NodeWithMetaInformation, RouteWithMetaInformation} from './common'; +import {NodesWithMetaInformation, NodeWithMetaInformation, RouteWithMetaInformation} from './common'; /** * Gather relevant information of routes @@ -38,11 +39,11 @@ export async function gatherRouteInformation(reflection: ProjectReflection): Pro if (node.extendedTypes.some((extendedType) => { return (extendedType as any).name === 'SCAbstractRoute'; })) { - logger.info(`Found ${node.name} in ${module.originalName}.`); + Logger.info(`Found ${node.name} in ${module.originalName}.`); if (module.originalName.match(/\.d\.ts$/)) { module.originalName = module.originalName.substr(0, module.originalName.length - 5); - logger.info(`Using compiled version of module in ${module.originalName}.`); + Logger.info(`Using compiled version of module in ${module.originalName}.`); } const importedModule = await import(module.originalName); diff --git a/src/validate.ts b/src/validate.ts index fe48ba3b..d6a03b24 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -13,6 +13,7 @@ * this program. If not, see . */ import {asyncPool} from '@krlwlfrt/async-pool'; +import {Logger} from '@openstapps/logger'; import {PathLike} from 'fs'; import {Schema, Validator as JSONSchemaValidator, ValidatorResult} from 'jsonschema'; import * as mustache from 'mustache'; @@ -20,7 +21,6 @@ import {basename, join, resolve} from 'path'; import { ExpectableValidationErrors, globPromisified, - logger, readFilePromisified, writeFilePromisified, } from './common'; @@ -58,7 +58,7 @@ export class Validator { throw new Error(`No schema files in ${schemaDir.toString()}!`); } - logger.log(`Adding schemas from ${schemaDir} to validator.`); + Logger.log(`Adding schemas from ${schemaDir} to validator.`); // Iterate over schema files await asyncPool(2, schemaFiles, async (file) => { @@ -72,7 +72,7 @@ export class Validator { // add schema to map this.schemas[basename(file, '.json')] = schema; - logger.info(`Added ${file} to validator.`); + Logger.info(`Added ${file} to validator.`); }); return schemaFiles; @@ -117,7 +117,7 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr throw new Error(`No test files in ${resourcesDir}!`); } - logger.log(`Found ${testFiles.length} file(s) to test.`); + Logger.log(`Found ${testFiles.length} file(s) to test.`); // map of errors per file const errors: ExpectableValidationErrors = {}; @@ -156,7 +156,7 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr expected = true; } else { unexpectedErrors++; - logger.error(`Unexpected error ${error.name} in ${testFile}`); + Logger.error(`Unexpected error ${error.name} in ${testFile}`); } // add error to list of errors @@ -169,7 +169,7 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr if (expectedErrors.length > 0) { expectedErrors.forEach((error) => { - logger.error(`Extraneous expected error '${error}' in ${testFile}.`); + Logger.error(`Extraneous expected error '${error}' in ${testFile}.`); errors[testFileName].push({ argument: false, expected: false, @@ -181,7 +181,7 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr }); }); } else if (unexpectedErrors === 0) { - logger.info(`Successfully validated ${testFile}.`); + Logger.info(`Successfully validated ${testFile}.`); } }); @@ -231,5 +231,5 @@ export async function writeReport(reportPath: PathLike, errors: ExpectableValida timestamp: (new Date()).toISOString(), })); - logger.ok(`Wrote report to ${reportPath}.`); + Logger.ok(`Wrote report to ${reportPath}.`); } diff --git a/test/Common.spec.ts b/test/Common.spec.ts index 7e2a7256..69361f74 100644 --- a/test/Common.spec.ts +++ b/test/Common.spec.ts @@ -12,13 +12,14 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ +import {Logger} from '@openstapps/logger'; import {expect} from 'chai'; import {slow, suite, test, timeout} from 'mocha-typescript'; import {cwd} from 'process'; -import {getTsconfigPath, logger} from '../src/common'; +import {getTsconfigPath} from '../src/common'; process.on('unhandledRejection', (err) => { - logger.error('UNHANDLED REJECTION', err.stack); + Logger.error('UNHANDLED REJECTION', err.stack); process.exit(1); }); diff --git a/test/Schema.spec.ts b/test/Schema.spec.ts index 3b7bc7bc..2a863a73 100644 --- a/test/Schema.spec.ts +++ b/test/Schema.spec.ts @@ -18,10 +18,8 @@ import {slow, suite, test, timeout} from 'mocha-typescript'; import {join} from 'path'; import {Converter, getValidatableTypesFromReflection} from '../src/schema'; -const logger = new Logger(); - process.on('unhandledRejection', (err) => { - logger.error('UNHANDLED REJECTION', err.stack); + Logger.error('UNHANDLED REJECTION', err.stack); process.exit(1); }); From 626d87639feff27eed3b0d36888bf1a2ae63ebef Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Mon, 27 May 2019 18:02:10 +0200 Subject: [PATCH 065/215] ci: add automatic publishing Fixes #21 --- .gitlab-ci.yml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 713d8643..7647cc2f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -14,8 +14,6 @@ stages: - deploy build: - tags: - - docker stage: build script: - npm run build @@ -56,6 +54,21 @@ routes: paths: - routes.md +package: + dependencies: + - build + tags: + - secrecy + stage: deploy + script: + - echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc + - npm publish + only: + - /^v[0-9]+.[0-9]+.[0-9]+$/ + artifacts: + paths: + - lib + pages: stage: deploy script: From e70d5dccabb5b401e884d9cb616e7906082d2d42 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Wed, 5 Jun 2019 16:27:59 +0200 Subject: [PATCH 066/215] build: update dependencies --- package-lock.json | 885 ++++++++++++++++++++++++---------------------- package.json | 17 +- 2 files changed, 478 insertions(+), 424 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4c25a4f5..464493e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,46 +39,40 @@ "integrity": "sha512-PbDyjVme3HR8CrMI04SokU97Enq/+txP5fS2O0XYVSmMYteJ7Q9CLO2y0t8PmNZkt4YCxmHgaNEdMs+/Ki+PAA==" }, "@openstapps/configuration": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.16.1.tgz", - "integrity": "sha512-GEYYfL0do3jikl2UyfvNdGJoQZGeo9sCYkfDrCsOYDZNxuHkHq5fzOPx8OJtMLblNzLgN65tiW+JPRWw6wTwKg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.19.0.tgz", + "integrity": "sha512-2ciZTmd4ITMz76riqllBWvKJK7WALsanJ/ZlrTJDwkzMMjZHL6GbZVhRR7O8YGVKwf3zR9SqVFc0uyAYF4qmOQ==", "dev": true, "requires": { - "@types/node": "10.14.4", + "@types/node": "10.14.7", "@types/semver": "6.0.0", "@types/yaml": "1.0.2", "chalk": "2.4.2", "commander": "2.20.0", - "semver": "6.0.0", - "tslint": "5.16.0", + "semver": "6.1.1", + "tslint": "5.17.0", "tslint-eslint-rules": "5.4.0", - "yaml": "1.5.0" + "yaml": "1.6.0" }, "dependencies": { "@types/node": { - "version": "10.14.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.4.tgz", - "integrity": "sha512-DT25xX/YgyPKiHFOpNuANIQIVvYEwCWXgK2jYYwqgaMrYE6+tq+DtmMwlD3drl6DJbUwtlIDnn0d7tIn/EbXBg==", - "dev": true - }, - "semver": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz", - "integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==", + "version": "10.14.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.7.tgz", + "integrity": "sha512-on4MmIDgHXiuJDELPk1NFaKVUxxCFr37tm8E9yN6rAiF5Pzp/9bBfBHkoexqRiY+hk/Z04EJU9kKEb59YqJ82A==", "dev": true } } }, "@openstapps/logger": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.2.1.tgz", - "integrity": "sha512-6+F1nxEBuNTrd3hhBxKnvkH8B84HvB/dVmoMP9Pmv2g3mL3pYJ9l2BBGaACDRA7oUCyLpbNQw+4Kf+VdyzOttw==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.3.1.tgz", + "integrity": "sha512-N8S4b6yoS+txN1IduxDxOnlJzhrPKWEMnVt02ZbMjSOcD55KNqxh+VgarFTQ1g6KRkquTNCo6c9IQN0UzSIg0g==", "requires": { - "@types/node": "10.14.7", - "@types/nodemailer": "6.1.0", + "@types/node": "10.14.8", + "@types/nodemailer": "6.2.0", "chalk": "2.4.2", "flatted": "2.0.0", - "nodemailer": "6.1.1" + "nodemailer": "6.2.1" } }, "@types/chai": { @@ -93,9 +87,9 @@ "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" }, "@types/fs-extra": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.0.5.tgz", - "integrity": "sha512-w7iqhDH9mN8eLClQOYTkhdYUOSpp25eXxfc6VbFOGtzxW34JcvctH2bKjj4jD4++z4R5iO5D+pg48W2e03I65A==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.1.0.tgz", + "integrity": "sha512-AInn5+UBFIK9FK5xc9yP5e3TQSPNNgjHByqYcj9g5elVBnDQcQL7PlO1CIRy2gWlbwK7UPYqi7vRvFA44dCmYQ==", "requires": { "@types/node": "*" } @@ -111,9 +105,12 @@ } }, "@types/handlebars": { - "version": "4.0.40", - "resolved": "https://registry.npmjs.org/@types/handlebars/-/handlebars-4.0.40.tgz", - "integrity": "sha512-sGWNtsjNrLOdKha2RV1UeF8+UbQnPSG7qbe5wwbni0mw4h2gHXyPFUMOC+xwGirIiiydM/HSqjDO4rk6NFB18w==" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@types/handlebars/-/handlebars-4.1.0.tgz", + "integrity": "sha512-gq9YweFKNNB1uFK71eRqsd4niVkXrxHugqWFQkeLRJvGjnxsLr16bYtcsG4tOFwmYi0Bax+wCkbf1reUfdl4kA==", + "requires": { + "handlebars": "*" + } }, "@types/highlight.js": { "version": "9.12.3", @@ -121,9 +118,9 @@ "integrity": "sha512-pGF/zvYOACZ/gLGWdQH8zSwteQS1epp68yRcVLJMgUck/MjEn/FBYmPub9pXT8C1e4a8YZfHo1CKyV8q1vKUnQ==" }, "@types/lodash": { - "version": "4.14.121", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.121.tgz", - "integrity": "sha512-ORj7IBWj13iYufXt/VXrCNMbUuCTJfhzme5kx9U/UtcIPdJYuvPDUAlHlbNhz/8lKCLy9XGIZnGrqXOtQbPGoQ==" + "version": "4.14.133", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.133.tgz", + "integrity": "sha512-/3JqnvPnY58GLzG3Y7fpphOhATV1DDZ/Ak3DQufjlRK5E4u+s0CfClfNFtAGBabw+jDGtRFbOZe+Z02ZMWCBNQ==" }, "@types/marked": { "version": "0.4.2", @@ -136,9 +133,9 @@ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" }, "@types/mocha": { - "version": "5.2.6", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.6.tgz", - "integrity": "sha512-1axi39YdtBI7z957vdqXI4Ac25e7YihYQtJa+Clnxg1zTJEaIRbndt71O3sP4GAMgiAm0pY26/b9BrY4MR/PMw==", + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", "dev": true }, "@types/mustache": { @@ -147,14 +144,14 @@ "integrity": "sha512-RTVWV485OOf4+nO2+feurk0chzHkSjkjALiejpHltyuMf/13fGymbbNNFrSKdSSUg1TIwzszXdWsVirxgqYiFA==" }, "@types/node": { - "version": "10.14.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.7.tgz", - "integrity": "sha512-on4MmIDgHXiuJDELPk1NFaKVUxxCFr37tm8E9yN6rAiF5Pzp/9bBfBHkoexqRiY+hk/Z04EJU9kKEb59YqJ82A==" + "version": "10.14.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.8.tgz", + "integrity": "sha512-I4+DbJEhLEg4/vIy/2gkWDvXBOOtPKV9EnLhYjMoqxcRW+TTZtUftkHktz/a8suoD5mUL7m6ReLrkPvSsCQQmw==" }, "@types/nodemailer": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.1.0.tgz", - "integrity": "sha512-WysSJ4sGW2Aum1Cs6HFosZdlR3WUzX0XoSLsI53q77gLd4wDfE84OXffZu5/nLIjeKh4SwfTsdrKsgBL9WowMA==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.2.0.tgz", + "integrity": "sha512-WGGEk/BGRLuYF3gyoTwbtKg5tCexZzb5lkTsis2k7GkAzlg4x2299/SC6Ssdj3X/5TzT1BHVc8zcFg/7KSzBLw==", "requires": { "@types/node": "*" } @@ -166,9 +163,9 @@ "dev": true }, "@types/shelljs": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.3.tgz", - "integrity": "sha512-miY41hqc5SkRlsZDod3heDa4OS9xv8G77EMBQuSpqq86HBn66l7F+f8y9YKm+1PIuwC8QEZVwN8YxOOG7Y67fA==", + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-bZgjwIWu9gHCjirKJoOlLzGi5N0QgZ5t7EXEuoqyWCHTuSddURXo3FOBYDyRPNOWzZ6NbkLvZnVkn483Y/tvcQ==", "requires": { "@types/glob": "*", "@types/node": "*" @@ -562,14 +559,6 @@ "semver": "^6.0.0", "split": "^1.0.0", "through2": "^3.0.0" - }, - "dependencies": { - "semver": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.0.tgz", - "integrity": "sha512-kCqEOOHoBcFs/2Ccuk4Xarm/KiWRSLEX9CAZF8xkJ6ZPlIoTZ8V5f7J16vYLJqDbR7KrxTJpR2lqjIEm2Qx9cQ==", - "dev": true - } } }, "conventional-commits-filter": { @@ -614,6 +603,14 @@ "semver": "^5.5.0", "shebang-command": "^1.2.0", "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true + } } }, "currently-unhandled": { @@ -650,10 +647,12 @@ } }, "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "requires": { + "xregexp": "4.0.0" + } }, "decamelize-keys": { "version": "1.1.0", @@ -665,6 +664,12 @@ "map-obj": "^1.0.0" }, "dependencies": { + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", @@ -702,13 +707,6 @@ "p-map": "^2.0.0", "pify": "^4.0.1", "rimraf": "^2.6.3" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - } } }, "diff": { @@ -810,31 +808,18 @@ "dev": true }, "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", "is-stream": "^1.1.0", "npm-run-path": "^2.0.0", "p-finally": "^1.0.0", "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - } } }, "fast-deep-equal": { @@ -892,9 +877,9 @@ "dev": true }, "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, "get-func-name": { @@ -931,6 +916,12 @@ "map-obj": "^1.0.0" } }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, "find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", @@ -1132,10 +1123,13 @@ "dev": true }, "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } }, "git-raw-commits": { "version": "2.0.0", @@ -1218,6 +1212,14 @@ "requires": { "meow": "^4.0.0", "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true + } } }, "gitconfiglocal": { @@ -1310,9 +1312,9 @@ "dev": true }, "highlight.js": { - "version": "9.14.2", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.14.2.tgz", - "integrity": "sha512-Nc6YNECYpxyJABGYJAyw7dBAYbXEuIzwzkqoJnwbc1nIpCiN+3ioYf0XrBnLiyyG0JLuJhpPtt2iTSbXiKLoyA==" + "version": "9.15.8", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.15.8.tgz", + "integrity": "sha512-RrapkKQWwE+wKdF73VsOa2RQdIoO3mxwJ4P8mhbI6KYJUraUHRKM5w5zQQKXNk0xNL4UVRdulV9SBJcmzJNzVA==" }, "hosted-git-info": { "version": "2.7.1", @@ -1326,16 +1328,6 @@ "integrity": "sha512-sQ+hqmxyXW8Cj7iqxcQxD7oSy3+AXnIZXdUF9lQMkzaG8dtbKAB8U7lCtViMnwQ+MpdCKsO2Kiij3G6UUXq/Xg==", "requires": { "decamelize": "^2.0.0" - }, - "dependencies": { - "decamelize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", - "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", - "requires": { - "xregexp": "4.0.0" - } - } } }, "indent-string": { @@ -1370,9 +1362,9 @@ "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==" }, "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", "dev": true }, "is-arrayish": { @@ -1564,12 +1556,12 @@ "integrity": "sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw==" }, "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "^2.0.0" } }, "load-json-file": { @@ -1582,6 +1574,14 @@ "parse-json": "^4.0.0", "pify": "^3.0.0", "strip-bom": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } } }, "locate-path": { @@ -1685,12 +1685,14 @@ "integrity": "sha512-tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw==" }, "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" } }, "meow": { @@ -1719,9 +1721,9 @@ } }, "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "minimatch": { @@ -1733,9 +1735,9 @@ } }, "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" }, "minimist-options": { "version": "3.0.2", @@ -1754,6 +1756,14 @@ "dev": true, "requires": { "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } } }, "mocha": { @@ -1787,39 +1797,12 @@ "yargs-unparser": "1.5.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -1829,21 +1812,6 @@ "locate-path": "^3.0.0" } }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, "glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", @@ -1858,21 +1826,6 @@ "path-is-absolute": "^1.0.0" } }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -1883,34 +1836,6 @@ "path-exists": "^3.0.0" } }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, "p-limit": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", @@ -1935,32 +1860,6 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, "supports-color": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", @@ -1969,41 +1868,6 @@ "requires": { "has-flag": "^3.0.0" } - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yargs": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", - "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.0.0" - } - }, - "yargs-parser": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", - "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } } } }, @@ -2017,6 +1881,136 @@ "chalk": "^2.4.1", "cross-spawn": "^6.0.5", "yargs": "^11.0.0" + }, + "dependencies": { + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + } + }, + "yargs-parser": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } } }, "modify-values": { @@ -2037,9 +2031,9 @@ "integrity": "sha512-jFI/4UVRsRYdUbuDTKT7KzfOp7FiD5WzYmmwNwXyUVypC0xjoTL78Fqc0jHUPIvvGD+6DQSPHIt1NE7D1ArsqA==" }, "neo-async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", - "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==" + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" }, "nice-try": { "version": "1.0.5", @@ -2066,9 +2060,9 @@ } }, "nodemailer": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.1.1.tgz", - "integrity": "sha512-/x5MRIh56VyuuhLfcz+DL2SlBARpZpgQIf2A4Ao4hMb69MHSgDIMPwYmFwesGT1lkRDZ0eBSoym5+JoIZ3N+cQ==" + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.2.1.tgz", + "integrity": "sha512-TagB7iuIi9uyNgHExo8lUDq3VK5/B0BpbkcjIgNvxbtVrjNqq0DwAOTuzALPVkK76kMhTSzIgHqg8X1uklVs6g==" }, "normalize-package-data": { "version": "2.5.0", @@ -2080,6 +2074,14 @@ "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true + } } }, "npm-run-path": { @@ -2148,19 +2150,19 @@ } }, "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" } }, "os-tmpdir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, @@ -2261,6 +2263,14 @@ "dev": true, "requires": { "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } } }, "pathval": { @@ -2269,10 +2279,9 @@ "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=" }, "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" }, "pinkie": { "version": "2.0.4", @@ -2380,9 +2389,9 @@ } }, "readable-stream": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz", - "integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -2430,15 +2439,15 @@ "dev": true }, "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, "resolve": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", "requires": { "path-parse": "^1.0.6" } @@ -2458,9 +2467,9 @@ "dev": true }, "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz", + "integrity": "sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==", "dev": true }, "set-blocking": { @@ -2665,9 +2674,9 @@ "dev": true }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { "has-flag": "^3.0.0" } @@ -2766,9 +2775,9 @@ "dev": true }, "tslint": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.16.0.tgz", - "integrity": "sha512-UxG2yNxJ5pgGwmMzPMYh/CCnCnh0HfPgtlVRDs1ykZklufFBL1ZoTlWFRz2NQjcoEiDoRp+JyT0lhBbbH/obyA==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.17.0.tgz", + "integrity": "sha512-pflx87WfVoYepTet3xLfDOLDm9Jqi61UXIKePOuca0qoAZyrGWonDG9VTbji58Fy+8gciUn8Bt7y69+KEVjc/w==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -2777,7 +2786,7 @@ "commander": "^2.12.1", "diff": "^3.2.0", "glob": "^7.1.1", - "js-yaml": "^3.13.0", + "js-yaml": "^3.13.1", "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "resolve": "^1.3.2", @@ -2791,6 +2800,12 @@ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true + }, + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true } } }, @@ -2812,9 +2827,9 @@ "dev": true }, "tsutils": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.10.0.tgz", - "integrity": "sha512-q20XSMq7jutbGB8luhKKsQldRKWvyBO2BGqni3p4yq8Ys9bEP/xQw3KepKmMRt9gJ4lvQSScrihJrcKdKoSU7Q==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.14.0.tgz", + "integrity": "sha512-SmzGbB0l+8I0QwsPgjooFRaRvHLBLNYM8SeQ0k6rtNDru5sCGeLJcZdwilNndN+GysuFjF5EIYgN8GfFG6UeUw==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -2873,15 +2888,15 @@ "integrity": "sha1-bcJDPnjti+qOiHo6zeLzF4W9Yic=" }, "typescript": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.5.tgz", - "integrity": "sha512-YycBxUb49UUhdNMU5aJ7z5Ej2XGmaIBL0x34vZ82fn3hGvD+bgrMrVDpatgz2f7YxUMJxMkbWxJZeAvDxVe7Vw==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.1.tgz", + "integrity": "sha512-64HkdiRv1yYZsSe4xC1WVgamNigVYjlssIoaH2HcZF0+ijsk5YK2g0G34w9wJkze8+5ow4STd22AynfO6ZYYLw==", "dev": true }, "uglify-js": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.4.tgz", - "integrity": "sha512-GpKo28q/7Bm5BcX9vOu4S46FwisbPbAmkkqPnGIpKvKTM96I85N6XHQV+k4I6FA2wxgLhcsSyHoNhzucwCflvA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", + "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", "optional": true, "requires": { "commander": "~2.20.0", @@ -3016,9 +3031,9 @@ "dev": true }, "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", "dev": true }, "yallist": { @@ -3028,75 +3043,39 @@ "dev": true }, "yaml": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.5.0.tgz", - "integrity": "sha512-nKxSWOa7vxAP2pikrGxbkZsG/garQseRiLn9mIDjzwoQsyVy7ZWIpLoARejnINGGLA4fttuzRFFNxxbsztdJgw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.6.0.tgz", + "integrity": "sha512-iZfse3lwrJRoSlfs/9KQ9iIXxs9++RvBFVzAqbbBiFT+giYtyanevreF9r61ZTbGMgWQBxAua3FzJiniiJXWWw==", "dev": true, "requires": { - "@babel/runtime": "^7.4.3" + "@babel/runtime": "^7.4.5" } }, "yargs": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", - "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", + "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", "dev": true, "requires": { "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^2.0.0", + "string-width": "^3.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" - } - }, - "yargs-parser": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } - }, - "yargs-unparser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz", - "integrity": "sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw==", - "dev": true, - "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.11", - "yargs": "^12.0.5" + "y18n": "^4.0.0", + "yargs-parser": "^13.0.0" }, "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -3106,30 +3085,6 @@ "locate-path": "^3.0.0" } }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -3140,34 +3095,6 @@ "path-exists": "^3.0.0" } }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, "p-limit": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", @@ -3192,6 +3119,130 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", + "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + } + } + }, + "yargs-unparser": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz", + "integrity": "sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw==", + "dev": true, + "requires": { + "flat": "^4.1.0", + "lodash": "^4.17.11", + "yargs": "^12.0.5" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", + "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, "yargs": { "version": "12.0.5", "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", diff --git a/package.json b/package.json index 2706573e..012eb0e2 100644 --- a/package.json +++ b/package.json @@ -33,16 +33,19 @@ "check-configuration": "openstapps-configuration", "compile": "rimraf lib && tsc && prepend lib/cli.js '#!/usr/bin/env node\n'", "documentation": "typedoc --includeDeclarations --mode modules --out docs --readme README.md --listInvalidSymbolLinks src", + "postversion": "npm run changelog", "prepublishOnly": "npm ci && npm run build", + "preversion": "npm run prepublishOnly", + "push": "git push && git push origin \"v$npm_package_version\"", "test": "mocha --require ts-node/register --ui mocha-typescript test/*.spec.ts", - "tslint": "tslint 'src/**/*.ts'" + "tslint": "tslint -p tsconfig.json -c tslint.json 'src/**/*.ts'" }, "dependencies": { "@krlwlfrt/async-pool": "0.1.0", - "@openstapps/logger": "0.2.1", + "@openstapps/logger": "0.3.1", "@types/glob": "7.1.1", "@types/mustache": "0.8.32", - "@types/node": "10.14.7", + "@types/node": "10.14.8", "ajv": "6.10.0", "chai": "4.2.0", "commander": "2.20.0", @@ -57,15 +60,15 @@ "typedoc": "0.14.2" }, "devDependencies": { - "@openstapps/configuration": "0.16.1", + "@openstapps/configuration": "0.19.0", "@types/chai": "4.1.7", - "@types/mocha": "5.2.6", + "@types/mocha": "5.2.7", "conventional-changelog-cli": "2.0.21", "mocha": "6.1.4", "mocha-typescript": "1.1.17", "prepend-file-cli": "1.0.6", "rimraf": "2.6.3", - "tslint": "5.16.0", - "typescript": "3.4.5" + "tslint": "5.17.0", + "typescript": "3.5.1" } } From 4d4f7bf7ace49f9c1dced62942eee966fd5c5ae5 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Wed, 5 Jun 2019 17:13:28 +0200 Subject: [PATCH 067/215] refactor: adjust code to new configuration --- src/cli.ts | 27 ++++-- src/common.ts | 39 ++++++++- src/pack.ts | 137 +++++++++++++++++++------------ src/resources/{Foo.ts => foo.ts} | 3 + src/routes.ts | 47 +++++++---- src/schema.ts | 34 +++++--- src/validate.ts | 46 ++++++----- test/Common.spec.ts | 2 +- test/Schema.spec.ts | 4 +- 9 files changed, 221 insertions(+), 118 deletions(-) rename src/resources/{Foo.ts => foo.ts} (95%) diff --git a/src/cli.ts b/src/cli.ts index 11352edc..c36cb73c 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -23,14 +23,17 @@ import {Converter, getValidatableTypesFromReflection} from './schema'; import {validateFiles, writeReport} from './validate'; // handle unhandled promise rejections -process.on('unhandledRejection', (error: Error) => { - Logger.error(error.message); +process.on('unhandledRejection', async (error: Error) => { + await Logger.error(error.message); Logger.info(error.stack); process.exit(1); }); commander - .version(JSON.parse(readFileSync(resolve(__dirname, '..', 'package.json')).toString()).version); + .version(JSON.parse( + readFileSync(resolve(__dirname, '..', 'package.json')) + .toString(), + ).version); commander .command('routes ') @@ -46,7 +49,7 @@ commander const routes = await gatherRouteInformation(projectReflection); // initialize markdown output - let output: string = '# Routes\n\n'; + let output = '# Routes\n\n'; // generate documentation for all routes routes.forEach((routeWithMetaInformation) => { @@ -84,7 +87,8 @@ commander Logger.info(`Trying to find a package.json for ${srcPath}.`); let path = srcPath; - // TODO: this check should be less ugly! + // TODO: this check should be less ugly! --- What is this doing anyway? + // tslint:disable-next-line:no-magic-numbers while (!existsSync(join(path, 'package.json')) && path.length > 5) { path = resolve(path, '..'); } @@ -103,9 +107,10 @@ commander validatableTypes.forEach((type) => { const schema = coreConverter.getSchema(type, coreVersion); + // tslint:disable-next-line:no-magic-numbers const stringifiedSchema = JSON.stringify(schema, null, 2); - const file = join(schemaPath, type + '.json'); + const file = join(schemaPath, `${type}.json`); // write schema to file writeFileSync(file, stringifiedSchema); @@ -126,9 +131,13 @@ commander const errorsPerFile = await validateFiles(schemaPath, testPath); let unexpected = false; - Object.keys(errorsPerFile).forEach((file) => { + for (const file in errorsPerFile) { + if (!errorsPerFile.hasOwnProperty(file)) { + continue; + } + unexpected = unexpected || errorsPerFile[file].some((error) => !error.expected); - }); + } if (typeof relativeReportPath !== 'undefined') { const reportPath = resolve(relativeReportPath); @@ -138,7 +147,7 @@ commander if (!unexpected) { Logger.ok('Successfully finished validation.'); } else { - Logger.error('Unexpected errors occurred during validation'); + await Logger.error('Unexpected errors occurred during validation'); process.exit(1); } }); diff --git a/src/common.ts b/src/common.ts index 532a0e67..02a49104 100644 --- a/src/common.ts +++ b/src/common.ts @@ -53,14 +53,35 @@ export interface RouteWithMetaInformation { * Instance of the route */ route: { + /** + * Error names of a route + */ errorNames: Error[]; + /** + * Method of the route + */ method: string; + /** + * Obligatory parameters of the route + */ obligatoryParameters: { [k: string]: string; - } + }; + /** + * Name of the request body + */ requestBodyName: string; + /** + * Name of the response body + */ responseBodyName: string; + /** + * Status code on success + */ statusCodeSuccess: number; + /** + * URL fragment + */ urlFragment: string; }; } @@ -93,13 +114,21 @@ export interface NodesWithMetaInformation { * A schema with definitions */ interface SchemaWithDefinitions extends JSONSchema { - definitions: { [name: string]: Definition }; + /** + * Definitions of the schema + */ + definitions: { [name: string]: Definition; }; } /** * An expectable error */ -export type ExpectableValidationError = ValidationError & { expected: boolean }; +export interface ExpectableValidationError extends ValidationError { + /** + * Whether or not the error is expected + */ + expected: boolean; +} /** * A map of files and their expectable validation errors @@ -162,7 +191,9 @@ export function getTsconfigPath(startPath: string): string { let tsconfigPath = startPath; // see https://stackoverflow.com/questions/9652043/identifying-the-file-system-root-with-node-js - const root = (platform() === 'win32') ? process.cwd().split(sep)[0] : '/'; + const root = (platform() === 'win32') ? process + .cwd() + .split(sep)[0] : '/'; // repeat until a tsconfig.json is found while (!existsSync(join(tsconfigPath, 'tsconfig.json'))) { diff --git a/src/pack.ts b/src/pack.ts index 8149bd2b..3369c827 100644 --- a/src/pack.ts +++ b/src/pack.ts @@ -72,18 +72,15 @@ async function packCliJs(): Promise { let internalRequire: string | null = null; - const adjustedContent = '#!/usr/bin/env node\n\n' + content + const adjustedContent = content .split('\n') .map((line, lineNumber) => { // check for exports (cli.js is not allowed to export anything) if (Array.isArray(line.match(/^\s*((exports)|(module\.exports))/))) { throw new Error( - 'Line ' + - lineNumber + - ' in cli.js has a reference to the exports object. cli.js is not for exporting. Line was: "' - + line - + '"', + `Line '${lineNumber}' in 'cli.js' exports something. cli.js is not for exporting. Line was: +${line}`, ); } @@ -92,7 +89,9 @@ async function packCliJs(): Promise { const match = line.match(/^(\s*)(const|var) ([a-z0-9_]*) = require\(("[^"]+"|'[^']+')\);$/i); if (match !== null) { + // tslint:disable-next-line:no-magic-numbers const importedName = match[3]; + // tslint:disable-next-line:no-magic-numbers const moduleName = match[4].substring(1, match[4].length - 1); // if it begins with '.' and not ends with json @@ -100,19 +99,23 @@ async function packCliJs(): Promise { // is the first internal require if (internalRequire !== null) { - return 'const ' + importedName + ' = ' + internalRequire + ';'; + return `const ${importedName} = ${internalRequire};`; } // only the first import needs a require internalRequire = importedName; - return 'const ' + importedName + ' = require("./index");'; + + return `const ${importedName} = require("./index");`; } } + return line; }) .join('\n'); - return await writeFilePromisified(path, adjustedContent); + return writeFilePromisified(path, `#!/usr/bin/env node + +${adjustedContent}`); } /** @@ -127,11 +130,11 @@ async function getAllTypeDefinitions(): Promise { ], }); - const promises = fileNames.map((fileName) => { + const promises = fileNames.map(async (fileName) => { return readFilePromisified(fileName, 'utf8'); }); - return await Promise.all(promises); + return Promise.all(promises); } /** @@ -147,7 +150,7 @@ async function packTypeDefinitions(): Promise { const typeDefinitions = await getAllTypeDefinitions(); // pack TypeScript definition files - const imports: { [k: string]: string[] } = {}; + const imports: { [k: string]: string[]; } = {}; const referenceLines: string[] = []; @@ -163,6 +166,7 @@ async function packTypeDefinitions(): Promise { if (line.indexOf('/// { const match = line.match(/^import {([^}].*)} from '([^'].*)';$/); if (match !== null) { - // extract module + // tslint:disable-next-line:no-magic-numbers - extract module const module = match[2]; // extract imported objects - const importedObjects = match[1].split(',').map((object) => { - return object.trim(); - }); + const importedObjects = match[1] + .split(',') + .map((object) => { + return object.trim(); + }); // add list of already imported objects for module if (typeof imports[module] === 'undefined') { @@ -195,27 +201,31 @@ async function packTypeDefinitions(): Promise { // replace import line if (objectsToImport.length === 0) { return '// extraneous removed import'; - } else { - return 'import { ' + objectsToImport.join(', ') + ' } from \'' + module + '\';'; } + + return `import {${objectsToImport.join(', ')}} from '${module}';`; } return line; }) // filter lines which contain "local" imports .filter((line) => { - return !line.match(/^import .* from '\./); + return line.match(/^import .* from '\./) === null; }) // concat all lines separated by new lines .join('\n'); if (allDefinitions.length > 0) { if (referenceLines.length > 0) { - allDefinitions = referenceLines.join('\n') + '\n\n' + allDefinitions; + allDefinitions = `${referenceLines.join('\n')} + +${allDefinitions}`; } // write packed TypeScript definition files - return await writeFilePromisified(path, PACK_IDENTIFIER + '\n\n' + allDefinitions); + return writeFilePromisified(path, `${PACK_IDENTIFIER} + +${allDefinitions}`); } } @@ -233,17 +243,21 @@ async function getAllJavaScriptModules(): Promise { const promises = fileNames.map(async (fileName) => { const fileContent = await readFilePromisified(fileName, 'utf8'); - const directory = dirname(fileName).replace(new RegExp('^' + join(cwd(), 'lib')), ''); + const directory = dirname(fileName) + .replace(new RegExp(`^${join(cwd(), 'lib')}`), ''); return { - content: '(function() {\n' + fileContent + '\n})();\n', + content: `(function() { +${fileContent} +})(); +`, dependencies: getAllInternalDependencies(fileContent), directory: directory, name: basename(fileName, '.js'), }; }); - return await Promise.all(promises); + return Promise.all(promises); } /** @@ -271,13 +285,16 @@ async function packJavaScriptFiles(): Promise { // replace lines with internal requires if (match !== null) { - // match[6] or match[8] contain the modulePath + // tslint:disable-next-line:no-magic-numbers - match[6] or match[8] contain the modulePath if (typeof match[6] === 'undefined') { + // tslint:disable-next-line:no-magic-numbers match[6] = match[8]; } - const whiteSpace = match[1] ? match[1] : ''; + const whiteSpace = (typeof match[1] === 'string' && match[1].length > 0) ? match[1] : ''; + // tslint:disable-next-line:no-magic-numbers const importedName = match[3]; + // tslint:disable-next-line:no-magic-numbers const modulePath = match[6]; // leave line unchanged if it is a "global" import @@ -286,22 +303,23 @@ async function packJavaScriptFiles(): Promise { } // replace internal requires with `module.exports` - if (existsSync(join(cwd(), 'lib', module.directory, modulePath + '.js'))) { - return whiteSpace + 'const ' + importedName + ' = module.exports;'; + if (existsSync(join(cwd(), 'lib', module.directory, `${modulePath}.js`))) { + return `${whiteSpace}const ${importedName} = module.exports;`; } if (existsSync(join(cwd(), 'src', module.directory, modulePath))) { - return whiteSpace + 'const ' + importedName + ' = require(\'../src/' + modulePath + '\');'; + return `${whiteSpace} const ${importedName} = require(../src/${modulePath});`; } - Logger.warn('Import ' + importedName + ' could not be found in module.directory ' + modulePath); + Logger.warn(`Import ${importedName} could not be found in module.directory ${modulePath}.`); } return line; }) .join('\n'); - return '// Module: ' + module.name + '\n' + module.content; + return `// Module: ${module.name} +${module.content}`; }) // concat them separated by new lines .join('\n\n\n\n\n') @@ -332,10 +350,15 @@ async function packJavaScriptFiles(): Promise { if (wholeCode.length > 0) { // add meta lines to the file - wholeCode = '"use strict";\nObject.defineProperty(exports, "__esModule", { value: true });\n\n' + wholeCode; + wholeCode = `"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); + +${wholeCode}`; // write packed JavaScript files - return await writeFilePromisified(path, PACK_IDENTIFIER + '\n\n' + wholeCode); + return writeFilePromisified(path, `${PACK_IDENTIFIER} + +${wholeCode}`); } } @@ -351,8 +374,9 @@ async function deleteFileIfExistingAndPacked(path: string): Promise { // check if packed by this script if (content.indexOf(PACK_IDENTIFIER) === 0) { - Logger.log('Found `' + path + '` which is packed by this script. Deleting it...'); - return await unlinkPromisified(path); + Logger.log(`Found '${path}' which is packed by this script. Deleting it...`); + + return unlinkPromisified(path); } } catch (err) { if (err.code === 'ENOENT') { @@ -372,23 +396,26 @@ function getAllInternalDependencies(moduleContent: string): string[] { moduleContent.match(/^\s*(const|var) [a-z0-9_]* = require\("([^"]+)"\)|require\('([^']+)'\);$/gmi); if (Array.isArray(requireLines)) { - return requireLines.map((requireLine) => { - const matches = requireLine.match(/require\("([^"]+)"\)|require\('([^']+)'\);$/i); + return requireLines + .map((requireLine) => { + const matches = requireLine.match(/require\("([^"]+)"\)|require\('([^']+)'\);$/i); - // previously matched require line does not contain a require?! - if (matches === null) { - throw new Error(); - } + // previously matched require line does not contain a require?! + if (matches === null) { + throw new Error(); + } - // return only the moduleName - return matches[1]; - }).filter((moduleName) => { - // filter out internal modules beginning with './' and not ending with '.json' - return /^[.]{1,2}\/(?!.*\.json$).*$/i.test(moduleName); - }).map((internalModuleName) => { - // cut './' from the name - return internalModuleName.substring(2); - }); + // return only the moduleName + return matches[1]; + }) + .filter((moduleName) => { + // filter out internal modules beginning with './' and not ending with '.json' + return /^[.]{1,2}\/(?!.*\.json$).*$/i.test(moduleName); + }) + .map((internalModuleName) => { + // cut './' from the name + return internalModuleName.substring('./'.length); + }); } return []; @@ -417,11 +444,13 @@ function topologicalSort(modules: JavaScriptModule[]): JavaScriptModule[] { }); // sort graph and return as an array of sorted modules - return topoSort.array(nodes, edges).map((moduleName: string) => { - return modules.find((module) => { - return module.name === moduleName; + return topoSort + .array(nodes, edges) + .map((moduleName: string) => { + return modules.find((module) => { + return module.name === moduleName; + }); }); - }); } /** diff --git a/src/resources/Foo.ts b/src/resources/foo.ts similarity index 95% rename from src/resources/Foo.ts rename to src/resources/foo.ts index 83727420..b5b09c70 100644 --- a/src/resources/Foo.ts +++ b/src/resources/foo.ts @@ -17,5 +17,8 @@ * @validatable */ export interface Foo { + /** + * Dummy parameter + */ lorem: 'ipsum'; } diff --git a/src/routes.ts b/src/routes.ts index e9e50756..2f58f716 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -14,7 +14,9 @@ */ import {asyncPool} from '@krlwlfrt/async-pool'; import {Logger} from '@openstapps/logger'; +import {basename, dirname, join} from 'path'; import {ProjectReflection} from 'typedoc'; +import {Type} from 'typedoc/dist/lib/models'; import {NodesWithMetaInformation, NodeWithMetaInformation, RouteWithMetaInformation} from './common'; /** @@ -32,17 +34,20 @@ export async function gatherRouteInformation(reflection: ProjectReflection): Pro throw new Error('Project reflection doesn\'t contain any modules.'); } + // tslint:disable-next-line:no-magic-numbers await asyncPool(2, reflection.children, async (module) => { if (Array.isArray(module.children) && module.children.length > 0) { + // tslint:disable-next-line:no-magic-numbers await asyncPool(2, module.children, (async (node) => { if (Array.isArray(node.extendedTypes) && node.extendedTypes.length > 0) { if (node.extendedTypes.some((extendedType) => { - return (extendedType as any).name === 'SCAbstractRoute'; + // tslint:disable-next-line:completed-docs + return (extendedType as (Type & { name: string; })).name === 'SCAbstractRoute'; })) { Logger.info(`Found ${node.name} in ${module.originalName}.`); - if (module.originalName.match(/\.d\.ts$/)) { - module.originalName = module.originalName.substr(0, module.originalName.length - 5); + if (Array.isArray(module.originalName.match(/\.d\.ts$/))) { + module.originalName = join(dirname(module.originalName), basename(module.originalName, '.d.ts')); Logger.info(`Using compiled version of module in ${module.originalName}.`); } @@ -71,17 +76,18 @@ export async function gatherRouteInformation(reflection: ProjectReflection): Pro * @param node Node itself * @param humanize Whether to humanize the name or not */ -export function getLinkedNameForNode(name: string, node: NodeWithMetaInformation, humanize: boolean = false): string { +export function getLinkedNameForNode(name: string, node: NodeWithMetaInformation, humanize = false): string { const humanizeString = require('humanize-string'); let printableName = name; if (humanize) { - printableName = humanizeString(name.substr(2)); + printableName = humanizeString(name.substr('SC'.length)); } let link = `[${printableName}]`; link += `(${getLinkForNode(name, node)})`; + return link; } @@ -93,12 +99,16 @@ export function getLinkedNameForNode(name: string, node: NodeWithMetaInformation */ export function getLinkForNode(name: string, node: NodeWithMetaInformation): string { let link = 'https://openstapps.gitlab.io/core/'; - const module = node.module.toLowerCase().split('/').join('_'); + const module = node.module + .toLowerCase() + .split('/') + .join('_'); if (node.type === 'Type alias') { link += 'modules/'; link += `_${module}_`; link += `.html#${name.toLowerCase()}`; + return link; } @@ -110,6 +120,7 @@ export function getLinkForNode(name: string, node: NodeWithMetaInformation): str link += `${type}/`; link += `_${module}_`; link += `.${name.toLowerCase()}.html`; + return link; } @@ -117,7 +128,7 @@ export function getLinkForNode(name: string, node: NodeWithMetaInformation): str * Generate documentation snippet for one route * * @param routeWithInfo A route instance with its meta information - * @param nodes + * @param nodes Nodes with meta information */ export function generateDocumentationForRoute(routeWithInfo: RouteWithMetaInformation, nodes: NodesWithMetaInformation): string { @@ -143,14 +154,20 @@ export function generateDocumentationForRoute(routeWithInfo: RouteWithMetaInform | request | ${getLinkedNameForNode(route.requestBodyName, nodes[route.requestBodyName])} | | response | ${getLinkedNameForNode(route.responseBodyName, nodes[route.responseBodyName])} | | success code | ${route.statusCodeSuccess} | -| errors | ${route.errorNames.map((error) => { - return getLinkedNameForNode(error.name, nodes[error.name]); - }).join('
')} | +| errors | ${route.errorNames + .map((error) => { + return getLinkedNameForNode(error.name, nodes[error.name]); + }) + .join('
')} | `; if (typeof route.obligatoryParameters === 'object' && Object.keys(route.obligatoryParameters).length > 0) { let parameterTable = ''; - Object.keys(route.obligatoryParameters).forEach((parameter) => { + for (const parameter in route.obligatoryParameters) { + if (!route.obligatoryParameters.hasOwnProperty(parameter)) { + continue; + } + let type = route.obligatoryParameters![parameter]; if (typeof nodes[type] !== 'undefined') { @@ -158,7 +175,7 @@ export function generateDocumentationForRoute(routeWithInfo: RouteWithMetaInform } parameterTable += ``; - }); + } parameterTable += '
parametertype
${parameter}${type}
'; @@ -182,14 +199,14 @@ export function getNodeMetaInformationMap(projectReflection: ProjectReflection): } // iterate over modules - projectReflection.children.forEach((module: any) => { + projectReflection.children.forEach((module) => { if (Array.isArray(module.children) && module.children.length > 0) { // iterate over types - module.children.forEach((node: any) => { + module.children.forEach((node) => { // add node with module and type nodes[node.name] = { module: module.name.substring(1, module.name.length - 1), - type: node.kindString, + type: node.kindString!, }; }); } diff --git a/src/schema.ts b/src/schema.ts index cff2e7bd..ef6290d3 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -12,10 +12,10 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import * as ajv from 'ajv'; +import * as Ajv from 'ajv'; import {Schema as JSONSchema} from 'jsonschema'; import {join} from 'path'; -import {DEFAULT_CONFIG, SchemaGenerator} from 'ts-json-schema-generator'; +import {DEFAULT_CONFIG, Definition, SchemaGenerator} from 'ts-json-schema-generator'; import {createFormatter} from 'ts-json-schema-generator/dist/factory/formatter'; import {createParser} from 'ts-json-schema-generator/dist/factory/parser'; import {createProgram} from 'ts-json-schema-generator/dist/factory/program'; @@ -28,8 +28,15 @@ import {getTsconfigPath, isSchemaWithDefinitions} from './common'; * Converts TypeScript source files to JSON schema files */ export class Converter { - private generator: SchemaGenerator; - private schemaValidator: ajv.Ajv; + /** + * Generator instance + */ + private readonly generator: SchemaGenerator; + + /** + * Schema validator instance + */ + private readonly schemaValidator: Ajv.Ajv; /** * Create a new converter @@ -58,24 +65,24 @@ export class Converter { createFormatter(config), ); - // create ajv instance - this.schemaValidator = new ajv(); + // create Ajv instance + this.schemaValidator = new Ajv(); this.schemaValidator.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json')); } /** * Get schema for specific StAppsCore type * - * @param {string} type Type to get the schema for - * @param {string} version Version to set for the schema - * @returns {Schema} Generated schema + * @param type Type to get the schema for + * @param version Version to set for the schema + * @returns Generated schema */ getSchema(type: string, version: string): JSONSchema { // generate schema for this file/type const schema: JSONSchema = this.generator.createSchema(type); // set id of schema - schema.id = 'https://core.stapps.tu-berlin.de/v' + version + '/lib/schema/' + type + '.json'; + schema.id = `https://core.stapps.tu-berlin.de/v${version}/lib/schema/${type}.json`; if (isSchemaWithDefinitions(schema)) { const selfReference = { @@ -88,7 +95,10 @@ export class Converter { delete selfReference.id; // add self reference to definitions - schema.definitions['SC' + type] = Object.assign({}, selfReference as any); + schema.definitions[`SC${type}`] = { + ...{}, + ...selfReference as unknown as Definition, + }; } if (!this.schemaValidator.validateSchema(schema)) { @@ -119,7 +129,7 @@ export function getValidatableTypesFromReflection(projectReflection: ProjectRefl // check if type has annotation @validatable if (typeof type.comment === 'object' && Array.isArray(type.comment.tags) - && type.comment.tags.find((tag) => tag.tagName === 'validatable')) { + && type.comment.tags.findIndex((tag) => tag.tagName === 'validatable') >= 0) { // add type to list validatableTypes.push(type.name); } diff --git a/src/validate.ts b/src/validate.ts index d6a03b24..0efb50c2 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -18,12 +18,7 @@ import {PathLike} from 'fs'; import {Schema, Validator as JSONSchemaValidator, ValidatorResult} from 'jsonschema'; import * as mustache from 'mustache'; import {basename, join, resolve} from 'path'; -import { - ExpectableValidationErrors, - globPromisified, - readFilePromisified, - writeFilePromisified, -} from './common'; +import {ExpectableValidationErrors, globPromisified, readFilePromisified, writeFilePromisified} from './common'; /** * StAppsCore validator @@ -32,7 +27,7 @@ export class Validator { /** * Map of schema names to schemas */ - private readonly schemas: { [type: string]: Schema } = {}; + private readonly schemas: { [type: string]: Schema; } = {}; /** * JSONSchema validator instance @@ -60,7 +55,7 @@ export class Validator { Logger.log(`Adding schemas from ${schemaDir} to validator.`); - // Iterate over schema files + // tslint:disable-next-line:no-magic-numbers - iterate over schema files await asyncPool(2, schemaFiles, async (file) => { // read schema file const buffer = await readFilePromisified(file); @@ -84,7 +79,7 @@ export class Validator { * @param instance Instance to validate * @param schema Name of schema to validate instance against or the schema itself */ - public validate(instance: any, schema: string | Schema): ValidatorResult { + public validate(instance: unknown, schema: string | Schema): ValidatorResult { if (typeof schema === 'string') { // if you want to access a schema that is contained in the validator object if (typeof this.schemas[schema] !== 'object') { @@ -92,10 +87,10 @@ export class Validator { } return this.validator.validate(instance, this.schemas[schema]); - } else { - // if you have a schema and want to validate it directly - return this.validator.validate(instance, schema); } + + // if you have a schema and want to validate it directly + return this.validator.validate(instance, schema); } } @@ -122,7 +117,7 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr // map of errors per file const errors: ExpectableValidationErrors = {}; - // iterate over files to test + // tslint:disable-next-line:no-magic-numbers - iterate over files to test await asyncPool(2, testFiles, async (testFile) => { const testFileName = basename(testFile); @@ -145,7 +140,7 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr errors[testFileName] = []; // iterate over errors - result.errors.forEach((error) => { + for (const error of result.errors) { // get idx of expected error const errorIdx = expectedErrors.indexOf(error.name); let expected = false; @@ -156,7 +151,7 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr expected = true; } else { unexpectedErrors++; - Logger.error(`Unexpected error ${error.name} in ${testFile}`); + await Logger.error(`Unexpected error ${error.name} in ${testFile}`); } // add error to list of errors @@ -164,12 +159,13 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr ...error, expected, }); - }); + } } if (expectedErrors.length > 0) { - expectedErrors.forEach((error) => { - Logger.error(`Extraneous expected error '${error}' in ${testFile}.`); + for (const error of expectedErrors) { + await Logger.error(`Extraneous expected error '${error}' in ${testFile}.`); + errors[testFileName].push({ argument: false, expected: false, @@ -177,9 +173,9 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr message: `expected error ${error} did not occur`, name: `expected ${error}`, property: 'unknown', - schema: undefined as any, + schema: 'undefined', }); - }); + } } else if (unexpectedErrors === 0) { Logger.info(`Successfully validated ${testFile}.`); } @@ -203,15 +199,21 @@ export async function writeReport(reportPath: PathLike, errors: ExpectableValida let output = ''; - Object.keys(errors).forEach((fileName) => { + for (const fileName in errors) { + if (!errors.hasOwnProperty(fileName)) { + continue; + } + let fileOutput = ''; errors[fileName].forEach((error, idx) => { fileOutput += mustache.render(errorTemplate, { idx: idx + 1, + // tslint:disable-next-line:no-magic-numbers instance: JSON.stringify(error.instance, null, 2), message: error.message, property: error.property, + // tslint:disable-next-line:no-magic-numbers schema: JSON.stringify(error.schema, null, 2), status: (error.expected) ? 'alert-success' : 'alert-danger', }); @@ -221,7 +223,7 @@ export async function writeReport(reportPath: PathLike, errors: ExpectableValida errors: fileOutput, testFile: fileName, }); - }); + } buffer = await readFilePromisified(resolve(__dirname, '..', 'resources', 'report.html.mustache')); const reportTemplate = buffer.toString(); diff --git a/test/Common.spec.ts b/test/Common.spec.ts index 69361f74..588fb071 100644 --- a/test/Common.spec.ts +++ b/test/Common.spec.ts @@ -23,7 +23,7 @@ process.on('unhandledRejection', (err) => { process.exit(1); }); -@suite(timeout(10000), slow(5000)) +@suite(timeout(20000), slow(10000)) export class CommonSpec { @test async getTsconfigPath() { diff --git a/test/Schema.spec.ts b/test/Schema.spec.ts index 2a863a73..a04a8bc0 100644 --- a/test/Schema.spec.ts +++ b/test/Schema.spec.ts @@ -23,7 +23,7 @@ process.on('unhandledRejection', (err) => { process.exit(1); }); -@suite(timeout(15000), slow(5000)) +@suite(timeout(20000), slow(10000)) export class SchemaSpec { @test async getSchema() { @@ -39,6 +39,7 @@ export class SchemaSpec { additionalProperties: false, properties: { lorem: { + description: 'Dummy parameter', enum: [ 'ipsum', ], @@ -54,6 +55,7 @@ export class SchemaSpec { id: 'https://core.stapps.tu-berlin.de/v0.0.1/lib/schema/Foo.json', properties: { lorem: { + description: 'Dummy parameter', enum: [ 'ipsum', ], From f90e93c1f46907f7cba007fb9d80d8f6445fcf09 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Wed, 5 Jun 2019 17:38:07 +0200 Subject: [PATCH 068/215] test: make routes job fail if number of files is lower than 100 --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7647cc2f..e89afa22 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -50,6 +50,8 @@ routes: script: - npm install @openstapps/core - node lib/cli.js routes node_modules/@openstapps/core/lib routes.md + - NUMBER_OF_LINES=$(cat routes.md | wc -l) + - if [ "$NUMBER_OF_LINES" -lt 100 ]; then exit 1; fi artifacts: paths: - routes.md From c4a403e8071159eefb1dcda3cb611e0884bde58e Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Tue, 7 May 2019 11:32:22 +0200 Subject: [PATCH 069/215] refactor: reintroduce validateThing method --- src/common.ts | 14 ++++++++++++++ src/validate.ts | 29 +++++++++++++++++++++++++---- 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/common.ts b/src/common.ts index 02a49104..a713e0f1 100644 --- a/src/common.ts +++ b/src/common.ts @@ -182,6 +182,20 @@ export function isSchemaWithDefinitions(schema: JSONSchema): schema is SchemaWit return typeof schema.definitions !== 'undefined'; } +// tslint:disable: completed-docs +/** + * Guard method for determining if an object (a thing) has a type property with a type of string + * + * @param thing An object (thing) + */ +export function isThingWithType(thing: unknown): thing is { type: string; } { + return typeof thing === 'object' && + thing !== null && + 'type' in thing && + typeof (thing as { type: string; }).type === 'string'; +} +// tslint:enable: completed-docs + /** * Get path that contains a tsconfig.json * diff --git a/src/validate.ts b/src/validate.ts index 0efb50c2..0e5251f6 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -18,7 +18,13 @@ import {PathLike} from 'fs'; import {Schema, Validator as JSONSchemaValidator, ValidatorResult} from 'jsonschema'; import * as mustache from 'mustache'; import {basename, join, resolve} from 'path'; -import {ExpectableValidationErrors, globPromisified, readFilePromisified, writeFilePromisified} from './common'; +import { + ExpectableValidationErrors, + globPromisified, + isThingWithType, + readFilePromisified, + writeFilePromisified, +} from './common'; /** * StAppsCore validator @@ -74,12 +80,28 @@ export class Validator { } /** - * Validates anything against a given schema name + * Validates anything against a given schema name or infers schema name from object * * @param instance Instance to validate * @param schema Name of schema to validate instance against or the schema itself */ - public validate(instance: unknown, schema: string | Schema): ValidatorResult { + public validate(instance: unknown, schema?: string | Schema): ValidatorResult { + if (typeof schema === 'undefined') { + if (isThingWithType(instance)) { + // schema name can be infered from type string + // tslint:disable-next-line: completed-docs + const schemaSuffix = (instance as { type: string; }).type.split(' ') + .map((part: string) => { + return part.substr(0, 1) + .toUpperCase() + part.substr(1); + }) + .join(''); + const schemaName = `SC${schemaSuffix}`; + + return this.validate(instance, schemaName); + } + throw new Error('Instance.type does not exist.'); + } if (typeof schema === 'string') { // if you want to access a schema that is contained in the validator object if (typeof this.schemas[schema] !== 'object') { @@ -89,7 +111,6 @@ export class Validator { return this.validator.validate(instance, this.schemas[schema]); } - // if you have a schema and want to validate it directly return this.validator.validate(instance, schema); } } From b965f7cd6e1e835a70b39fb266979c111db297a5 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Tue, 28 May 2019 16:15:06 +0200 Subject: [PATCH 070/215] test: adjust schema test for broader use cases --- src/resources/foo.ts | 14 ++++++++++++++ test/Schema.spec.ts | 20 +++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/resources/foo.ts b/src/resources/foo.ts index b5b09c70..b2d5357c 100644 --- a/src/resources/foo.ts +++ b/src/resources/foo.ts @@ -14,6 +14,9 @@ */ /** + * This is a simple interface declaration for + * testing the schema generation and validation. + * * @validatable */ export interface Foo { @@ -21,4 +24,15 @@ export interface Foo { * Dummy parameter */ lorem: 'ipsum'; + + /** + * String literal type property + */ + type: FooType; } + +/** + * This is a simple type declaration for + * usage in the Foo interace. + */ +export type FooType = 'Foo'; diff --git a/test/Schema.spec.ts b/test/Schema.spec.ts index a04a8bc0..6251f561 100644 --- a/test/Schema.spec.ts +++ b/test/Schema.spec.ts @@ -30,13 +30,20 @@ export class SchemaSpec { const converter = new Converter(join(__dirname, '..', 'src', 'resources')); const schema = converter.getSchema('Foo', '0.0.1'); - expect(schema).to.be.deep.equal({ $schema: 'http://json-schema.org/draft-06/schema#', additionalProperties: false, definitions: { + FooType: { + description: 'This is a simple type declaration for\nusage in the Foo interace.', + enum: [ + 'Foo', + ], + type: 'string', + }, SCFoo: { additionalProperties: false, + description: 'This is a simple interface declaration for\ntesting the schema generation and validation.', properties: { lorem: { description: 'Dummy parameter', @@ -45,13 +52,19 @@ export class SchemaSpec { ], type: 'string', }, + type: { + $ref: '#/definitions/FooType', + description: 'String literal type property', + }, }, required: [ 'lorem', + 'type', ], type: 'object', }, }, + description: 'This is a simple interface declaration for\ntesting the schema generation and validation.', id: 'https://core.stapps.tu-berlin.de/v0.0.1/lib/schema/Foo.json', properties: { lorem: { @@ -61,9 +74,14 @@ export class SchemaSpec { ], type: 'string', }, + type: { + $ref: '#/definitions/FooType', + description: 'String literal type property', + }, }, required: [ 'lorem', + 'type', ], type: 'object', }); From dbc0586fc2d7a918b8b647730ac85d054e7fe6f6 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Tue, 28 May 2019 16:15:32 +0200 Subject: [PATCH 071/215] test: add test for validator --- package-lock.json | 10 ++++++ package.json | 1 + test/Validate.spec.ts | 83 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 94 insertions(+) create mode 100644 test/Validate.spec.ts diff --git a/package-lock.json b/package-lock.json index 464493e2..51baf899 100644 --- a/package-lock.json +++ b/package-lock.json @@ -156,6 +156,16 @@ "@types/node": "*" } }, + "@types/rimraf": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.2.tgz", + "integrity": "sha512-Hm/bnWq0TCy7jmjeN5bKYij9vw5GrDFWME4IuxV08278NtU/VdGbzsBohcCUJ7+QMqmUq5hpRKB39HeQWJjztQ==", + "dev": true, + "requires": { + "@types/glob": "*", + "@types/node": "*" + } + }, "@types/semver": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.0.0.tgz", diff --git a/package.json b/package.json index 012eb0e2..25f73a2b 100644 --- a/package.json +++ b/package.json @@ -63,6 +63,7 @@ "@openstapps/configuration": "0.19.0", "@types/chai": "4.1.7", "@types/mocha": "5.2.7", + "@types/rimraf": "2.0.2", "conventional-changelog-cli": "2.0.21", "mocha": "6.1.4", "mocha-typescript": "1.1.17", diff --git a/test/Validate.spec.ts b/test/Validate.spec.ts new file mode 100644 index 00000000..40834e9b --- /dev/null +++ b/test/Validate.spec.ts @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {Logger} from '@openstapps/logger'; +import {expect} from 'chai'; +import {existsSync, mkdirSync, writeFileSync} from 'fs'; +import {Schema} from 'jsonschema'; +import {slow, suite, test, timeout} from 'mocha-typescript'; +import {join} from 'path'; +import * as rimraf from 'rimraf'; +import {Foo} from '../src/resources/foo'; +import {Converter} from '../src/schema'; +import {Validator} from '../src/validate'; + +process.on('unhandledRejection', (err) => { + Logger.error('UNHANDLED REJECTION', err.stack); + process.exit(1); +}); + +const tmpdir = join(__dirname, 'tmp'); +const fooInstance: Foo = { + lorem: 'ipsum', + type: 'Foo', +}; + +@suite(timeout(15000), slow(5000)) +export class SchemaSpec { + static converter: Converter; + static schema: Schema; + + static before() { + this.converter = new Converter(join(__dirname, '..', 'src', 'resources')); + this.schema = this.converter.getSchema('Foo', '0.0.1'); + if (!existsSync(tmpdir)) { + mkdirSync(tmpdir); + } + writeFileSync(join(tmpdir, 'SCFoo.json'), JSON.stringify(this.schema, null, 2)); + } + + static after() { + rimraf(tmpdir, (error: Error) => { + // tslint:disable-next-line: no-unused-expression + expect(error, `Unable to remove temporary directory for tests at: ${tmpdir}`).to.be.null; + }); + } + + @test + async validateBySchemaIdentifingString() { + const validator = new Validator(); + await validator.addSchemas(tmpdir); + const validationResult = validator.validate(fooInstance, 'SCFoo'); + // tslint:disable-next-line: no-unused-expression + expect(validationResult.errors, JSON.stringify(validationResult.errors, null, 2)).to.be.empty; + } + + @test + async validateBySchemaInstance() { + const validator = new Validator(); + const validationResult = validator.validate(fooInstance, SchemaSpec.schema); + // tslint:disable-next-line: no-unused-expression + expect(validationResult.errors, JSON.stringify(validationResult.errors, null, 2)).to.be.empty; + } + + @test + async validateIntrinsic() { + const validator = new Validator(); + await validator.addSchemas(tmpdir); + const validationResult = validator.validate(fooInstance); + // tslint:disable-next-line: no-unused-expression + expect(validationResult.errors, JSON.stringify(validationResult.errors, null, 2)).to.be.empty; + } +} From ef7724759d5b31eebe7cacdb70a487404dc3bfe8 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 24 Jun 2019 12:56:12 +0200 Subject: [PATCH 072/215] 0.7.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 51baf899..d4bb5107 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.6.0", + "version": "0.7.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 25f73a2b..ca522da3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.6.0", + "version": "0.7.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From a9c0fddb23a8cf4e24d7ed411deda5902106d37d Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 24 Jun 2019 12:56:16 +0200 Subject: [PATCH 073/215] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b4bde4f..fe075e87 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# [0.7.0](https://gitlab.com/openstapps/core-tools/compare/v0.6.0...v0.7.0) (2019-06-24) + + + # [0.6.0](https://gitlab.com/openstapps/core-tools/compare/v0.5.1...v0.6.0) (2019-04-16) From 0f21da4a92b4e0ef11a5f274468d3679fc9784ee Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Mon, 27 May 2019 13:10:41 +0200 Subject: [PATCH 074/215] feat: add the uml generator --- .gitlab-ci.yml | 27 + Dockerfile | 1 + README.md | 65 ++- package-lock.json | 334 +++++++++--- package.json | 9 + src/cli.ts | 104 +++- src/common.ts | 61 ++- src/uml/createDiagram.ts | 274 ++++++++++ src/uml/model/LightweightClassDefinition.ts | 56 ++ src/uml/model/LightweightDefinition.ts | 28 + src/uml/model/LightweightEnumDefinition.ts | 30 ++ src/uml/model/LightweightProperty.ts | 54 ++ src/uml/model/LightweightType.ts | 85 +++ src/uml/readDefinitions.ts | 423 +++++++++++++++ src/uml/umlConfig.ts | 54 ++ test/Common.spec.ts | 1 + test/CreateDiagram.spec.ts | 85 +++ test/ReadDefinitions.spec.ts | 29 + test/model/TestClass.ts | 34 ++ test/model/TestEnum.ts | 25 + test/model/TestFunction.ts | 17 + test/model/TestInterface.ts | 34 ++ test/model/TestUnion.ts | 24 + test/model/generatedModel.ts | 552 ++++++++++++++++++++ 24 files changed, 2310 insertions(+), 96 deletions(-) create mode 100644 Dockerfile create mode 100644 src/uml/createDiagram.ts create mode 100644 src/uml/model/LightweightClassDefinition.ts create mode 100644 src/uml/model/LightweightDefinition.ts create mode 100644 src/uml/model/LightweightEnumDefinition.ts create mode 100644 src/uml/model/LightweightProperty.ts create mode 100644 src/uml/model/LightweightType.ts create mode 100644 src/uml/readDefinitions.ts create mode 100644 src/uml/umlConfig.ts create mode 100644 test/CreateDiagram.spec.ts create mode 100644 test/ReadDefinitions.spec.ts create mode 100644 test/model/TestClass.ts create mode 100644 test/model/TestEnum.ts create mode 100644 test/model/TestFunction.ts create mode 100644 test/model/TestInterface.ts create mode 100644 test/model/TestUnion.ts create mode 100644 test/model/generatedModel.ts diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e89afa22..821369b9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,6 +21,21 @@ build: paths: - lib +package: + dependencies: + - build + tags: + - secrecy + stage: deploy + script: + - echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > /root/.npmrc + - npm publish + only: + - /^v[0-9]+.[0-9]+.[0-9]+$/ + artifacts: + paths: + - lib + test: tags: - docker @@ -71,6 +86,18 @@ package: paths: - lib +uml: + cache: {} + dependencies: + - build + stage: test + image: node:10 + services: + - name: registry.gitlab.com/openstapps/core-tools:latest + alias: plantuml + script: + - node lib/cli.js plantuml test/model http://plantuml:8080 --showProperties --showOptionalProperties --showInheritedProperties --showEnumValues --showAssociations --showInheritance --excludeExternals + pages: stage: deploy script: diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..2c031ae9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1 @@ +FROM plantuml/plantuml-server:tomcat \ No newline at end of file diff --git a/README.md b/README.md index 88e02ed9..6bb173a6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # @openstapps/core-tools -[![pipeline status](https://img.shields.io/gitlab/pipeline/openstapps/core-tools.svg?style=flat-square)](https://gitlab.com/openstapps/core-tools/commits/master) +[![pipeline status](https://img.shields.io/gitlab/pipeline/openstapps/core-tools.svg?style=flat-square)](https://gitlab.com/openstapps/core-tools/commits/master) [![npm](https://img.shields.io/npm/v/@openstapps/core-tools.svg?style=flat-square)](https://npmjs.com/package/@openstapps/core-tools) [![license)](https://img.shields.io/npm/l/@openstapps/core-tools.svg?style=flat-square)](https://www.gnu.org/licenses/gpl-3.0.en.html) [![documentation](https://img.shields.io/badge/documentation-online-blue.svg?style=flat-square)](https://openstapps.gitlab.io/core-tools) @@ -15,7 +15,7 @@ JSON schema files are needed for run-time validation of SC-type objects, as this The StAppsCore Validator is a tool for run-time validation of objects (determining whether a JavaScript/JSON object is a valid object of the corresponding SC-type. It consumes JSON schema files from StAppsCore as the definitions of SC-types against which are validated concrete (actual) objects (as an example SCDish object in the example below). -## Installation +## Installation Installation of the npm package (using `npm install`) makes the tool available as an executable with the name `openstapps-core-tools`. @@ -57,7 +57,7 @@ import {join} from 'path'; const objectToValidate: SCDish = { type: SCThingType.Dish, -// more properties + // more properties }; // instantiate a new validator @@ -127,7 +127,7 @@ Inside of a script in `package.json` or if the npm package is installed globally openstapps-core-tools validate lib/schema src/test/resources report.html ``` -## Generate documentation for routes +## Generate documentation for routes To generate a documentation for the routes use the following command. @@ -142,3 +142,60 @@ To pack all the different files into two distribution files - one for definition ```shell openstapps-core-tools pack ``` + +## How to use the UML generator + +The UML Generator generates PlantUML from the project reflection of the source files. By default it will include externals, which will take considerably longer to execute, you can disable this behaviour via an option. It can help you to visually explore the data model or document a specific part. + +You can either use the public PlantUML-server or start your own local instance. To build the image and run, restart or stop the container use the scripts provided in the `package.json`. + +### Generating from source-files + +```shell +openstapps-core-tools plantuml PATH/TO/SOURCEFILES http://PLANTUMLSERVER +``` + +Executing this command will generate a `.svg` file in your current working directory. + +Multiple options can be set to enhance the diagram. By default all additional information other than the definitions are disabled. You can use: + +- `--showProperties` to show all mandatory attributes of the classes and interfaces. +- `--showOptionalProperties` to show all mandatory attributes of the classes and interfaces. `--showProperties` must be set! +- `--showEnumValues` to show all enumeration and type (enumeration-like) values +- `--showInheritance` to show the hierarchy of the classes and interfaces. Inherited attributes will only be shown in their parent. +- `--showAssociations` to show all references of classes and interfaces between one another +- `--excludeExternals` to exclude external definitions +- `--definitions ` to show only specific definitions to reduce the output of the diagram. `` is a comma seperated list of definitions. + +The best way to explore models is to enable `--showInheritance` and `--showAssociations`. Start with just one definition in your `--definition `-list, generate the diagram, look at it, add a new definition that you have seen to your command and generate anew. + +#### Examples + +Show the class hierarchy of the whole project: + +```shell +openstapps-core-tools plantuml PATH/TO/SRCDIR http://PLANTUMLSERVER --showInheritance +``` + +Show the dish-module: + +```shell +openstapps-core-tools plantuml ../core http://localhost:8080 --showProperties --showOptionalProperties --showInheritance --showAssociations --showEnumValues --definitions SCDish,SCThingThatCanBeOfferedOffer +``` + +### Generating from existing file + +The plantuml code is persisted inside the generated filea at the very bottom. You can tweak the model by using the function to generate UML from a PlantUML-file(simple text file). Extract the code (starting from `@startuml` to `@enduml`), edit it manually and execute the function. + +```shell +openstapps-core-tools plantuml-file /PATH/TO/Project.plantuml http://PLANTUMLSERVER +``` + +Example-File-Content of Project.plantuml +``` +@startuml +interface MyClass{ + myProperty: string +} +@enduml +``` diff --git a/package-lock.json b/package-lock.json index d4bb5107..3aa265f2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -75,6 +75,19 @@ "nodemailer": "6.2.1" } }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "requires": { + "defer-to-connect": "^1.0.1" + } + }, "@types/chai": { "version": "4.1.7", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.7.tgz", @@ -104,6 +117,15 @@ "@types/node": "*" } }, + "@types/got": { + "version": "9.4.4", + "resolved": "https://registry.npmjs.org/@types/got/-/got-9.4.4.tgz", + "integrity": "sha512-IGAJokJRE9zNoBdY5csIwN4U5qQn+20HxC0kM+BbUdfTKIXa7bOX/pdhy23NnLBRP8Wvyhx7X5e6EHJs+4d8HA==", + "requires": { + "@types/node": "*", + "@types/tough-cookie": "*" + } + }, "@types/handlebars": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@types/handlebars/-/handlebars-4.1.0.tgz", @@ -143,6 +165,15 @@ "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-0.8.32.tgz", "integrity": "sha512-RTVWV485OOf4+nO2+feurk0chzHkSjkjALiejpHltyuMf/13fGymbbNNFrSKdSSUg1TIwzszXdWsVirxgqYiFA==" }, + "@types/nock": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@types/nock/-/nock-10.0.2.tgz", + "integrity": "sha512-jOdoZ3zVLmPWZOoPJDoks+Zo6GsogdZuVBWs8/prWau993qno5PPtukVXKfc+WtS/ROgTPWpiru92z2K6KFYgQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/node": { "version": "10.14.8", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.8.tgz", @@ -181,6 +212,11 @@ "@types/node": "*" } }, + "@types/tough-cookie": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.5.tgz", + "integrity": "sha512-SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg==" + }, "@types/yaml": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.0.2.tgz", @@ -315,6 +351,30 @@ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, + "cacheable-request": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.0.0.tgz", + "integrity": "sha512-2N7AmszH/WPPpl5Z3XMw1HAP+8d+xugnKQAeKvxFZ/04dbT/CAznqwbl+7eSr3HkwdepNwtb2yx3CAMQWvG01Q==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^4.0.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^1.0.1", + "normalize-url": "^3.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + } + } + }, "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", @@ -371,6 +431,14 @@ "wrap-ansi": "^2.0.0" } }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "^1.0.0" + } + }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -554,9 +622,9 @@ "dev": true }, "conventional-changelog-writer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.6.tgz", - "integrity": "sha512-ou/sbrplJMM6KQpR5rKFYNVQYesFjN7WpNGdudQSWNi6X+RgyFUcSv871YBYkrUYV9EX8ijMohYVzn9RUb+4ag==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.5.tgz", + "integrity": "sha512-g/Myp4MaJ1A+f7Ai+SnVhkcWtaHk6flw0SYN7A+vQ+MTu0+gSovQWs4Pg4NtcNUcIztYQ9YHsoxHP+GGQplI7Q==", "dev": true, "requires": { "compare-func": "^1.3.1", @@ -566,7 +634,7 @@ "json-stringify-safe": "^5.0.1", "lodash": "^4.2.1", "meow": "^4.0.0", - "semver": "^6.0.0", + "semver": "^5.5.0", "split": "^1.0.0", "through2": "^3.0.0" } @@ -582,13 +650,13 @@ } }, "conventional-commits-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.3.tgz", - "integrity": "sha512-KaA/2EeUkO4bKjinNfGUyqPTX/6w9JGshuQRik4r/wJz7rUw3+D3fDG6sZSEqJvKILzKXFQuFkpPLclcsAuZcg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.2.tgz", + "integrity": "sha512-y5eqgaKR0F6xsBNVSQ/5cI5qIF3MojddSUi1vKIggRkqUTbkqFKH9P5YX/AT1BVZp9DtSzBTIkvjyVLotLsVog==", "dev": true, "requires": { "JSONStream": "^1.0.4", - "is-text-path": "^2.0.0", + "is-text-path": "^1.0.0", "lodash": "^4.2.1", "meow": "^4.0.0", "split2": "^2.0.0", @@ -688,6 +756,14 @@ } } }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "^1.0.0" + } + }, "deep-eql": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", @@ -696,6 +772,17 @@ "type-detect": "^4.0.0" } }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "defer-to-connect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz", + "integrity": "sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==" + }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", @@ -751,6 +838,11 @@ "is-obj": "^1.0.0" } }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -761,7 +853,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, "requires": { "once": "^1.4.0" } @@ -1154,36 +1245,6 @@ "through2": "^2.0.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -1273,6 +1334,34 @@ } } }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "dependencies": { + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + } + } + }, "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", @@ -1332,6 +1421,11 @@ "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", "dev": true }, + "http-cache-semantics": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", + "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==" + }, "humanize-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/humanize-string/-/humanize-string-2.1.0.tgz", @@ -1516,6 +1610,11 @@ "esprima": "^4.0.0" } }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -1565,6 +1664,14 @@ "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.4.tgz", "integrity": "sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw==" }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "requires": { + "json-buffer": "3.0.0" + } + }, "lcid": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", @@ -1659,6 +1766,11 @@ "signal-exit": "^3.0.0" } }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, "lru-cache": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", @@ -1736,6 +1848,11 @@ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -2051,6 +2168,34 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "nock": { + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/nock/-/nock-10.0.6.tgz", + "integrity": "sha512-b47OWj1qf/LqSQYnmokNWM8D88KvUl2y7jT0567NB3ZBAZFz2bWp2PC81Xn7u8F2/vJxzkzNZybnemeFa7AZ2w==", + "dev": true, + "requires": { + "chai": "^4.1.2", + "debug": "^4.1.0", + "deep-equal": "^1.0.0", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.5", + "mkdirp": "^0.5.0", + "propagate": "^1.0.0", + "qs": "^6.5.1", + "semver": "^5.5.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, "node-environment-flags": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", @@ -2094,6 +2239,11 @@ } } }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -2176,6 +2326,11 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + }, "p-defer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", @@ -2223,6 +2378,11 @@ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, + "pako": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.3.tgz", + "integrity": "sha1-X1FbDGci4ZgpIK6ABerLC3ynPM8=" + }, "parse-github-repo-url": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", @@ -2306,6 +2466,15 @@ "pinkie": "^2.0.0" } }, + "plantuml-encoder": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/plantuml-encoder/-/plantuml-encoder-1.2.5.tgz", + "integrity": "sha512-viV7Sz+BJNX/sC3iyebh2VfLyAZKuu3+JuBs2ISms8+zoTGwPqwk3/WEDw/zROmGAJ/xD4sNd8zsBw/YmTo7ng==", + "requires": { + "pako": "1.0.3", + "utf8-bytes": "0.0.1" + } + }, "prepend-file": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/prepend-file/-/prepend-file-1.3.1.tgz", @@ -2333,6 +2502,11 @@ } } }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", @@ -2344,6 +2518,12 @@ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, + "propagate": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-1.0.0.tgz", + "integrity": "sha1-AMLa7t2iDofjeCs0Stuhzd1q1wk=", + "dev": true + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -2354,7 +2534,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -2371,6 +2550,12 @@ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + }, "quick-lru": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", @@ -2462,6 +2647,14 @@ "path-parse": "^1.0.6" } }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -2583,36 +2776,6 @@ "through2": "^2.0.2" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -2642,9 +2805,9 @@ } }, "string_decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -2731,6 +2894,11 @@ "os-tmpdir": "~1.0.1" } }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + }, "toposort": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", @@ -2757,13 +2925,6 @@ "glob": "~7.1.4", "json-stable-stringify": "^1.0.1", "typescript": "~3.4.5" - }, - "dependencies": { - "typescript": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.5.tgz", - "integrity": "sha512-YycBxUb49UUhdNMU5aJ7z5Ej2XGmaIBL0x34vZ82fn3hGvD+bgrMrVDpatgz2f7YxUMJxMkbWxJZeAvDxVe7Vw==" - } } }, "ts-node": { @@ -2926,6 +3087,19 @@ "punycode": "^2.1.0" } }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } + }, + "utf8-bytes": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/utf8-bytes/-/utf8-bytes-0.0.1.tgz", + "integrity": "sha1-EWsCVEjJtQAIHN+/H01sbDfYg30=" + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/package.json b/package.json index ca522da3..663793f5 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,10 @@ "check-configuration": "openstapps-configuration", "compile": "rimraf lib && tsc && prepend lib/cli.js '#!/usr/bin/env node\n'", "documentation": "typedoc --includeDeclarations --mode modules --out docs --readme README.md --listInvalidSymbolLinks src", + "plantuml-build": "docker build -t openstapps/plantuml-server .", + "plantuml-start": "docker run --name plantuml-server -d -p 8080:8080 openstapps/plantuml-server", + "plantuml-restart": "docker restart plantuml-server", + "plantuml-stop": "docker stop plantuml-server", "postversion": "npm run changelog", "prepublishOnly": "npm ci && npm run build", "preversion": "npm run prepublishOnly", @@ -44,6 +48,7 @@ "@krlwlfrt/async-pool": "0.1.0", "@openstapps/logger": "0.3.1", "@types/glob": "7.1.1", + "@types/got": "9.4.4", "@types/mustache": "0.8.32", "@types/node": "10.14.8", "ajv": "6.10.0", @@ -51,9 +56,11 @@ "commander": "2.20.0", "del": "4.1.1", "glob": "7.1.4", + "got": "9.6.0", "humanize-string": "2.1.0", "jsonschema": "1.2.4", "mustache": "3.0.1", + "plantuml-encoder": "1.2.5", "toposort": "2.0.2", "ts-json-schema-generator": "0.42.0", "ts-node": "8.2.0", @@ -64,9 +71,11 @@ "@types/chai": "4.1.7", "@types/mocha": "5.2.7", "@types/rimraf": "2.0.2", + "@types/nock": "10.0.2", "conventional-changelog-cli": "2.0.21", "mocha": "6.1.4", "mocha-typescript": "1.1.17", + "nock": "10.0.6", "prepend-file-cli": "1.0.6", "rimraf": "2.6.3", "tslint": "5.17.0", diff --git a/src/cli.ts b/src/cli.ts index c36cb73c..1af962d2 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -16,10 +16,22 @@ import {Logger} from '@openstapps/logger'; import * as commander from 'commander'; import {existsSync, readFileSync, writeFileSync} from 'fs'; import {join, resolve} from 'path'; -import {getProjectReflection, mkdirPromisified, readFilePromisified} from './common'; +import { + getProjectReflection, + mkdirPromisified, + readFilePromisified, + toArray, +} from './common'; import {pack} from './pack'; -import {gatherRouteInformation, generateDocumentationForRoute, getNodeMetaInformationMap} from './routes'; +import { + gatherRouteInformation, + generateDocumentationForRoute, + getNodeMetaInformationMap, +} from './routes'; import {Converter, getValidatableTypesFromReflection} from './schema'; +import {createDiagram, createDiagramFromString} from './uml/createDiagram'; +import {readDefinitions} from './uml/readDefinitions'; +import {UMLConfig} from './uml/umlConfig'; import {validateFiles, writeReport} from './validate'; // handle unhandled promise rejections @@ -53,7 +65,10 @@ commander // generate documentation for all routes routes.forEach((routeWithMetaInformation) => { - output += generateDocumentationForRoute(routeWithMetaInformation, getNodeMetaInformationMap(projectReflection)); + output += generateDocumentationForRoute( + routeWithMetaInformation, + getNodeMetaInformationMap(projectReflection), + ); }); // write documentation to file @@ -76,7 +91,9 @@ commander const projectReflection = getProjectReflection(srcPath); // get validatable types - const validatableTypes = getValidatableTypesFromReflection(projectReflection); + const validatableTypes = getValidatableTypesFromReflection( + projectReflection, + ); Logger.info(`Found ${validatableTypes.length} type(s) to generate schemas for.`); @@ -152,14 +169,85 @@ commander } }); +commander.command('pack').action(async () => { + await pack(); +}); + commander - .command('pack') - .action(async () => { - await pack(); + .command('plantuml ') + .option( + '--definitions ', + 'Shows these specific definitions (class or enum)', + toArray, + ) + .option('--showAssociations', 'Shows associations of classes') + .option( + '--showInheritance', + 'Shows extensions and implementations of classes', + ) + .option('--showEnumValues', 'Show enum values') + .option('--showProperties', 'Show attributes') + .option( + '--showInheritedProperties', + 'Shows inherited attributes, needs --showProperties', + ) + .option( + '--showOptionalProperties', + 'Shows optional attributes and relations, needs --showProperties', + ) + .option( + '--excludeExternals', + 'Exclude external definitions', + ) + .action(async (relativeSrcPath, plantumlserver, options) => { + const plantUmlConfig: UMLConfig = { + definitions: + typeof options.definitions !== 'undefined' ? options.definitions : [], + showAssociations: + typeof options.showAssociations !== 'undefined' + ? options.showAssociations + : false, + showEnumValues: + typeof options.showEnumValues !== 'undefined' + ? options.showEnumValues + : false, + showInheritance: + typeof options.showInheritance !== 'undefined' + ? options.showInheritance + : false, + showInheritedProperties: + typeof options.showInheritedProperties !== 'undefined' + ? options.showInheritedProperties + : false, + showOptionalProperties: + typeof options.showOptionalProperties !== 'undefined' + ? options.showOptionalProperties + : false, + showProperties: + typeof options.showProperties !== 'undefined' + ? options.showEnumValues + : false, + }; + + Logger.log(`PlantUML options: ${JSON.stringify(plantUmlConfig)}`); + + const srcPath = resolve(relativeSrcPath); + + const projectReflection = getProjectReflection(srcPath, !options.excludeExternals ? false : true); + + const definitions = readDefinitions(projectReflection); + + await createDiagram(definitions, plantUmlConfig, plantumlserver); }); commander - .parse(process.argv); + .command('plantuml-file ') + .action(async (file: string, plantumlserver: string) => { + const fileContent = readFileSync(resolve(file)).toString(); + await createDiagramFromString(fileContent, plantumlserver); + }); + +commander.parse(process.argv); if (commander.args.length < 1) { commander.outputHelp(); diff --git a/src/common.ts b/src/common.ts index a713e0f1..ca2d954b 100644 --- a/src/common.ts +++ b/src/common.ts @@ -21,6 +21,7 @@ import {join, sep} from 'path'; import {Definition} from 'ts-json-schema-generator'; import {Application, ProjectReflection} from 'typedoc'; import {promisify} from 'util'; +import {LightweightType} from './uml/model/LightweightType'; export const globPromisified = promisify(glob); export const mkdirPromisified = promisify(mkdir); @@ -142,14 +143,14 @@ export interface ExpectableValidationErrors { * * @param srcPath Path to get reflection from */ -export function getProjectReflection(srcPath: PathLike): ProjectReflection { +export function getProjectReflection(srcPath: PathLike, excludeExternals: boolean = true): ProjectReflection { Logger.info(`Generating project reflection for ${srcPath.toString()}.`); const tsconfigPath = getTsconfigPath(srcPath.toString()); // initialize new Typedoc application const app = new Application({ - excludeExternals: true, + excludeExternals: excludeExternals, includeDeclarations: true, module: 'commonjs', tsconfig: join(tsconfigPath, 'tsconfig.json'), @@ -178,7 +179,9 @@ export function getProjectReflection(srcPath: PathLike): ProjectReflection { * * @param schema Schema to check */ -export function isSchemaWithDefinitions(schema: JSONSchema): schema is SchemaWithDefinitions { +export function isSchemaWithDefinitions( + schema: JSONSchema, +): schema is SchemaWithDefinitions { return typeof schema.definitions !== 'undefined'; } @@ -212,7 +215,9 @@ export function getTsconfigPath(startPath: string): string { // repeat until a tsconfig.json is found while (!existsSync(join(tsconfigPath, 'tsconfig.json'))) { if (tsconfigPath === root) { - throw new Error(`Reached file system root ${root} while searching for 'tsconfig.json' in ${startPath}!`); + throw new Error( + `Reached file system root ${root} while searching for 'tsconfig.json' in ${startPath}!`, + ); } // pop last directory @@ -225,3 +230,51 @@ export function getTsconfigPath(startPath: string): string { return tsconfigPath; } + +/** + * Converts a comma seperated string into a string array + * + * @param val Comma seperated string + */ +export function toArray(val: string): string[] { + return val.split(','); +} + +/** + * Creates the full name of a lightweight type recursivly + * + * @param type Type to get the full name of + */ +export function getFullTypeName(type: LightweightType): string { + // init name + let fullName: string = type.name; + if (type.isTypeParameter) { + // type parameters are a sink + return fullName; + } + if (type.isLiteral) { + // literals are a sink + return "'" + fullName + "'"; + } + if (type.isUnion && type.specificationTypes.length > 0) { + const tempNames: string[] = []; + for (const easyType of type.specificationTypes) { + tempNames.push(getFullTypeName(easyType)); + } + // since unions can't be applied to other types, it is a sink. + return tempNames.join(' | '); + } + // check if type is generic and has a type attached + if (type.isTyped && type.genericsTypes.length > 0) { + const tempNames: string[] = []; + for (const easyType of type.genericsTypes) { + tempNames.push(getFullTypeName(easyType)); + } + fullName += '<' + tempNames.join(', ') + '>'; + } + // check if type is array + if (type.isArray) { + fullName += '[]'; + } + return fullName; +} diff --git a/src/uml/createDiagram.ts b/src/uml/createDiagram.ts new file mode 100644 index 00000000..485b7250 --- /dev/null +++ b/src/uml/createDiagram.ts @@ -0,0 +1,274 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {Logger} from '@openstapps/logger'; +import {createWriteStream} from 'fs'; +import * as request from 'got'; +import {getFullTypeName} from '../common'; +import {LightweightClassDefinition} from './model/LightweightClassDefinition'; +import {LightweightDefinition} from './model/LightweightDefinition'; +import {LightweightEnumDefinition} from './model/LightweightEnumDefinition'; +import {LightweightProperty} from './model/LightweightProperty'; +import {LightweightType} from './model/LightweightType'; +import {UMLConfig} from './umlConfig'; + +/** + * Converts the lightweight class/enum definitions according to the configuration, + * to valid PlantUML Code, which will then be encoded, converted by the plantuml server + * and saved as a .svg file in directory, in which this method was called + * + * @param definitions all type definitons of the project + * @param config contains information on how the PlantUML should be generated + * @param plantUmlBaseURL Hostname of the PlantUML-Server + */ +export async function createDiagram( + definitions: LightweightDefinition[], + config: UMLConfig, + plantUmlBaseURL: string, +): Promise { + + // when non definitions were specified use all + if (config.definitions.length === 0) { + config.definitions = []; + definitions.forEach((definition) => { + config.definitions.push(definition.name); + }); + } + + // when providing definitions and either showing associations or inheritance the + // inherited definitions will be added automatically + if (config.showInheritance) { + const inheritedDefinitions = gatherTypeAssociations( + definitions, + config.definitions, + ); + + config.definitions = config.definitions.concat(inheritedDefinitions); + } + + let modelPlantUMLCode: string = ''; + // creates a UML definition for every specified definition name + // however if no definitions were provided all definitions will be transformed + for (const definition of definitions) { + if ( + config.definitions.length > 0 && + !config.definitions.includes(definition.name) + ) { + // current definition not specified + continue; + } + // either the definitions are empty or the definition was specified, proceed + + let definitionPlantUMLCode: string = ''; + if (definition instanceof LightweightClassDefinition) { + definitionPlantUMLCode = createPlantUMLCodeForClass(config, definition); + } else if (definition instanceof LightweightEnumDefinition) { + definitionPlantUMLCode = createPlantUMLCodeForEnum(config, definition); + } else { + continue; + } + modelPlantUMLCode += definitionPlantUMLCode; + } + + return await createDiagramFromString(modelPlantUMLCode, plantUmlBaseURL); +} + +/** + * This will encode the plantuml code and post the code to the plantuml server + * The server will then parse the code and create a corresponding diagram + * + * @param modelPlantUMLCode + */ +export async function createDiagramFromString(modelPlantUMLCode: string, plantUmlBaseURL: string) { + const plantumlEncoder = require('plantuml-encoder'); + const plantUMLCode = plantumlEncoder.encode(modelPlantUMLCode); + const url = `${plantUmlBaseURL}/svg/${plantUMLCode}`; + let response; + try { + response = await request(url); + if (response.statusCode !== 200) { + Logger.error(`Plantuml Server responded with an error.\n${response.statusMessage}`); + throw new Error('Response not okay'); + } + } catch (e) { + Logger.log(`Please try using the public plantuml server:\nhttp://www.plantuml.com/plantuml/svg/${plantUMLCode}`); + throw e; + } + const fileName: string = `Diagram-${new Date().toISOString()}.svg`; + try { + createWriteStream(fileName).write(response.body); + Logger.log(`Writen data to file: ${fileName}`); + } catch (e) { + throw new Error('Could not write file. Are you missing permissions?'); + } + return fileName; +} + +/** + * Recursivly iterates over all types, to find implemented generic types and parents + * + * @param definitions all type definitons of the project + * @param abstractionNames currently known string values of inherited classes + */ +function gatherTypeAssociations( + definitions: LightweightDefinition[], + abstractionNames: string[], +): string[] { + let abstractions: string[] = []; + for (const name of abstractionNames) { + const declaration = definitions.find( + (definition) => definition.name === name, + ); + if (declaration instanceof LightweightClassDefinition) { + const currentAbstractions: string[] = declaration.extendedDefinitions.concat( + declaration.implementedDefinitions, + ); + + abstractions = abstractions.concat(currentAbstractions); + abstractions = abstractions.concat( + gatherTypeAssociations(definitions, currentAbstractions), + ); + } + } + return abstractions; +} + +/** + * Collects all reference information of this type. + * + * Reference information is everything that is indirectly referencing a type or class by name. + * + * @param type Type with references to other types + */ +function getReferenceTypes(type: LightweightType): string[] { + const types: string[] = []; + if (type.isReference) { + types.push(type.name); + } + if (type.isTyped && type.genericsTypes.length > 0) { + for (const specificType of type.genericsTypes) { + for (const value of getReferenceTypes(specificType)) { + types.push(value); + } + } + } + if ( + (type.isUnion && type.specificationTypes.length > 0) || + (type.isArray && type.specificationTypes.length > 0) + ) { + for (const specificType of type.specificationTypes) { + for (const value of getReferenceTypes(specificType)) { + types.push(value); + } + } + } + return types; +} + +/** + * Creates Plant UML code according to the config for the provided class + * + * @param config Configuration for how the UML should be tweaked + * @param readerClass Class or interface representation + */ +function createPlantUMLCodeForClass( + config: UMLConfig, + readerClass: LightweightClassDefinition, +): string { + // create the definition header, what type the definition is, it's name and it's inheritance + let model: string = `${readerClass.type} ${readerClass.name}`; + + if (readerClass.typeParameters.length > 0) { + model += `<${readerClass.typeParameters.join(', ')}>`; + } + + if (config.showInheritance && readerClass.extendedDefinitions.length > 0) { + // PlantUML will automatically create links, when using extends + model += ` extends ${readerClass.extendedDefinitions.join(', ')}`; + } + if (config.showInheritance && readerClass.implementedDefinitions.length > 0) { + // PlantUML will automatically create links, when using implenents + model += ` implements ${readerClass.implementedDefinitions.join(', ')}`; + } + model += '{'; + + // add the properties to the definition body + if (config.showProperties) { + for (const property of readerClass.properties) { + if (property.optional && !config.showOptionalProperties) { + // don't show optional attributes + continue; + } + if (property.inherited && !config.showInheritedProperties) { + // don't show inherited properties + continue; + } + model += `\n\t${createPropertyLine(property)}`; + } + } + + // close the definition body + model += '\n}\n'; + + // add associations from properties with references + for (const property of readerClass.properties) { + const types: string[] = getReferenceTypes(property.type); + for (const type of types) { + if ( config.showAssociations) { + if (property.inherited && !config.showInheritedProperties) { + continue; + } + model += `${readerClass.name} -up-> ${type} : ${property.name} >\n`; + } + } + } + + return model; +} + +/** + * Creates PlantUML code according to the config for the provided enum/-like definition + * + * @param config Configuration for how the UML should be tweaked + * @param readerEnum Enum/-like representation + */ +function createPlantUMLCodeForEnum( + config: UMLConfig, + readerEnum: LightweightEnumDefinition, +): string { + // create enum header + let model: string = `enum ${readerEnum.name} {`; + // add values + if (config.showEnumValues) { + for (const value of readerEnum.values) { + model += `\n\t${value.toString()}`; + } + } + model += '\n}\n'; + + return model; +} + +/** + * Creates a property PlantUML Line + */ +function createPropertyLine(property: LightweightProperty): string { + return ( + (property.inherited ? '/ ' : '') + + (property.optional ? '?' : '') + + property.name + + ' : ' + + getFullTypeName(property.type) + ); +} diff --git a/src/uml/model/LightweightClassDefinition.ts b/src/uml/model/LightweightClassDefinition.ts new file mode 100644 index 00000000..59662fdd --- /dev/null +++ b/src/uml/model/LightweightClassDefinition.ts @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {LightweightDefinition} from './LightweightDefinition'; +import {LightweightProperty} from './LightweightProperty'; +/** + * Represents a class definition + */ +export class LightweightClassDefinition extends LightweightDefinition { + /** + * String values of the extended definitions + */ + public extendedDefinitions: string[]; + + /** + * String values of the implemented definitions + */ + public implementedDefinitions: string[]; + + /** + * Properties of the definition + */ + public properties: LightweightProperty[]; + + /** + * The definition type + * e.g. `interface`/[`abstract`] `class` + */ + public type: string; + + /** + * Generic type parameters of this class + */ + public typeParameters: string[]; + + constructor(name: string, type: string) { + super(name); + this.type = type; + this.properties = []; + this.extendedDefinitions = []; + this.implementedDefinitions = []; + this.typeParameters = []; + } +} diff --git a/src/uml/model/LightweightDefinition.ts b/src/uml/model/LightweightDefinition.ts new file mode 100644 index 00000000..b4318cc1 --- /dev/null +++ b/src/uml/model/LightweightDefinition.ts @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +/** + * Represents any definition without specifics + */ +export abstract class LightweightDefinition { + /** + * Name of the definiton + */ + public name: string; + + constructor(name: string) { + this.name = name; + } +} diff --git a/src/uml/model/LightweightEnumDefinition.ts b/src/uml/model/LightweightEnumDefinition.ts new file mode 100644 index 00000000..61592bf2 --- /dev/null +++ b/src/uml/model/LightweightEnumDefinition.ts @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {LightweightDefinition} from './LightweightDefinition'; +/** + * Represents an enum definition + */ +export class LightweightEnumDefinition extends LightweightDefinition { + /** + * Enumeration or union values + */ + public values: string[]; + + constructor(name: string) { + super(name); + this.values = []; + } +} diff --git a/src/uml/model/LightweightProperty.ts b/src/uml/model/LightweightProperty.ts new file mode 100644 index 00000000..c309623f --- /dev/null +++ b/src/uml/model/LightweightProperty.ts @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {LightweightType} from './LightweightType'; + +/** + * Represents a property definition + */ +export class LightweightProperty { + /** + * Is the property inherited from another definition + */ + public inherited: boolean; + + /** + * Name of the property + */ + public name: string; + + /** + * Is the property marked as optional + */ + public optional: boolean; + + /** + * Type of the property + */ + public type: LightweightType; + + /** + * Constructor for LightweightProperty + * + * @param name Name of the property + * @param type Type of the property + * @param optional Is the property optional + */ + constructor(name: string, type: LightweightType, optional: boolean = true) { + this.name = name; + this.optional = optional; + this.inherited = false; + this.type = type; + } +} diff --git a/src/uml/model/LightweightType.ts b/src/uml/model/LightweightType.ts new file mode 100644 index 00000000..98dae5e1 --- /dev/null +++ b/src/uml/model/LightweightType.ts @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +/** + * Describes an easy to use type definition. + */ +export class LightweightType { + /** + * Contains all types inside of <> brackets + */ + genericsTypes: LightweightType[]; + + /** + * Does the type have generic-parameters + */ + hasTypeInformation: boolean = false; + + /** + * Does the type represent an array type + */ + isArray: boolean = false; + + /** + * Does the type represent a literal type + */ + isLiteral: boolean = false; + + /** + * Does the type represent a primitive type + */ + isPrimitive: boolean = false; + + /** + * Does the type contain a reference to + */ + isReference: boolean = false; + + /** + * Is the type a reflection and not avaiblabe at compile time + */ + isReflection: boolean = false; + + /** + * Does the type have type parameters + */ + isTyped: boolean = false; + + /** + * Is the type a typed parameter + */ + isTypeParameter: boolean = false; + + /** + * Is the type a union type + */ + isUnion: boolean = false; + + /** + * Name of the type + */ + name: string; + + /** + * Type specifications, if the type is combined by either an array, union or a typeOperator + */ + specificationTypes: LightweightType[]; + + constructor() { + this.specificationTypes = []; + this.genericsTypes = []; + this.name = ''; + } +} diff --git a/src/uml/readDefinitions.ts b/src/uml/readDefinitions.ts new file mode 100644 index 00000000..c847d15f --- /dev/null +++ b/src/uml/readDefinitions.ts @@ -0,0 +1,423 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {Logger} from '@openstapps/logger'; +import { + ArrayType, + DeclarationReflection, + IntrinsicType, + ProjectReflection, + ReferenceType, + ReflectionKind, + ReflectionType, + StringLiteralType, + Type, + TypeOperatorType, + TypeParameterType, + UnionType, +} from 'typedoc/dist/lib/models'; +import {getFullTypeName} from '../common'; +import {LightweightClassDefinition} from './model/LightweightClassDefinition'; +import {LightweightDefinition} from './model/LightweightDefinition'; +import {LightweightEnumDefinition} from './model/LightweightEnumDefinition'; +import {LightweightProperty} from './model/LightweightProperty'; +import {LightweightType} from './model/LightweightType'; + +/** + * Reads the reflection model from typedoc and converts it into a flatter, easier to handle model + * + * @param srcPath Path to source file directory + */ +export function readDefinitions(projectReflection: ProjectReflection): LightweightDefinition[] { + + const definitions: LightweightDefinition[] = []; + + // define known types and categorize them + const enumLike: string[] = ['Type alias', 'Enumeration']; + const classLike: string[] = ['Class', 'Interface']; + const unused: string[] = ['Function', 'Object literal', 'Variable']; + + // children need to be not undefined, if they are return empty + if (typeof projectReflection.children === 'undefined') { + return []; + } + + for (const module of projectReflection.children) { + if (Array.isArray(module.children) && module.children.length > 0) { + // iterate over class and enum declarations + for (const type of module.children) { + // only if kindString is set + if (typeof type.kindString !== 'undefined') { + // check if declaration is enum + if (classLike.includes(type.kindString)) { + definitions.push(readAsClassDefinition(type)); + } else if (enumLike.includes(type.kindString)) { + definitions.push(readAsEnumDefinition(type)); + } else if (unused.includes(type.kindString)) { + Logger.info(`Unconverted ${type.kindString} : ${type.name}`); + } else { + Logger.log( + `Uncaught declaration type (${type.kindString}) : ${type.name}`, + ); + } + } + } + } + } + + return definitions; +} + +/** + * Transforms the declaration into a `LightweightClassDefinition` + * + * @param declaration declaration + */ +export function readAsEnumDefinition( + declaration: DeclarationReflection, +): LightweightEnumDefinition { + // init enum definition + const enumDefinition: LightweightEnumDefinition = new LightweightEnumDefinition( + declaration.name, + ); + + // get enum values according to type + if (declaration.kindString === 'Enumeration' && declaration.children) { + // standard enumeration + for (const child of declaration.children) { + if (child.kindString === 'Enumeration member') { + let value = child.name; + if (typeof child.defaultValue !== 'undefined') { + value = `${value} = ${child.defaultValue}`; + } + enumDefinition.values.push(value); + } else { + Logger.log( + "Every enumeration member should be an 'EnumerationMemberType'", + ); + } + } + } else if ( + declaration.kindString === 'Type alias' && + typeof declaration.type !== 'undefined' + ) { + // enum like declaration + try { + const a = readTypeInformation(declaration.type); + enumDefinition.values = enumDefinition.values.concat( + getTypeInformation(a), + ); + } catch (e) { + Logger.warn( + `Could not read the light type for ${declaration.name}. ${e}`, + ); + } + } + + return enumDefinition; +} + +/** + * Used for enumrations to get the type value + */ +function getTypeInformation(type: LightweightType): string[] { + const values: string[] = []; + if (!type.hasTypeInformation) { + for (const specificType of type.specificationTypes) { + for (const value of getTypeInformation(specificType)) { + values.push(value); + } + } + } else { + values.push(type.name); + } + return values; +} + +/** + * Transforms the declaration into a `LightweightClassDefinition` + * + * @param declaration declaration + */ +export function readAsClassDefinition( + declaration: DeclarationReflection, +): LightweightClassDefinition { + let type = declaration.kindString ? declaration.kindString.toLowerCase() : ''; + type = (declaration.flags.isAbstract ? 'abstract ' : '') + type; + + const classDefinition: LightweightClassDefinition = new LightweightClassDefinition( + declaration.name, + type, + ); + + // get generic types + if (typeof declaration.typeParameters !== 'undefined') { + const typeParameters: string[] = []; + declaration.typeParameters.forEach((typeParameter) => + typeParameters.push(typeParameter.name), + ); + classDefinition.typeParameters = typeParameters; + } + + // extracts extended types of the declaration + if (typeof declaration.extendedTypes !== 'undefined') { + for (const extType of declaration.extendedTypes) { + classDefinition.extendedDefinitions.push((extType as ReferenceType).name); + } + } + + // extracts implemented types of the declaration + // HINT: typedoc automatically adds inherited interfaces to the declaration directly + if (typeof declaration.implementedTypes !== 'undefined') { + for (const implType of declaration.implementedTypes) { + classDefinition.implementedDefinitions.push( + (implType as ReferenceType).name, + ); + } + } + + if (typeof declaration.children !== 'undefined') { + for (const child of declaration.getChildrenByKind( + ReflectionKind.Property, + )) { + try { + if (typeof child.type === 'undefined') { + throw new Error(); + } + + const myType: LightweightType = readTypeInformation(child.type); + const property = new LightweightProperty(child.name, myType); + + const flags = child.flags; + if (flags.isOptional !== undefined) { + property.optional = flags.isOptional as boolean; + property.inherited = !( + child.inheritedFrom === undefined || child.inheritedFrom === null + ); + } + classDefinition.properties.push(property); + } catch (e) { + Logger.warn(e); + } + } + } + + return classDefinition; +} + +/** + * The structure of reflection type has a huge overhead + * This method and all submethods will convert these types in easier to process Types + * + * @param declarationType Type to be converted + */ +function readTypeInformation(declarationType: Type): LightweightType { + if (declarationType instanceof ReflectionType) { + return readAsReflectionType(declarationType); + } else if (declarationType instanceof TypeOperatorType) { + return readAsTypeOperatorType(declarationType); + } else if (declarationType instanceof TypeParameterType) { + return readAsTypeParameterType(declarationType); + } else if (declarationType instanceof IntrinsicType) { + return readAsIntrinsicType(declarationType); + } else if (declarationType instanceof StringLiteralType) { + return readAsStringLiteralType(declarationType); + } else if (declarationType instanceof ReferenceType) { + return readAsReferenceType(declarationType); + } else if (declarationType instanceof ArrayType) { + return readAsArrayType(declarationType); + } else if (declarationType instanceof UnionType) { + return readAsUnionType(declarationType); + } else { + throw new Error(`Could not read type ${declarationType.type}`); + } +} + +/** + * Conversion method for IntrinsicType's + * + * e.g. remainingAttendeeCapacity?: number; + * + * @param type Type to be converted + */ +function readAsIntrinsicType(type: IntrinsicType): LightweightType { + const easyType: LightweightType = new LightweightType(); + easyType.name = type.name; + easyType.isPrimitive = true; + easyType.hasTypeInformation = true; + return easyType; +} + +/** + * Conversion method for StringLiteralType's + * + * e.g. inputType: 'multipleChoice'; + * + * @param type Type to be converted + */ +function readAsStringLiteralType(type: StringLiteralType): LightweightType { + const returnType: LightweightType = new LightweightType(); + returnType.name = type.value; + returnType.isLiteral = true; + returnType.hasTypeInformation = true; + return returnType; +} + +/** + * Conversion method for ReferenceType's + * + * Everything that is a user or API designed definition and not a primitive type or core-language feature. + * + * e.g. publishers?: Array; + * + * Array, SCPersonWithoutReferences and SCOrganizationWithoutReferences will be recognized as reference types! + * + * @param type Type to be converted + */ +function readAsReferenceType(type: ReferenceType): LightweightType { + const returnType: LightweightType = new LightweightType(); + returnType.name = type.name; + + if (type.typeArguments !== undefined && type.typeArguments.length > 0) { + const typeArguments: LightweightType[] = []; + + for (const value of type.typeArguments) { + typeArguments.push(readTypeInformation(value)); + } + + returnType.isTyped = true; + returnType.genericsTypes = typeArguments; + } + + if (type.reflection !== undefined && type.reflection !== null) { + const tempTypeReflection = type.reflection as DeclarationReflection; + // interfaces and classes in a type are a sink, since their declaration are defined elsewhere + if ( + tempTypeReflection.kindString && + ['Interface', 'Class', 'Enumeration', 'Type alias'].indexOf( + tempTypeReflection.kindString, + ) > -1 + ) { + returnType.isReference = true; + } + } + + returnType.hasTypeInformation = true; + + return returnType; +} + +/** + * Conversion method for ArrayType's + * + * The actual type of the array is stored in the first element of specificationTypes. + * + * e.g. articleBody?: string[]; + * + * @param type Type to be converted + */ +function readAsArrayType(type: ArrayType): LightweightType { + const returnType: LightweightType = new LightweightType(); + const typeOfArray: LightweightType = readTypeInformation(type.elementType); + returnType.name = getFullTypeName(typeOfArray); + returnType.specificationTypes = [typeOfArray]; + returnType.isArray = true; + return returnType; +} + +/** + * Conversion method for UnionType's + * + * The Union-LightType store the single types of the union inside a + * separate LightType inside specificationTypes. + * + * e.g. maintainer?: SCPerson | SCOrganization; + * + * @param type Type to be converted + */ +function readAsUnionType(type: UnionType): LightweightType { + const returnType: LightweightType = new LightweightType(); + const typesOfUnion: LightweightType[] = []; + for (const value of type.types) { + typesOfUnion.push(readTypeInformation(value)); + } + returnType.specificationTypes = typesOfUnion; + returnType.name = getFullTypeName(returnType); + returnType.isUnion = true; + return returnType; +} + +/** + * Conversion method for ReflectionType's + * + * The explicit type is not contained in reflection! + * It might be possible to get the structure of type by reading tempType.decoration.children, + * but this structure is currently not supported in the data-model. + * + * e.g. categorySpecificValues?: { [s: string]: U }; + * + * @param type Type to be converted + */ +function readAsReflectionType(type: ReflectionType): LightweightType { + const returnType: LightweightType = new LightweightType(); + if (type.declaration.sources) { + const src = type.declaration.sources[0]; + Logger.warn( + `${src.line} : ${src.fileName}: Reflection Type not recognized. Refactoring to explicit class is advised.`, + ); + } + returnType.name = 'object'; + returnType.isReflection = true; + return returnType; +} + +/** + * Conversion method for TypeOperatorType's + * + * This type is similar to reflection, that the actual type can only be evaluated at runtime. + * + * e.g. universityRole: keyof SCSportCoursePriceGroup; + * + * @param type Type to be converted + */ +function readAsTypeOperatorType(type: TypeOperatorType): LightweightType { + const returnType: LightweightType = new LightweightType(); + const typeOf: LightweightType = readTypeInformation(type.target); + returnType.name = `keyof ${getFullTypeName(typeOf)}`; + returnType.specificationTypes = [typeOf]; + // can't be traced deeper! so might as well be a primitive + returnType.isPrimitive = true; + returnType.hasTypeInformation = true; + return returnType; +} + +/** + * Conversion method for TypeParameterType's + * + * Should only be called in generic classes/interfaces, when a property is + * referencing the generic-type. + * + * e.g. prices?: T; + * + * Does not match on Arrays of the generic type. Those will be matched with ArrayType. + * + * @param type Needs to be a TypeParameterType + */ +function readAsTypeParameterType(type: TypeParameterType): LightweightType { + const returnType: LightweightType = new LightweightType(); + returnType.name = type.name; + returnType.isTypeParameter = true; + returnType.hasTypeInformation = true; + return returnType; +} diff --git a/src/uml/umlConfig.ts b/src/uml/umlConfig.ts new file mode 100644 index 00000000..a2a65432 --- /dev/null +++ b/src/uml/umlConfig.ts @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +/** + * Holds configuration information of how the UML code should be build + */ +export interface UMLConfig { + /** + * Defines which definitions are shown + */ + definitions: string[]; + + /** + * Should the associations between definitions be shown + */ + showAssociations: boolean; + + /** + * Should enum/-like values be shown + */ + showEnumValues: boolean; + + /** + * Should the inheritance be shown + */ + showInheritance: boolean; + + /** + * Should the inherited properties be shown + */ + showInheritedProperties: boolean; + + /** + * Should optional properties be shown + */ + showOptionalProperties: boolean; + + /** + * Should properties be shown + */ + showProperties: boolean; +} diff --git a/test/Common.spec.ts b/test/Common.spec.ts index 588fb071..20d67e72 100644 --- a/test/Common.spec.ts +++ b/test/Common.spec.ts @@ -29,4 +29,5 @@ export class CommonSpec { async getTsconfigPath() { expect(getTsconfigPath(__dirname)).to.be.equal(cwd()); } + } diff --git a/test/CreateDiagram.spec.ts b/test/CreateDiagram.spec.ts new file mode 100644 index 00000000..15e57ddb --- /dev/null +++ b/test/CreateDiagram.spec.ts @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2018-2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {expect} from 'chai'; +import {resolve} from 'path'; +import {existsSync, unlinkSync} from 'fs'; +import {slow, suite, test, timeout} from 'mocha-typescript'; +import {getProjectReflection} from '../src/common'; +import {createDiagram, createDiagramFromString} from '../src/uml/createDiagram'; +import {UMLConfig} from './../lib/uml/umlConfig.d'; +import {readDefinitions} from '../src/uml/readDefinitions'; +import {LightweightDefinition} from '../src/uml/model/LightweightDefinition'; +import nock = require('nock'); + +@suite(timeout(15000), slow(5000)) +export class CreateDiagramSpec { + plantUmlConfig: UMLConfig; + definitions: LightweightDefinition[]; + + constructor() { + this.plantUmlConfig = { + definitions: [], + showAssociations: true, + showEnumValues: true, + showInheritance: true, + showInheritedProperties: true, + showOptionalProperties: true, + showProperties: true, + }; + + const projectReflection = getProjectReflection('./test/model', true); + this.definitions = readDefinitions(projectReflection); + } + + @test + async shouldRefuseRequest() { + const testPlantUmlCode: string = 'class Test{\n}'; + try { + await createDiagramFromString(testPlantUmlCode, "http://plantuml:8080"); + } catch (e) { + expect(e.message).to.equal(new Error('getaddrinfo ENOTFOUND plantuml plantuml:8080').message); + } + } + + /** + * This test will only test the functionality of the method + * - Converting the definitions to plantuml code + * - Sending the code to a server + * - Writing the response to a file + * This test will not check the file content + */ + @test + async shouldCreateDiagrams() { + nock('http://plantuml:8080') + .persist() + .get(() => true) + .reply(200, 'This will be the file content') + + let fileName = await createDiagram(this.definitions, this.plantUmlConfig, "http://plantuml:8080"); + let filePath = resolve(__dirname, '..', fileName); + expect(await existsSync(filePath)).to.equal(true); + await unlinkSync(fileName); + + this.plantUmlConfig.showAssociations = false; + this.plantUmlConfig.showInheritance = false; + + fileName = await createDiagram(this.definitions, this.plantUmlConfig, "http://plantuml:8080"); + filePath = resolve(__dirname, '..', fileName); + expect(await existsSync(filePath)).to.equal(true); + await unlinkSync(fileName); + + nock.cleanAll(); + } +} diff --git a/test/ReadDefinitions.spec.ts b/test/ReadDefinitions.spec.ts new file mode 100644 index 00000000..c6b1ff33 --- /dev/null +++ b/test/ReadDefinitions.spec.ts @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2018-2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {expect} from 'chai'; +import {slow, suite, test, timeout} from 'mocha-typescript'; +import {getProjectReflection} from '../src/common'; +import {readDefinitions} from '../src/uml/readDefinitions'; +import {generatedModel} from './model/generatedModel'; + +@suite(timeout(10000), slow(5000)) +export class ReadDefinitionsSpec { + @test + async testReadDefinitions() { + const projectReflection = getProjectReflection('./test/model', true); + const definitions = readDefinitions(projectReflection); + expect(definitions).to.be.deep.equal(generatedModel); + } +} diff --git a/test/model/TestClass.ts b/test/model/TestClass.ts new file mode 100644 index 00000000..f1c7239c --- /dev/null +++ b/test/model/TestClass.ts @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2018-2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {TestFirstUnion} from './TestUnion'; + +export class TestClass { + test2: T; + test4: TestFirstUnion; + + constructor(type: T) { + this.test2 = type; + this.test4 = 'test1'; + } + + /** + * Should not be processed at all + */ + testClassFunction(): boolean { + return true; + } +} + +export class TestSecondClass extends TestClass {} diff --git a/test/model/TestEnum.ts b/test/model/TestEnum.ts new file mode 100644 index 00000000..db9fff42 --- /dev/null +++ b/test/model/TestEnum.ts @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2018-2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +export enum TestFirstEnum { + TEST1, + TEST2, + TEST3, +} + +export enum TestSecondEnum { + TEST1 = 'one', + TEST2 = 'two', + TEST3 = 'three', +} diff --git a/test/model/TestFunction.ts b/test/model/TestFunction.ts new file mode 100644 index 00000000..0508ad94 --- /dev/null +++ b/test/model/TestFunction.ts @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2018-2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +export function testFunction(): boolean { + return true; +} diff --git a/test/model/TestInterface.ts b/test/model/TestInterface.ts new file mode 100644 index 00000000..650e4565 --- /dev/null +++ b/test/model/TestInterface.ts @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2018-2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {TestClass, TestSecondClass} from './TestClass'; +import {TestFirstEnum} from './TestEnum'; +import {TestThirdUnion} from './TestUnion'; + +export interface TestInterface { + articleBody: string[]; + categorySpecificValues?: { [s: string]: string }; + inputType: 'multipleChoice'; + maintainer: TestThirdUnion | TestFirstEnum; + remainingAttendeeCapacity?: number; + test1: Array; + test2: TestClass; + test3: 'test1' | 'test2'; + test4: TestSecondClass; + universityRole: keyof TestFirstEnum; +} + +export interface TestSecondInterface { + [k: string]: string; +} diff --git a/test/model/TestUnion.ts b/test/model/TestUnion.ts new file mode 100644 index 00000000..1adfa426 --- /dev/null +++ b/test/model/TestUnion.ts @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2018-2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +export type TestFirstUnion = 'test1' | 'test2'; + +export type TestSecondUnion = 'test3'; + +export type TestThirdUnion = TestFirstUnion | TestSecondUnion; + +export type TestFourthUnion = T extends TestFirstUnion + ? TestFirstUnion + : never; diff --git a/test/model/generatedModel.ts b/test/model/generatedModel.ts new file mode 100644 index 00000000..6c4cbbe3 --- /dev/null +++ b/test/model/generatedModel.ts @@ -0,0 +1,552 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {LightweightClassDefinition} from '../../src/uml/model/LightweightClassDefinition'; +import {LightweightDefinition} from '../../src/uml/model/LightweightDefinition'; +import {LightweightEnumDefinition} from '../../src/uml/model/LightweightEnumDefinition'; + +export const generatedModel: Array< + LightweightDefinition | LightweightClassDefinition | LightweightEnumDefinition +> = [ + { + name: 'TestClass', + type: 'class', + properties: [ + { + name: 'test2', + optional: false, + inherited: false, + type: { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: true, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'T', + }, + }, + { + name: 'test4', + optional: false, + inherited: false, + type: { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: true, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'TestFirstUnion', + }, + }, + ], + extendedDefinitions: [], + implementedDefinitions: [], + typeParameters: ['T'], + }, + { + name: 'TestSecondClass', + type: 'class', + properties: [ + { + name: 'test2', + optional: false, + inherited: true, + type: { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: true, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'string', + }, + }, + { + name: 'test4', + optional: false, + inherited: true, + type: { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: true, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'TestFirstUnion', + }, + }, + ], + extendedDefinitions: ['TestClass'], + implementedDefinitions: [], + typeParameters: [], + }, + { + name: 'TestFirstEnum', + values: ['TEST1', 'TEST2', 'TEST3'], + }, + { + name: 'TestSecondEnum', + values: ['TEST1 = "one"', 'TEST2 = "two"', 'TEST3 = "three"'], + }, + { + name: 'TestInterface', + type: 'interface', + properties: [ + { + name: 'articleBody', + optional: false, + inherited: false, + type: { + hasTypeInformation: false, + isArray: true, + isLiteral: false, + isPrimitive: false, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [ + { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: true, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'string', + }, + ], + genericsTypes: [], + name: 'string', + }, + }, + { + name: 'categorySpecificValues', + optional: true, + inherited: false, + type: { + hasTypeInformation: false, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: true, + specificationTypes: [ + { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: true, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'undefined', + }, + { + hasTypeInformation: false, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: false, + isReflection: true, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'object', + }, + ], + genericsTypes: [], + name: '', + }, + }, + { + name: 'inputType', + optional: false, + inherited: false, + type: { + hasTypeInformation: true, + isArray: false, + isLiteral: true, + isPrimitive: false, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'multipleChoice', + }, + }, + { + name: 'maintainer', + optional: false, + inherited: false, + type: { + hasTypeInformation: false, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: true, + specificationTypes: [ + { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: true, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'TestThirdUnion', + }, + { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: true, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'TestFirstEnum', + }, + ], + genericsTypes: [], + name: '', + }, + }, + { + name: 'remainingAttendeeCapacity', + optional: true, + inherited: false, + type: { + hasTypeInformation: false, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: true, + specificationTypes: [ + { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: true, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'undefined', + }, + { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: true, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'number', + }, + ], + genericsTypes: [], + name: '', + }, + }, + { + name: 'test1', + optional: false, + inherited: false, + type: { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: false, + isReflection: false, + isTyped: true, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [ + { + hasTypeInformation: false, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: true, + specificationTypes: [ + { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: true, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'TestThirdUnion', + }, + { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: true, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'TestFirstEnum', + }, + ], + genericsTypes: [], + name: '', + }, + ], + name: 'Array', + }, + }, + { + name: 'test2', + optional: false, + inherited: false, + type: { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: true, + isReflection: false, + isTyped: true, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [ + { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: true, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'string', + }, + ], + name: 'TestClass', + }, + }, + { + name: 'test3', + optional: false, + inherited: false, + type: { + hasTypeInformation: false, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: true, + specificationTypes: [ + { + hasTypeInformation: true, + isArray: false, + isLiteral: true, + isPrimitive: false, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'test1', + }, + { + hasTypeInformation: true, + isArray: false, + isLiteral: true, + isPrimitive: false, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'test2', + }, + ], + genericsTypes: [], + name: '', + }, + }, + { + name: 'test4', + optional: false, + inherited: false, + type: { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: true, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'TestSecondClass', + }, + }, + { + name: 'universityRole', + optional: false, + inherited: false, + type: { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: true, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [ + { + hasTypeInformation: true, + isArray: false, + isLiteral: false, + isPrimitive: false, + isReference: false, + isReflection: false, + isTyped: false, + isTypeParameter: false, + isUnion: false, + specificationTypes: [], + genericsTypes: [], + name: 'TestFirstEnum', + }, + ], + genericsTypes: [], + name: 'keyof TestFirstEnum', + }, + }, + ], + extendedDefinitions: [], + implementedDefinitions: [], + typeParameters: [], + }, + { + name: 'TestSecondInterface', + type: 'interface', + properties: [], + extendedDefinitions: [], + implementedDefinitions: [], + typeParameters: [], + }, + { + name: 'TestFirstUnion', + values: ['test1', 'test2'], + }, + { + name: 'TestFourthUnion', + values: [], + }, + { + name: 'TestSecondUnion', + values: ['test3'], + }, + { + name: 'TestThirdUnion', + values: ['TestFirstUnion', 'TestSecondUnion'], + }, +]; From af904a7a05de56cdef6aea136a7e3bb237c4beb2 Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Tue, 4 Jun 2019 11:37:54 +0200 Subject: [PATCH 075/215] fix: remove duplicate job --- .gitlab-ci.yml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 821369b9..56d6e172 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,21 +21,6 @@ build: paths: - lib -package: - dependencies: - - build - tags: - - secrecy - stage: deploy - script: - - echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > /root/.npmrc - - npm publish - only: - - /^v[0-9]+.[0-9]+.[0-9]+$/ - artifacts: - paths: - - lib - test: tags: - docker From a478715d8045dd26cd345ba3cbb469fda651b84f Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Tue, 4 Jun 2019 11:39:32 +0200 Subject: [PATCH 076/215] fix: update the uml job to use our node image --- .gitlab-ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 56d6e172..a0e2f3ed 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -72,11 +72,9 @@ package: - lib uml: - cache: {} dependencies: - build stage: test - image: node:10 services: - name: registry.gitlab.com/openstapps/core-tools:latest alias: plantuml From 67b31182e49384c71b8223bdf3dc148aeb65dae9 Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Tue, 4 Jun 2019 11:55:36 +0200 Subject: [PATCH 077/215] refactor: use the gitlab registry image --- README.md | 2 +- package.json | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6bb173a6..cb1ae54c 100644 --- a/README.md +++ b/README.md @@ -147,7 +147,7 @@ openstapps-core-tools pack The UML Generator generates PlantUML from the project reflection of the source files. By default it will include externals, which will take considerably longer to execute, you can disable this behaviour via an option. It can help you to visually explore the data model or document a specific part. -You can either use the public PlantUML-server or start your own local instance. To build the image and run, restart or stop the container use the scripts provided in the `package.json`. +You can either use the public PlantUML-server or start your own local instance. To run, restart or stop the container use the scripts provided in the `package.json`. ### Generating from source-files diff --git a/package.json b/package.json index 663793f5..f5173646 100644 --- a/package.json +++ b/package.json @@ -33,8 +33,7 @@ "check-configuration": "openstapps-configuration", "compile": "rimraf lib && tsc && prepend lib/cli.js '#!/usr/bin/env node\n'", "documentation": "typedoc --includeDeclarations --mode modules --out docs --readme README.md --listInvalidSymbolLinks src", - "plantuml-build": "docker build -t openstapps/plantuml-server .", - "plantuml-start": "docker run --name plantuml-server -d -p 8080:8080 openstapps/plantuml-server", + "plantuml-start": "docker run --name plantuml-server -d -p 8080:8080 registry.gitlab.com/openstapps/core-tools:latest", "plantuml-restart": "docker restart plantuml-server", "plantuml-stop": "docker stop plantuml-server", "postversion": "npm run changelog", From 843e59811a5a104df1c746627aa668d26fdc9f60 Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Wed, 5 Jun 2019 16:15:24 +0200 Subject: [PATCH 078/215] feat: added output file name for uml generation --- README.md | 6 +- package-lock.json | 136 +++++++++++++++++++++++++++++++++------ package.json | 2 +- src/cli.ts | 15 +++-- src/uml/createDiagram.ts | 13 ++-- src/uml/umlConfig.ts | 5 ++ 6 files changed, 148 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index cb1ae54c..ae08463e 100644 --- a/README.md +++ b/README.md @@ -161,11 +161,13 @@ Multiple options can be set to enhance the diagram. By default all additional in - `--showProperties` to show all mandatory attributes of the classes and interfaces. - `--showOptionalProperties` to show all mandatory attributes of the classes and interfaces. `--showProperties` must be set! +- `--showInheritedProperties` to show all inherited attributes of the classes and interfaces. `--showProperties` must be set! - `--showEnumValues` to show all enumeration and type (enumeration-like) values - `--showInheritance` to show the hierarchy of the classes and interfaces. Inherited attributes will only be shown in their parent. - `--showAssociations` to show all references of classes and interfaces between one another - `--excludeExternals` to exclude external definitions - `--definitions ` to show only specific definitions to reduce the output of the diagram. `` is a comma seperated list of definitions. +- `--outputFileName ` for a custom file name, the file extension will be added automatically (.svg). Otherwise a generic file with a timestamp will be generated into the execution directory. If a file with the same name already exists it will be overwritten! The best way to explore models is to enable `--showInheritance` and `--showAssociations`. Start with just one definition in your `--definition `-list, generate the diagram, look at it, add a new definition that you have seen to your command and generate anew. @@ -185,10 +187,10 @@ openstapps-core-tools plantuml ../core http://localhost:8080 --showProperties -- ### Generating from existing file -The plantuml code is persisted inside the generated filea at the very bottom. You can tweak the model by using the function to generate UML from a PlantUML-file(simple text file). Extract the code (starting from `@startuml` to `@enduml`), edit it manually and execute the function. +The plantuml code is persisted inside the generated file at the very bottom. You can tweak the model by using the function to generate UML from a PlantUML-file(simple text file). Extract the code (starting from `@startuml` to `@enduml`), edit it manually and execute this function. ```shell -openstapps-core-tools plantuml-file /PATH/TO/Project.plantuml http://PLANTUMLSERVER +openstapps-core-tools plantuml-file /PATH/TO/Project.plantuml http://PLANTUMLSERVER OptionalCustomFileName ``` Example-File-Content of Project.plantuml diff --git a/package-lock.json b/package-lock.json index 3aa265f2..8d280601 100644 --- a/package-lock.json +++ b/package-lock.json @@ -60,6 +60,41 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.7.tgz", "integrity": "sha512-on4MmIDgHXiuJDELPk1NFaKVUxxCFr37tm8E9yN6rAiF5Pzp/9bBfBHkoexqRiY+hk/Z04EJU9kKEb59YqJ82A==", "dev": true + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "tslint": { + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.17.0.tgz", + "integrity": "sha512-pflx87WfVoYepTet3xLfDOLDm9Jqi61UXIKePOuca0qoAZyrGWonDG9VTbji58Fy+8gciUn8Bt7y69+KEVjc/w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^3.2.0", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.8.0", + "tsutils": "^2.29.0" + }, + "dependencies": { + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true + } + } } } }, @@ -166,9 +201,9 @@ "integrity": "sha512-RTVWV485OOf4+nO2+feurk0chzHkSjkjALiejpHltyuMf/13fGymbbNNFrSKdSSUg1TIwzszXdWsVirxgqYiFA==" }, "@types/nock": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@types/nock/-/nock-10.0.2.tgz", - "integrity": "sha512-jOdoZ3zVLmPWZOoPJDoks+Zo6GsogdZuVBWs8/prWau993qno5PPtukVXKfc+WtS/ROgTPWpiru92z2K6KFYgQ==", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/@types/nock/-/nock-10.0.3.tgz", + "integrity": "sha512-OthuN+2FuzfZO3yONJ/QVjKmLEuRagS9TV9lEId+WHL9KhftYG+/2z+pxlr0UgVVXSpVD8woie/3fzQn8ft/Ow==", "dev": true, "requires": { "@types/node": "*" @@ -637,6 +672,14 @@ "semver": "^5.5.0", "split": "^1.0.0", "through2": "^3.0.0" + }, + "dependencies": { + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true + } } }, "conventional-commits-filter": { @@ -662,6 +705,23 @@ "split2": "^2.0.0", "through2": "^3.0.0", "trim-off-newlines": "^1.0.0" + }, + "dependencies": { + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "dev": true, + "requires": { + "text-extensions": "^1.0.0" + } + }, + "text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true + } } }, "core-util-is": { @@ -1245,6 +1305,27 @@ "through2": "^2.0.0" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -1567,15 +1648,6 @@ "has-symbols": "^1.0.0" } }, - "is-text-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", - "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", - "dev": true, - "requires": { - "text-extensions": "^2.0.0" - } - }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", @@ -2193,6 +2265,12 @@ "requires": { "ms": "^2.1.1" } + }, + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true } } }, @@ -2776,6 +2854,27 @@ "through2": "^2.0.2" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -2864,12 +2963,6 @@ "uuid": "^2.0.1" } }, - "text-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.0.0.tgz", - "integrity": "sha512-F91ZqLgvi1E0PdvmxMgp+gcf6q8fMH7mhdwWfzXnl1k+GbpQDmi8l7DzLC5JTASKbwpY3TfxajAUzAXcv2NmsQ==", - "dev": true - }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -2925,6 +3018,13 @@ "glob": "~7.1.4", "json-stable-stringify": "^1.0.1", "typescript": "~3.4.5" + }, + "dependencies": { + "typescript": { + "version": "3.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.5.tgz", + "integrity": "sha512-YycBxUb49UUhdNMU5aJ7z5Ej2XGmaIBL0x34vZ82fn3hGvD+bgrMrVDpatgz2f7YxUMJxMkbWxJZeAvDxVe7Vw==" + } } }, "ts-node": { diff --git a/package.json b/package.json index f5173646..6eac5951 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "@types/chai": "4.1.7", "@types/mocha": "5.2.7", "@types/rimraf": "2.0.2", - "@types/nock": "10.0.2", + "@types/nock": "10.0.3", "conventional-changelog-cli": "2.0.21", "mocha": "6.1.4", "mocha-typescript": "1.1.17", diff --git a/src/cli.ts b/src/cli.ts index 1af962d2..c5def8bf 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -199,6 +199,10 @@ commander '--excludeExternals', 'Exclude external definitions', ) + .option( + '--outputFileName ', + 'Defines the filename of the output', + ) .action(async (relativeSrcPath, plantumlserver, options) => { const plantUmlConfig: UMLConfig = { definitions: @@ -225,9 +229,12 @@ commander : false, showProperties: typeof options.showProperties !== 'undefined' - ? options.showEnumValues + ? options.showProperties : false, }; + if (typeof options.outputFileName !== 'undefined') { + plantUmlConfig.outputFileName = options.outputFileName; + } Logger.log(`PlantUML options: ${JSON.stringify(plantUmlConfig)}`); @@ -241,10 +248,10 @@ commander }); commander - .command('plantuml-file ') - .action(async (file: string, plantumlserver: string) => { + .command('plantuml-file [outputFile]') + .action(async (file: string, plantumlserver: string, outputFile: string) => { const fileContent = readFileSync(resolve(file)).toString(); - await createDiagramFromString(fileContent, plantumlserver); + await createDiagramFromString(fileContent, plantumlserver, outputFile); }); commander.parse(process.argv); diff --git a/src/uml/createDiagram.ts b/src/uml/createDiagram.ts index 485b7250..d2a8c5df 100644 --- a/src/uml/createDiagram.ts +++ b/src/uml/createDiagram.ts @@ -81,7 +81,7 @@ export async function createDiagram( modelPlantUMLCode += definitionPlantUMLCode; } - return await createDiagramFromString(modelPlantUMLCode, plantUmlBaseURL); + return await createDiagramFromString(modelPlantUMLCode, plantUmlBaseURL, config.outputFileName); } /** @@ -90,9 +90,13 @@ export async function createDiagram( * * @param modelPlantUMLCode */ -export async function createDiagramFromString(modelPlantUMLCode: string, plantUmlBaseURL: string) { +export async function createDiagramFromString( + modelPlantUMLCode: string, + plantUmlBaseURL: string, + outputFile = `Diagram-${new Date().toISOString()}`, +) { const plantumlEncoder = require('plantuml-encoder'); - const plantUMLCode = plantumlEncoder.encode(modelPlantUMLCode); + const plantUMLCode = plantumlEncoder.encode(`@startuml\n${modelPlantUMLCode}\n@enduml`); const url = `${plantUmlBaseURL}/svg/${plantUMLCode}`; let response; try { @@ -105,7 +109,8 @@ export async function createDiagramFromString(modelPlantUMLCode: string, plantUm Logger.log(`Please try using the public plantuml server:\nhttp://www.plantuml.com/plantuml/svg/${plantUMLCode}`); throw e; } - const fileName: string = `Diagram-${new Date().toISOString()}.svg`; + // attach file extension + const fileName = `${outputFile}.svg`; try { createWriteStream(fileName).write(response.body); Logger.log(`Writen data to file: ${fileName}`); diff --git a/src/uml/umlConfig.ts b/src/uml/umlConfig.ts index a2a65432..f7e895cf 100644 --- a/src/uml/umlConfig.ts +++ b/src/uml/umlConfig.ts @@ -22,6 +22,11 @@ export interface UMLConfig { */ definitions: string[]; + /** + * Defines the output file name without file extension + */ + outputFileName?: string; + /** * Should the associations between definitions be shown */ From 23cbc53fef5cd7e7735b61526b312b6a67855748 Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Wed, 5 Jun 2019 16:29:08 +0200 Subject: [PATCH 079/215] style: apply strict style rules for this feature --- src/cli.ts | 17 +++--- src/common.ts | 10 ++-- .../{createDiagram.ts => create-diagram.ts} | 45 ++++++++------- ...ion.ts => lightweight-class-definition.ts} | 4 +- ...efinition.ts => lightweight-definition.ts} | 0 ...tion.ts => lightweight-enum-definition.ts} | 2 +- ...ghtProperty.ts => lightweight-property.ts} | 4 +- ...LightweightType.ts => lightweight-type.ts} | 18 +++--- ...readDefinitions.ts => read-definitions.ts} | 57 ++++++++++++------- src/uml/{umlConfig.ts => uml-config.ts} | 0 10 files changed, 90 insertions(+), 67 deletions(-) rename src/uml/{createDiagram.ts => create-diagram.ts} (88%) rename src/uml/model/{LightweightClassDefinition.ts => lightweight-class-definition.ts} (92%) rename src/uml/model/{LightweightDefinition.ts => lightweight-definition.ts} (100%) rename src/uml/model/{LightweightEnumDefinition.ts => lightweight-enum-definition.ts} (93%) rename src/uml/model/{LightweightProperty.ts => lightweight-property.ts} (90%) rename src/uml/model/{LightweightType.ts => lightweight-type.ts} (84%) rename src/uml/{readDefinitions.ts => read-definitions.ts} (93%) rename src/uml/{umlConfig.ts => uml-config.ts} (100%) diff --git a/src/cli.ts b/src/cli.ts index c5def8bf..a6c6902e 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -29,9 +29,9 @@ import { getNodeMetaInformationMap, } from './routes'; import {Converter, getValidatableTypesFromReflection} from './schema'; -import {createDiagram, createDiagramFromString} from './uml/createDiagram'; -import {readDefinitions} from './uml/readDefinitions'; -import {UMLConfig} from './uml/umlConfig'; +import {createDiagram, createDiagramFromString} from './uml/create-diagram'; +import {readDefinitions} from './uml/read-definitions'; +import {UMLConfig} from './uml/uml-config'; import {validateFiles, writeReport} from './validate'; // handle unhandled promise rejections @@ -169,9 +169,11 @@ commander } }); -commander.command('pack').action(async () => { - await pack(); -}); +commander + .command('pack') + .action(async () => { + await pack(); + }); commander .command('plantuml ') @@ -250,7 +252,8 @@ commander commander .command('plantuml-file [outputFile]') .action(async (file: string, plantumlserver: string, outputFile: string) => { - const fileContent = readFileSync(resolve(file)).toString(); + const fileContent = readFileSync(resolve(file)) + .toString(); await createDiagramFromString(fileContent, plantumlserver, outputFile); }); diff --git a/src/common.ts b/src/common.ts index ca2d954b..87ca1fee 100644 --- a/src/common.ts +++ b/src/common.ts @@ -21,7 +21,7 @@ import {join, sep} from 'path'; import {Definition} from 'ts-json-schema-generator'; import {Application, ProjectReflection} from 'typedoc'; import {promisify} from 'util'; -import {LightweightType} from './uml/model/LightweightType'; +import {LightweightType} from './uml/model/lightweight-type'; export const globPromisified = promisify(glob); export const mkdirPromisified = promisify(mkdir); @@ -143,7 +143,7 @@ export interface ExpectableValidationErrors { * * @param srcPath Path to get reflection from */ -export function getProjectReflection(srcPath: PathLike, excludeExternals: boolean = true): ProjectReflection { +export function getProjectReflection(srcPath: PathLike, excludeExternals = true): ProjectReflection { Logger.info(`Generating project reflection for ${srcPath.toString()}.`); const tsconfigPath = getTsconfigPath(srcPath.toString()); @@ -254,13 +254,14 @@ export function getFullTypeName(type: LightweightType): string { } if (type.isLiteral) { // literals are a sink - return "'" + fullName + "'"; + return `'${fullName}'`; } if (type.isUnion && type.specificationTypes.length > 0) { const tempNames: string[] = []; for (const easyType of type.specificationTypes) { tempNames.push(getFullTypeName(easyType)); } + // since unions can't be applied to other types, it is a sink. return tempNames.join(' | '); } @@ -270,11 +271,12 @@ export function getFullTypeName(type: LightweightType): string { for (const easyType of type.genericsTypes) { tempNames.push(getFullTypeName(easyType)); } - fullName += '<' + tempNames.join(', ') + '>'; + fullName = `${fullName}<${tempNames.join(', ')}>`; } // check if type is array if (type.isArray) { fullName += '[]'; } + return fullName; } diff --git a/src/uml/createDiagram.ts b/src/uml/create-diagram.ts similarity index 88% rename from src/uml/createDiagram.ts rename to src/uml/create-diagram.ts index d2a8c5df..94d0ff78 100644 --- a/src/uml/createDiagram.ts +++ b/src/uml/create-diagram.ts @@ -16,12 +16,12 @@ import {Logger} from '@openstapps/logger'; import {createWriteStream} from 'fs'; import * as request from 'got'; import {getFullTypeName} from '../common'; -import {LightweightClassDefinition} from './model/LightweightClassDefinition'; -import {LightweightDefinition} from './model/LightweightDefinition'; -import {LightweightEnumDefinition} from './model/LightweightEnumDefinition'; -import {LightweightProperty} from './model/LightweightProperty'; -import {LightweightType} from './model/LightweightType'; -import {UMLConfig} from './umlConfig'; +import {LightweightClassDefinition} from './model/lightweight-class-definition'; +import {LightweightDefinition} from './model/lightweight-definition'; +import {LightweightEnumDefinition} from './model/lightweight-enum-definition'; +import {LightweightProperty} from './model/lightweight-property'; +import {LightweightType} from './model/lightweight-type'; +import {UMLConfig} from './uml-config'; /** * Converts the lightweight class/enum definitions according to the configuration, @@ -57,7 +57,7 @@ export async function createDiagram( config.definitions = config.definitions.concat(inheritedDefinitions); } - let modelPlantUMLCode: string = ''; + let modelPlantUMLCode = ''; // creates a UML definition for every specified definition name // however if no definitions were provided all definitions will be transformed for (const definition of definitions) { @@ -70,7 +70,7 @@ export async function createDiagram( } // either the definitions are empty or the definition was specified, proceed - let definitionPlantUMLCode: string = ''; + let definitionPlantUMLCode = ''; if (definition instanceof LightweightClassDefinition) { definitionPlantUMLCode = createPlantUMLCodeForClass(config, definition); } else if (definition instanceof LightweightEnumDefinition) { @@ -81,14 +81,16 @@ export async function createDiagram( modelPlantUMLCode += definitionPlantUMLCode; } - return await createDiagramFromString(modelPlantUMLCode, plantUmlBaseURL, config.outputFileName); + return createDiagramFromString(modelPlantUMLCode, plantUmlBaseURL, config.outputFileName); } /** * This will encode the plantuml code and post the code to the plantuml server * The server will then parse the code and create a corresponding diagram * - * @param modelPlantUMLCode + * @param modelPlantUMLCode raw PlantUML code + * @param plantUmlBaseURL PlantUML server address that shall be used + * @param outputFile filename of the output file without file extension */ export async function createDiagramFromString( modelPlantUMLCode: string, @@ -101,7 +103,8 @@ export async function createDiagramFromString( let response; try { response = await request(url); - if (response.statusCode !== 200) { + const httpOK = 200; + if (response.statusCode !== httpOK) { Logger.error(`Plantuml Server responded with an error.\n${response.statusMessage}`); throw new Error('Response not okay'); } @@ -112,11 +115,13 @@ export async function createDiagramFromString( // attach file extension const fileName = `${outputFile}.svg`; try { - createWriteStream(fileName).write(response.body); + createWriteStream(fileName) + .write(response.body); Logger.log(`Writen data to file: ${fileName}`); } catch (e) { throw new Error('Could not write file. Are you missing permissions?'); } + return fileName; } @@ -146,6 +151,7 @@ function gatherTypeAssociations( ); } } + return abstractions; } @@ -178,6 +184,7 @@ function getReferenceTypes(type: LightweightType): string[] { } } } + return types; } @@ -192,7 +199,7 @@ function createPlantUMLCodeForClass( readerClass: LightweightClassDefinition, ): string { // create the definition header, what type the definition is, it's name and it's inheritance - let model: string = `${readerClass.type} ${readerClass.name}`; + let model = `${readerClass.type} ${readerClass.name}`; if (readerClass.typeParameters.length > 0) { model += `<${readerClass.typeParameters.join(', ')}>`; @@ -253,7 +260,7 @@ function createPlantUMLCodeForEnum( readerEnum: LightweightEnumDefinition, ): string { // create enum header - let model: string = `enum ${readerEnum.name} {`; + let model = `enum ${readerEnum.name} {`; // add values if (config.showEnumValues) { for (const value of readerEnum.values) { @@ -269,11 +276,7 @@ function createPlantUMLCodeForEnum( * Creates a property PlantUML Line */ function createPropertyLine(property: LightweightProperty): string { - return ( - (property.inherited ? '/ ' : '') + - (property.optional ? '?' : '') + - property.name + - ' : ' + - getFullTypeName(property.type) - ); + const prefix = `${(property.inherited ? '/ ' : '')}${(property.optional ? '? ' : '')}`; + + return `${prefix}${property.name} : ${getFullTypeName(property.type)}`; } diff --git a/src/uml/model/LightweightClassDefinition.ts b/src/uml/model/lightweight-class-definition.ts similarity index 92% rename from src/uml/model/LightweightClassDefinition.ts rename to src/uml/model/lightweight-class-definition.ts index 59662fdd..b6746a70 100644 --- a/src/uml/model/LightweightClassDefinition.ts +++ b/src/uml/model/lightweight-class-definition.ts @@ -13,8 +13,8 @@ * this program. If not, see . */ -import {LightweightDefinition} from './LightweightDefinition'; -import {LightweightProperty} from './LightweightProperty'; +import {LightweightDefinition} from './lightweight-definition'; +import {LightweightProperty} from './lightweight-property'; /** * Represents a class definition */ diff --git a/src/uml/model/LightweightDefinition.ts b/src/uml/model/lightweight-definition.ts similarity index 100% rename from src/uml/model/LightweightDefinition.ts rename to src/uml/model/lightweight-definition.ts diff --git a/src/uml/model/LightweightEnumDefinition.ts b/src/uml/model/lightweight-enum-definition.ts similarity index 93% rename from src/uml/model/LightweightEnumDefinition.ts rename to src/uml/model/lightweight-enum-definition.ts index 61592bf2..4ce22cd2 100644 --- a/src/uml/model/LightweightEnumDefinition.ts +++ b/src/uml/model/lightweight-enum-definition.ts @@ -13,7 +13,7 @@ * this program. If not, see . */ -import {LightweightDefinition} from './LightweightDefinition'; +import {LightweightDefinition} from './lightweight-definition'; /** * Represents an enum definition */ diff --git a/src/uml/model/LightweightProperty.ts b/src/uml/model/lightweight-property.ts similarity index 90% rename from src/uml/model/LightweightProperty.ts rename to src/uml/model/lightweight-property.ts index c309623f..5f8a12fb 100644 --- a/src/uml/model/LightweightProperty.ts +++ b/src/uml/model/lightweight-property.ts @@ -12,7 +12,7 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {LightweightType} from './LightweightType'; +import {LightweightType} from './lightweight-type'; /** * Represents a property definition @@ -45,7 +45,7 @@ export class LightweightProperty { * @param type Type of the property * @param optional Is the property optional */ - constructor(name: string, type: LightweightType, optional: boolean = true) { + constructor(name: string, type: LightweightType, optional = true) { this.name = name; this.optional = optional; this.inherited = false; diff --git a/src/uml/model/LightweightType.ts b/src/uml/model/lightweight-type.ts similarity index 84% rename from src/uml/model/LightweightType.ts rename to src/uml/model/lightweight-type.ts index 98dae5e1..c4467b00 100644 --- a/src/uml/model/LightweightType.ts +++ b/src/uml/model/lightweight-type.ts @@ -25,47 +25,47 @@ export class LightweightType { /** * Does the type have generic-parameters */ - hasTypeInformation: boolean = false; + hasTypeInformation = false; /** * Does the type represent an array type */ - isArray: boolean = false; + isArray = false; /** * Does the type represent a literal type */ - isLiteral: boolean = false; + isLiteral = false; /** * Does the type represent a primitive type */ - isPrimitive: boolean = false; + isPrimitive = false; /** * Does the type contain a reference to */ - isReference: boolean = false; + isReference = false; /** * Is the type a reflection and not avaiblabe at compile time */ - isReflection: boolean = false; + isReflection = false; /** * Does the type have type parameters */ - isTyped: boolean = false; + isTyped = false; /** * Is the type a typed parameter */ - isTypeParameter: boolean = false; + isTypeParameter = false; /** * Is the type a union type */ - isUnion: boolean = false; + isUnion = false; /** * Name of the type diff --git a/src/uml/readDefinitions.ts b/src/uml/read-definitions.ts similarity index 93% rename from src/uml/readDefinitions.ts rename to src/uml/read-definitions.ts index c847d15f..5714af35 100644 --- a/src/uml/readDefinitions.ts +++ b/src/uml/read-definitions.ts @@ -28,11 +28,11 @@ import { UnionType, } from 'typedoc/dist/lib/models'; import {getFullTypeName} from '../common'; -import {LightweightClassDefinition} from './model/LightweightClassDefinition'; -import {LightweightDefinition} from './model/LightweightDefinition'; -import {LightweightEnumDefinition} from './model/LightweightEnumDefinition'; -import {LightweightProperty} from './model/LightweightProperty'; -import {LightweightType} from './model/LightweightType'; +import {LightweightClassDefinition} from './model/lightweight-class-definition'; +import {LightweightDefinition} from './model/lightweight-definition'; +import {LightweightEnumDefinition} from './model/lightweight-enum-definition'; +import {LightweightProperty} from './model/lightweight-property'; +import {LightweightType} from './model/lightweight-type'; /** * Reads the reflection model from typedoc and converts it into a flatter, easier to handle model @@ -142,6 +142,7 @@ function getTypeInformation(type: LightweightType): string[] { } else { values.push(type.name); } + return values; } @@ -225,23 +226,30 @@ export function readAsClassDefinition( function readTypeInformation(declarationType: Type): LightweightType { if (declarationType instanceof ReflectionType) { return readAsReflectionType(declarationType); - } else if (declarationType instanceof TypeOperatorType) { - return readAsTypeOperatorType(declarationType); - } else if (declarationType instanceof TypeParameterType) { - return readAsTypeParameterType(declarationType); - } else if (declarationType instanceof IntrinsicType) { - return readAsIntrinsicType(declarationType); - } else if (declarationType instanceof StringLiteralType) { - return readAsStringLiteralType(declarationType); - } else if (declarationType instanceof ReferenceType) { - return readAsReferenceType(declarationType); - } else if (declarationType instanceof ArrayType) { - return readAsArrayType(declarationType); - } else if (declarationType instanceof UnionType) { - return readAsUnionType(declarationType); - } else { - throw new Error(`Could not read type ${declarationType.type}`); } + if (declarationType instanceof TypeOperatorType) { + return readAsTypeOperatorType(declarationType); + } + if (declarationType instanceof TypeParameterType) { + return readAsTypeParameterType(declarationType); + } + if (declarationType instanceof IntrinsicType) { + return readAsIntrinsicType(declarationType); + } + if (declarationType instanceof StringLiteralType) { + return readAsStringLiteralType(declarationType); + } + if (declarationType instanceof ReferenceType) { + return readAsReferenceType(declarationType); + } + if (declarationType instanceof ArrayType) { + return readAsArrayType(declarationType); + } + if (declarationType instanceof UnionType) { + return readAsUnionType(declarationType); + } + + throw new Error(`Could not read type ${declarationType.type}`); } /** @@ -256,6 +264,7 @@ function readAsIntrinsicType(type: IntrinsicType): LightweightType { easyType.name = type.name; easyType.isPrimitive = true; easyType.hasTypeInformation = true; + return easyType; } @@ -271,6 +280,7 @@ function readAsStringLiteralType(type: StringLiteralType): LightweightType { returnType.name = type.value; returnType.isLiteral = true; returnType.hasTypeInformation = true; + return returnType; } @@ -333,6 +343,7 @@ function readAsArrayType(type: ArrayType): LightweightType { returnType.name = getFullTypeName(typeOfArray); returnType.specificationTypes = [typeOfArray]; returnType.isArray = true; + return returnType; } @@ -355,6 +366,7 @@ function readAsUnionType(type: UnionType): LightweightType { returnType.specificationTypes = typesOfUnion; returnType.name = getFullTypeName(returnType); returnType.isUnion = true; + return returnType; } @@ -379,6 +391,7 @@ function readAsReflectionType(type: ReflectionType): LightweightType { } returnType.name = 'object'; returnType.isReflection = true; + return returnType; } @@ -399,6 +412,7 @@ function readAsTypeOperatorType(type: TypeOperatorType): LightweightType { // can't be traced deeper! so might as well be a primitive returnType.isPrimitive = true; returnType.hasTypeInformation = true; + return returnType; } @@ -419,5 +433,6 @@ function readAsTypeParameterType(type: TypeParameterType): LightweightType { returnType.name = type.name; returnType.isTypeParameter = true; returnType.hasTypeInformation = true; + return returnType; } diff --git a/src/uml/umlConfig.ts b/src/uml/uml-config.ts similarity index 100% rename from src/uml/umlConfig.ts rename to src/uml/uml-config.ts From 53e80476c85027194cf406ad87fe8950d6c2f3a8 Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Wed, 5 Jun 2019 16:32:41 +0200 Subject: [PATCH 080/215] fix: emend the imports in the test files --- test/CreateDiagram.spec.ts | 8 ++++---- test/ReadDefinitions.spec.ts | 2 +- test/model/generatedModel.ts | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/test/CreateDiagram.spec.ts b/test/CreateDiagram.spec.ts index 15e57ddb..65794d71 100644 --- a/test/CreateDiagram.spec.ts +++ b/test/CreateDiagram.spec.ts @@ -17,10 +17,10 @@ import {resolve} from 'path'; import {existsSync, unlinkSync} from 'fs'; import {slow, suite, test, timeout} from 'mocha-typescript'; import {getProjectReflection} from '../src/common'; -import {createDiagram, createDiagramFromString} from '../src/uml/createDiagram'; -import {UMLConfig} from './../lib/uml/umlConfig.d'; -import {readDefinitions} from '../src/uml/readDefinitions'; -import {LightweightDefinition} from '../src/uml/model/LightweightDefinition'; +import {createDiagram, createDiagramFromString} from '../src/uml/create-diagram'; +import {UMLConfig} from '../src/uml/uml-config'; +import {readDefinitions} from '../src/uml/read-definitions'; +import {LightweightDefinition} from '../src/uml/model/lightweight-definition'; import nock = require('nock'); @suite(timeout(15000), slow(5000)) diff --git a/test/ReadDefinitions.spec.ts b/test/ReadDefinitions.spec.ts index c6b1ff33..299b7849 100644 --- a/test/ReadDefinitions.spec.ts +++ b/test/ReadDefinitions.spec.ts @@ -15,7 +15,7 @@ import {expect} from 'chai'; import {slow, suite, test, timeout} from 'mocha-typescript'; import {getProjectReflection} from '../src/common'; -import {readDefinitions} from '../src/uml/readDefinitions'; +import {readDefinitions} from '../src/uml/read-definitions'; import {generatedModel} from './model/generatedModel'; @suite(timeout(10000), slow(5000)) diff --git a/test/model/generatedModel.ts b/test/model/generatedModel.ts index 6c4cbbe3..6469d0f3 100644 --- a/test/model/generatedModel.ts +++ b/test/model/generatedModel.ts @@ -12,9 +12,9 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {LightweightClassDefinition} from '../../src/uml/model/LightweightClassDefinition'; -import {LightweightDefinition} from '../../src/uml/model/LightweightDefinition'; -import {LightweightEnumDefinition} from '../../src/uml/model/LightweightEnumDefinition'; +import {LightweightClassDefinition} from '../../src/uml/model/lightweight-class-definition'; +import {LightweightDefinition} from '../../src/uml/model/lightweight-definition'; +import {LightweightEnumDefinition} from '../../src/uml/model/lightweight-enum-definition'; export const generatedModel: Array< LightweightDefinition | LightweightClassDefinition | LightweightEnumDefinition From 6e434145ba1bd4a343411872f20ea89f51625f2e Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Wed, 5 Jun 2019 16:38:22 +0200 Subject: [PATCH 081/215] docs: add interface to definitions description --- src/cli.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cli.ts b/src/cli.ts index a6c6902e..3c48e6a5 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -179,7 +179,7 @@ commander .command('plantuml ') .option( '--definitions ', - 'Shows these specific definitions (class or enum)', + 'Shows these specific definitions (class, interface or enum)', toArray, ) .option('--showAssociations', 'Shows associations of classes') From 5d50abd41181e96f80a0be64d52b3be628078e18 Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Wed, 5 Jun 2019 16:40:07 +0200 Subject: [PATCH 082/215] refactor: rename `class` in cli options --- src/cli.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cli.ts b/src/cli.ts index 3c48e6a5..ed7dca62 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -182,10 +182,10 @@ commander 'Shows these specific definitions (class, interface or enum)', toArray, ) - .option('--showAssociations', 'Shows associations of classes') + .option('--showAssociations', 'Shows associations of definitions') .option( '--showInheritance', - 'Shows extensions and implementations of classes', + 'Shows extensions and implementations of definitions', ) .option('--showEnumValues', 'Show enum values') .option('--showProperties', 'Show attributes') From 38a5bfed528580070c6bcf0cff9c00869de7f451 Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Fri, 7 Jun 2019 11:30:18 +0200 Subject: [PATCH 083/215] build: update dependencies --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6eac5951..879e4b6f 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "typedoc": "0.14.2" }, "devDependencies": { - "@openstapps/configuration": "0.19.0", + "@openstapps/configuration": "0.20.0", "@types/chai": "4.1.7", "@types/mocha": "5.2.7", "@types/rimraf": "2.0.2", From 967f94652723d8589b7f272454185449233ac838 Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Fri, 7 Jun 2019 11:36:24 +0200 Subject: [PATCH 084/215] fix: apply stricter tslint rules --- src/uml/create-diagram.ts | 2 +- src/uml/read-definitions.ts | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/uml/create-diagram.ts b/src/uml/create-diagram.ts index 94d0ff78..35631201 100644 --- a/src/uml/create-diagram.ts +++ b/src/uml/create-diagram.ts @@ -105,7 +105,7 @@ export async function createDiagramFromString( response = await request(url); const httpOK = 200; if (response.statusCode !== httpOK) { - Logger.error(`Plantuml Server responded with an error.\n${response.statusMessage}`); + await Logger.error(`Plantuml Server responded with an error.\n${response.statusMessage}`); throw new Error('Response not okay'); } } catch (e) { diff --git a/src/uml/read-definitions.ts b/src/uml/read-definitions.ts index 5714af35..d0dfffb1 100644 --- a/src/uml/read-definitions.ts +++ b/src/uml/read-definitions.ts @@ -93,7 +93,7 @@ export function readAsEnumDefinition( ); // get enum values according to type - if (declaration.kindString === 'Enumeration' && declaration.children) { + if (declaration.kindString === 'Enumeration' && typeof declaration.children !== 'undefined') { // standard enumeration for (const child of declaration.children) { if (child.kindString === 'Enumeration member') { @@ -154,7 +154,7 @@ function getTypeInformation(type: LightweightType): string[] { export function readAsClassDefinition( declaration: DeclarationReflection, ): LightweightClassDefinition { - let type = declaration.kindString ? declaration.kindString.toLowerCase() : ''; + let type = typeof declaration.kindString !== 'undefined' ? declaration.kindString.toLowerCase() : ''; type = (declaration.flags.isAbstract ? 'abstract ' : '') + type; const classDefinition: LightweightClassDefinition = new LightweightClassDefinition( @@ -314,7 +314,7 @@ function readAsReferenceType(type: ReferenceType): LightweightType { const tempTypeReflection = type.reflection as DeclarationReflection; // interfaces and classes in a type are a sink, since their declaration are defined elsewhere if ( - tempTypeReflection.kindString && + typeof tempTypeReflection.kindString !== 'undefined' && ['Interface', 'Class', 'Enumeration', 'Type alias'].indexOf( tempTypeReflection.kindString, ) > -1 @@ -383,7 +383,7 @@ function readAsUnionType(type: UnionType): LightweightType { */ function readAsReflectionType(type: ReflectionType): LightweightType { const returnType: LightweightType = new LightweightType(); - if (type.declaration.sources) { + if (typeof type.declaration.sources !== 'undefined') { const src = type.declaration.sources[0]; Logger.warn( `${src.line} : ${src.fileName}: Reflection Type not recognized. Refactoring to explicit class is advised.`, From 969badfb29063259afa54adadeb521f4be9641e2 Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Thu, 27 Jun 2019 08:14:05 +0200 Subject: [PATCH 085/215] build: update openstapps configuration --- package-lock.json | 41 +++-------------------------------------- package.json | 2 +- 2 files changed, 4 insertions(+), 39 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8d280601..19169a4e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,9 +39,9 @@ "integrity": "sha512-PbDyjVme3HR8CrMI04SokU97Enq/+txP5fS2O0XYVSmMYteJ7Q9CLO2y0t8PmNZkt4YCxmHgaNEdMs+/Ki+PAA==" }, "@openstapps/configuration": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.19.0.tgz", - "integrity": "sha512-2ciZTmd4ITMz76riqllBWvKJK7WALsanJ/ZlrTJDwkzMMjZHL6GbZVhRR7O8YGVKwf3zR9SqVFc0uyAYF4qmOQ==", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.21.0.tgz", + "integrity": "sha512-0PR8es12HJqNOoTHc4XwfNgS3WDpsrhXvkyty8sid6mcyeaOMmhoj680LwJlqcNsRP9DqqPc+s0JB8zKd0NOig==", "dev": true, "requires": { "@types/node": "10.14.7", @@ -60,41 +60,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.7.tgz", "integrity": "sha512-on4MmIDgHXiuJDELPk1NFaKVUxxCFr37tm8E9yN6rAiF5Pzp/9bBfBHkoexqRiY+hk/Z04EJU9kKEb59YqJ82A==", "dev": true - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "tslint": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.17.0.tgz", - "integrity": "sha512-pflx87WfVoYepTet3xLfDOLDm9Jqi61UXIKePOuca0qoAZyrGWonDG9VTbji58Fy+8gciUn8Bt7y69+KEVjc/w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^3.2.0", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.8.0", - "tsutils": "^2.29.0" - }, - "dependencies": { - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true - } - } } } }, diff --git a/package.json b/package.json index 879e4b6f..01ea6073 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "typedoc": "0.14.2" }, "devDependencies": { - "@openstapps/configuration": "0.20.0", + "@openstapps/configuration": "0.21.0", "@types/chai": "4.1.7", "@types/mocha": "5.2.7", "@types/rimraf": "2.0.2", From 7b198f95ce7bbd75454247e70757d34af462cefc Mon Sep 17 00:00:00 2001 From: Anselm Stordeur Date: Tue, 5 Feb 2019 14:54:52 +0100 Subject: [PATCH 086/215] feat: add automatic mapping generation Fixes #6 --- .gitlab-ci.yml | 16 + .npmignore | 1 + README.md | 45 +++ package-lock.json | 168 +++++----- package.json | 2 + src/cli.ts | 25 ++ src/common.ts | 3 +- src/mapping.ts | 480 +++++++++++++++++++++++++++ src/mappings/definitions/fieldmap.ts | 50 +++ src/mappings/definitions/premap.ts | 115 +++++++ src/mappings/definitions/settings.ts | 65 ++++ src/mappings/definitions/typemap.ts | 62 ++++ src/mappings/mapping-definitions.ts | 313 +++++++++++++++++ 13 files changed, 1267 insertions(+), 78 deletions(-) create mode 100644 src/mapping.ts create mode 100644 src/mappings/definitions/fieldmap.ts create mode 100644 src/mappings/definitions/premap.ts create mode 100644 src/mappings/definitions/settings.ts create mode 100644 src/mappings/definitions/typemap.ts create mode 100644 src/mappings/mapping-definitions.ts diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a0e2f3ed..194c7df2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -56,6 +56,22 @@ routes: paths: - routes.md +mapping: + dependencies: + - build + stage: test + services: + - name: registry.gitlab.com/openstapps/database:master + alias: elasticsearch + script: + - npm install @openstapps/core + - node lib/cli.js mapping ./node_modules/@openstapps/core/src mapping.json "pattern,see,minlength" + - curl http://elasticsearch:9200/stapps --upload-file mapping.json -o response.json + - cat response.json + - grep -q "\"acknowledged\":true" response.json + # - curl --show-error --fail http://elasticsearch:9200/stapps --upload-file mapping.json + + package: dependencies: - build diff --git a/.npmignore b/.npmignore index 1038f776..6f9f66b5 100644 --- a/.npmignore +++ b/.npmignore @@ -3,6 +3,7 @@ /* # Except these files/folders !lib +lib/tsconfig.tsbuildinfo !LICENSE !package.json !package-lock.json diff --git a/README.md b/README.md index ae08463e..bcc0dcfc 100644 --- a/README.md +++ b/README.md @@ -143,6 +143,51 @@ To pack all the different files into two distribution files - one for definition openstapps-core-tools pack ``` +## How to use the Elasticsearch Mapping generator + +The mapping generator is intended to be used by the backend directly, but it can also be used to generate these files +manually. + +### Generating the mapping files by hand + +To generate the mapping files by hand, you need a local copy of the core-tools and the core, both need to be built first. +After that you can run +``` +node lib/cli.js mapping path/to/core path/to/destination ignoredTag1,ignoredTag2,ignoredTag3 +``` +If you don't pass in any ignored tags, you will likely be prompted with errors, despite the core being absolutely correct. +This is because there are some tags that are not relevant to Elasticsearch, but the program has no direct way to tell +which ones simply lack an implementation and which ones can be ignored. Currently the ignored tags include +`minlength`, `pattern` and `see`. + +### Generating the mapping directly from another TypeScript program + +This is the more easy way, and it gives you direct access to the generated mapping as a (mostly typesafe) object. To +use it, call `generateTemplate`, However you will first need to generate a ProjectReflection of the core you are working +with. If you use the core as a dependency, you can for example use +```typescript +const map = generateTemplate(getProjectReflection(resolve('node_modules', '@openstapps', 'core', 'src')), + ignoredTags, false); +``` +to generate the mappings. Note that the result object contains both a list of errors in `map.errors` and the actual mapping +in `map.template`. You can also specify whether you want the generator to show any errors while generating the mappings +in the console in the last parameter, `true` (default) being show errors and `false` to suppress them. That said it is very +easy to replace all `type: "MISSING_PREMAP"`, `type: "PARSE_ERROR"`, `type: "TYPE_CONFLICT"` with `dynamic: true` (you +can take these exactly like written here and run a replace over the file). + +### Fixing a generated mapping by hand + +If you get errors when generating the mappings, the mappings might not work, however they will still be generated to the +programs best efforts. Most small issues can be fixed after the mapping was generated as a temporary solution and without +changing anything in the mapper's code. This however requires some understanding of how mappings work. + +The output of the program can easily reach 25.000 lines, but you can find errors quickly by searching for `MISSING_PREMAP`, +`PARSE_ERROR` and `TYPE_CONFLICT`. When you reach them you can then manually replace them with your code. + +As a last resort you can also replace all errors with dynamic types, this should get the mapping working, but it is NOT +RECOMMENDED as a fix other than using it locally. + + ## How to use the UML generator The UML Generator generates PlantUML from the project reflection of the source files. By default it will include externals, which will take considerably longer to execute, you can disable this behaviour via an option. It can help you to visually explore the data model or document a specific part. diff --git a/package-lock.json b/package-lock.json index 19169a4e..c0605c5b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -73,6 +73,13 @@ "chalk": "2.4.2", "flatted": "2.0.0", "nodemailer": "6.2.1" + }, + "dependencies": { + "flatted": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz", + "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==" + } } }, "@sindresorhus/is": { @@ -140,9 +147,9 @@ "integrity": "sha512-pGF/zvYOACZ/gLGWdQH8zSwteQS1epp68yRcVLJMgUck/MjEn/FBYmPub9pXT8C1e4a8YZfHo1CKyV8q1vKUnQ==" }, "@types/lodash": { - "version": "4.14.133", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.133.tgz", - "integrity": "sha512-/3JqnvPnY58GLzG3Y7fpphOhATV1DDZ/Ak3DQufjlRK5E4u+s0CfClfNFtAGBabw+jDGtRFbOZe+Z02ZMWCBNQ==" + "version": "4.14.135", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.135.tgz", + "integrity": "sha512-Ed+tSZ9qM1oYpi5kzdsBuOzcAIn1wDW+e8TFJ50IMJMlSopGdJgKAbhHzN6h1E1OfjlGOr2JepzEWtg9NIfoNg==" }, "@types/marked": { "version": "0.4.2", @@ -352,26 +359,31 @@ "dev": true }, "cacheable-request": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.0.0.tgz", - "integrity": "sha512-2N7AmszH/WPPpl5Z3XMw1HAP+8d+xugnKQAeKvxFZ/04dbT/CAznqwbl+7eSr3HkwdepNwtb2yx3CAMQWvG01Q==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", "requires": { "clone-response": "^1.0.2", - "get-stream": "^4.0.0", + "get-stream": "^5.1.0", "http-cache-semantics": "^4.0.0", "keyv": "^3.0.0", - "lowercase-keys": "^1.0.1", - "normalize-url": "^3.1.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", "responselike": "^1.0.2" }, "dependencies": { "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", "requires": { "pump": "^3.0.0" } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" } } }, @@ -622,9 +634,9 @@ "dev": true }, "conventional-changelog-writer": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.5.tgz", - "integrity": "sha512-g/Myp4MaJ1A+f7Ai+SnVhkcWtaHk6flw0SYN7A+vQ+MTu0+gSovQWs4Pg4NtcNUcIztYQ9YHsoxHP+GGQplI7Q==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.6.tgz", + "integrity": "sha512-ou/sbrplJMM6KQpR5rKFYNVQYesFjN7WpNGdudQSWNi6X+RgyFUcSv871YBYkrUYV9EX8ijMohYVzn9RUb+4ag==", "dev": true, "requires": { "compare-func": "^1.3.1", @@ -634,17 +646,9 @@ "json-stringify-safe": "^5.0.1", "lodash": "^4.2.1", "meow": "^4.0.0", - "semver": "^5.5.0", + "semver": "^6.0.0", "split": "^1.0.0", "through2": "^3.0.0" - }, - "dependencies": { - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true - } } }, "conventional-commits-filter": { @@ -658,35 +662,18 @@ } }, "conventional-commits-parser": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.2.tgz", - "integrity": "sha512-y5eqgaKR0F6xsBNVSQ/5cI5qIF3MojddSUi1vKIggRkqUTbkqFKH9P5YX/AT1BVZp9DtSzBTIkvjyVLotLsVog==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.3.tgz", + "integrity": "sha512-KaA/2EeUkO4bKjinNfGUyqPTX/6w9JGshuQRik4r/wJz7rUw3+D3fDG6sZSEqJvKILzKXFQuFkpPLclcsAuZcg==", "dev": true, "requires": { "JSONStream": "^1.0.4", - "is-text-path": "^1.0.0", + "is-text-path": "^2.0.0", "lodash": "^4.2.1", "meow": "^4.0.0", "split2": "^2.0.0", "through2": "^3.0.0", "trim-off-newlines": "^1.0.0" - }, - "dependencies": { - "is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", - "dev": true, - "requires": { - "text-extensions": "^1.0.0" - } - }, - "text-extensions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", - "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", - "dev": true - } } }, "core-util-is": { @@ -803,6 +790,11 @@ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", "dev": true }, + "deepmerge": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", + "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==" + }, "defer-to-connect": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz", @@ -977,9 +969,9 @@ } }, "flatted": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz", - "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==" }, "fs-extra": { "version": "7.0.1", @@ -1252,7 +1244,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, "requires": { "pump": "^3.0.0" } @@ -1291,6 +1282,15 @@ "util-deprecate": "~1.0.1" } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -1396,22 +1396,12 @@ "p-cancelable": "^1.0.0", "to-readable-stream": "^1.0.0", "url-parse-lax": "^3.0.0" - }, - "dependencies": { - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - } } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==" }, "growl": { "version": "1.10.5", @@ -1496,9 +1486,9 @@ } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "1.3.5", @@ -1613,6 +1603,15 @@ "has-symbols": "^1.0.0" } }, + "is-text-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", + "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", + "dev": true, + "requires": { + "text-extensions": "^2.0.0" + } + }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", @@ -2283,9 +2282,9 @@ } }, "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.3.0.tgz", + "integrity": "sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ==" }, "npm-run-path": { "version": "2.0.2", @@ -2551,9 +2550,9 @@ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "progress": { @@ -2840,6 +2839,15 @@ "util-deprecate": "~1.0.1" } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -2869,9 +2877,9 @@ } }, "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", + "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", "dev": true, "requires": { "safe-buffer": "~5.1.0" @@ -2928,6 +2936,12 @@ "uuid": "^2.0.1" } }, + "text-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.0.0.tgz", + "integrity": "sha512-F91ZqLgvi1E0PdvmxMgp+gcf6q8fMH7mhdwWfzXnl1k+GbpQDmi8l7DzLC5JTASKbwpY3TfxajAUzAXcv2NmsQ==", + "dev": true + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -3005,9 +3019,9 @@ } }, "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", "dev": true }, "tslint": { diff --git a/package.json b/package.json index 01ea6073..897298a3 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,9 @@ "ajv": "6.10.0", "chai": "4.2.0", "commander": "2.20.0", + "deepmerge": "3.3.0", "del": "4.1.1", + "flatted": "2.0.1", "glob": "7.1.4", "got": "9.6.0", "humanize-string": "2.1.0", diff --git a/src/cli.ts b/src/cli.ts index ed7dca62..3e8c13d6 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -22,6 +22,7 @@ import { readFilePromisified, toArray, } from './common'; +import {generateTemplate} from './mapping'; import {pack} from './pack'; import { gatherRouteInformation, @@ -77,6 +78,30 @@ commander Logger.ok(`Route documentation written to ${mdPath}.`); }); +commander + .command('mapping [ignoredTags]') + .action(async (relativeSrcPath, relativeMappingPath, ignoredTags) => { + // get absolute paths + const srcPath = resolve(relativeSrcPath); + const mappingPath = resolve(relativeMappingPath); + + let ignoredTagsList: string[] = []; + if (typeof ignoredTags === 'string') { + ignoredTagsList = ignoredTags.split(','); + } + + // get project reflection + const projectReflection = getProjectReflection(srcPath); + + const mapping = generateTemplate(projectReflection, ignoredTagsList); + + // write documentation to file + // tslint:disable-next-line:no-magic-numbers + writeFileSync(mappingPath, JSON.stringify(mapping.template, null, 2)); + + Logger.ok(`Elasticsearch mapping written to ${mappingPath}.`); + }); + commander .command('schema ') .action(async (relativeSrcPath, relativeSchemaPath) => { diff --git a/src/common.ts b/src/common.ts index 87ca1fee..32c9b4e7 100644 --- a/src/common.ts +++ b/src/common.ts @@ -142,6 +142,7 @@ export interface ExpectableValidationErrors { * Get a project reflection from a path * * @param srcPath Path to get reflection from + * @param excludeExternals Exclude external dependencies */ export function getProjectReflection(srcPath: PathLike, excludeExternals = true): ProjectReflection { Logger.info(`Generating project reflection for ${srcPath.toString()}.`); @@ -175,7 +176,7 @@ export function getProjectReflection(srcPath: PathLike, excludeExternals = true) } /** - * Check if a schema has definitions + * Guard method for checking if a schema has definitions * * @param schema Schema to check */ diff --git a/src/mapping.ts b/src/mapping.ts new file mode 100644 index 00000000..e82e4cb8 --- /dev/null +++ b/src/mapping.ts @@ -0,0 +1,480 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {Logger} from '@openstapps/logger'; +import * as deepmerge from 'deepmerge'; +import {stringify} from 'flatted'; +import {DeclarationReflection, ProjectReflection} from 'typedoc'; +import { + ArrayType, + CommentTag, + IntrinsicType, + ReferenceType, ReflectionType, + StringLiteralType, + Type, TypeParameterType, + UnionType, +} from 'typedoc/dist/lib/models'; +import {fieldmap} from './mappings/definitions/fieldmap'; +import {premaps} from './mappings/definitions/premap'; +import {settings} from './mappings/definitions/settings'; +import {dynamicTypes, ElasticsearchDataType, typemap} from './mappings/definitions/typemap'; +import { + ElasticsearchDynamicTemplate, + ElasticsearchObject, + ElasticsearchTemplate, + ElasticsearchValue, + ReflectionGeneric, +} from './mappings/mapping-definitions'; + +const dynamicTemplates: ElasticsearchDynamicTemplate[] = []; +let errors: string[] = []; +let showErrors = true; + +const indexableTag = 'indexable'; + +let ignoredTagsList = ['indexable', 'validatable']; + +/** + * Gets all interfaces that have an @indexable tag + * + * @param projectReflection the project reflection from which to extract the indexable interfaces + */ +export function getAllIndexableInterfaces(projectReflection: ProjectReflection): DeclarationReflection[] { + + let indexableInterfaces: DeclarationReflection[] = []; + + if (!Array.isArray(projectReflection.children) || projectReflection.children.length === 0) { + throw new Error('No DeclarationReflections found. Please check your input path'); + } + + // push all declaration reflections into one array + projectReflection.children.forEach((declarationReflection) => { + if (Array.isArray(declarationReflection.children)) { + indexableInterfaces = indexableInterfaces.concat(declarationReflection.children); + } + }); + + // filter all declaration reflections with an @indexable tag + indexableInterfaces = indexableInterfaces.filter((declarationReflection) => { + if ( + typeof declarationReflection.comment === 'undefined' || + typeof declarationReflection.comment.tags === 'undefined' + ) { + return false; + } + + return typeof declarationReflection.comment.tags.find((commentTag) => { + return commentTag.tagName === indexableTag; + }) !== 'undefined'; + }); + + return indexableInterfaces; +} + +/** + * Composes error messages, that are readable and contain a certain minumum of information + * + * @param path the path where the error took place + * @param typeName the name of the object, with which something went wrong + * @param object the object or name + * @param message the error message + */ +function composeErrorMessage(path: string, typeName: string, object: string, message: string) { + const error = `At "${path.substr(0, path.length - 1)}" for ${typeName} "${object}": ${message}`; + errors.push(error); + if (showErrors) { + // tslint:disable-next-line:no-floating-promises + Logger.error(error); + } +} + +/** + * Gets the Reflections and names for Generics in a ReferenceType of a DeclarationReflection + * + * Warning to future maintainers: The code for generics doesn't account for depth. when there is a new generic, it will + * override the previous one, if there isn't, it will just continue passing it down. + * + * @param type the ReferenceType of a DeclarationReflection + * @param out the previous reflection, it then overrides all parameters or keeps old ones + * @param path the current path to the object we are in + */ +function getReflectionGeneric(type: ReferenceType, out: ReflectionGeneric[], path: string): ReflectionGeneric[] { + if (typeof type.typeArguments !== 'undefined' + && type.reflection instanceof DeclarationReflection + && typeof type.reflection.typeParameters !== 'undefined' + && type.typeArguments.length === type.reflection.typeParameters.length) { + for (let i = 0; i < type.typeArguments.length; i++) { + let replaced = false; + for (const old of out) { + if (old.name === type.reflection.typeParameters[i].name) { + old.value = handleType(type.typeArguments[i], out, path); + replaced = true; + } + } + if (!replaced) { + out.push({ + name: type.reflection.typeParameters[i].name, + value: handleType(type.typeArguments[i], out, path), + }); + } + } + } + + return out; +} + +/** + * Handles a ReferenceType that has no value + * + * @param ref the ReferenceType + * @param generics the generics from levels above, so we can use them without having access to the parent + * @param path the current path to the object we are in + * @param tags any tags attached to the type + */ +function handleRefWithoutReflection(ref: ReferenceType, generics: ReflectionGeneric[], + path: string, tags?: CommentTag[]): ElasticsearchValue { + for (const premap in premaps) { + if (premap === ref.name) { + return readFieldTags(premaps[premap], path, tags); + } + } + + if (ref.name === 'Array') { // basically an external type, but Array is quite common, especially with generics + if (typeof ref.typeArguments === 'undefined' || typeof ref.typeArguments[0] === 'undefined') { + composeErrorMessage(path, 'Array with generics', 'array', 'Failed to parse'); + + return {type: ElasticsearchDataType.parse_error}; + } + + return readFieldTags(handleType(ref.typeArguments[0], getReflectionGeneric(ref, generics, path), path), + path, tags); + } + if (ref.name === '__type') { // empty object + return { + dynamic: 'strict', + properties: {}, + }; + } + + composeErrorMessage(path, 'external type', ref.name, 'Missing pre-map'); + + return readFieldTags({type: ElasticsearchDataType.missing_premap}, path, tags); +} + +/** + * Handles an object + * + * @param decl the DeclarationReflection of the object + * @param generics the generics from levels above, so we can use them without having access to the parent + * @param path the current path to the object we are in + */ +function handleDeclarationReflection(decl: DeclarationReflection, generics: ReflectionGeneric[], path: string): + ElasticsearchValue { + // check if we have an object referencing a generic + for (const gRefl of generics) { + if (gRefl.name === decl.name) { // if the object name is the same as the generic name + return readFieldTags(gRefl.value, path, typeof decl.comment !== 'undefined' ? decl.comment.tags : undefined); + // use the value defined by the generic + } + } + + // start the actual handling process + const out: ElasticsearchObject = { + dynamic: 'strict', + properties: {}, + }; + + let empty = true; + // first check if there are any index signatures, so for example `[name: string]: Foo` + if (typeof decl.indexSignature !== 'undefined' && typeof decl.indexSignature.parameters !== 'undefined') { + for (const param of decl.indexSignature.parameters) { + empty = false; + const template: ElasticsearchDynamicTemplate = {}; + template[decl.name] = { + mapping: handleDeclarationReflection(param as DeclarationReflection, generics, path), + match: '*', + match_mapping_type: '*', + path_match: `${path}*`, + }; + dynamicTemplates.push(template); + } + } + + // check all the children, so in this case we are dealing with an OBJECT + if (typeof decl.children !== 'undefined' && decl.children.length > 0) { + for (const child of decl.children) { + empty = false; + out.properties[child.name] = handleDeclarationReflection(child, generics, `${path}${child.name}.`); + } + } else if (decl.type instanceof Type) { // if the object is a type, so we are dealing with a PROPERTY + return handleType(decl.type, generics, path, + typeof decl.comment !== 'undefined' ? decl.comment.tags : undefined); + } else if (decl.kindString === 'Enumeration member') { + return readTypeTags(typeof decl.defaultValue, path, + typeof decl.comment !== 'undefined' ? decl.comment.tags : undefined); + } + + if (empty) { + composeErrorMessage(path, 'object', decl.name, 'Empty object'); + } + + return readFieldTags(out, path, typeof decl.comment !== 'undefined' ? decl.comment.tags : undefined); +} + +/** + * Handles UnionTypes + * + * Put into a separate function as it is a little bit more complex + * Works fairly reliable, although there are issues with primitive union types, which don't work at all (And never will) + * + * @param type the type object + * @param generics the generics from levels above, so we can use them without having access to the parent + * @param path the current path to the object we are in + */ +function handleUnionType(type: UnionType, generics: ReflectionGeneric[], path: string): ElasticsearchValue { + const list: ElasticsearchValue[] = []; + + for (const subType of type.types) { + if (subType instanceof IntrinsicType && subType.name === 'undefined') { + continue; + } + list.push(handleType(subType, generics, path)); + } + + if (list.length > 0) { + let out = list[0]; + + for (const item of list) { + out = deepmerge(out, item); + } + + return out; + } + + composeErrorMessage(path, 'Union Type', stringify(list), 'Empty union type. This is likely not a user error.'); + + return {type: ElasticsearchDataType.parse_error}; +} + +/** + * Serves as a kind of distributor for the different types, should not contain any specific code + * + * @param type the type object + * @param generics the generics from levels above, so we can use them without having access to the parent + * @param path the current path to the object we are in + * @param tags any tags attached to the type + */ +function handleType(type: Type, generics: ReflectionGeneric[], path: string, tags?: CommentTag[]): ElasticsearchValue { + // logger.log((type as any).name); + if (type instanceof ArrayType) { // array is irrelevant in Elasticsearch, so just go with the element type + return handleType(type.elementType, generics, path, tags); + } + if (type.type === 'stringLiteral') { // a string literal, usually for type + return readTypeTags(type.type, path, tags); + } + if (type instanceof IntrinsicType) { // the absolute default type, like strings + return readTypeTags(type.name, path, tags); + } + if (type instanceof UnionType) { // the union type... + return handleUnionType(type, generics, path); + } + if (type instanceof ReferenceType) { + if (typeof type.reflection !== 'undefined') { + // there is really no way to make this typesafe, every element in DeclarationReflection is optional. + return handleDeclarationReflection(type.reflection as DeclarationReflection, + getReflectionGeneric(type, generics, path), path); + } + + return handleRefWithoutReflection(type, generics, path, tags); + } + if (type instanceof TypeParameterType) { + // check if we have an object referencing a generic + for (const gRefl of generics) { + if (gRefl.name === type.name) { // if the object name is the same as the generic name + return gRefl.value; // use the value defined by the generic + } + } + composeErrorMessage(path, 'Generic', type.name, 'Missing reflection, please report!'); + + return {type: ElasticsearchDataType.parse_error}; + + } + if (type instanceof ReflectionType) { + return readFieldTags(handleDeclarationReflection(type.declaration, generics, path), path, tags); + } + + composeErrorMessage(path, 'type', stringify(type), 'Not implemented type'); + + return {type: ElasticsearchDataType.parse_error}; +} + +/** + * Reads all tags related to Elasticsearch fields from the fieldMap + * + * @param prev the previous ElasticsearchValue, for example and object + * @param path the current path to the object we are in + * @param tags tags attached to the value + */ +function readFieldTags(prev: ElasticsearchValue, path: string, tags?: CommentTag[]): ElasticsearchValue { + if (typeof tags !== 'undefined') { + for (const tag of tags) { + if (!ignoredTagsList.includes(tag.tagName)) { + if (typeof fieldmap[tag.tagName] !== 'undefined') { + if (typeof prev.fields === 'undefined') { + prev.fields = {}; + } + if (tag.text.trim() === '') { + // merge the fields + prev.fields = {...prev.fields, ...fieldmap[tag.tagName].default}; + } else if (typeof fieldmap[tag.tagName][tag.text.trim()] !== 'undefined') { + // merge the fields + prev.fields = {...prev.fields, ...fieldmap[tag.tagName][tag.text.trim()]}; + } else if (!fieldmap[tag.tagName].ignore.includes(tag.text.trim())) { + composeErrorMessage(path, 'tag', tag.tagName, `Not implemented tag param "${tag.text.trim()}"`); + } + } else { + composeErrorMessage(path, 'tag', tag.tagName, `Not implemented tag`); + } + } + } + } + + return prev; +} + +/** + * Reads all types related to Elasticsearch fields from the fieldMap + * + * @param type the type of the value + * @param path the current path to the object we are in + * @param tags tags attached to the value + */ +function readTypeTags(type: string, path: string, tags?: CommentTag[]): ElasticsearchValue { + let out: ElasticsearchValue = {type: ElasticsearchDataType.parse_error}; + + if (typeof typemap[type] !== 'undefined') { // first look if the value has a definition in the typemap + if (typeof tags !== 'undefined') { // look if there are any tags + for (let i = tags.length - 1; i >= 0; i--) { + if (!ignoredTagsList.includes(tags[i].tagName) && typeof typemap[type][tags[i].tagName] !== 'undefined') { + // if we have a tag that indicates a type + if (out.type !== ElasticsearchDataType.parse_error) { + composeErrorMessage(path, 'type', type, `Type conflict; "${typemap[type][tags[i].tagName]}" would` + + ` override "${out.type}"`); + out.type = ElasticsearchDataType.type_conflict; + continue; + } + out.type = typemap[type][tags[i].tagName]; + tags.splice(i, 1); // we need this so readFieldTags can process correctly + } + } + } + + if (out.type === ElasticsearchDataType.parse_error) { + out.type = typemap[type].default; + } + + out = readFieldTags(out, path, tags); + + return out; + } + if (dynamicTypes.includes(type)) { // Elasticsearch dynamic type + return { + dynamic: true, + properties: {}, + }; + } + + composeErrorMessage(path, 'type', type, 'Not implemented type'); + + return out; +} + +/** + * Takes a project reflection and generates an ElasticsearchTemplate from it + * + * Serves as the entry point for getting the mapping, so if you just want to get the mapping files for Elasticsearch, + * you can do so by calling this function, `RETURNED_VALUE.template` contains the mapping in a fashion that is directly + * readable by Elasticsearch. + * + * @param projectReflection a reflection of the project you want to get the ES Mappings from + * @param ignoredTags the tag names for which the error output should be suppressed + * @param showErrorOutput whether to print all errors in the command line or not + */ +export function generateTemplate(projectReflection: ProjectReflection, ignoredTags: string[], showErrorOutput = true): +// tslint:disable-next-line:completed-docs + { errors: string[]; template: ElasticsearchTemplate; } { + errors = []; + showErrors = showErrorOutput; + + ignoredTagsList = ['indexable', 'validatable']; + ignoredTagsList.push.apply(ignoredTagsList, ignoredTags); + + const indexableInterfaces = getAllIndexableInterfaces(projectReflection); + + const out: ElasticsearchTemplate = { + mappings: { + _default_: { + _source: { + excludes: [ + 'creation_date', + ], + }, + date_detection: false, + dynamic_templates: [], + properties: {}, + }, + }, + settings: settings, + template: 'stapps_*', + }; + + for (const _interface of indexableInterfaces) { + if (!Array.isArray(_interface.children) || _interface.children.length === 0) { + throw new Error('Interface needs at least some properties to be indexable'); + } + + const typeObject = _interface.children.find((declarationReflection) => { + return declarationReflection.name === 'type'; + }); + + if (typeof typeObject === 'undefined' || typeof typeObject.type === 'undefined') { + throw new Error('Interface needs a type to be indexable'); + } + + let typeName = 'INVALID_TYPE'; + if (typeObject.type instanceof ReferenceType) { + if (typeObject.type.reflection instanceof DeclarationReflection + && typeof typeObject.type.reflection.defaultValue === 'string') { + typeName = typeObject.type.reflection.defaultValue.replace('"', '') + .replace('"', ''); + } else { + // tslint:disable-next-line:no-floating-promises + Logger.error('Your input files seem to be incorrect, or there is a major bug in the mapping generator.'); + } + } else if (typeObject.type instanceof StringLiteralType) { + Logger.warn(`The interface ${_interface.name} uses a string literal as type, please use SCThingType.`); + typeName = typeObject.type.value; + } else { + // tslint:disable-next-line:no-floating-promises + Logger.error(`The interface ${_interface.name} is required to use an SCThingType as a type, please do so.`); + } + + out.mappings._default_.properties[typeName] = + handleDeclarationReflection(_interface, [], '') as ElasticsearchObject; + } + + out.mappings._default_.dynamic_templates = dynamicTemplates; + + return {template: out, errors}; +} diff --git a/src/mappings/definitions/fieldmap.ts b/src/mappings/definitions/fieldmap.ts new file mode 100644 index 00000000..9151b775 --- /dev/null +++ b/src/mappings/definitions/fieldmap.ts @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {ElasticsearchFieldmap} from '../mapping-definitions'; +import {ElasticsearchDataType} from './typemap'; + +export enum analyzers { + ducet_sort = 'ducet_sort', + search_german = 'search_german', +} + +export const fieldmap: ElasticsearchFieldmap = { + aggregatable: { + default: { + raw: { + ignore_above: 10000, + type: ElasticsearchDataType.keyword, + }, + }, + ignore: [], + }, + sortable: { + default: { + sort: { + analyzer: analyzers.ducet_sort, + fielddata: true, + type: ElasticsearchDataType.text, + }, + }, + ducet: { + sort: { + analyzer: analyzers.ducet_sort, + fielddata: true, + type: ElasticsearchDataType.text, + }, + }, + ignore: ['price'], + }, +}; diff --git a/src/mappings/definitions/premap.ts b/src/mappings/definitions/premap.ts new file mode 100644 index 00000000..9bbc6ac9 --- /dev/null +++ b/src/mappings/definitions/premap.ts @@ -0,0 +1,115 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {Logger} from '@openstapps/logger'; +import {ElasticsearchPremap, ElasticsearchValue} from '../mapping-definitions'; +import {ElasticsearchDataType} from './typemap'; + +export const premaps: ElasticsearchPremap = { + CoordinateReferenceSystem: { + dynamic: 'strict', + properties: { + properties: { + dynamic: true, + properties: {}, + }, + type: { + type: ElasticsearchDataType.keyword, + }, + }, + }, + LineString: { + dynamic: 'strict', + properties: { + coordinates: { + type: ElasticsearchDataType.float, + }, + type: { + type: ElasticsearchDataType.keyword, + }, + }, + }, + Point: { + dynamic: 'strict', + properties: { + bbox: {type: ElasticsearchDataType.float}, + coordinates: {type: ElasticsearchDataType.geo_point}, // TODO: filterable + crs: { + dynamic: 'strict', + properties: { + properties: { + dynamic: true, + properties: {}, + }, + type: {type: ElasticsearchDataType.keyword}, + }, + }, + type: {type: ElasticsearchDataType.keyword}, + }, + }, + Polygon: { // a Polygon is mapped the same way as a Point is, you can just copy & paste + dynamic: 'strict', + properties: { + bbox: {type: ElasticsearchDataType.float}, + coordinates: {type: ElasticsearchDataType.geo_point}, // TODO: filterable + crs: { + dynamic: 'strict', + properties: { + properties: { + dynamic: true, + properties: {}, + }, + type: {type: ElasticsearchDataType.keyword}, + }, + }, + type: {type: ElasticsearchDataType.keyword}, + }, + }, + 'jsonpatch.OpPatch': { + dynamic: 'strict', + properties: { + from: { + type: ElasticsearchDataType.keyword, + }, + op: { + type: ElasticsearchDataType.keyword, + }, + path: { + type: ElasticsearchDataType.keyword, + }, + value: { + dynamic: true, + properties: {}, + }, + }, + }, +}; + +/** + * Gets an ElasticsearchValue for a name + * + * @param name the name of the premap + */ +export function getPremap(name: string): ElasticsearchValue { + for (const premap in premaps) { + if (premap === name) { + return premaps[premap]; + } + } + + // tslint:disable-next-line:no-floating-promises + Logger.error(`Missing pre-map for external type ${name}`); + + return {type: ElasticsearchDataType.missing_premap}; +} diff --git a/src/mappings/definitions/settings.ts b/src/mappings/definitions/settings.ts new file mode 100644 index 00000000..fd442bd7 --- /dev/null +++ b/src/mappings/definitions/settings.ts @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {ElasticsearchSettings} from '../mapping-definitions'; + +export const settings: ElasticsearchSettings = { + analysis: { + analyzer: { + ducet_sort: { + filter: [ + 'german_phonebook', + ], + tokenizer: 'keyword', + type: 'custom', + }, + search_german: { + filter: [ + 'lowercase', + 'german_stop', + 'german_stemmer', + ], + tokenizer: 'stapps_ngram', + type: 'custom', + }, + }, + filter: { + german_phonebook: { + country: 'DE', + language: 'de', + type: 'icu_collation', + variant: '@collation=phonebook', + }, + german_stemmer: { + language: 'german', + type: 'stemmer', + }, + german_stop: { + stopwords: '_german_', + type: 'stop', + }, + }, + tokenizer: { + stapps_ngram: { + max_gram: 7, + min_gram: 4, + type: 'ngram', + }, + }, + }, + 'mapping.total_fields.limit': 10000, + max_result_window: 30000, + number_of_replicas: 0, + number_of_shards: 1, +}; diff --git a/src/mappings/definitions/typemap.ts b/src/mappings/definitions/typemap.ts new file mode 100644 index 00000000..4235788e --- /dev/null +++ b/src/mappings/definitions/typemap.ts @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {ElasticsearchTypemap} from '../mapping-definitions'; + +export enum ElasticsearchDataType { + missing_premap = 'MISSING_PREMAP', + parse_error = 'PARSE_ERROR', + type_conflict = 'TYPE_CONFLICT', + text = 'text', + keyword = 'keyword', + date = 'date', + // long = 'long', + // double = 'double', + float = 'float', + boolean = 'boolean', + ip = 'ip', + integer = 'integer', + object = 'object', + nested = 'nested', + geo_point = 'geo_point', + geo_shape = 'geo_shape', + completion = 'completion', +} + +export const typemap: ElasticsearchTypemap = { + boolean: { + default: ElasticsearchDataType.boolean, + }, + false: { + default: ElasticsearchDataType.boolean, + }, + number: { + default: ElasticsearchDataType.integer, + float: ElasticsearchDataType.float, + integer: ElasticsearchDataType.integer, + }, + string: { + default: ElasticsearchDataType.text, + keyword: ElasticsearchDataType.keyword, + text: ElasticsearchDataType.text, + }, + stringLiteral: { + default: ElasticsearchDataType.keyword, + }, + true: { + default: ElasticsearchDataType.boolean, + }, +}; + +export const dynamicTypes = ['any', 'unknown']; diff --git a/src/mappings/mapping-definitions.ts b/src/mappings/mapping-definitions.ts new file mode 100644 index 00000000..4f0635ed --- /dev/null +++ b/src/mappings/mapping-definitions.ts @@ -0,0 +1,313 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {ElasticsearchDataType} from './definitions/typemap'; + +// tslint:disable:no-any + +/** + * ElasticsearchValue can be either a type or an object. + * + * Both are composed similarly, and can be the value of a propery + * of an Elasticsearch Object. + */ +export type ElasticsearchValue = ElasticsearchType | ElasticsearchObject; + +/** + * Used internally for saving a generic value contained in a reflection + */ +export interface ReflectionGeneric { + /** + * The name of the generic + * + * For example in `` the name would be 'A' + */ + name: string; + + /** + * The value of the generic + */ + value: ElasticsearchValue; +} + +/** + * The Typemap is used to get the corresponding ElasicsearchDataType for a name provided by the ProjectReflection + */ +export interface ElasticsearchTypemap { + /** + * The `stringLiteral` type must always be provided + */ + stringLiteral: { + /** + * The default can be chosen freely, but must be provided + */ + default: ElasticsearchDataType; + }; + + /** + * The name of the JS type, so for `number` it would be number + */ + [name: string]: { + /** + * The default ElasticsearchDataType that should be used, if no tag or only not implemented tags are found + */ + default: ElasticsearchDataType; + + /** + * The name of the tag, so for `@integer` it would be `integer` + */ + [name: string]: ElasticsearchDataType; + }; +} + +/** + * The representation of a `DynamicTemplate` in Elasticsearch + * + * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/dynamic-templates.html + */ +export interface ElasticsearchDynamicTemplate { + /** + * The name of the dynamicTemplate + */ + [name: string]: { + /** + * The mapping of the template + */ + mapping: ElasticsearchValue; + + /** + * With automatic mapping, we use `path_match` more or less out of convenience and because it is least error-prone + * + * This also means that match should match all ("*") interface names (because we provide the exact path of the + * interface) + */ + match: '*'; + + /** + * With automatic mapping, we use `path_match` more or less out of convenience and because it is least error-prone + * + * This also means that match_mapping_type should match all ("*") names (because we provide the exact path of the + * interface) + */ + match_mapping_type: '*'; + + /** + * With automatic mapping, we use `path_match` more or less out of convenience and because it is least error-prone + */ + path_match: string; + }; +} + +/** + * The Fieldmap contains all tag names for fields and the corresponding fields + * + * The Fieldmap works in a similar fashion to the Typemap + */ +export interface ElasticsearchFieldmap { + /** + * The name of the tag, so for `@sortable` it would be `sortable` + */ + [name: string]: { + /** + * The default value if no parameter is provided + */ + default: { + /** + * To allow the usage of `prev.fields = {...prev.fields, ...fieldmap[tag.tagName].default}` + * + * We could also have used `default: any`, but this adds slightly more improved type-safety. + */ + [name: string]: any; + }; + + /** + * The tag parameters that will be ignored + * + * Some tag parameters might not be important for your implementation, so you can add their names here to not get + * any errors. The `default` will be used in that case. + */ + ignore: string[]; + + /** + * The parameters of the tag, so for `@sortable ducet` it would be `ducet` + */ + [name: string]: { + /** + * To allow the usage of `prev.fields = {...prev.fields, ...fieldmap[tag.tagName][tag.text.trim()]}` + * + * We could also have used `default: any`, but this adds slightly more improved type-safety. + */ + [name: string]: any; + }; + }; +} + +/** + * A primitive data type + * + * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/mapping-types.html + */ +export interface ElasticsearchType { + /** + * Fields for a type + * + * The fields are optional, they are used for things like sorting, which is not needed for every single type. + */ + fields?: { + [name: string]: any; + }; + + /** + * The type as an ElasticsearchDataType + */ + type: ElasticsearchDataType; +} + +/** + * An object data type + * + * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/object.html + */ +export interface ElasticsearchObject { + /** + * If the object is a dynamic + * + * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/dynamic.html + * The default should be `'strict'` + */ + dynamic: true | false | 'strict'; + + /** + * dynamic_templates for an object + * + * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/dynamic-templates.html + * This is a more complex topic, before touching this you should really know what you are doing. + */ + dynamic_templates?: ElasticsearchDynamicTemplate[]; + + /** + * Fields for a type + * + * The fields are optional, they are used for things like sorting, which is not needed for every single type. + */ + fields?: { + [name: string]: any; + }; + + /** + * Any properties of the object + * + * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/properties.html + */ + properties: { + /** + * Each property can be any Elasticsearch value + * + * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/mapping-types.html + */ + [name: string]: ElasticsearchValue; + }; +} + +/** + * An Elasticsearch template + * + * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/mapping.html + * This is what you pass to Elasticsearch + */ +export interface ElasticsearchTemplate { + /** + * This is a pre-defined structure you should use for your mapping + */ + mappings: { + /** + * This mapping will be used by default for everything + */ + _default_: { + /** + * Contains the original JSON document body + * + * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/mapping-source-field.html + */ + _source: { + /** + * Any fields that are excluded from the source + */ + excludes: string[]; + }; + + /** + * Whether Elasticsearch should automatically add date fields to objects + */ + date_detection: false; + + /** + * This is where all the dynamic templates should go + */ + dynamic_templates: ElasticsearchDynamicTemplate[]; + + /** + * This is where all the mappings should go + */ + properties: { + [name: string]: ElasticsearchObject; + }; + }; + }; + + /** + * The settings for Elasticsearch + */ + settings: ElasticsearchSettings; + + /** + * The name of the template, for referencing in Elasticsearch + */ + template: string; +} + +/** + * A representation of ElasticsearchSettings used in Mappings + */ +export interface ElasticsearchSettings { + /** + * The settings + */ + [name: string]: any; + + /** + * This is where any analyzers go + * + * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-analyzers.html + */ + analysis: { + [name: string]: any; + }; +} + +/** + * A premap for a specific value in a ProjectReflection + * + * This is meant to be used for external types. To aid performance, you usually should not include external libs in the + * ProjectReflection. This means that there is no way the generator can generate a mapping for it, so you can use the + * premaps to map out a type manually. + */ +export interface ElasticsearchPremap { + /** + * The name of the type with the corresponding map + * + * So for `const a: B` the name would be `B` + */ + [name: string]: ElasticsearchValue; +} From 8d95db2e725379f7e9b825842f95b6567c247f68 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Thu, 25 Jul 2019 15:22:21 +0200 Subject: [PATCH 087/215] 0.8.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index c0605c5b..cec51fa3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.7.0", + "version": "0.8.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 897298a3..06468a98 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.7.0", + "version": "0.8.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 8bb09994dead652183a9e3c1ce91a58f3b39a4b3 Mon Sep 17 00:00:00 2001 From: Karl-Philipp Wulfert Date: Thu, 25 Jul 2019 15:22:21 +0200 Subject: [PATCH 088/215] docs: update changelog --- CHANGELOG.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe075e87..4d07e077 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,22 @@ +# [0.8.0](https://gitlab.com/openstapps/core-tools/compare/v0.7.0...v0.8.0) (2019-07-25) + + +### Bug Fixes + +* apply stricter tslint rules ([967f946](https://gitlab.com/openstapps/core-tools/commit/967f946)) +* emend the imports in the test files ([53e8047](https://gitlab.com/openstapps/core-tools/commit/53e8047)) +* remove duplicate job ([af904a7](https://gitlab.com/openstapps/core-tools/commit/af904a7)) +* update the uml job to use our node image ([a478715](https://gitlab.com/openstapps/core-tools/commit/a478715)) + + +### Features + +* add automatic mapping generation ([7b198f9](https://gitlab.com/openstapps/core-tools/commit/7b198f9)), closes [#6](https://gitlab.com/openstapps/core-tools/issues/6) +* add the uml generator ([0f21da4](https://gitlab.com/openstapps/core-tools/commit/0f21da4)) +* added output file name for uml generation ([843e598](https://gitlab.com/openstapps/core-tools/commit/843e598)) + + + # [0.7.0](https://gitlab.com/openstapps/core-tools/compare/v0.6.0...v0.7.0) (2019-06-24) From 36bf17e3236a555e6d1193466141be880b280db9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Tue, 20 Aug 2019 14:39:24 +0200 Subject: [PATCH 089/215] feat: add support for @filterable tag --- src/mapping.ts | 17 +++++++++++++++-- src/mappings/definitions/fieldmap.ts | 9 ++++++++- src/mappings/mapping-definitions.ts | 4 ++++ 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/mapping.ts b/src/mapping.ts index e82e4cb8..db2d97e0 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -25,7 +25,7 @@ import { Type, TypeParameterType, UnionType, } from 'typedoc/dist/lib/models'; -import {fieldmap} from './mappings/definitions/fieldmap'; +import {fieldmap, filterableMap, filterableTagName} from './mappings/definitions/fieldmap'; import {premaps} from './mappings/definitions/premap'; import {settings} from './mappings/definitions/settings'; import {dynamicTypes, ElasticsearchDataType, typemap} from './mappings/definitions/typemap'; @@ -335,7 +335,6 @@ function readFieldTags(prev: ElasticsearchValue, path: string, tags?: CommentTag prev.fields = {}; } if (tag.text.trim() === '') { - // merge the fields prev.fields = {...prev.fields, ...fieldmap[tag.tagName].default}; } else if (typeof fieldmap[tag.tagName][tag.text.trim()] !== 'undefined') { // merge the fields @@ -343,6 +342,20 @@ function readFieldTags(prev: ElasticsearchValue, path: string, tags?: CommentTag } else if (!fieldmap[tag.tagName].ignore.includes(tag.text.trim())) { composeErrorMessage(path, 'tag', tag.tagName, `Not implemented tag param "${tag.text.trim()}"`); } + } else if (tag.tagName === filterableTagName) { + if (typeof prev.fields === 'undefined') { + prev.fields = {}; + } + if ('type' in prev) { + const type = filterableMap[prev.type]; + if (typeof type !== 'undefined') { + prev.fields = {...prev.fields, ...{raw: {type: type}}}; + } else { + composeErrorMessage(path, 'tag', tag.tagName, `Not implemented for ${prev.type}`); + } + } else { + composeErrorMessage(path, 'tag', tag.tagName, 'Not applicable for object types'); + } } else { composeErrorMessage(path, 'tag', tag.tagName, `Not implemented tag`); } diff --git a/src/mappings/definitions/fieldmap.ts b/src/mappings/definitions/fieldmap.ts index 9151b775..7937f1bf 100644 --- a/src/mappings/definitions/fieldmap.ts +++ b/src/mappings/definitions/fieldmap.ts @@ -12,7 +12,7 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {ElasticsearchFieldmap} from '../mapping-definitions'; +import {ElasticsearchFieldmap, ElasticsearchFilterableMap} from '../mapping-definitions'; import {ElasticsearchDataType} from './typemap'; export enum analyzers { @@ -48,3 +48,10 @@ export const fieldmap: ElasticsearchFieldmap = { ignore: ['price'], }, }; + +export const filterableTagName = 'filterable'; + +export const filterableMap: ElasticsearchFilterableMap = { + date: ElasticsearchDataType.keyword, + text: ElasticsearchDataType.keyword, +}; diff --git a/src/mappings/mapping-definitions.ts b/src/mappings/mapping-definitions.ts index 4f0635ed..2fda98b9 100644 --- a/src/mappings/mapping-definitions.ts +++ b/src/mappings/mapping-definitions.ts @@ -109,6 +109,10 @@ export interface ElasticsearchDynamicTemplate { }; } +export interface ElasticsearchFilterableMap { + [name: string]: ElasticsearchDataType; +} + /** * The Fieldmap contains all tag names for fields and the corresponding fields * From 77e49146c0619566919815bd5d63ddf34dc19387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Tue, 20 Aug 2019 17:48:37 +0200 Subject: [PATCH 090/215] fix: read type tags correctly after the first time --- src/cli.ts | 9 +- src/mapping.ts | 130 +++++++++++++++------------ src/mappings/definitions/fieldmap.ts | 1 + src/mappings/definitions/premap.ts | 10 ++- 4 files changed, 88 insertions(+), 62 deletions(-) diff --git a/src/cli.ts b/src/cli.ts index 3e8c13d6..7668fb8a 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -93,11 +93,16 @@ commander // get project reflection const projectReflection = getProjectReflection(srcPath); - const mapping = generateTemplate(projectReflection, ignoredTagsList); + const result = generateTemplate(projectReflection, ignoredTagsList, true); + if (result.errors.length !== 0) { + await Logger.error('Mapping generated with errors!'); + } else { + Logger.ok('Mapping generated without errors!'); + } // write documentation to file // tslint:disable-next-line:no-magic-numbers - writeFileSync(mappingPath, JSON.stringify(mapping.template, null, 2)); + writeFileSync(mappingPath, JSON.stringify(result.template, null, 2)); Logger.ok(`Elasticsearch mapping written to ${mappingPath}.`); }); diff --git a/src/mapping.ts b/src/mapping.ts index db2d97e0..72ef7109 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -108,8 +108,11 @@ function composeErrorMessage(path: string, typeName: string, object: string, mes * @param type the ReferenceType of a DeclarationReflection * @param out the previous reflection, it then overrides all parameters or keeps old ones * @param path the current path to the object we are in + * @param tags any tags attached to the type */ -function getReflectionGeneric(type: ReferenceType, out: ReflectionGeneric[], path: string): ReflectionGeneric[] { +function getReflectionGeneric(type: ReferenceType, + out: ReflectionGeneric[], + path: string, tags: CommentTag[]): ReflectionGeneric[] { if (typeof type.typeArguments !== 'undefined' && type.reflection instanceof DeclarationReflection && typeof type.reflection.typeParameters !== 'undefined' @@ -118,14 +121,14 @@ function getReflectionGeneric(type: ReferenceType, out: ReflectionGeneric[], pat let replaced = false; for (const old of out) { if (old.name === type.reflection.typeParameters[i].name) { - old.value = handleType(type.typeArguments[i], out, path); + old.value = handleType(type.typeArguments[i], out, path, tags); replaced = true; } } if (!replaced) { out.push({ name: type.reflection.typeParameters[i].name, - value: handleType(type.typeArguments[i], out, path), + value: handleType(type.typeArguments[i], out, path, tags), }); } } @@ -143,7 +146,7 @@ function getReflectionGeneric(type: ReferenceType, out: ReflectionGeneric[], pat * @param tags any tags attached to the type */ function handleRefWithoutReflection(ref: ReferenceType, generics: ReflectionGeneric[], - path: string, tags?: CommentTag[]): ElasticsearchValue { + path: string, tags: CommentTag[]): ElasticsearchValue { for (const premap in premaps) { if (premap === ref.name) { return readFieldTags(premaps[premap], path, tags); @@ -157,7 +160,7 @@ function handleRefWithoutReflection(ref: ReferenceType, generics: ReflectionGene return {type: ElasticsearchDataType.parse_error}; } - return readFieldTags(handleType(ref.typeArguments[0], getReflectionGeneric(ref, generics, path), path), + return readFieldTags(handleType(ref.typeArguments[0], getReflectionGeneric(ref, generics, path, tags), path, tags), path, tags); } if (ref.name === '__type') { // empty object @@ -179,12 +182,15 @@ function handleRefWithoutReflection(ref: ReferenceType, generics: ReflectionGene * @param generics the generics from levels above, so we can use them without having access to the parent * @param path the current path to the object we are in */ -function handleDeclarationReflection(decl: DeclarationReflection, generics: ReflectionGeneric[], path: string): +function handleDeclarationReflection(decl: DeclarationReflection, + generics: ReflectionGeneric[], + path: string): ElasticsearchValue { // check if we have an object referencing a generic for (const gRefl of generics) { if (gRefl.name === decl.name) { // if the object name is the same as the generic name - return readFieldTags(gRefl.value, path, typeof decl.comment !== 'undefined' ? decl.comment.tags : undefined); + return readFieldTags(gRefl.value, path, + typeof decl.comment !== 'undefined' ? typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : [] : []); // use the value defined by the generic } } @@ -219,17 +225,18 @@ function handleDeclarationReflection(decl: DeclarationReflection, generics: Refl } } else if (decl.type instanceof Type) { // if the object is a type, so we are dealing with a PROPERTY return handleType(decl.type, generics, path, - typeof decl.comment !== 'undefined' ? decl.comment.tags : undefined); + typeof decl.comment !== 'undefined' ? typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : [] : []); } else if (decl.kindString === 'Enumeration member') { return readTypeTags(typeof decl.defaultValue, path, - typeof decl.comment !== 'undefined' ? decl.comment.tags : undefined); + typeof decl.comment !== 'undefined' ? typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : [] : []); } if (empty) { composeErrorMessage(path, 'object', decl.name, 'Empty object'); } - return readFieldTags(out, path, typeof decl.comment !== 'undefined' ? decl.comment.tags : undefined); + return readFieldTags(out, path, + typeof decl.comment !== 'undefined' ? typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : [] : []); } /** @@ -241,15 +248,19 @@ function handleDeclarationReflection(decl: DeclarationReflection, generics: Refl * @param type the type object * @param generics the generics from levels above, so we can use them without having access to the parent * @param path the current path to the object we are in + * @param tags any tags attached to the type */ -function handleUnionType(type: UnionType, generics: ReflectionGeneric[], path: string): ElasticsearchValue { +function handleUnionType(type: UnionType, + generics: ReflectionGeneric[], + path: string, + tags: CommentTag[]): ElasticsearchValue { const list: ElasticsearchValue[] = []; for (const subType of type.types) { if (subType instanceof IntrinsicType && subType.name === 'undefined') { continue; } - list.push(handleType(subType, generics, path)); + list.push(handleType(subType, generics, path, tags)); } if (list.length > 0) { @@ -275,7 +286,7 @@ function handleUnionType(type: UnionType, generics: ReflectionGeneric[], path: s * @param path the current path to the object we are in * @param tags any tags attached to the type */ -function handleType(type: Type, generics: ReflectionGeneric[], path: string, tags?: CommentTag[]): ElasticsearchValue { +function handleType(type: Type, generics: ReflectionGeneric[], path: string, tags: CommentTag[]): ElasticsearchValue { // logger.log((type as any).name); if (type instanceof ArrayType) { // array is irrelevant in Elasticsearch, so just go with the element type return handleType(type.elementType, generics, path, tags); @@ -287,13 +298,13 @@ function handleType(type: Type, generics: ReflectionGeneric[], path: string, tag return readTypeTags(type.name, path, tags); } if (type instanceof UnionType) { // the union type... - return handleUnionType(type, generics, path); + return handleUnionType(type, generics, path, tags); } if (type instanceof ReferenceType) { if (typeof type.reflection !== 'undefined') { // there is really no way to make this typesafe, every element in DeclarationReflection is optional. return handleDeclarationReflection(type.reflection as DeclarationReflection, - getReflectionGeneric(type, generics, path), path); + getReflectionGeneric(type, generics, path, tags), path); } return handleRefWithoutReflection(type, generics, path, tags); @@ -325,40 +336,46 @@ function handleType(type: Type, generics: ReflectionGeneric[], path: string, tag * @param prev the previous ElasticsearchValue, for example and object * @param path the current path to the object we are in * @param tags tags attached to the value + * @param dataType the ElasticsearchDataType, for checking if a tag is a type tag */ -function readFieldTags(prev: ElasticsearchValue, path: string, tags?: CommentTag[]): ElasticsearchValue { - if (typeof tags !== 'undefined') { - for (const tag of tags) { - if (!ignoredTagsList.includes(tag.tagName)) { - if (typeof fieldmap[tag.tagName] !== 'undefined') { - if (typeof prev.fields === 'undefined') { - prev.fields = {}; - } - if (tag.text.trim() === '') { - prev.fields = {...prev.fields, ...fieldmap[tag.tagName].default}; - } else if (typeof fieldmap[tag.tagName][tag.text.trim()] !== 'undefined') { - // merge the fields - prev.fields = {...prev.fields, ...fieldmap[tag.tagName][tag.text.trim()]}; - } else if (!fieldmap[tag.tagName].ignore.includes(tag.text.trim())) { - composeErrorMessage(path, 'tag', tag.tagName, `Not implemented tag param "${tag.text.trim()}"`); - } - } else if (tag.tagName === filterableTagName) { - if (typeof prev.fields === 'undefined') { - prev.fields = {}; - } - if ('type' in prev) { - const type = filterableMap[prev.type]; - if (typeof type !== 'undefined') { - prev.fields = {...prev.fields, ...{raw: {type: type}}}; - } else { - composeErrorMessage(path, 'tag', tag.tagName, `Not implemented for ${prev.type}`); - } +function readFieldTags(prev: ElasticsearchValue, + path: string, + tags: CommentTag[], + dataType?: string): ElasticsearchValue { + for (const tag of tags) { + if (!ignoredTagsList.includes(tag.tagName)) { + if (typeof fieldmap[tag.tagName] !== 'undefined') { + if (typeof prev.fields === 'undefined') { + // create in case it doesn't exist + prev.fields = {}; + } + if (tag.text.trim() === '') { + // merge fields + prev.fields = {...prev.fields, ...fieldmap[tag.tagName].default}; + } else if (typeof fieldmap[tag.tagName][tag.text.trim()] !== 'undefined') { + // merge fields + prev.fields = {...prev.fields, ...fieldmap[tag.tagName][tag.text.trim()]}; + } else if (!fieldmap[tag.tagName].ignore.includes(tag.text.trim())) { + // when there is an unidentified tag + composeErrorMessage(path, 'tag', tag.tagName, `Not implemented tag param "${tag.text.trim()}"`); + } + } else if (tag.tagName === filterableTagName) { + if (typeof prev.fields === 'undefined') { + prev.fields = {}; + } + if ('type' in prev) { + const type = filterableMap[prev.type]; + if (typeof type !== 'undefined') { + // merge fields + prev.fields = {...prev.fields, ...{raw: {type: type}}}; } else { - composeErrorMessage(path, 'tag', tag.tagName, 'Not applicable for object types'); + composeErrorMessage(path, 'tag', tag.tagName, `Not implemented for ${prev.type}`); } } else { - composeErrorMessage(path, 'tag', tag.tagName, `Not implemented tag`); + composeErrorMessage(path, 'tag', tag.tagName, 'Not applicable for object types'); } + } else if (typeof dataType === 'undefined' || typeof typemap[dataType][tag.tagName] === 'undefined') { + composeErrorMessage(path, 'tag', tag.tagName, `Not implemented tag`); } } } @@ -373,23 +390,20 @@ function readFieldTags(prev: ElasticsearchValue, path: string, tags?: CommentTag * @param path the current path to the object we are in * @param tags tags attached to the value */ -function readTypeTags(type: string, path: string, tags?: CommentTag[]): ElasticsearchValue { +function readTypeTags(type: string, path: string, tags: CommentTag[]): ElasticsearchValue { let out: ElasticsearchValue = {type: ElasticsearchDataType.parse_error}; if (typeof typemap[type] !== 'undefined') { // first look if the value has a definition in the typemap - if (typeof tags !== 'undefined') { // look if there are any tags - for (let i = tags.length - 1; i >= 0; i--) { - if (!ignoredTagsList.includes(tags[i].tagName) && typeof typemap[type][tags[i].tagName] !== 'undefined') { - // if we have a tag that indicates a type - if (out.type !== ElasticsearchDataType.parse_error) { - composeErrorMessage(path, 'type', type, `Type conflict; "${typemap[type][tags[i].tagName]}" would` + - ` override "${out.type}"`); - out.type = ElasticsearchDataType.type_conflict; - continue; - } - out.type = typemap[type][tags[i].tagName]; - tags.splice(i, 1); // we need this so readFieldTags can process correctly + for (let i = tags.length - 1; i >= 0; i--) { + if (!ignoredTagsList.includes(tags[i].tagName) && typeof typemap[type][tags[i].tagName] !== 'undefined') { + // if we have a tag that indicates a type + if (out.type !== ElasticsearchDataType.parse_error) { + composeErrorMessage(path, 'type', type, `Type conflict; "${typemap[type][tags[i].tagName]}" would` + + ` override "${out.type}"`); + out.type = ElasticsearchDataType.type_conflict; + continue; } + out.type = typemap[type][tags[i].tagName]; } } @@ -397,7 +411,7 @@ function readTypeTags(type: string, path: string, tags?: CommentTag[]): Elastics out.type = typemap[type].default; } - out = readFieldTags(out, path, tags); + out = readFieldTags(out, path, tags, type); return out; } diff --git a/src/mappings/definitions/fieldmap.ts b/src/mappings/definitions/fieldmap.ts index 7937f1bf..8b7aa288 100644 --- a/src/mappings/definitions/fieldmap.ts +++ b/src/mappings/definitions/fieldmap.ts @@ -53,5 +53,6 @@ export const filterableTagName = 'filterable'; export const filterableMap: ElasticsearchFilterableMap = { date: ElasticsearchDataType.keyword, + keyword: ElasticsearchDataType.keyword, text: ElasticsearchDataType.keyword, }; diff --git a/src/mappings/definitions/premap.ts b/src/mappings/definitions/premap.ts index 9bbc6ac9..2e20eec2 100644 --- a/src/mappings/definitions/premap.ts +++ b/src/mappings/definitions/premap.ts @@ -44,7 +44,10 @@ export const premaps: ElasticsearchPremap = { dynamic: 'strict', properties: { bbox: {type: ElasticsearchDataType.float}, - coordinates: {type: ElasticsearchDataType.geo_point}, // TODO: filterable + coordinates: { + fields: {raw: {type: ElasticsearchDataType.keyword}}, + type: ElasticsearchDataType.geo_point, + }, crs: { dynamic: 'strict', properties: { @@ -62,7 +65,10 @@ export const premaps: ElasticsearchPremap = { dynamic: 'strict', properties: { bbox: {type: ElasticsearchDataType.float}, - coordinates: {type: ElasticsearchDataType.geo_point}, // TODO: filterable + coordinates: { + fields: {raw: {type: ElasticsearchDataType.keyword}}, + type: ElasticsearchDataType.geo_point, + }, crs: { dynamic: 'strict', properties: { From 33057e1bd7990eef56996b72280ec05714b4d6d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Tue, 10 Sep 2019 15:04:50 +0200 Subject: [PATCH 091/215] 0.9.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index cec51fa3..d8c704c5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.8.0", + "version": "0.9.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 06468a98..2c69b09d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.8.0", + "version": "0.9.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 84acd7f3abfafe73e63ca8035213ac6f4f88a2bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Tue, 10 Sep 2019 15:04:51 +0200 Subject: [PATCH 092/215] docs: update changelog --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d07e077..272342f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +# [0.9.0](https://gitlab.com/openstapps/core-tools/compare/v0.8.0...v0.9.0) (2019-09-10) + + +### Bug Fixes + +* read type tags correctly after the first time ([77e4914](https://gitlab.com/openstapps/core-tools/commit/77e4914)) + + +### Features + +* add support for [@filterable](https://gitlab.com/filterable) tag ([36bf17e](https://gitlab.com/openstapps/core-tools/commit/36bf17e)) + + + # [0.8.0](https://gitlab.com/openstapps/core-tools/compare/v0.7.0...v0.8.0) (2019-07-25) From 18ad651286bafcbc929e14ee9429c7b852d86f3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Wed, 18 Sep 2019 13:07:32 +0200 Subject: [PATCH 093/215] feat: generate aggreations from annotations in the core --- src/mapping.ts | 112 ++++++++++++++++++++++++++++++------------------- 1 file changed, 68 insertions(+), 44 deletions(-) diff --git a/src/mapping.ts b/src/mapping.ts index 72ef7109..e849555f 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -41,7 +41,10 @@ const dynamicTemplates: ElasticsearchDynamicTemplate[] = []; let errors: string[] = []; let showErrors = true; +let aggregatablePaths: string[] = []; + const indexableTag = 'indexable'; +const aggregatableTag = 'aggregatable'; let ignoredTagsList = ['indexable', 'validatable']; @@ -86,12 +89,13 @@ export function getAllIndexableInterfaces(projectReflection: ProjectReflection): * Composes error messages, that are readable and contain a certain minumum of information * * @param path the path where the error took place + * @param topTypeName the name of the SCThingType * @param typeName the name of the object, with which something went wrong * @param object the object or name * @param message the error message */ -function composeErrorMessage(path: string, typeName: string, object: string, message: string) { - const error = `At "${path.substr(0, path.length - 1)}" for ${typeName} "${object}": ${message}`; +function composeErrorMessage(path: string, topTypeName: string, typeName: string, object: string, message: string) { + const error = `At "${topTypeName}::${path.substr(0, path.length - 1)}" for ${typeName} "${object}": ${message}`; errors.push(error); if (showErrors) { // tslint:disable-next-line:no-floating-promises @@ -108,11 +112,12 @@ function composeErrorMessage(path: string, typeName: string, object: string, mes * @param type the ReferenceType of a DeclarationReflection * @param out the previous reflection, it then overrides all parameters or keeps old ones * @param path the current path to the object we are in + * @param topTypeName the name of the SCThingType * @param tags any tags attached to the type */ function getReflectionGeneric(type: ReferenceType, out: ReflectionGeneric[], - path: string, tags: CommentTag[]): ReflectionGeneric[] { + path: string, topTypeName: string, tags: CommentTag[]): ReflectionGeneric[] { if (typeof type.typeArguments !== 'undefined' && type.reflection instanceof DeclarationReflection && typeof type.reflection.typeParameters !== 'undefined' @@ -121,14 +126,14 @@ function getReflectionGeneric(type: ReferenceType, let replaced = false; for (const old of out) { if (old.name === type.reflection.typeParameters[i].name) { - old.value = handleType(type.typeArguments[i], out, path, tags); + old.value = handleType(type.typeArguments[i], out, path, topTypeName, tags); replaced = true; } } if (!replaced) { out.push({ name: type.reflection.typeParameters[i].name, - value: handleType(type.typeArguments[i], out, path, tags), + value: handleType(type.typeArguments[i], out, path, topTypeName, tags), }); } } @@ -143,25 +148,27 @@ function getReflectionGeneric(type: ReferenceType, * @param ref the ReferenceType * @param generics the generics from levels above, so we can use them without having access to the parent * @param path the current path to the object we are in + * @param topTypeName the name of the SCThingType * @param tags any tags attached to the type */ function handleRefWithoutReflection(ref: ReferenceType, generics: ReflectionGeneric[], - path: string, tags: CommentTag[]): ElasticsearchValue { + path: string, topTypeName: string, tags: CommentTag[]): ElasticsearchValue { for (const premap in premaps) { if (premap === ref.name) { - return readFieldTags(premaps[premap], path, tags); + return readFieldTags(premaps[premap], path, topTypeName, tags); } } if (ref.name === 'Array') { // basically an external type, but Array is quite common, especially with generics if (typeof ref.typeArguments === 'undefined' || typeof ref.typeArguments[0] === 'undefined') { - composeErrorMessage(path, 'Array with generics', 'array', 'Failed to parse'); + composeErrorMessage(path, topTypeName, 'Array with generics', 'array', 'Failed to parse'); return {type: ElasticsearchDataType.parse_error}; } - return readFieldTags(handleType(ref.typeArguments[0], getReflectionGeneric(ref, generics, path, tags), path, tags), - path, tags); + return readFieldTags(handleType(ref.typeArguments[0], getReflectionGeneric(ref, generics, path, topTypeName, tags), + path, topTypeName, tags), + path, topTypeName, tags); } if (ref.name === '__type') { // empty object return { @@ -170,9 +177,9 @@ function handleRefWithoutReflection(ref: ReferenceType, generics: ReflectionGene }; } - composeErrorMessage(path, 'external type', ref.name, 'Missing pre-map'); + composeErrorMessage(path, topTypeName, 'external type', ref.name, 'Missing pre-map'); - return readFieldTags({type: ElasticsearchDataType.missing_premap}, path, tags); + return readFieldTags({type: ElasticsearchDataType.missing_premap}, path, topTypeName, tags); } /** @@ -181,15 +188,17 @@ function handleRefWithoutReflection(ref: ReferenceType, generics: ReflectionGene * @param decl the DeclarationReflection of the object * @param generics the generics from levels above, so we can use them without having access to the parent * @param path the current path to the object we are in + * @param topTypeName the name of the SCThingType */ function handleDeclarationReflection(decl: DeclarationReflection, generics: ReflectionGeneric[], - path: string): + path: string, + topTypeName: string): ElasticsearchValue { // check if we have an object referencing a generic for (const gRefl of generics) { if (gRefl.name === decl.name) { // if the object name is the same as the generic name - return readFieldTags(gRefl.value, path, + return readFieldTags(gRefl.value, path, topTypeName, typeof decl.comment !== 'undefined' ? typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : [] : []); // use the value defined by the generic } @@ -208,7 +217,7 @@ function handleDeclarationReflection(decl: DeclarationReflection, empty = false; const template: ElasticsearchDynamicTemplate = {}; template[decl.name] = { - mapping: handleDeclarationReflection(param as DeclarationReflection, generics, path), + mapping: handleDeclarationReflection(param as DeclarationReflection, generics, path, topTypeName), match: '*', match_mapping_type: '*', path_match: `${path}*`, @@ -221,21 +230,21 @@ function handleDeclarationReflection(decl: DeclarationReflection, if (typeof decl.children !== 'undefined' && decl.children.length > 0) { for (const child of decl.children) { empty = false; - out.properties[child.name] = handleDeclarationReflection(child, generics, `${path}${child.name}.`); + out.properties[child.name] = handleDeclarationReflection(child, generics, `${path}${child.name}.`, topTypeName); } } else if (decl.type instanceof Type) { // if the object is a type, so we are dealing with a PROPERTY - return handleType(decl.type, generics, path, + return handleType(decl.type, generics, path, topTypeName, typeof decl.comment !== 'undefined' ? typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : [] : []); } else if (decl.kindString === 'Enumeration member') { - return readTypeTags(typeof decl.defaultValue, path, + return readTypeTags(typeof decl.defaultValue, path, topTypeName, typeof decl.comment !== 'undefined' ? typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : [] : []); } if (empty) { - composeErrorMessage(path, 'object', decl.name, 'Empty object'); + composeErrorMessage(path, topTypeName, 'object', decl.name, 'Empty object'); } - return readFieldTags(out, path, + return readFieldTags(out, path, topTypeName, typeof decl.comment !== 'undefined' ? typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : [] : []); } @@ -248,11 +257,13 @@ function handleDeclarationReflection(decl: DeclarationReflection, * @param type the type object * @param generics the generics from levels above, so we can use them without having access to the parent * @param path the current path to the object we are in + * @param topTypeName the name of the SCThingType * @param tags any tags attached to the type */ function handleUnionType(type: UnionType, generics: ReflectionGeneric[], path: string, + topTypeName: string, tags: CommentTag[]): ElasticsearchValue { const list: ElasticsearchValue[] = []; @@ -260,7 +271,7 @@ function handleUnionType(type: UnionType, if (subType instanceof IntrinsicType && subType.name === 'undefined') { continue; } - list.push(handleType(subType, generics, path, tags)); + list.push(handleType(subType, generics, path, topTypeName, tags)); } if (list.length > 0) { @@ -273,7 +284,8 @@ function handleUnionType(type: UnionType, return out; } - composeErrorMessage(path, 'Union Type', stringify(list), 'Empty union type. This is likely not a user error.'); + composeErrorMessage(path, topTypeName, 'Union Type', stringify(list), + 'Empty union type. This is likely not a user error.'); return {type: ElasticsearchDataType.parse_error}; } @@ -284,30 +296,32 @@ function handleUnionType(type: UnionType, * @param type the type object * @param generics the generics from levels above, so we can use them without having access to the parent * @param path the current path to the object we are in + * @param topTypeName the name of the SCThingType * @param tags any tags attached to the type */ -function handleType(type: Type, generics: ReflectionGeneric[], path: string, tags: CommentTag[]): ElasticsearchValue { +function handleType(type: Type, generics: ReflectionGeneric[], path: string, topTypeName: string, tags: CommentTag[]): + ElasticsearchValue { // logger.log((type as any).name); if (type instanceof ArrayType) { // array is irrelevant in Elasticsearch, so just go with the element type - return handleType(type.elementType, generics, path, tags); + return handleType(type.elementType, generics, path, topTypeName, tags); } if (type.type === 'stringLiteral') { // a string literal, usually for type - return readTypeTags(type.type, path, tags); + return readTypeTags(type.type, path, topTypeName, tags); } if (type instanceof IntrinsicType) { // the absolute default type, like strings - return readTypeTags(type.name, path, tags); + return readTypeTags(type.name, path, topTypeName, tags); } if (type instanceof UnionType) { // the union type... - return handleUnionType(type, generics, path, tags); + return handleUnionType(type, generics, path, topTypeName, tags); } if (type instanceof ReferenceType) { if (typeof type.reflection !== 'undefined') { // there is really no way to make this typesafe, every element in DeclarationReflection is optional. return handleDeclarationReflection(type.reflection as DeclarationReflection, - getReflectionGeneric(type, generics, path, tags), path); + getReflectionGeneric(type, generics, path, topTypeName, tags), path, topTypeName); } - return handleRefWithoutReflection(type, generics, path, tags); + return handleRefWithoutReflection(type, generics, path, topTypeName, tags); } if (type instanceof TypeParameterType) { // check if we have an object referencing a generic @@ -316,16 +330,17 @@ function handleType(type: Type, generics: ReflectionGeneric[], path: string, tag return gRefl.value; // use the value defined by the generic } } - composeErrorMessage(path, 'Generic', type.name, 'Missing reflection, please report!'); + composeErrorMessage(path, topTypeName, 'Generic', type.name, 'Missing reflection, please report!'); return {type: ElasticsearchDataType.parse_error}; } if (type instanceof ReflectionType) { - return readFieldTags(handleDeclarationReflection(type.declaration, generics, path), path, tags); + return readFieldTags(handleDeclarationReflection(type.declaration, generics, path, topTypeName), + path, topTypeName, tags); } - composeErrorMessage(path, 'type', stringify(type), 'Not implemented type'); + composeErrorMessage(path, topTypeName, 'type', stringify(type), 'Not implemented type'); return {type: ElasticsearchDataType.parse_error}; } @@ -335,14 +350,21 @@ function handleType(type: Type, generics: ReflectionGeneric[], path: string, tag * * @param prev the previous ElasticsearchValue, for example and object * @param path the current path to the object we are in + * @param topTypeName the name of the SCThingType * @param tags tags attached to the value * @param dataType the ElasticsearchDataType, for checking if a tag is a type tag */ function readFieldTags(prev: ElasticsearchValue, path: string, + topTypeName: string, tags: CommentTag[], dataType?: string): ElasticsearchValue { for (const tag of tags) { + if (tag.tagName === aggregatableTag) { + // push type.path and remove the '.' at the end of the path + aggregatablePaths.push(`${topTypeName}.${path.slice(0, -1)}`); + } + if (!ignoredTagsList.includes(tag.tagName)) { if (typeof fieldmap[tag.tagName] !== 'undefined') { if (typeof prev.fields === 'undefined') { @@ -357,7 +379,7 @@ function readFieldTags(prev: ElasticsearchValue, prev.fields = {...prev.fields, ...fieldmap[tag.tagName][tag.text.trim()]}; } else if (!fieldmap[tag.tagName].ignore.includes(tag.text.trim())) { // when there is an unidentified tag - composeErrorMessage(path, 'tag', tag.tagName, `Not implemented tag param "${tag.text.trim()}"`); + composeErrorMessage(path, topTypeName, 'tag', tag.tagName, `Not implemented tag param "${tag.text.trim()}"`); } } else if (tag.tagName === filterableTagName) { if (typeof prev.fields === 'undefined') { @@ -369,13 +391,13 @@ function readFieldTags(prev: ElasticsearchValue, // merge fields prev.fields = {...prev.fields, ...{raw: {type: type}}}; } else { - composeErrorMessage(path, 'tag', tag.tagName, `Not implemented for ${prev.type}`); + composeErrorMessage(path, topTypeName, 'tag', tag.tagName, `Not implemented for ${prev.type}`); } } else { - composeErrorMessage(path, 'tag', tag.tagName, 'Not applicable for object types'); + composeErrorMessage(path, topTypeName, 'tag', tag.tagName, 'Not applicable for object types'); } } else if (typeof dataType === 'undefined' || typeof typemap[dataType][tag.tagName] === 'undefined') { - composeErrorMessage(path, 'tag', tag.tagName, `Not implemented tag`); + composeErrorMessage(path, topTypeName, 'tag', tag.tagName, `Not implemented tag`); } } } @@ -388,9 +410,10 @@ function readFieldTags(prev: ElasticsearchValue, * * @param type the type of the value * @param path the current path to the object we are in + * @param topTypeName the name of the SCThingType * @param tags tags attached to the value */ -function readTypeTags(type: string, path: string, tags: CommentTag[]): ElasticsearchValue { +function readTypeTags(type: string, path: string, topTypeName: string, tags: CommentTag[]): ElasticsearchValue { let out: ElasticsearchValue = {type: ElasticsearchDataType.parse_error}; if (typeof typemap[type] !== 'undefined') { // first look if the value has a definition in the typemap @@ -398,8 +421,8 @@ function readTypeTags(type: string, path: string, tags: CommentTag[]): Elasticse if (!ignoredTagsList.includes(tags[i].tagName) && typeof typemap[type][tags[i].tagName] !== 'undefined') { // if we have a tag that indicates a type if (out.type !== ElasticsearchDataType.parse_error) { - composeErrorMessage(path, 'type', type, `Type conflict; "${typemap[type][tags[i].tagName]}" would` + - ` override "${out.type}"`); + composeErrorMessage(path, topTypeName, 'type', type, + `Type conflict; "${typemap[type][tags[i].tagName]}" would override "${out.type}"`); out.type = ElasticsearchDataType.type_conflict; continue; } @@ -411,7 +434,7 @@ function readTypeTags(type: string, path: string, tags: CommentTag[]): Elasticse out.type = typemap[type].default; } - out = readFieldTags(out, path, tags, type); + out = readFieldTags(out, path, topTypeName, tags, type); return out; } @@ -422,7 +445,7 @@ function readTypeTags(type: string, path: string, tags: CommentTag[]): Elasticse }; } - composeErrorMessage(path, 'type', type, 'Not implemented type'); + composeErrorMessage(path, topTypeName, 'type', type, 'Not implemented type'); return out; } @@ -440,8 +463,9 @@ function readTypeTags(type: string, path: string, tags: CommentTag[]): Elasticse */ export function generateTemplate(projectReflection: ProjectReflection, ignoredTags: string[], showErrorOutput = true): // tslint:disable-next-line:completed-docs - { errors: string[]; template: ElasticsearchTemplate; } { + { aggregations: string[]; errors: string[]; template: ElasticsearchTemplate; } { errors = []; + aggregatablePaths = []; showErrors = showErrorOutput; ignoredTagsList = ['indexable', 'validatable']; @@ -498,10 +522,10 @@ export function generateTemplate(projectReflection: ProjectReflection, ignoredTa } out.mappings._default_.properties[typeName] = - handleDeclarationReflection(_interface, [], '') as ElasticsearchObject; + handleDeclarationReflection(_interface, [], '', typeName) as ElasticsearchObject; } out.mappings._default_.dynamic_templates = dynamicTemplates; - return {template: out, errors}; + return {aggregations: aggregatablePaths, template: out, errors}; } From 47361d412a92ae34dc1b81298402d6b441b4f4ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Mon, 23 Sep 2019 13:28:21 +0200 Subject: [PATCH 094/215] fix: make mapping tags work for overwritten values --- map/template.json | 35130 ++++++++++++++++++++++ src/cli.ts | 2 +- src/mapping.ts | 163 +- src/mappings/aggregation-definitions.ts | 81 + src/mappings/definitions/fieldmap.ts | 2 +- src/mappings/definitions/premap.ts | 71 +- src/mappings/mapping-definitions.ts | 58 +- 7 files changed, 35406 insertions(+), 101 deletions(-) create mode 100644 map/template.json create mode 100644 src/mappings/aggregation-definitions.ts diff --git a/map/template.json b/map/template.json new file mode 100644 index 00000000..d1b85cca --- /dev/null +++ b/map/template.json @@ -0,0 +1,35130 @@ +{ + "aggregations": { + "academic event": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "academic event" + } + } + }, + "article": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "article" + } + } + }, + "book": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "book" + } + } + }, + "building": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "building" + } + } + }, + "catalog": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "catalog" + } + } + }, + "course of studies": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "course of studies" + } + } + }, + "date series": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "date series" + } + } + }, + "diff": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "diff" + } + } + }, + "dish": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "dish" + } + } + }, + "favorite": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "favorite" + } + } + }, + "floor": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "floor" + } + } + }, + "message": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "message" + } + } + }, + "organization": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "organization" + } + } + }, + "person": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "person" + } + } + }, + "point of interest": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "point of interest" + } + } + }, + "room": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "room" + } + } + }, + "semester": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "semester" + } + } + }, + "setting": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "setting" + } + } + }, + "sport course": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "sport course" + } + } + }, + "study module": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "study module" + } + } + }, + "ticket": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "ticket" + } + } + }, + "todo": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "todo" + } + } + }, + "tour": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "tour" + } + } + }, + "video": { + "aggs": { + "": { + "terms": { + "field": ".keyword", + "size": 1000 + } + } + }, + "filter": { + "type": { + "value": "video" + } + } + } + }, + "template": { + "mappings": { + "_default_": { + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false, + "dynamic_templates": [ + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "catalogs.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "superCatalog.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "superCatalogs.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "event.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.catalogs.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.superCatalog.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.superCatalogs.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.event.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.dishAddOns.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.data.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.data.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.data.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.data.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.data.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.data.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.data.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.plan.features.place.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.plan.features.place.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.plan.features.place.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.homeLocations.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.homeLocations.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.homeLocations.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.homeLocations.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.workLocations.areaServed.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.workLocations.areaServed.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.catalogs.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.academicEvents.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.necessity.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.partnerModules.necessity.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.partnerModules.translations.necessity.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.requiredModules.necessity.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.requiredModules.translations.necessity.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.translations.necessity.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "object.offers.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "dishAddOns.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "data.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "data.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "data.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "data.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "data.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "data.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "data.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "plan.features.place.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "plan.features.place.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "plan.features.place.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "homeLocations.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "homeLocations.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "homeLocations.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "homeLocations.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "workLocations.areaServed.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "workLocations.areaServed.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "catalogs.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "academicEvents.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "necessity.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "partnerModules.necessity.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "partnerModules.translations.necessity.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "requiredModules.necessity.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "requiredModules.translations.necessity.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "translations.necessity.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.inventory.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.inventory.*" + } + } + ], + "properties": { + "academic event": { + "dynamic": "strict", + "properties": { + "academicTerms": { + "dynamic": "strict", + "properties": { + "acronym": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "endDate": { + "type": "text" + }, + "eventsEndDate": { + "type": "text" + }, + "eventsStartDate": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "startDate": { + "type": "text" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "catalogs": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "level": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "creativeWorks": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "datePublished": { + "type": "text" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "dynamic": "strict", + "properties": { + "AcademicEvent": { + "type": "text" + }, + "Article": { + "type": "text" + }, + "Book": { + "type": "text" + }, + "Building": { + "type": "text" + }, + "Catalog": { + "type": "text" + }, + "CourseOfStudies": { + "type": "text" + }, + "DateSeries": { + "type": "text" + }, + "Diff": { + "type": "text" + }, + "Dish": { + "type": "text" + }, + "Favorite": { + "type": "text" + }, + "Floor": { + "type": "text" + }, + "Message": { + "type": "text" + }, + "Organization": { + "type": "text" + }, + "Person": { + "type": "text" + }, + "PointOfInterest": { + "type": "text" + }, + "Room": { + "type": "text" + }, + "Semester": { + "type": "text" + }, + "Setting": { + "type": "text" + }, + "SportCourse": { + "type": "text" + }, + "StudyModule": { + "type": "text" + }, + "Ticket": { + "type": "text" + }, + "ToDo": { + "type": "text" + }, + "Tour": { + "type": "text" + }, + "Video": { + "type": "text" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "organizers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "performers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "article": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "articleBody": { + "type": "text" + }, + "authors": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "datePublished": { + "type": "text" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "publishers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "articleBody": { + "type": "text" + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "articleBody": { + "type": "text" + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "book": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "authors": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "bookEdition": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "datePublished": { + "type": "text" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "isbn": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "numberOfPages": { + "type": "integer" + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "publishers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "bookEdition": { + "type": "keyword" + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "bookEdition": { + "type": "keyword" + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "building": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "catalog": { + "dynamic": "strict", + "properties": { + "academicTerm": { + "dynamic": "strict", + "properties": { + "acronym": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "endDate": { + "type": "text" + }, + "eventsEndDate": { + "type": "text" + }, + "eventsStartDate": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "startDate": { + "type": "text" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "dynamic": "strict", + "properties": { + "AcademicEvent": { + "type": "text" + }, + "Article": { + "type": "text" + }, + "Book": { + "type": "text" + }, + "Building": { + "type": "text" + }, + "Catalog": { + "type": "text" + }, + "CourseOfStudies": { + "type": "text" + }, + "DateSeries": { + "type": "text" + }, + "Diff": { + "type": "text" + }, + "Dish": { + "type": "text" + }, + "Favorite": { + "type": "text" + }, + "Floor": { + "type": "text" + }, + "Message": { + "type": "text" + }, + "Organization": { + "type": "text" + }, + "Person": { + "type": "text" + }, + "PointOfInterest": { + "type": "text" + }, + "Room": { + "type": "text" + }, + "Semester": { + "type": "text" + }, + "Setting": { + "type": "text" + }, + "SportCourse": { + "type": "text" + }, + "StudyModule": { + "type": "text" + }, + "Ticket": { + "type": "text" + }, + "ToDo": { + "type": "text" + }, + "Tour": { + "type": "text" + }, + "Video": { + "type": "text" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "level": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "superCatalog": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "level": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "superCatalogs": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "level": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "course of studies": { + "dynamic": "strict", + "properties": { + "academicDegree": { + "type": "keyword" + }, + "academicDegreewithField": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "academicDegreewithFieldShort": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "department": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "mainLanguage": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "major": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "mode": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "secretary": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "startDates": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "dates": { + "type": "text" + }, + "description": { + "type": "text" + }, + "duration": { + "type": "text" + }, + "exceptions": { + "type": "text" + }, + "frequency": { + "type": "keyword" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "frequency": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "frequency": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "timeMode": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "date series": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "dates": { + "type": "text" + }, + "description": { + "type": "text" + }, + "duration": { + "type": "text" + }, + "event": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "exceptions": { + "type": "text" + }, + "frequency": { + "type": "keyword" + }, + "image": { + "type": "keyword" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "performers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "frequency": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "frequency": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "diff": { + "dynamic": "strict", + "properties": { + "action": { + "type": "keyword" + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "changes": { + "dynamic": "strict", + "properties": { + "from": { + "type": "keyword" + }, + "op": { + "type": "keyword" + }, + "path": { + "type": "keyword" + }, + "value": { + "dynamic": true, + "properties": {} + } + } + }, + "dateCreated": { + "type": "text" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "object": { + "dynamic": "strict", + "properties": { + "academicTerms": { + "dynamic": "strict", + "properties": { + "acronym": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "endDate": { + "type": "text" + }, + "eventsEndDate": { + "type": "text" + }, + "eventsStartDate": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "startDate": { + "type": "text" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "catalogs": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "level": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "categories": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "creativeWorks": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "datePublished": { + "type": "text" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "dynamic": "strict", + "properties": { + "AcademicEvent": { + "type": "text" + }, + "Article": { + "type": "text" + }, + "Book": { + "type": "text" + }, + "Building": { + "type": "text" + }, + "Catalog": { + "type": "text" + }, + "CourseOfStudies": { + "type": "text" + }, + "DateSeries": { + "type": "text" + }, + "Diff": { + "type": "text" + }, + "Dish": { + "type": "text" + }, + "Favorite": { + "type": "text" + }, + "Floor": { + "type": "text" + }, + "Message": { + "type": "text" + }, + "Organization": { + "type": "text" + }, + "Person": { + "type": "text" + }, + "PointOfInterest": { + "type": "text" + }, + "Room": { + "type": "text" + }, + "Semester": { + "type": "text" + }, + "Setting": { + "type": "text" + }, + "SportCourse": { + "type": "text" + }, + "StudyModule": { + "type": "text" + }, + "Ticket": { + "type": "text" + }, + "ToDo": { + "type": "text" + }, + "Tour": { + "type": "text" + }, + "Video": { + "type": "text" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "organizers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "performers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + }, + "articleBody": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "offers[].availability": { + "type": "keyword" + }, + "bookEdition": { + "type": "keyword" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "text" + }, + "frequency": { + "type": "text" + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floorName": { + "type": "text" + }, + "messageBody": { + "type": "text" + }, + "values": { + "type": "keyword" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + }, + "articleBody": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "offers[].availability": { + "type": "keyword" + }, + "bookEdition": { + "type": "keyword" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "text" + }, + "frequency": { + "type": "text" + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floorName": { + "type": "text" + }, + "messageBody": { + "type": "text" + }, + "values": { + "type": "keyword" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "articleBody": { + "type": "text" + }, + "authors": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "datePublished": { + "type": "text" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "publishers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "bookEdition": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "isbn": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "numberOfPages": { + "type": "integer" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "openingHours": { + "type": "keyword" + }, + "academicTerm": { + "dynamic": "strict", + "properties": { + "acronym": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "endDate": { + "type": "text" + }, + "eventsEndDate": { + "type": "text" + }, + "eventsStartDate": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "startDate": { + "type": "text" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "dynamic": "strict", + "properties": { + "AcademicEvent": { + "type": "text" + }, + "Article": { + "type": "text" + }, + "Book": { + "type": "text" + }, + "Building": { + "type": "text" + }, + "Catalog": { + "type": "text" + }, + "CourseOfStudies": { + "type": "text" + }, + "DateSeries": { + "type": "text" + }, + "Diff": { + "type": "text" + }, + "Dish": { + "type": "text" + }, + "Favorite": { + "type": "text" + }, + "Floor": { + "type": "text" + }, + "Message": { + "type": "text" + }, + "Organization": { + "type": "text" + }, + "Person": { + "type": "text" + }, + "PointOfInterest": { + "type": "text" + }, + "Room": { + "type": "text" + }, + "Semester": { + "type": "text" + }, + "Setting": { + "type": "text" + }, + "SportCourse": { + "type": "text" + }, + "StudyModule": { + "type": "text" + }, + "Ticket": { + "type": "text" + }, + "ToDo": { + "type": "text" + }, + "Tour": { + "type": "text" + }, + "Video": { + "type": "text" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "level": { + "type": "integer" + }, + "superCatalog": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "level": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "superCatalogs": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "level": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "academicDegree": { + "type": "keyword" + }, + "academicDegreewithField": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "academicDegreewithFieldShort": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "department": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "mainLanguage": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "major": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "mode": { + "type": "keyword" + }, + "secretary": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + }, + "startDates": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "dates": { + "type": "text" + }, + "description": { + "type": "text" + }, + "duration": { + "type": "text" + }, + "exceptions": { + "type": "text" + }, + "frequency": { + "type": "keyword" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "frequency": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "frequency": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "timeMode": { + "type": "keyword" + }, + "dates": { + "type": "text" + }, + "duration": { + "type": "text" + }, + "event": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "exceptions": { + "type": "text" + }, + "frequency": { + "type": "keyword" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "additives": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "dishAddOns": { + "dynamic": "strict", + "properties": { + "additives": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nutrition": { + "dynamic": "strict", + "properties": { + "calories": { + "type": "float" + }, + "carbohydrateContent": { + "type": "float" + }, + "fatContent": { + "type": "float" + }, + "proteinContent": { + "type": "float" + }, + "saltContent": { + "type": "float" + }, + "saturatedFatContent": { + "type": "float" + }, + "sugarContent": { + "type": "float" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "nutrition": { + "dynamic": "strict", + "properties": { + "calories": { + "type": "float" + }, + "carbohydrateContent": { + "type": "float" + }, + "fatContent": { + "type": "float" + }, + "proteinContent": { + "type": "float" + }, + "saltContent": { + "type": "float" + }, + "saturatedFatContent": { + "type": "float" + }, + "sugarContent": { + "type": "float" + } + } + }, + "data": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + }, + "articleBody": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "offers[].availability": { + "type": "keyword" + }, + "bookEdition": { + "type": "keyword" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "text" + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + }, + "articleBody": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "offers[].availability": { + "type": "keyword" + }, + "bookEdition": { + "type": "keyword" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "text" + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "articleBody": { + "type": "text" + }, + "datePublished": { + "type": "text" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "bookEdition": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "isbn": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "numberOfPages": { + "type": "integer" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "openingHours": { + "type": "keyword" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + }, + "done": { + "type": "boolean" + }, + "dueDate": { + "type": "text" + }, + "priority": { + "dynamic": "strict", + "properties": { + "HIGH": { + "type": "text" + }, + "LOW": { + "type": "text" + }, + "NORMAL": { + "type": "text" + } + } + } + } + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "plan": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "integer" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "features": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "integer" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "geometry": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "id": { + "type": "integer" + }, + "place": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "paymentsAccepted": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "audienceOrganizations": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "audiences": { + "type": "keyword" + }, + "dateCreated": { + "type": "text" + }, + "messageBody": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "affiliations": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "homeLocations": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "workLocations": { + "dynamic": "strict", + "properties": { + "areaServed": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "paymentsAccepted": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "email": { + "type": "keyword" + }, + "faxNumber": { + "type": "keyword" + }, + "hoursAvailable": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "url": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + }, + "acronym": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "endDate": { + "type": "text" + }, + "eventsEndDate": { + "type": "text" + }, + "eventsStartDate": { + "type": "text" + }, + "startDate": { + "type": "text" + }, + "defaultValue": { + "type": "boolean" + }, + "inputType": { + "dynamic": "strict", + "properties": { + "MultipleChoice": { + "type": "text" + }, + "Number": { + "type": "text" + }, + "Password": { + "type": "text" + }, + "SingleChoice": { + "type": "text" + }, + "Text": { + "type": "text" + } + } + }, + "order": { + "type": "integer" + }, + "value": { + "type": "boolean" + }, + "values": { + "type": "boolean" + }, + "academicEvents": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "ects": { + "type": "float" + }, + "faculty": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "language": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "partnerModules": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "ects": { + "type": "float" + }, + "image": { + "type": "keyword" + }, + "language": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "requiredModules": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "ects": { + "type": "float" + }, + "image": { + "type": "keyword" + }, + "language": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "approxWaitingTime": { + "type": "text" + }, + "currentTicketNumber": { + "type": "keyword" + }, + "serviceType": { + "type": "text" + }, + "done": { + "type": "boolean" + }, + "dueDate": { + "type": "text" + }, + "priority": { + "dynamic": "strict", + "properties": { + "HIGH": { + "type": "text" + }, + "LOW": { + "type": "text" + }, + "NORMAL": { + "type": "text" + } + } + }, + "init": { + "type": "text" + }, + "steps": { + "dynamic": "strict", + "properties": { + "action": { + "type": "keyword" + }, + "side": { + "type": "keyword" + }, + "type": { + "type": "keyword" + }, + "location": { + "type": "keyword" + }, + "canFail": { + "type": "boolean" + }, + "element": { + "type": "keyword" + }, + "position": { + "type": "keyword" + }, + "resolved": { + "dynamic": "strict", + "properties": { + "element": { + "type": "keyword" + }, + "event": { + "type": "keyword" + }, + "location": { + "dynamic": "strict", + "properties": { + "is": { + "type": "keyword" + }, + "match": { + "type": "keyword" + } + } + }, + "menu": { + "type": "keyword" + } + } + }, + "text": { + "type": "text" + }, + "tries": { + "type": "integer" + } + } + }, + "actors": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "sources": { + "dynamic": "strict", + "properties": { + "height": { + "type": "integer" + }, + "mimeType": { + "type": "keyword" + }, + "size": { + "type": "integer" + }, + "url": { + "type": "keyword" + }, + "width": { + "type": "integer" + } + } + }, + "thumbnails": { + "type": "keyword" + }, + "tracks": { + "dynamic": "strict", + "properties": { + "language": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + }, + "url": { + "type": "keyword" + } + } + }, + "transcript": { + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "dish": { + "dynamic": "strict", + "properties": { + "additives": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "dishAddOns": { + "dynamic": "strict", + "properties": { + "additives": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nutrition": { + "dynamic": "strict", + "properties": { + "calories": { + "type": "float" + }, + "carbohydrateContent": { + "type": "float" + }, + "fatContent": { + "type": "float" + }, + "proteinContent": { + "type": "float" + }, + "saltContent": { + "type": "float" + }, + "saturatedFatContent": { + "type": "float" + }, + "sugarContent": { + "type": "float" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nutrition": { + "dynamic": "strict", + "properties": { + "calories": { + "type": "float" + }, + "carbohydrateContent": { + "type": "float" + }, + "fatContent": { + "type": "float" + }, + "proteinContent": { + "type": "float" + }, + "saltContent": { + "type": "float" + }, + "saturatedFatContent": { + "type": "float" + }, + "sugarContent": { + "type": "float" + } + } + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "favorite": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "data": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + }, + "articleBody": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "offers[].availability": { + "type": "keyword" + }, + "bookEdition": { + "type": "keyword" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "text" + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + }, + "articleBody": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "offers[].availability": { + "type": "keyword" + }, + "bookEdition": { + "type": "keyword" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "text" + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "articleBody": { + "type": "text" + }, + "datePublished": { + "type": "text" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "bookEdition": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "isbn": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "numberOfPages": { + "type": "integer" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "openingHours": { + "type": "keyword" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + }, + "done": { + "type": "boolean" + }, + "dueDate": { + "type": "text" + }, + "priority": { + "dynamic": "strict", + "properties": { + "HIGH": { + "type": "text" + }, + "LOW": { + "type": "text" + }, + "NORMAL": { + "type": "text" + } + } + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "type": { + "type": "text" + }, + "updated": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "floor": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "floorName": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "plan": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "integer" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "features": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "integer" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "geometry": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "id": { + "type": "integer" + }, + "place": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "paymentsAccepted": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "floorName": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "floorName": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "message": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "audienceOrganizations": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "audiences": { + "type": "keyword" + }, + "authors": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "dateCreated": { + "type": "text" + }, + "datePublished": { + "type": "text" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "messageBody": { + "type": "text" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "publishers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "messageBody": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "messageBody": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "organization": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "person": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "affiliations": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "homeLocations": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "workLocations": { + "dynamic": "strict", + "properties": { + "areaServed": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "paymentsAccepted": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "email": { + "type": "keyword" + }, + "faxNumber": { + "type": "keyword" + }, + "hoursAvailable": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "url": { + "type": "keyword" + } + } + } + } + }, + "point of interest": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "room": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "paymentsAccepted": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "semester": { + "dynamic": "strict", + "properties": { + "acronym": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "endDate": { + "type": "text" + }, + "eventsEndDate": { + "type": "text" + }, + "eventsStartDate": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "startDate": { + "type": "text" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "setting": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "defaultValue": { + "type": "boolean" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inputType": { + "dynamic": "strict", + "properties": { + "MultipleChoice": { + "type": "text" + }, + "Number": { + "type": "text" + }, + "Password": { + "type": "text" + }, + "SingleChoice": { + "type": "text" + }, + "Text": { + "type": "text" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "order": { + "type": "integer" + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "values": { + "type": "keyword" + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "values": { + "type": "keyword" + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "value": { + "type": "boolean" + }, + "values": { + "type": "boolean" + } + } + }, + "sport course": { + "dynamic": "strict", + "properties": { + "academicTerms": { + "dynamic": "strict", + "properties": { + "acronym": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "endDate": { + "type": "text" + }, + "eventsEndDate": { + "type": "text" + }, + "eventsStartDate": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "startDate": { + "type": "text" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "catalogs": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "level": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "creativeWorks": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "datePublished": { + "type": "text" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "dynamic": "strict", + "properties": { + "AcademicEvent": { + "type": "text" + }, + "Article": { + "type": "text" + }, + "Book": { + "type": "text" + }, + "Building": { + "type": "text" + }, + "Catalog": { + "type": "text" + }, + "CourseOfStudies": { + "type": "text" + }, + "DateSeries": { + "type": "text" + }, + "Diff": { + "type": "text" + }, + "Dish": { + "type": "text" + }, + "Favorite": { + "type": "text" + }, + "Floor": { + "type": "text" + }, + "Message": { + "type": "text" + }, + "Organization": { + "type": "text" + }, + "Person": { + "type": "text" + }, + "PointOfInterest": { + "type": "text" + }, + "Room": { + "type": "text" + }, + "Semester": { + "type": "text" + }, + "Setting": { + "type": "text" + }, + "SportCourse": { + "type": "text" + }, + "StudyModule": { + "type": "text" + }, + "Ticket": { + "type": "text" + }, + "ToDo": { + "type": "text" + }, + "Tour": { + "type": "text" + }, + "Video": { + "type": "text" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "organizers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "performers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "study module": { + "dynamic": "strict", + "properties": { + "academicEvents": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "ects": { + "type": "float" + }, + "faculty": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "image": { + "type": "keyword" + }, + "language": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "partnerModules": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "ects": { + "type": "float" + }, + "image": { + "type": "keyword" + }, + "language": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "requiredModules": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "ects": { + "type": "float" + }, + "image": { + "type": "keyword" + }, + "language": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "secretary": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "ticket": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "approxWaitingTime": { + "type": "text" + }, + "currentTicketNumber": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "serviceType": { + "type": "text" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "todo": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "done": { + "type": "boolean" + }, + "dueDate": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "priority": { + "dynamic": "strict", + "properties": { + "HIGH": { + "type": "text" + }, + "LOW": { + "type": "text" + }, + "NORMAL": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "tour": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "init": { + "type": "text" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "steps": { + "dynamic": "strict", + "properties": { + "action": { + "type": "keyword" + }, + "side": { + "type": "keyword" + }, + "type": { + "type": "keyword" + }, + "location": { + "type": "keyword" + }, + "canFail": { + "type": "boolean" + }, + "element": { + "type": "keyword" + }, + "position": { + "type": "keyword" + }, + "resolved": { + "dynamic": "strict", + "properties": { + "element": { + "type": "keyword" + }, + "event": { + "type": "keyword" + }, + "location": { + "dynamic": "strict", + "properties": { + "is": { + "type": "keyword" + }, + "match": { + "type": "keyword" + } + } + }, + "menu": { + "type": "keyword" + } + } + }, + "text": { + "type": "text" + }, + "tries": { + "type": "integer" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "video": { + "dynamic": "strict", + "properties": { + "actors": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "authors": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "datePublished": { + "type": "text" + }, + "description": { + "type": "text" + }, + "duration": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "polygon": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "float" + }, + "coordinates": { + "fields": { + "raw": { + "type": "keyword" + } + }, + "type": "geo_point" + }, + "crs": { + "dynamic": "strict", + "properties": { + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "publishers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "sources": { + "dynamic": "strict", + "properties": { + "height": { + "type": "integer" + }, + "mimeType": { + "type": "keyword" + }, + "size": { + "type": "integer" + }, + "url": { + "type": "keyword" + }, + "width": { + "type": "integer" + } + } + }, + "thumbnails": { + "type": "keyword" + }, + "tracks": { + "dynamic": "strict", + "properties": { + "language": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + }, + "url": { + "type": "keyword" + } + } + }, + "transcript": { + "type": "text" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "ignore_above": 10000, + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + } + } + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" + }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_*" + }, + "errors": [] +} \ No newline at end of file diff --git a/src/cli.ts b/src/cli.ts index 7668fb8a..a7bca219 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -102,7 +102,7 @@ commander // write documentation to file // tslint:disable-next-line:no-magic-numbers - writeFileSync(mappingPath, JSON.stringify(result.template, null, 2)); + writeFileSync(mappingPath, JSON.stringify(result, null, 2)); Logger.ok(`Elasticsearch mapping written to ${mappingPath}.`); }); diff --git a/src/mapping.ts b/src/mapping.ts index e849555f..a5b6bdf7 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -18,33 +18,37 @@ import {stringify} from 'flatted'; import {DeclarationReflection, ProjectReflection} from 'typedoc'; import { ArrayType, + Comment, CommentTag, IntrinsicType, - ReferenceType, ReflectionType, + ReferenceType, + ReflectionType, StringLiteralType, - Type, TypeParameterType, + Type, + TypeParameterType, UnionType, } from 'typedoc/dist/lib/models'; +import {AggregationSchema, ESNestedAggregation} from './mappings/aggregation-definitions'; import {fieldmap, filterableMap, filterableTagName} from './mappings/definitions/fieldmap'; import {premaps} from './mappings/definitions/premap'; -import {settings} from './mappings/definitions/settings'; import {dynamicTypes, ElasticsearchDataType, typemap} from './mappings/definitions/typemap'; import { ElasticsearchDynamicTemplate, + ElasticsearchMappings, ElasticsearchObject, - ElasticsearchTemplate, ElasticsearchValue, ReflectionGeneric, } from './mappings/mapping-definitions'; -const dynamicTemplates: ElasticsearchDynamicTemplate[] = []; +let dynamicTemplates: ElasticsearchDynamicTemplate[] = []; let errors: string[] = []; let showErrors = true; -let aggregatablePaths: string[] = []; +let aggregations: AggregationSchema = {}; const indexableTag = 'indexable'; const aggregatableTag = 'aggregatable'; +const aggregatableTagParameterGlobal = 'global'; let ignoredTagsList = ['indexable', 'validatable']; @@ -193,13 +197,13 @@ function handleRefWithoutReflection(ref: ReferenceType, generics: ReflectionGene function handleDeclarationReflection(decl: DeclarationReflection, generics: ReflectionGeneric[], path: string, - topTypeName: string): + topTypeName: string, + inheritedTags?: CommentTag[]): ElasticsearchValue { // check if we have an object referencing a generic for (const gRefl of generics) { if (gRefl.name === decl.name) { // if the object name is the same as the generic name - return readFieldTags(gRefl.value, path, topTypeName, - typeof decl.comment !== 'undefined' ? typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : [] : []); + return readFieldTags(gRefl.value, path, topTypeName, getCommentTags(decl)); // use the value defined by the generic } } @@ -226,6 +230,10 @@ function handleDeclarationReflection(decl: DeclarationReflection, } } + if (decl.kindString === 'Enumeration') { + return readTypeTags('string', path, topTypeName, getCommentTags(decl, inheritedTags)); + } + // check all the children, so in this case we are dealing with an OBJECT if (typeof decl.children !== 'undefined' && decl.children.length > 0) { for (const child of decl.children) { @@ -233,19 +241,55 @@ function handleDeclarationReflection(decl: DeclarationReflection, out.properties[child.name] = handleDeclarationReflection(child, generics, `${path}${child.name}.`, topTypeName); } } else if (decl.type instanceof Type) { // if the object is a type, so we are dealing with a PROPERTY - return handleType(decl.type, generics, path, topTypeName, - typeof decl.comment !== 'undefined' ? typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : [] : []); + // get inherited tags + return handleType(decl.type, generics, path, topTypeName, getCommentTags(decl)); } else if (decl.kindString === 'Enumeration member') { - return readTypeTags(typeof decl.defaultValue, path, topTypeName, - typeof decl.comment !== 'undefined' ? typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : [] : []); + return readTypeTags(typeof decl.defaultValue, path, topTypeName, getCommentTags(decl, inheritedTags)); } if (empty) { composeErrorMessage(path, topTypeName, 'object', decl.name, 'Empty object'); } - return readFieldTags(out, path, topTypeName, - typeof decl.comment !== 'undefined' ? typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : [] : []); + return readFieldTags(out, path, topTypeName, getCommentTags(decl)); +} + +/** + * Reads all comment tags, including inherited ones + * + * @param decl the DeclarationReflection to read the tags from + */ +function getCommentTags(decl: DeclarationReflection, inheritedTags: CommentTag[] = []): CommentTag[] { + let out: CommentTag[] = decl.comment instanceof Comment ? + typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : inheritedTags : inheritedTags; + if (decl.overwrites instanceof ReferenceType && decl.overwrites.reflection instanceof DeclarationReflection) { + out = arrayPriorityJoin(out, getCommentTags(decl.overwrites.reflection)); + } + + return out; +} + +/** + * Joins two arrays of CommentTags, but overrides all original CommentTags with the same tagName + * + * @param originals the original array + * @param overrider the array that should be appended and provide the override values + */ +function arrayPriorityJoin(originals: CommentTag[], overrider: CommentTag[]): CommentTag[] { + const out: CommentTag[] = overrider; + + originals.forEach((original) => { + const result = overrider.find((element) => { + return original.tagName === element.tagName; + }); + + // no support for multiple tags with the same name + if (!(result instanceof CommentTag)) { + out.push(original); + } + }); + + return out; } /** @@ -318,7 +362,7 @@ function handleType(type: Type, generics: ReflectionGeneric[], path: string, top if (typeof type.reflection !== 'undefined') { // there is really no way to make this typesafe, every element in DeclarationReflection is optional. return handleDeclarationReflection(type.reflection as DeclarationReflection, - getReflectionGeneric(type, generics, path, topTypeName, tags), path, topTypeName); + getReflectionGeneric(type, generics, path, topTypeName, tags), path, topTypeName, tags); } return handleRefWithoutReflection(type, generics, path, topTypeName, tags); @@ -345,6 +389,27 @@ function handleType(type: Type, generics: ReflectionGeneric[], path: string, top return {type: ElasticsearchDataType.parse_error}; } +/** + * Adds an aggregatable to the aggregations list + * + * @param path the current path + * @param topTypeName the name of the top type + * @param global whether the topTypeName will be used + */ +function addAggregatable(path: string, topTypeName: string, global: boolean) { + // push type.path and remove the '.' at the end of the path + const property = path.slice(0, -1) + .split('.') + .pop() as string; // cannot be undefined + + (aggregations[global ? '@all' : topTypeName] as ESNestedAggregation).aggs[property] = { + terms: { + field: `${property}.keyword`, + size: 1000, + }, + }; +} + /** * Reads all tags related to Elasticsearch fields from the fieldMap * @@ -361,8 +426,7 @@ function readFieldTags(prev: ElasticsearchValue, dataType?: string): ElasticsearchValue { for (const tag of tags) { if (tag.tagName === aggregatableTag) { - // push type.path and remove the '.' at the end of the path - aggregatablePaths.push(`${topTypeName}.${path.slice(0, -1)}`); + addAggregatable(path, topTypeName, tag.text.trim() === aggregatableTagParameterGlobal); } if (!ignoredTagsList.includes(tag.tagName)) { @@ -463,9 +527,16 @@ function readTypeTags(type: string, path: string, topTypeName: string, tags: Com */ export function generateTemplate(projectReflection: ProjectReflection, ignoredTags: string[], showErrorOutput = true): // tslint:disable-next-line:completed-docs - { aggregations: string[]; errors: string[]; template: ElasticsearchTemplate; } { + { aggregations: AggregationSchema; errors: string[]; mappings: ElasticsearchMappings; } { errors = []; - aggregatablePaths = []; + aggregations = { + '@all': { + aggs: {}, + filter: { + match_all: {}, + }, + }, + }; showErrors = showErrorOutput; ignoredTagsList = ['indexable', 'validatable']; @@ -473,22 +544,7 @@ export function generateTemplate(projectReflection: ProjectReflection, ignoredTa const indexableInterfaces = getAllIndexableInterfaces(projectReflection); - const out: ElasticsearchTemplate = { - mappings: { - _default_: { - _source: { - excludes: [ - 'creation_date', - ], - }, - date_detection: false, - dynamic_templates: [], - properties: {}, - }, - }, - settings: settings, - template: 'stapps_*', - }; + const out: ElasticsearchMappings = {}; for (const _interface of indexableInterfaces) { if (!Array.isArray(_interface.children) || _interface.children.length === 0) { @@ -521,11 +577,38 @@ export function generateTemplate(projectReflection: ProjectReflection, ignoredTa Logger.error(`The interface ${_interface.name} is required to use an SCThingType as a type, please do so.`); } - out.mappings._default_.properties[typeName] = + // init aggregation schema for type + aggregations[typeName] = { + aggs: {}, + filter: { + type: { + value: typeName, + }, + }, + }; + + out[typeName] = handleDeclarationReflection(_interface, [], '', typeName) as ElasticsearchObject; + out[typeName].properties.creation_date = { + type: ElasticsearchDataType.date, + }; + + out[typeName].dynamic_templates = dynamicTemplates; + + // Set some properties + out[typeName]._source = { + excludes: [ + 'creation_date', + ], + }; + out[typeName].date_detection = false; + + dynamicTemplates = []; + + if (Object.keys((aggregations[typeName] as ESNestedAggregation).aggs).length === 0) { + delete aggregations[typeName]; + } } - out.mappings._default_.dynamic_templates = dynamicTemplates; - - return {aggregations: aggregatablePaths, template: out, errors}; + return {aggregations, mappings: out, errors}; } diff --git a/src/mappings/aggregation-definitions.ts b/src/mappings/aggregation-definitions.ts new file mode 100644 index 00000000..f7911a92 --- /dev/null +++ b/src/mappings/aggregation-definitions.ts @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +/** + * An elasticsearch bucket aggregation + * @see https://www.elastic.co/guide/en/elasticsearch/reference/5.6/search-aggregations-bucket.html + */ +export interface AggregationSchema { + [aggregationName: string]: ESTermsFilter | ESNestedAggregation; +} + +/** + * An elasticsearch terms filter + */ +export interface ESTermsFilter { + /** + * Terms filter definition + */ + terms: { + /** + * Field to apply filter to + */ + field: string; + + /** + * Number of results + */ + size?: number; + }; +} + +/** + * Filter that filters by name of the the field type + */ +export interface ESAggTypeFilter { + /** + * The type of the object to find + */ + type: { + /** + * The name of the type + */ + value: string; + }; +} + +/** + * Filter that matches everything + */ +export interface ESAggMatchAllFilter { + /** + * Filter that matches everything + */ + match_all: {}; +} + +/** + * For nested aggregations + */ +export interface ESNestedAggregation { + /** + * Possible nested Aggregations + */ + aggs: AggregationSchema; + /** + * Possible filter for types + */ + filter: ESAggTypeFilter | ESAggMatchAllFilter; +} diff --git a/src/mappings/definitions/fieldmap.ts b/src/mappings/definitions/fieldmap.ts index 8b7aa288..977c89d1 100644 --- a/src/mappings/definitions/fieldmap.ts +++ b/src/mappings/definitions/fieldmap.ts @@ -28,7 +28,7 @@ export const fieldmap: ElasticsearchFieldmap = { type: ElasticsearchDataType.keyword, }, }, - ignore: [], + ignore: ['global'], }, sortable: { default: { diff --git a/src/mappings/definitions/premap.ts b/src/mappings/definitions/premap.ts index 2e20eec2..6d637523 100644 --- a/src/mappings/definitions/premap.ts +++ b/src/mappings/definitions/premap.ts @@ -18,69 +18,24 @@ import {ElasticsearchDataType} from './typemap'; export const premaps: ElasticsearchPremap = { CoordinateReferenceSystem: { - dynamic: 'strict', - properties: { - properties: { - dynamic: true, - properties: {}, - }, - type: { - type: ElasticsearchDataType.keyword, - }, - }, + precision: '1m', + tree: 'quadtree', + type: ElasticsearchDataType.geo_shape, }, LineString: { - dynamic: 'strict', - properties: { - coordinates: { - type: ElasticsearchDataType.float, - }, - type: { - type: ElasticsearchDataType.keyword, - }, - }, + precision: '1m', + tree: 'quadtree', + type: ElasticsearchDataType.geo_shape, }, Point: { - dynamic: 'strict', - properties: { - bbox: {type: ElasticsearchDataType.float}, - coordinates: { - fields: {raw: {type: ElasticsearchDataType.keyword}}, - type: ElasticsearchDataType.geo_point, - }, - crs: { - dynamic: 'strict', - properties: { - properties: { - dynamic: true, - properties: {}, - }, - type: {type: ElasticsearchDataType.keyword}, - }, - }, - type: {type: ElasticsearchDataType.keyword}, - }, + precision: '1m', + tree: 'quadtree', + type: ElasticsearchDataType.geo_shape, }, - Polygon: { // a Polygon is mapped the same way as a Point is, you can just copy & paste - dynamic: 'strict', - properties: { - bbox: {type: ElasticsearchDataType.float}, - coordinates: { - fields: {raw: {type: ElasticsearchDataType.keyword}}, - type: ElasticsearchDataType.geo_point, - }, - crs: { - dynamic: 'strict', - properties: { - properties: { - dynamic: true, - properties: {}, - }, - type: {type: ElasticsearchDataType.keyword}, - }, - }, - type: {type: ElasticsearchDataType.keyword}, - }, + Polygon: { + precision: '1m', + tree: 'quadtree', + type: ElasticsearchDataType.geo_shape, }, 'jsonpatch.OpPatch': { dynamic: 'strict', diff --git a/src/mappings/mapping-definitions.ts b/src/mappings/mapping-definitions.ts index 2fda98b9..ffe1ad28 100644 --- a/src/mappings/mapping-definitions.ts +++ b/src/mappings/mapping-definitions.ts @@ -22,7 +22,7 @@ import {ElasticsearchDataType} from './definitions/typemap'; * Both are composed similarly, and can be the value of a propery * of an Elasticsearch Object. */ -export type ElasticsearchValue = ElasticsearchType | ElasticsearchObject; +export type ElasticsearchValue = ElasticsearchType | ElasticsearchObject | ElasticsearchGeoShape; /** * Used internally for saving a generic value contained in a reflection @@ -178,12 +178,61 @@ export interface ElasticsearchType { type: ElasticsearchDataType; } +/** + * A GeoShape data type + * + * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/geo-shape.html + */ +export interface ElasticsearchGeoShape { + /** + * Does not exist; here for TypeScript compiler + */ + fields?: undefined; + + /** + * This parameter may be used instead of tree_levels to set an appropriate value for the tree_levels parameter. + * + * The value specifies the desired precision and Elasticsearch will calculate the best tree_levels value to honor + * this precision. The value should be a number followed by an optional distance unit. Valid distance units include: + * in, inch, yd, yard, mi, miles, km, kilometers, m,meters, cm,centimeters, mm, millimeters. + */ + precision: string; + + /** + * Name of the PrefixTree implementation to be used: geohash for GeohashPrefixTree and quadtree for QuadPrefixTree. + */ + tree: 'quadtree' | 'geohash'; + + /** + * The type of the object, obviously geo_shape + */ + type: ElasticsearchDataType.geo_shape; +} + /** * An object data type * * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/object.html */ export interface ElasticsearchObject { + + /** + * Only for the top type + */ + _source?: { + /** + * Fields that should be excluded in the _source field + */ + excludes: [ + 'creation_date', + ]; + }; + + /** + * Whether the creation date should be set automatically + */ + date_detection?: boolean; + /** * If the object is a dynamic * @@ -224,6 +273,13 @@ export interface ElasticsearchObject { }; } +export type ElasticsearchMapping = ElasticsearchObject; + +// TODO: docs +export interface ElasticsearchMappings { + [indexName: string]: ElasticsearchMapping; +} + /** * An Elasticsearch template * From 8f7201e2cf010ed9ef457d9cf938167a4e970963 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Fri, 1 Nov 2019 14:47:02 +0100 Subject: [PATCH 095/215] fix: make mapping of generics work correctly fixes #27 --- .gitlab-ci.yml | 4 +- src/mapping.ts | 116 ++++++++++++++++------------ src/mappings/definitions/premap.ts | 34 +++----- src/mappings/mapping-definitions.ts | 36 ++++----- 4 files changed, 95 insertions(+), 95 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 194c7df2..e34628f2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -65,8 +65,8 @@ mapping: alias: elasticsearch script: - npm install @openstapps/core - - node lib/cli.js mapping ./node_modules/@openstapps/core/src mapping.json "pattern,see,minlength" - - curl http://elasticsearch:9200/stapps --upload-file mapping.json -o response.json + - node lib/cli.js mapping ./node_modules/@openstapps/core/src mapping.json "pattern,see,minlength,tjs-format" + - curl http://elasticsearch:9200/_template --upload-file mapping.json -o response.json - cat response.json - grep -q "\"acknowledged\":true" response.json # - curl --show-error --fail http://elasticsearch:9200/stapps --upload-file mapping.json diff --git a/src/mapping.ts b/src/mapping.ts index a5b6bdf7..acee776e 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -31,13 +31,13 @@ import { import {AggregationSchema, ESNestedAggregation} from './mappings/aggregation-definitions'; import {fieldmap, filterableMap, filterableTagName} from './mappings/definitions/fieldmap'; import {premaps} from './mappings/definitions/premap'; +import {settings} from './mappings/definitions/settings'; import {dynamicTypes, ElasticsearchDataType, typemap} from './mappings/definitions/typemap'; import { ElasticsearchDynamicTemplate, ElasticsearchMappings, - ElasticsearchObject, + ElasticsearchObject, ElasticsearchType, ElasticsearchValue, - ReflectionGeneric, } from './mappings/mapping-definitions'; let dynamicTemplates: ElasticsearchDynamicTemplate[] = []; @@ -116,29 +116,29 @@ function composeErrorMessage(path: string, topTypeName: string, typeName: string * @param type the ReferenceType of a DeclarationReflection * @param out the previous reflection, it then overrides all parameters or keeps old ones * @param path the current path to the object we are in - * @param topTypeName the name of the SCThingType * @param tags any tags attached to the type */ function getReflectionGeneric(type: ReferenceType, - out: ReflectionGeneric[], - path: string, topTypeName: string, tags: CommentTag[]): ReflectionGeneric[] { + out: Map, + topTypeName: string, + path: string, tags: CommentTag[]): Map { if (typeof type.typeArguments !== 'undefined' && type.reflection instanceof DeclarationReflection - && typeof type.reflection.typeParameters !== 'undefined' - && type.typeArguments.length === type.reflection.typeParameters.length) { - for (let i = 0; i < type.typeArguments.length; i++) { - let replaced = false; - for (const old of out) { - if (old.name === type.reflection.typeParameters[i].name) { - old.value = handleType(type.typeArguments[i], out, path, topTypeName, tags); - replaced = true; - } - } - if (!replaced) { - out.push({ - name: type.reflection.typeParameters[i].name, - value: handleType(type.typeArguments[i], out, path, topTypeName, tags), + && typeof type.reflection.typeParameters !== 'undefined') { + for (let i = 0; i < type.reflection.typeParameters.length; i++) { + if (i < type.typeArguments.length) { + out + .set(type.reflection.typeParameters[i].name, handleType(type.typeArguments[i], out, topTypeName, path, tags)); + } else { + // this can happen due to a bug in TypeDoc https://github.com/TypeStrong/typedoc/issues/1061 + // we have no way to know the type here, so we have to use this. + out.set(type.reflection.typeParameters[i].name, { + dynamic: true, + properties: {}, }); + + Logger.warn(`Type "${type.name}": Defaults of generics (Foo) currently don't work due to a bug` + + ` in TypeDoc. It has been replaced by a dynamic type.`); } } } @@ -149,14 +149,16 @@ function getReflectionGeneric(type: ReferenceType, /** * Handles a ReferenceType that has no value * + * Most of the times that is an external type. + * * @param ref the ReferenceType * @param generics the generics from levels above, so we can use them without having access to the parent * @param path the current path to the object we are in * @param topTypeName the name of the SCThingType * @param tags any tags attached to the type */ -function handleRefWithoutReflection(ref: ReferenceType, generics: ReflectionGeneric[], - path: string, topTypeName: string, tags: CommentTag[]): ElasticsearchValue { +function handleExternalType(ref: ReferenceType, generics: Map, + path: string, topTypeName: string, tags: CommentTag[]): ElasticsearchValue { for (const premap in premaps) { if (premap === ref.name) { return readFieldTags(premaps[premap], path, topTypeName, tags); @@ -170,7 +172,8 @@ function handleRefWithoutReflection(ref: ReferenceType, generics: ReflectionGene return {type: ElasticsearchDataType.parse_error}; } - return readFieldTags(handleType(ref.typeArguments[0], getReflectionGeneric(ref, generics, path, topTypeName, tags), + return readFieldTags(handleType(ref.typeArguments[0], getReflectionGeneric(ref, new Map(generics), path, + topTypeName, tags), path, topTypeName, tags), path, topTypeName, tags); } @@ -195,17 +198,17 @@ function handleRefWithoutReflection(ref: ReferenceType, generics: ReflectionGene * @param topTypeName the name of the SCThingType */ function handleDeclarationReflection(decl: DeclarationReflection, - generics: ReflectionGeneric[], + generics: Map, path: string, topTypeName: string, inheritedTags?: CommentTag[]): ElasticsearchValue { // check if we have an object referencing a generic - for (const gRefl of generics) { - if (gRefl.name === decl.name) { // if the object name is the same as the generic name - return readFieldTags(gRefl.value, path, topTypeName, getCommentTags(decl)); - // use the value defined by the generic - } + if (generics.has(decl.name)) { // if the object name is the same as the generic name + return readFieldTags(generics.get(decl.name) as ElasticsearchObject | ElasticsearchType, path, topTypeName, + typeof decl.comment !== 'undefined' ? typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : [] : []); + // use the value defined by the generic + } // start the actual handling process @@ -221,7 +224,7 @@ function handleDeclarationReflection(decl: DeclarationReflection, empty = false; const template: ElasticsearchDynamicTemplate = {}; template[decl.name] = { - mapping: handleDeclarationReflection(param as DeclarationReflection, generics, path, topTypeName), + mapping: handleDeclarationReflection(param as DeclarationReflection, new Map(generics), path, topTypeName), match: '*', match_mapping_type: '*', path_match: `${path}*`, @@ -238,11 +241,12 @@ function handleDeclarationReflection(decl: DeclarationReflection, if (typeof decl.children !== 'undefined' && decl.children.length > 0) { for (const child of decl.children) { empty = false; - out.properties[child.name] = handleDeclarationReflection(child, generics, `${path}${child.name}.`, topTypeName); + out.properties[child.name] = + handleDeclarationReflection(child, new Map(generics), `${path}${child.name}.`, topTypeName); } } else if (decl.type instanceof Type) { // if the object is a type, so we are dealing with a PROPERTY // get inherited tags - return handleType(decl.type, generics, path, topTypeName, getCommentTags(decl)); + return handleType(decl.type, new Map(generics), path, topTypeName, getCommentTags(decl)); } else if (decl.kindString === 'Enumeration member') { return readTypeTags(typeof decl.defaultValue, path, topTypeName, getCommentTags(decl, inheritedTags)); } @@ -258,6 +262,7 @@ function handleDeclarationReflection(decl: DeclarationReflection, * Reads all comment tags, including inherited ones * * @param decl the DeclarationReflection to read the tags from + * @param inheritedTags any tags that might have been inherited by a parent */ function getCommentTags(decl: DeclarationReflection, inheritedTags: CommentTag[] = []): CommentTag[] { let out: CommentTag[] = decl.comment instanceof Comment ? @@ -305,7 +310,7 @@ function arrayPriorityJoin(originals: CommentTag[], overrider: CommentTag[]): Co * @param tags any tags attached to the type */ function handleUnionType(type: UnionType, - generics: ReflectionGeneric[], + generics: Map, path: string, topTypeName: string, tags: CommentTag[]): ElasticsearchValue { @@ -315,7 +320,7 @@ function handleUnionType(type: UnionType, if (subType instanceof IntrinsicType && subType.name === 'undefined') { continue; } - list.push(handleType(subType, generics, path, topTypeName, tags)); + list.push(handleType(subType, new Map(generics), path, topTypeName, tags)); } if (list.length > 0) { @@ -343,11 +348,12 @@ function handleUnionType(type: UnionType, * @param topTypeName the name of the SCThingType * @param tags any tags attached to the type */ -function handleType(type: Type, generics: ReflectionGeneric[], path: string, topTypeName: string, tags: CommentTag[]): +function handleType(type: Type, generics: Map, path: string, topTypeName: string, + tags: CommentTag[]): ElasticsearchValue { // logger.log((type as any).name); if (type instanceof ArrayType) { // array is irrelevant in Elasticsearch, so just go with the element type - return handleType(type.elementType, generics, path, topTypeName, tags); + return handleType(type.elementType, new Map(generics), path, topTypeName, tags); } if (type.type === 'stringLiteral') { // a string literal, usually for type return readTypeTags(type.type, path, topTypeName, tags); @@ -356,23 +362,21 @@ function handleType(type: Type, generics: ReflectionGeneric[], path: string, top return readTypeTags(type.name, path, topTypeName, tags); } if (type instanceof UnionType) { // the union type... - return handleUnionType(type, generics, path, topTypeName, tags); + return handleUnionType(type, new Map(generics), path, topTypeName, tags); } if (type instanceof ReferenceType) { if (typeof type.reflection !== 'undefined') { // there is really no way to make this typesafe, every element in DeclarationReflection is optional. return handleDeclarationReflection(type.reflection as DeclarationReflection, - getReflectionGeneric(type, generics, path, topTypeName, tags), path, topTypeName, tags); + getReflectionGeneric(type, new Map(generics), path, topTypeName, tags), path, topTypeName, tags); } - return handleRefWithoutReflection(type, generics, path, topTypeName, tags); + return handleExternalType(type, new Map(generics), path, topTypeName, tags); } if (type instanceof TypeParameterType) { // check if we have an object referencing a generic - for (const gRefl of generics) { - if (gRefl.name === type.name) { // if the object name is the same as the generic name - return gRefl.value; // use the value defined by the generic - } + if (generics.has(type.name)) { + return generics.get(type.name) as ElasticsearchObject | ElasticsearchType; } composeErrorMessage(path, topTypeName, 'Generic', type.name, 'Missing reflection, please report!'); @@ -380,7 +384,7 @@ function handleType(type: Type, generics: ReflectionGeneric[], path: string, top } if (type instanceof ReflectionType) { - return readFieldTags(handleDeclarationReflection(type.declaration, generics, path, topTypeName), + return readFieldTags(handleDeclarationReflection(type.declaration, new Map(generics), path, topTypeName), path, topTypeName, tags); } @@ -502,7 +506,7 @@ function readTypeTags(type: string, path: string, topTypeName: string, tags: Com return out; } - if (dynamicTypes.includes(type)) { // Elasticsearch dynamic type + if (dynamicTypes.includes(type)) { // Elasticsearch dynamic type TODO: doesn't work for direct types return { dynamic: true, properties: {}, @@ -587,21 +591,33 @@ export function generateTemplate(projectReflection: ProjectReflection, ignoredTa }, }; - out[typeName] = - handleDeclarationReflection(_interface, [], '', typeName) as ElasticsearchObject; - out[typeName].properties.creation_date = { + let typeNameWithoutSpaces = typeName.toLowerCase(); + while (typeNameWithoutSpaces.includes(' ')) { + typeNameWithoutSpaces = typeNameWithoutSpaces.replace(' ', '_'); + } + const templateName = `template_${typeNameWithoutSpaces}`; + + out[templateName] = { + mappings: { + [typeName]: handleDeclarationReflection(_interface, new Map(), '', typeName) as ElasticsearchObject, + }, + settings: settings, + template: `stapps_${typeNameWithoutSpaces}*`, + } + ; + out[templateName].mappings[typeName].properties.creation_date = { type: ElasticsearchDataType.date, }; - out[typeName].dynamic_templates = dynamicTemplates; + out[templateName].mappings[typeName].dynamic_templates = dynamicTemplates; // Set some properties - out[typeName]._source = { + out[templateName].mappings[typeName]._source = { excludes: [ 'creation_date', ], }; - out[typeName].date_detection = false; + out[templateName].mappings[typeName].date_detection = false; dynamicTemplates = []; diff --git a/src/mappings/definitions/premap.ts b/src/mappings/definitions/premap.ts index 6d637523..f7be4a18 100644 --- a/src/mappings/definitions/premap.ts +++ b/src/mappings/definitions/premap.ts @@ -12,15 +12,17 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {Logger} from '@openstapps/logger'; -import {ElasticsearchPremap, ElasticsearchValue} from '../mapping-definitions'; +import {ElasticsearchPremap} from '../mapping-definitions'; import {ElasticsearchDataType} from './typemap'; export const premaps: ElasticsearchPremap = { CoordinateReferenceSystem: { - precision: '1m', - tree: 'quadtree', - type: ElasticsearchDataType.geo_shape, + dynamic: true, + properties: { + type: { + type: ElasticsearchDataType.keyword, + }, + }, }, LineString: { precision: '1m', @@ -50,27 +52,9 @@ export const premaps: ElasticsearchPremap = { type: ElasticsearchDataType.keyword, }, value: { - dynamic: true, - properties: {}, + // this is actually an 'any' type, however ES does not really support that. + type: ElasticsearchDataType.keyword, }, }, }, }; - -/** - * Gets an ElasticsearchValue for a name - * - * @param name the name of the premap - */ -export function getPremap(name: string): ElasticsearchValue { - for (const premap in premaps) { - if (premap === name) { - return premaps[premap]; - } - } - - // tslint:disable-next-line:no-floating-promises - Logger.error(`Missing pre-map for external type ${name}`); - - return {type: ElasticsearchDataType.missing_premap}; -} diff --git a/src/mappings/mapping-definitions.ts b/src/mappings/mapping-definitions.ts index ffe1ad28..97754c00 100644 --- a/src/mappings/mapping-definitions.ts +++ b/src/mappings/mapping-definitions.ts @@ -24,23 +24,6 @@ import {ElasticsearchDataType} from './definitions/typemap'; */ export type ElasticsearchValue = ElasticsearchType | ElasticsearchObject | ElasticsearchGeoShape; -/** - * Used internally for saving a generic value contained in a reflection - */ -export interface ReflectionGeneric { - /** - * The name of the generic - * - * For example in `` the name would be 'A' - */ - name: string; - - /** - * The value of the generic - */ - value: ElasticsearchValue; -} - /** * The Typemap is used to get the corresponding ElasicsearchDataType for a name provided by the ProjectReflection */ @@ -273,7 +256,24 @@ export interface ElasticsearchObject { }; } -export type ElasticsearchMapping = ElasticsearchObject; +export interface ElasticsearchMapping { + /** + * The mappings of the index + */ + mappings: { + [name: string]: ElasticsearchObject; + }; + + /** + * The settings for the index + */ + settings: unknown; + + /** + * The name of the index + */ + template: string; +} // TODO: docs export interface ElasticsearchMappings { From 19ef656289a129d6fc46f2f00a786ebca575f2bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Tue, 5 Nov 2019 13:26:33 +0100 Subject: [PATCH 096/215] ci: make mapping test work for new mappings --- .gitlab-ci.yml | 7 +- map/template.json | 62272 +++++++++++++------------- src/cli.ts | 46 +- src/mapping.ts | 18 +- src/mappings/mapping-definitions.ts | 61 +- 5 files changed, 30735 insertions(+), 31669 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e34628f2..97c893a3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -65,12 +65,7 @@ mapping: alias: elasticsearch script: - npm install @openstapps/core - - node lib/cli.js mapping ./node_modules/@openstapps/core/src mapping.json "pattern,see,minlength,tjs-format" - - curl http://elasticsearch:9200/_template --upload-file mapping.json -o response.json - - cat response.json - - grep -q "\"acknowledged\":true" response.json - # - curl --show-error --fail http://elasticsearch:9200/stapps --upload-file mapping.json - + - node lib/cli.js put-es-templates ./node_modules/@openstapps/core/src http://elasticsearch:9200/ "pattern,see,minlength,tjs-format" package: dependencies: diff --git a/map/template.json b/map/template.json index d1b85cca..20547333 100644 --- a/map/template.json +++ b/map/template.json @@ -1,375 +1,1213 @@ { - "aggregations": { - "academic event": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "academic event" - } - } - }, - "article": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "article" - } - } - }, - "book": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "book" - } - } - }, - "building": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "building" - } - } - }, - "catalog": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "catalog" - } - } - }, - "course of studies": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "course of studies" - } - } - }, - "date series": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "date series" - } - } - }, - "diff": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "diff" - } - } - }, - "dish": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "dish" - } - } - }, - "favorite": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "favorite" - } - } - }, - "floor": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "floor" - } - } - }, - "message": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "message" - } - } - }, - "organization": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "organization" - } - } - }, - "person": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "person" - } - } - }, - "point of interest": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "point of interest" - } - } - }, - "room": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "room" - } - } - }, - "semester": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "semester" - } - } - }, - "setting": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "setting" - } - } - }, - "sport course": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "sport course" - } - } - }, - "study module": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "study module" - } - } - }, - "ticket": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "ticket" - } - } - }, - "todo": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "todo" - } - } - }, - "tour": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "tour" - } - } - }, - "video": { - "aggs": { - "": { - "terms": { - "field": ".keyword", - "size": 1000 - } - } - }, - "filter": { - "type": { - "value": "video" - } - } - } - }, - "template": { + "template_academic_event": { "mappings": { - "_default_": { - "_source": { - "excludes": [ - "creation_date" - ] + "academic event": { + "dynamic": "strict", + "properties": { + "academicTerms": { + "dynamic": "strict", + "properties": { + "acronym": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "endDate": { + "type": "text" + }, + "eventsEndDate": { + "type": "text" + }, + "eventsStartDate": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "startDate": { + "type": "text" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "catalogs": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "level": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "creativeWorks": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "datePublished": { + "type": "text" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "organizers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "performers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } }, - "date_detection": false, "dynamic_templates": [ { "SCMap": { @@ -390,7 +1228,1452 @@ "match_mapping_type": "*", "path_match": "categorySpecificValues.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_academic_event*" + }, + "template_article": { + "mappings": { + "article": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "articleBody": { + "type": "text" + }, + "authors": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "datePublished": { + "type": "text" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "default": { + "type": "float", + "fields": {} + }, + "employee": { + "type": "float", + "fields": {} + }, + "guest": { + "type": "float", + "fields": {} + }, + "student": { + "type": "float", + "fields": {} + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "publishers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "articleBody": { + "type": "text" + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "articleBody": { + "type": "text" + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -440,7 +2723,1461 @@ "match_mapping_type": "*", "path_match": "offers.inPlace.inventory.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_article*" + }, + "template_book": { + "mappings": { + "book": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "authors": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "bookEdition": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "datePublished": { + "type": "text" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "isbn": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "numberOfPages": { + "type": "integer" + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "default": { + "type": "float", + "fields": {} + }, + "employee": { + "type": "float", + "fields": {} + }, + "guest": { + "type": "float", + "fields": {} + }, + "student": { + "type": "float", + "fields": {} + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "publishers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "bookEdition": { + "type": "keyword" + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "bookEdition": { + "type": "keyword" + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -480,7 +4217,742 @@ "match_mapping_type": "*", "path_match": "offers.inPlace.inventory.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_book*" + }, + "template_building": { + "mappings": { + "building": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -490,7 +4962,888 @@ "match_mapping_type": "*", "path_match": "categorySpecificValues.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_building*" + }, + "template_catalog": { + "mappings": { + "catalog": { + "dynamic": "strict", + "properties": { + "academicTerm": { + "dynamic": "strict", + "properties": { + "acronym": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "endDate": { + "type": "text" + }, + "eventsEndDate": { + "type": "text" + }, + "eventsStartDate": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "startDate": { + "type": "text" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "level": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "superCatalog": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "level": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "superCatalogs": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "level": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -520,7 +5873,1412 @@ "match_mapping_type": "*", "path_match": "superCatalogs.categorySpecificValues.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_catalog*" + }, + "template_course_of_studies": { + "mappings": { + "course of studies": { + "dynamic": "strict", + "properties": { + "academicDegree": { + "type": "keyword" + }, + "academicDegreewithField": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "academicDegreewithFieldShort": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "department": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "mainLanguage": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "major": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "mode": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "default": { + "type": "float", + "fields": {} + }, + "employee": { + "type": "float", + "fields": {} + }, + "guest": { + "type": "float", + "fields": {} + }, + "student": { + "type": "float", + "fields": {} + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "secretary": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "startDates": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "dates": { + "type": "text" + }, + "description": { + "type": "text" + }, + "duration": { + "type": "text" + }, + "exceptions": { + "type": "text" + }, + "frequency": { + "type": "keyword" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "frequency": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "frequency": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "timeMode": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -560,7 +7318,1707 @@ "match_mapping_type": "*", "path_match": "offers.inPlace.inventory.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_course_of_studies*" + }, + "template_date_series": { + "mappings": { + "date series": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "dates": { + "type": "text" + }, + "description": { + "type": "text" + }, + "duration": { + "type": "text" + }, + "event": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "exceptions": { + "type": "text" + }, + "frequency": { + "type": "keyword" + }, + "image": { + "type": "keyword" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "alumni": { + "type": "float" + }, + "default": { + "type": "float", + "fields": {} + }, + "employee": { + "type": "float", + "fields": {} + }, + "guest": { + "type": "float", + "fields": {} + }, + "student": { + "type": "float", + "fields": {} + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "performers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "frequency": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "frequency": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -650,7 +9108,6868 @@ "match_mapping_type": "*", "path_match": "offers.inPlace.inventory.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_date_series*" + }, + "template_diff": { + "mappings": { + "diff": { + "dynamic": "strict", + "properties": { + "action": { + "type": "keyword" + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "changes": { + "dynamic": "strict", + "properties": { + "from": { + "type": "keyword" + }, + "op": { + "type": "keyword" + }, + "path": { + "type": "keyword" + }, + "value": { + "type": "keyword" + } + } + }, + "dateCreated": { + "type": "text" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "object": { + "dynamic": "strict", + "properties": { + "academicTerms": { + "dynamic": "strict", + "properties": { + "acronym": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "endDate": { + "type": "text" + }, + "eventsEndDate": { + "type": "text" + }, + "eventsStartDate": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "startDate": { + "type": "text" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "catalogs": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "level": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "categories": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "creativeWorks": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "datePublished": { + "type": "text" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "organizers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "performers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + }, + "articleBody": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "offers[].availability": { + "type": "keyword" + }, + "bookEdition": { + "type": "keyword" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "text" + }, + "frequency": { + "type": "text" + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floorName": { + "type": "text" + }, + "messageBody": { + "type": "text" + }, + "values": { + "type": "keyword" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + }, + "articleBody": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "offers[].availability": { + "type": "keyword" + }, + "bookEdition": { + "type": "keyword" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "text" + }, + "frequency": { + "type": "text" + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floorName": { + "type": "text" + }, + "messageBody": { + "type": "text" + }, + "values": { + "type": "keyword" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "articleBody": { + "type": "text" + }, + "authors": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "datePublished": { + "type": "text" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "default": { + "type": "float", + "fields": {} + }, + "employee": { + "type": "float", + "fields": {} + }, + "guest": { + "type": "float", + "fields": {} + }, + "student": { + "type": "float", + "fields": {} + }, + "alumni": { + "type": "float" + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "publishers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "bookEdition": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "isbn": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "numberOfPages": { + "type": "integer" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "academicTerm": { + "dynamic": "strict", + "properties": { + "acronym": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "endDate": { + "type": "text" + }, + "eventsEndDate": { + "type": "text" + }, + "eventsStartDate": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "startDate": { + "type": "text" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "level": { + "type": "integer" + }, + "superCatalog": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "level": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "superCatalogs": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "level": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "academicDegree": { + "type": "keyword" + }, + "academicDegreewithField": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "academicDegreewithFieldShort": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "department": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "mainLanguage": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "major": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "mode": { + "type": "keyword" + }, + "secretary": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + }, + "startDates": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "dates": { + "type": "text" + }, + "description": { + "type": "text" + }, + "duration": { + "type": "text" + }, + "exceptions": { + "type": "text" + }, + "frequency": { + "type": "keyword" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "frequency": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "frequency": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "timeMode": { + "type": "keyword" + }, + "dates": { + "type": "text" + }, + "duration": { + "type": "text" + }, + "event": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "exceptions": { + "type": "text" + }, + "frequency": { + "type": "keyword" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "additives": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "dishAddOns": { + "dynamic": "strict", + "properties": { + "additives": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nutrition": { + "dynamic": "strict", + "properties": { + "calories": { + "type": "float" + }, + "carbohydrateContent": { + "type": "float" + }, + "fatContent": { + "type": "float" + }, + "proteinContent": { + "type": "float" + }, + "saltContent": { + "type": "float" + }, + "saturatedFatContent": { + "type": "float" + }, + "sugarContent": { + "type": "float" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "nutrition": { + "dynamic": "strict", + "properties": { + "calories": { + "type": "float" + }, + "carbohydrateContent": { + "type": "float" + }, + "fatContent": { + "type": "float" + }, + "proteinContent": { + "type": "float" + }, + "saltContent": { + "type": "float" + }, + "saturatedFatContent": { + "type": "float" + }, + "sugarContent": { + "type": "float" + } + } + }, + "data": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + }, + "articleBody": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "offers[].availability": { + "type": "keyword" + }, + "bookEdition": { + "type": "keyword" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "text" + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + }, + "articleBody": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "offers[].availability": { + "type": "keyword" + }, + "bookEdition": { + "type": "keyword" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "text" + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "articleBody": { + "type": "text" + }, + "datePublished": { + "type": "text" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "bookEdition": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "isbn": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "numberOfPages": { + "type": "integer" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + }, + "done": { + "type": "boolean" + }, + "dueDate": { + "type": "text" + }, + "priority": { + "type": "text" + } + } + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "plan": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "integer" + }, + "crs": { + "dynamic": true, + "properties": { + "type": { + "type": "keyword" + } + } + }, + "features": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "integer" + }, + "crs": { + "dynamic": true, + "properties": { + "type": { + "type": "keyword" + } + } + }, + "geometry": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "id": { + "type": "integer" + }, + "place": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "paymentsAccepted": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "audienceOrganizations": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "audiences": { + "type": "keyword" + }, + "dateCreated": { + "type": "text" + }, + "messageBody": { + "type": "text" + }, + "sequenceIndex": { + "type": "integer" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "affiliations": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "homeLocations": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "workLocations": { + "dynamic": "strict", + "properties": { + "areaServed": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "paymentsAccepted": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "email": { + "type": "keyword" + }, + "faxNumber": { + "type": "keyword" + }, + "hoursAvailable": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "url": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + }, + "acronym": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "endDate": { + "type": "text" + }, + "eventsEndDate": { + "type": "text" + }, + "eventsStartDate": { + "type": "text" + }, + "startDate": { + "type": "text" + }, + "defaultValue": { + "type": "boolean" + }, + "inputType": { + "type": "text" + }, + "order": { + "type": "integer" + }, + "value": { + "type": "boolean" + }, + "values": { + "type": "boolean" + }, + "academicEvents": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "ects": { + "type": "float" + }, + "faculty": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "language": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "partnerModules": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "ects": { + "type": "float" + }, + "image": { + "type": "keyword" + }, + "language": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "requiredModules": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "ects": { + "type": "float" + }, + "image": { + "type": "keyword" + }, + "language": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "approxWaitingTime": { + "type": "text" + }, + "currentTicketNumber": { + "type": "keyword" + }, + "serviceType": { + "type": "text" + }, + "done": { + "type": "boolean" + }, + "dueDate": { + "type": "text" + }, + "priority": { + "type": "text" + }, + "init": { + "type": "text" + }, + "steps": { + "dynamic": "strict", + "properties": { + "action": { + "type": "keyword" + }, + "side": { + "type": "keyword" + }, + "type": { + "type": "keyword" + }, + "location": { + "type": "keyword" + }, + "canFail": { + "type": "boolean" + }, + "element": { + "type": "keyword" + }, + "position": { + "type": "keyword" + }, + "resolved": { + "dynamic": "strict", + "properties": { + "element": { + "type": "keyword" + }, + "event": { + "type": "keyword" + }, + "location": { + "dynamic": "strict", + "properties": { + "is": { + "type": "keyword" + }, + "match": { + "type": "keyword" + } + } + }, + "menu": { + "type": "keyword" + } + } + }, + "text": { + "type": "text" + }, + "tries": { + "type": "integer" + } + } + }, + "actors": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "sources": { + "dynamic": "strict", + "properties": { + "height": { + "type": "integer" + }, + "mimeType": { + "type": "keyword" + }, + "size": { + "type": "integer" + }, + "url": { + "type": "keyword" + }, + "width": { + "type": "integer" + } + } + }, + "thumbnails": { + "type": "keyword" + }, + "tracks": { + "dynamic": "strict", + "properties": { + "language": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + }, + "url": { + "type": "keyword" + } + } + }, + "transcript": { + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -1600,7 +16919,1352 @@ "match_mapping_type": "*", "path_match": "object.offers.inPlace.inventory.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_diff*" + }, + "template_dish": { + "mappings": { + "dish": { + "dynamic": "strict", + "properties": { + "additives": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "dishAddOns": { + "dynamic": "strict", + "properties": { + "additives": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nutrition": { + "dynamic": "strict", + "properties": { + "calories": { + "type": "float" + }, + "carbohydrateContent": { + "type": "float" + }, + "fatContent": { + "type": "float" + }, + "proteinContent": { + "type": "float" + }, + "saltContent": { + "type": "float" + }, + "saturatedFatContent": { + "type": "float" + }, + "sugarContent": { + "type": "float" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nutrition": { + "dynamic": "strict", + "properties": { + "calories": { + "type": "float" + }, + "carbohydrateContent": { + "type": "float" + }, + "fatContent": { + "type": "float" + }, + "proteinContent": { + "type": "float" + }, + "saltContent": { + "type": "float" + }, + "saturatedFatContent": { + "type": "float" + }, + "sugarContent": { + "type": "float" + } + } + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "default": { + "type": "float", + "fields": {} + }, + "employee": { + "type": "float", + "fields": {} + }, + "guest": { + "type": "float", + "fields": {} + }, + "student": { + "type": "float", + "fields": {} + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "characteristics": { + "dynamic": "strict", + "properties": { + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -1660,7 +18324,866 @@ "match_mapping_type": "*", "path_match": "offers.inPlace.inventory.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_dish*" + }, + "template_favorite": { + "mappings": { + "favorite": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "data": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + }, + "articleBody": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "offers[].availability": { + "type": "keyword" + }, + "bookEdition": { + "type": "keyword" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "text" + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + }, + "articleBody": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "offers[].availability": { + "type": "keyword" + }, + "bookEdition": { + "type": "keyword" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "text" + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "articleBody": { + "type": "text" + }, + "datePublished": { + "type": "text" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "bookEdition": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "isbn": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "numberOfPages": { + "type": "integer" + }, + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + }, + "done": { + "type": "boolean" + }, + "dueDate": { + "type": "text" + }, + "priority": { + "type": "text" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "type": { + "type": "text" + }, + "updated": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -1730,7 +19253,1103 @@ "match_mapping_type": "*", "path_match": "data.categorySpecificValues.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_favorite*" + }, + "template_floor": { + "mappings": { + "floor": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "floorName": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "plan": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "integer" + }, + "crs": { + "dynamic": true, + "properties": { + "type": { + "type": "keyword" + } + } + }, + "features": { + "dynamic": "strict", + "properties": { + "bbox": { + "type": "integer" + }, + "crs": { + "dynamic": true, + "properties": { + "type": { + "type": "keyword" + } + } + }, + "geometry": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "id": { + "type": "integer" + }, + "place": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "paymentsAccepted": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "properties": { + "dynamic": true, + "properties": {} + }, + "type": { + "type": "keyword" + } + } + }, + "type": { + "type": "keyword" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "floorName": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "floorName": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -1800,7 +20419,1542 @@ "match_mapping_type": "*", "path_match": "plan.features.place.categorySpecificValues.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_floor*" + }, + "template_message": { + "mappings": { + "message": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "audienceOrganizations": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "audiences": { + "type": "keyword" + }, + "authors": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "dateCreated": { + "type": "text" + }, + "datePublished": { + "type": "text" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "messageBody": { + "type": "text" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "default": { + "type": "float", + "fields": {} + }, + "employee": { + "type": "float", + "fields": {} + }, + "guest": { + "type": "float", + "fields": {} + }, + "student": { + "type": "float", + "fields": {} + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "publishers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "sequenceIndex": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "messageBody": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "messageBody": { + "type": "text" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -1840,7 +21994,851 @@ "match_mapping_type": "*", "path_match": "offers.inPlace.inventory.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_message*" + }, + "template_organization": { + "mappings": { + "organization": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -1880,7 +22878,1234 @@ "match_mapping_type": "*", "path_match": "inPlace.inventory.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_organization*" + }, + "template_person": { + "mappings": { + "person": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "affiliations": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "homeLocations": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "workLocations": { + "dynamic": "strict", + "properties": { + "areaServed": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "paymentsAccepted": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "email": { + "type": "keyword" + }, + "faxNumber": { + "type": "keyword" + }, + "hoursAvailable": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "url": { + "type": "keyword" + } + } + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -1940,7 +24165,935 @@ "match_mapping_type": "*", "path_match": "workLocations.areaServed.inventory.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_person*" + }, + "template_point_of_interest": { + "mappings": { + "point of interest": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -1990,7 +25143,950 @@ "match_mapping_type": "*", "path_match": "inPlace.inventory.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_point_of_interest*" + }, + "template_room": { + "mappings": { + "room": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "paymentsAccepted": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -2050,7 +26146,1122 @@ "match_mapping_type": "*", "path_match": "inventory.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_room*" + }, + "template_semester": { + "mappings": { + "semester": { + "dynamic": "strict", + "properties": { + "acronym": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "endDate": { + "type": "text" + }, + "eventsEndDate": { + "type": "text" + }, + "eventsStartDate": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "startDate": { + "type": "text" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" + }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_semester*" + }, + "template_setting": { + "mappings": { + "setting": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "defaultValue": { + "type": "boolean" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inputType": { + "type": "text" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "order": { + "type": "integer" + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "values": { + "type": "keyword" + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "values": { + "type": "keyword" + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "value": { + "type": "boolean" + }, + "values": { + "type": "boolean" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -2060,7 +27271,1236 @@ "match_mapping_type": "*", "path_match": "categorySpecificValues.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_setting*" + }, + "template_sport_course": { + "mappings": { + "sport course": { + "dynamic": "strict", + "properties": { + "academicTerms": { + "dynamic": "strict", + "properties": { + "acronym": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "endDate": { + "type": "text" + }, + "eventsEndDate": { + "type": "text" + }, + "eventsStartDate": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "startDate": { + "type": "text" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "catalogs": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "level": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "creativeWorks": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "datePublished": { + "type": "text" + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "keywords": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "organizers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "performers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -2070,7 +28510,1787 @@ "match_mapping_type": "*", "path_match": "catalogs.categorySpecificValues.*" } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_sport_course*" + }, + "template_study_module": { + "mappings": { + "study module": { + "dynamic": "strict", + "properties": { + "academicEvents": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "maximumParticipants": { + "type": "integer" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "remainingAttendeeCapacity": { + "type": "integer" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + }, + "originalCategory": { + "type": "keyword" + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "ects": { + "type": "float" + }, + "faculty": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "image": { + "type": "keyword" + }, + "language": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, + "inPlace": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "keyword" + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "floors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "geo": { + "dynamic": "strict", + "properties": { + "point": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + }, + "polygon": { + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" + } + } + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "openingHours": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "address": { + "dynamic": "strict", + "properties": { + "addressCountry": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressLocality": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "addressRegion": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postOfficeBoxNumber": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "postalCode": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "streetAddress": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + } + } + }, + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "floors": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "floorName": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "inventory": { + "dynamic": "strict", + "properties": {} + }, + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "prices": { + "dynamic": "strict", + "properties": { + "default": { + "type": "float", + "fields": {} + }, + "employee": { + "type": "float", + "fields": {} + }, + "guest": { + "type": "float", + "fields": {} + }, + "student": { + "type": "float", + "fields": {} + } + } + }, + "provider": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "partnerModules": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "ects": { + "type": "float" + }, + "image": { + "type": "keyword" + }, + "language": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "requiredModules": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "ects": { + "type": "float" + }, + "image": { + "type": "keyword" + }, + "language": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "majors": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "secretary": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "majors": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "necessity": { + "dynamic": "strict", + "properties": {} + }, + "offers[].availability": { + "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ { "SCMap": { "mapping": { @@ -2180,4265 +30400,93 @@ "match_mapping_type": "*", "path_match": "translations.necessity.*" } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.inventory.*" - } } ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" + }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_study_module*" + }, + "template_ticket": { + "mappings": { + "ticket": { + "dynamic": "strict", "properties": { - "academic event": { - "dynamic": "strict", - "properties": { - "academicTerms": { - "dynamic": "strict", - "properties": { - "acronym": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "endDate": { - "type": "text" - }, - "eventsEndDate": { - "type": "text" - }, - "eventsStartDate": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "startDate": { - "type": "text" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "catalogs": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "level": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "categories": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "creativeWorks": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "datePublished": { - "type": "text" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "dynamic": "strict", - "properties": { - "AcademicEvent": { - "type": "text" - }, - "Article": { - "type": "text" - }, - "Book": { - "type": "text" - }, - "Building": { - "type": "text" - }, - "Catalog": { - "type": "text" - }, - "CourseOfStudies": { - "type": "text" - }, - "DateSeries": { - "type": "text" - }, - "Diff": { - "type": "text" - }, - "Dish": { - "type": "text" - }, - "Favorite": { - "type": "text" - }, - "Floor": { - "type": "text" - }, - "Message": { - "type": "text" - }, - "Organization": { - "type": "text" - }, - "Person": { - "type": "text" - }, - "PointOfInterest": { - "type": "text" - }, - "Room": { - "type": "text" - }, - "Semester": { - "type": "text" - }, - "Setting": { - "type": "text" - }, - "SportCourse": { - "type": "text" - }, - "StudyModule": { - "type": "text" - }, - "Ticket": { - "type": "text" - }, - "ToDo": { - "type": "text" - }, - "Tour": { - "type": "text" - }, - "Video": { - "type": "text" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "organizers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "performers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" } } }, - "article": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "articleBody": { - "type": "text" - }, - "authors": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "datePublished": { - "type": "text" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "publishers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "articleBody": { - "type": "text" - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "articleBody": { - "type": "text" - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } + "approxWaitingTime": { + "type": "text" }, - "book": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "authors": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "bookEdition": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "datePublished": { - "type": "text" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "isbn": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "numberOfPages": { - "type": "integer" - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "publishers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "bookEdition": { - "type": "keyword" - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "bookEdition": { - "type": "keyword" - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } + "currentTicketNumber": { + "type": "keyword" }, - "building": { + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inPlace": { "dynamic": "strict", "properties": { "address": { @@ -6524,66 +30572,14 @@ "dynamic": "strict", "properties": { "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" }, "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" } } }, @@ -6606,380 +30602,6 @@ "openingHours": { "type": "keyword" }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, "translations": { "dynamic": "strict", "properties": { @@ -7142,7 +30764,7 @@ } }, "type": { - "type": "text", + "type": "keyword", "fields": { "sort": { "analyzer": "ducet_sort", @@ -7150,7 +30772,6 @@ "type": "text" }, "raw": { - "ignore_above": 10000, "type": "keyword" } } @@ -7160,3793 +30781,44 @@ }, "url": { "type": "text" - } - } - }, - "catalog": { - "dynamic": "strict", - "properties": { - "academicTerm": { - "dynamic": "strict", - "properties": { - "acronym": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "endDate": { - "type": "text" - }, - "eventsEndDate": { - "type": "text" - }, - "eventsStartDate": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "startDate": { - "type": "text" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "dynamic": "strict", - "properties": { - "AcademicEvent": { - "type": "text" - }, - "Article": { - "type": "text" - }, - "Book": { - "type": "text" - }, - "Building": { - "type": "text" - }, - "Catalog": { - "type": "text" - }, - "CourseOfStudies": { - "type": "text" - }, - "DateSeries": { - "type": "text" - }, - "Diff": { - "type": "text" - }, - "Dish": { - "type": "text" - }, - "Favorite": { - "type": "text" - }, - "Floor": { - "type": "text" - }, - "Message": { - "type": "text" - }, - "Organization": { - "type": "text" - }, - "Person": { - "type": "text" - }, - "PointOfInterest": { - "type": "text" - }, - "Room": { - "type": "text" - }, - "Semester": { - "type": "text" - }, - "Setting": { - "type": "text" - }, - "SportCourse": { - "type": "text" - }, - "StudyModule": { - "type": "text" - }, - "Ticket": { - "type": "text" - }, - "ToDo": { - "type": "text" - }, - "Tour": { - "type": "text" - }, - "Video": { - "type": "text" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } }, - "alternateNames": { - "type": "keyword", + "floorName": { + "type": "text", "fields": { "raw": { "type": "keyword" } } }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { + "inventory": { "dynamic": "strict", "properties": {} }, - "description": { - "type": "text" - }, - "image": { + "paymentsAccepted": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { "type": "keyword" }, - "level": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "superCatalog": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "level": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "superCatalogs": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "level": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, "type": "text" } } }, - "course of studies": { + "origin": { "dynamic": "strict", "properties": { - "academicDegree": { - "type": "keyword" - }, - "academicDegreewithField": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "academicDegreewithFieldShort": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "department": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "description": { + "indexed": { "type": "text" }, - "image": { - "type": "keyword" - }, - "mainLanguage": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "major": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "mode": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "secretary": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "startDates": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "dates": { - "type": "text" - }, - "description": { - "type": "text" - }, - "duration": { - "type": "text" - }, - "exceptions": { - "type": "text" - }, - "frequency": { - "type": "keyword" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "frequency": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "frequency": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "timeMode": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "date series": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "dates": { - "type": "text" - }, - "description": { - "type": "text" - }, - "duration": { - "type": "text" - }, - "event": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "exceptions": { - "type": "text" - }, - "frequency": { - "type": "keyword" - }, - "image": { - "type": "keyword" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "performers": { + "maintainer": { "dynamic": "strict", "properties": { "additionalName": { @@ -11096,7 +30968,7 @@ } }, "type": { - "type": "text", + "type": "keyword", "fields": { "sort": { "analyzer": "ducet_sort", @@ -11104,7 +30976,6 @@ "type": "text" }, "raw": { - "ignore_above": 10000, "type": "keyword" } } @@ -11117,13186 +30988,1541 @@ } } }, - "translations": { + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { "dynamic": "strict", "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "frequency": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { "type": "keyword" }, - "origin": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { "dynamic": "strict", "properties": { + "description": { + "type": "text" + }, "name": { "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } } } } } }, - "en": { - "dynamic": "strict", - "properties": { - "description": { + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, "type": "text" }, - "frequency": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { + "raw": { "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } } } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" } } }, "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { "type": "text" }, "url": { "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" } } }, - "diff": { + "serviceType": { + "type": "text" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "inPlace.inventory.*" + } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" + }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_ticket*" + }, + "template_todo": { + "mappings": { + "todo": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "categories": { + "type": "text", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "categorySpecificValues": { + "dynamic": "strict", + "properties": {} + }, + "description": { + "type": "text" + }, + "done": { + "type": "boolean" + }, + "dueDate": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "priority": { + "type": "text" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "categories": { + "type": "text" + }, + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ + { + "SCMap": { + "mapping": { + "type": "text" + }, + "match": "*", + "match_mapping_type": "*", + "path_match": "categorySpecificValues.*" + } + } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" + }, + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" + }, + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_todo*" + }, + "template_tour": { + "mappings": { + "tour": { + "dynamic": "strict", + "properties": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "init": { + "type": "text" + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { + "type": "text" + }, + "maintainer": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "modified": { + "type": "text" + }, + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "steps": { "dynamic": "strict", "properties": { "action": { "type": "keyword" }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "changes": { - "dynamic": "strict", - "properties": { - "from": { - "type": "keyword" - }, - "op": { - "type": "keyword" - }, - "path": { - "type": "keyword" - }, - "value": { - "dynamic": true, - "properties": {} - } - } - }, - "dateCreated": { - "type": "text" - }, - "description": { - "type": "text" - }, - "image": { + "side": { "type": "keyword" }, - "name": { - "type": "text", - "fields": { - "raw": { + "type": { + "type": "keyword" + }, + "location": { + "type": "keyword" + }, + "canFail": { + "type": "boolean" + }, + "element": { + "type": "keyword" + }, + "position": { + "type": "keyword" + }, + "resolved": { + "dynamic": "strict", + "properties": { + "element": { "type": "keyword" }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" + "event": { + "type": "keyword" + }, + "location": { + "dynamic": "strict", + "properties": { + "is": { + "type": "keyword" + }, + "match": { + "type": "keyword" + } + } + }, + "menu": { + "type": "keyword" } } }, - "object": { + "text": { + "type": "text" + }, + "tries": { + "type": "integer" + } + } + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { "dynamic": "strict", "properties": { - "academicTerms": { - "dynamic": "strict", - "properties": { - "acronym": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "endDate": { - "type": "text" - }, - "eventsEndDate": { - "type": "text" - }, - "eventsStartDate": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "startDate": { - "type": "text" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "catalogs": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "level": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "categories": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "creativeWorks": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "datePublished": { - "type": "text" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "dynamic": "strict", - "properties": { - "AcademicEvent": { - "type": "text" - }, - "Article": { - "type": "text" - }, - "Book": { - "type": "text" - }, - "Building": { - "type": "text" - }, - "Catalog": { - "type": "text" - }, - "CourseOfStudies": { - "type": "text" - }, - "DateSeries": { - "type": "text" - }, - "Diff": { - "type": "text" - }, - "Dish": { - "type": "text" - }, - "Favorite": { - "type": "text" - }, - "Floor": { - "type": "text" - }, - "Message": { - "type": "text" - }, - "Organization": { - "type": "text" - }, - "Person": { - "type": "text" - }, - "PointOfInterest": { - "type": "text" - }, - "Room": { - "type": "text" - }, - "Semester": { - "type": "text" - }, - "Setting": { - "type": "text" - }, - "SportCourse": { - "type": "text" - }, - "StudyModule": { - "type": "text" - }, - "Ticket": { - "type": "text" - }, - "ToDo": { - "type": "text" - }, - "Tour": { - "type": "text" - }, - "Video": { - "type": "text" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, "description": { "type": "text" }, - "image": { - "type": "keyword" - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "maximumParticipants": { - "type": "integer" - }, "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "organizers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } + "type": "text" }, "origin": { "dynamic": "strict", "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, "name": { "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" } } - }, - "originalCategory": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "performers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - }, - "articleBody": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "offers[].availability": { - "type": "keyword" - }, - "bookEdition": { - "type": "keyword" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "text" - }, - "frequency": { - "type": "text" - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floorName": { - "type": "text" - }, - "messageBody": { - "type": "text" - }, - "values": { - "type": "keyword" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - }, - "articleBody": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "offers[].availability": { - "type": "keyword" - }, - "bookEdition": { - "type": "keyword" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "text" - }, - "frequency": { - "type": "text" - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floorName": { - "type": "text" - }, - "messageBody": { - "type": "text" - }, - "values": { - "type": "keyword" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "articleBody": { - "type": "text" - }, - "authors": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "datePublished": { - "type": "text" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "publishers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "bookEdition": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "isbn": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "numberOfPages": { - "type": "integer" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "openingHours": { - "type": "keyword" - }, - "academicTerm": { - "dynamic": "strict", - "properties": { - "acronym": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "endDate": { - "type": "text" - }, - "eventsEndDate": { - "type": "text" - }, - "eventsStartDate": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "startDate": { - "type": "text" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "dynamic": "strict", - "properties": { - "AcademicEvent": { - "type": "text" - }, - "Article": { - "type": "text" - }, - "Book": { - "type": "text" - }, - "Building": { - "type": "text" - }, - "Catalog": { - "type": "text" - }, - "CourseOfStudies": { - "type": "text" - }, - "DateSeries": { - "type": "text" - }, - "Diff": { - "type": "text" - }, - "Dish": { - "type": "text" - }, - "Favorite": { - "type": "text" - }, - "Floor": { - "type": "text" - }, - "Message": { - "type": "text" - }, - "Organization": { - "type": "text" - }, - "Person": { - "type": "text" - }, - "PointOfInterest": { - "type": "text" - }, - "Room": { - "type": "text" - }, - "Semester": { - "type": "text" - }, - "Setting": { - "type": "text" - }, - "SportCourse": { - "type": "text" - }, - "StudyModule": { - "type": "text" - }, - "Ticket": { - "type": "text" - }, - "ToDo": { - "type": "text" - }, - "Tour": { - "type": "text" - }, - "Video": { - "type": "text" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "level": { - "type": "integer" - }, - "superCatalog": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "level": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "superCatalogs": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "level": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "academicDegree": { - "type": "keyword" - }, - "academicDegreewithField": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "academicDegreewithFieldShort": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "department": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "mainLanguage": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "major": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "mode": { - "type": "keyword" - }, - "secretary": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - }, - "startDates": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "dates": { - "type": "text" - }, - "description": { - "type": "text" - }, - "duration": { - "type": "text" - }, - "exceptions": { - "type": "text" - }, - "frequency": { - "type": "keyword" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "frequency": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "frequency": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "timeMode": { - "type": "keyword" - }, - "dates": { - "type": "text" - }, - "duration": { - "type": "text" - }, - "event": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "exceptions": { - "type": "text" - }, - "frequency": { - "type": "keyword" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "additives": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "dishAddOns": { - "dynamic": "strict", - "properties": { - "additives": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nutrition": { - "dynamic": "strict", - "properties": { - "calories": { - "type": "float" - }, - "carbohydrateContent": { - "type": "float" - }, - "fatContent": { - "type": "float" - }, - "proteinContent": { - "type": "float" - }, - "saltContent": { - "type": "float" - }, - "saturatedFatContent": { - "type": "float" - }, - "sugarContent": { - "type": "float" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "nutrition": { - "dynamic": "strict", - "properties": { - "calories": { - "type": "float" - }, - "carbohydrateContent": { - "type": "float" - }, - "fatContent": { - "type": "float" - }, - "proteinContent": { - "type": "float" - }, - "saltContent": { - "type": "float" - }, - "saturatedFatContent": { - "type": "float" - }, - "sugarContent": { - "type": "float" - } - } - }, - "data": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - }, - "articleBody": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "offers[].availability": { - "type": "keyword" - }, - "bookEdition": { - "type": "keyword" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "text" - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - }, - "articleBody": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "offers[].availability": { - "type": "keyword" - }, - "bookEdition": { - "type": "keyword" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "text" - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "articleBody": { - "type": "text" - }, - "datePublished": { - "type": "text" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "bookEdition": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "isbn": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "numberOfPages": { - "type": "integer" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "openingHours": { - "type": "keyword" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - }, - "done": { - "type": "boolean" - }, - "dueDate": { - "type": "text" - }, - "priority": { - "dynamic": "strict", - "properties": { - "HIGH": { - "type": "text" - }, - "LOW": { - "type": "text" - }, - "NORMAL": { - "type": "text" - } - } - } - } - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "plan": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "integer" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "features": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "integer" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "geometry": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "id": { - "type": "integer" - }, - "place": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "paymentsAccepted": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "audienceOrganizations": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "audiences": { - "type": "keyword" - }, - "dateCreated": { - "type": "text" - }, - "messageBody": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "affiliations": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "homeLocations": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "workLocations": { - "dynamic": "strict", - "properties": { - "areaServed": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "paymentsAccepted": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "email": { - "type": "keyword" - }, - "faxNumber": { - "type": "keyword" - }, - "hoursAvailable": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "url": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - }, - "acronym": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "endDate": { - "type": "text" - }, - "eventsEndDate": { - "type": "text" - }, - "eventsStartDate": { - "type": "text" - }, - "startDate": { - "type": "text" - }, - "defaultValue": { - "type": "boolean" - }, - "inputType": { - "dynamic": "strict", - "properties": { - "MultipleChoice": { - "type": "text" - }, - "Number": { - "type": "text" - }, - "Password": { - "type": "text" - }, - "SingleChoice": { - "type": "text" - }, - "Text": { - "type": "text" - } - } - }, - "order": { - "type": "integer" - }, - "value": { - "type": "boolean" - }, - "values": { - "type": "boolean" - }, - "academicEvents": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "ects": { - "type": "float" - }, - "faculty": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "language": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "partnerModules": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "ects": { - "type": "float" - }, - "image": { - "type": "keyword" - }, - "language": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "requiredModules": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "ects": { - "type": "float" - }, - "image": { - "type": "keyword" - }, - "language": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "approxWaitingTime": { - "type": "text" - }, - "currentTicketNumber": { - "type": "keyword" - }, - "serviceType": { - "type": "text" - }, - "done": { - "type": "boolean" - }, - "dueDate": { - "type": "text" - }, - "priority": { - "dynamic": "strict", - "properties": { - "HIGH": { - "type": "text" - }, - "LOW": { - "type": "text" - }, - "NORMAL": { - "type": "text" - } - } - }, - "init": { - "type": "text" - }, - "steps": { - "dynamic": "strict", - "properties": { - "action": { - "type": "keyword" - }, - "side": { - "type": "keyword" - }, - "type": { - "type": "keyword" - }, - "location": { - "type": "keyword" - }, - "canFail": { - "type": "boolean" - }, - "element": { - "type": "keyword" - }, - "position": { - "type": "keyword" - }, - "resolved": { - "dynamic": "strict", - "properties": { - "element": { - "type": "keyword" - }, - "event": { - "type": "keyword" - }, - "location": { - "dynamic": "strict", - "properties": { - "is": { - "type": "keyword" - }, - "match": { - "type": "keyword" - } - } - }, - "menu": { - "type": "keyword" - } - } - }, - "text": { - "type": "text" - }, - "tries": { - "type": "integer" - } - } - }, - "actors": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "sources": { - "dynamic": "strict", - "properties": { - "height": { - "type": "integer" - }, - "mimeType": { - "type": "keyword" - }, - "size": { - "type": "integer" - }, - "url": { - "type": "keyword" - }, - "width": { - "type": "integer" - } - } - }, - "thumbnails": { - "type": "keyword" - }, - "tracks": { - "dynamic": "strict", - "properties": { - "language": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - }, - "url": { - "type": "keyword" - } - } - }, - "transcript": { - "type": "text" } } }, - "origin": { + "en": { "dynamic": "strict", "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { + "description": { "type": "text" }, "name": { "type": "text" }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { + "origin": { "dynamic": "strict", "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, "name": { "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } } } } } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" } } }, - "dish": { - "dynamic": "strict", - "properties": { - "additives": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { + "raw": { "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "dishAddOns": { - "dynamic": "strict", - "properties": { - "additives": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nutrition": { - "dynamic": "strict", - "properties": { - "calories": { - "type": "float" - }, - "carbohydrateContent": { - "type": "float" - }, - "fatContent": { - "type": "float" - }, - "proteinContent": { - "type": "float" - }, - "saltContent": { - "type": "float" - }, - "saturatedFatContent": { - "type": "float" - }, - "sugarContent": { - "type": "float" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nutrition": { - "dynamic": "strict", - "properties": { - "calories": { - "type": "float" - }, - "carbohydrateContent": { - "type": "float" - }, - "fatContent": { - "type": "float" - }, - "proteinContent": { - "type": "float" - }, - "saltContent": { - "type": "float" - }, - "saturatedFatContent": { - "type": "float" - }, - "sugarContent": { - "type": "float" - } - } - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" } } }, - "favorite": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "data": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - }, - "articleBody": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "offers[].availability": { - "type": "keyword" - }, - "bookEdition": { - "type": "keyword" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "text" - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - }, - "articleBody": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "offers[].availability": { - "type": "keyword" - }, - "bookEdition": { - "type": "keyword" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "text" - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "articleBody": { - "type": "text" - }, - "datePublished": { - "type": "text" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "bookEdition": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "isbn": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "numberOfPages": { - "type": "integer" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "openingHours": { - "type": "keyword" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - }, - "done": { - "type": "boolean" - }, - "dueDate": { - "type": "text" - }, - "priority": { - "dynamic": "strict", - "properties": { - "HIGH": { - "type": "text" - }, - "LOW": { - "type": "text" - }, - "NORMAL": { - "type": "text" - } - } - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "type": { - "type": "text" - }, - "updated": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } + "uid": { + "type": "text" }, - "floor": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "floorName": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "plan": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "integer" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "features": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "integer" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "geometry": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "id": { - "type": "integer" - }, - "place": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "paymentsAccepted": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "floorName": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "floorName": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } + "url": { + "type": "text" }, - "message": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "audienceOrganizations": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "audiences": { - "type": "keyword" - }, - "authors": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "dateCreated": { - "type": "text" - }, - "datePublished": { - "type": "text" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "messageBody": { - "type": "text" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "publishers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "messageBody": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "messageBody": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false + } + }, + "settings": { + "analysis": { + "analyzer": { + "ducet_sort": { + "filter": [ + "german_phonebook" + ], + "tokenizer": "keyword", + "type": "custom" }, - "organization": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } + "search_german": { + "filter": [ + "lowercase", + "german_stop", + "german_stemmer" + ], + "tokenizer": "stapps_ngram", + "type": "custom" + } + }, + "filter": { + "german_phonebook": { + "country": "DE", + "language": "de", + "type": "icu_collation", + "variant": "@collation=phonebook" }, - "person": { + "german_stemmer": { + "language": "german", + "type": "stemmer" + }, + "german_stop": { + "stopwords": "_german_", + "type": "stop" + } + }, + "tokenizer": { + "stapps_ngram": { + "max_gram": 7, + "min_gram": 4, + "type": "ngram" + } + } + }, + "mapping.total_fields.limit": 10000, + "max_result_window": 30000, + "number_of_replicas": 0, + "number_of_shards": 1 + }, + "template": "stapps_tour*" + }, + "template_video": { + "mappings": { + "video": { + "dynamic": "strict", + "properties": { + "actors": { "dynamic": "strict", "properties": { "additionalName": { @@ -24307,101 +32533,6 @@ } } }, - "affiliations": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, "alternateNames": { "type": "keyword", "fields": { @@ -24451,372 +32582,6 @@ } } }, - "homeLocations": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, "honorificPrefix": { "type": "keyword", "fields": { @@ -24860,380 +32625,6 @@ "nationality": { "type": "keyword" }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, "telephone": { "type": "keyword" }, @@ -25289,7 +32680,6 @@ "type": "text" }, "raw": { - "ignore_above": 10000, "type": "keyword" } } @@ -25299,328 +32689,25 @@ }, "url": { "type": "text" - }, - "workLocations": { - "dynamic": "strict", - "properties": { - "areaServed": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "paymentsAccepted": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "email": { - "type": "keyword" - }, - "faxNumber": { - "type": "keyword" - }, - "hoursAvailable": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "url": { - "type": "keyword" - } - } } } }, - "point of interest": { + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "authors": { "dynamic": "strict", "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" } } }, @@ -25632,86 +32719,213 @@ } } }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} + "birthDate": { + "type": "text" }, "description": { "type": "text" }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" } } }, "image": { "type": "keyword" }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" + }, + "translations": { + "dynamic": "strict", + "properties": { + "de": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + }, + "en": { + "dynamic": "strict", + "properties": { + "description": { + "type": "text" + }, + "name": { + "type": "text" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } + } + } + } + } + }, + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + }, + "raw": { + "type": "keyword" + } + } + }, + "uid": { + "type": "text" + }, + "url": { + "type": "text" + } + } + }, + "datePublished": { + "type": "text" + }, + "description": { + "type": "text" + }, + "duration": { + "type": "text" + }, + "image": { + "type": "keyword" + }, + "inLanguages": { + "dynamic": "strict", + "properties": { + "code": { + "type": "keyword" + }, + "name": { + "type": "keyword" + } + } + }, + "keywords": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "offers": { + "dynamic": "strict", + "properties": { + "availability": { + "type": "keyword" + }, + "availabilityEnds": { + "type": "text" + }, + "availabilityStarts": { + "type": "text" + }, "inPlace": { "dynamic": "strict", "properties": { @@ -25798,66 +33012,14 @@ "dynamic": "strict", "properties": { "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" }, "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } + "precision": "1m", + "tree": "quadtree", + "type": "geo_shape" } } }, @@ -26050,7 +33212,6 @@ "type": "text" }, "raw": { - "ignore_above": 10000, "type": "keyword" } } @@ -26078,2476 +33239,30 @@ } } }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "origin": { + "prices": { "dynamic": "strict", "properties": { - "indexed": { - "type": "text" + "default": { + "type": "float", + "fields": {} }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } + "employee": { + "type": "float", + "fields": {} }, - "modified": { - "type": "text" + "guest": { + "type": "float", + "fields": {} }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" + "student": { + "type": "float", + "fields": {} } } }, - "translations": { + "provider": { "dynamic": "strict", "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "room": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "paymentsAccepted": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "semester": { - "dynamic": "strict", - "properties": { - "acronym": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "endDate": { - "type": "text" - }, - "eventsEndDate": { - "type": "text" - }, - "eventsStartDate": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "startDate": { - "type": "text" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "setting": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "defaultValue": { - "type": "boolean" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inputType": { - "dynamic": "strict", - "properties": { - "MultipleChoice": { - "type": "text" - }, - "Number": { - "type": "text" - }, - "Password": { - "type": "text" - }, - "SingleChoice": { - "type": "text" - }, - "Text": { - "type": "text" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "order": { - "type": "integer" - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "values": { - "type": "keyword" - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "values": { - "type": "keyword" - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "value": { - "type": "boolean" - }, - "values": { - "type": "boolean" - } - } - }, - "sport course": { - "dynamic": "strict", - "properties": { - "academicTerms": { - "dynamic": "strict", - "properties": { - "acronym": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, "alternateNames": { "type": "keyword", "fields": { @@ -28559,15 +33274,6 @@ "description": { "type": "text" }, - "endDate": { - "type": "text" - }, - "eventsEndDate": { - "type": "text" - }, - "eventsStartDate": { - "type": "text" - }, "image": { "type": "keyword" }, @@ -28584,9 +33290,6 @@ } } }, - "startDate": { - "type": "text" - }, "translations": { "dynamic": "strict", "properties": { @@ -28639,7 +33342,6 @@ "type": "text" }, "raw": { - "ignore_above": 10000, "type": "keyword" } } @@ -28649,21 +33351,8 @@ }, "url": { "type": "text" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "catalogs": { - "dynamic": "strict", - "properties": { - "alternateNames": { + }, + "additionalName": { "type": "keyword", "fields": { "raw": { @@ -28671,321 +33360,85 @@ } } }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { + "birthDate": { "type": "text" }, - "image": { - "type": "keyword" - }, - "level": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { + "email": { "type": "keyword", "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, "raw": { - "ignore_above": 10000, "type": "keyword" } } }, - "uid": { - "type": "text" + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } }, - "url": { - "type": "text" + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" } } - }, - "creativeWorks": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "datePublished": { - "type": "text" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "dynamic": "strict", - "properties": { - "AcademicEvent": { - "type": "text" - }, - "Article": { - "type": "text" - }, - "Book": { - "type": "text" - }, - "Building": { - "type": "text" - }, - "Catalog": { - "type": "text" - }, - "CourseOfStudies": { - "type": "text" - }, - "DateSeries": { - "type": "text" - }, - "Diff": { - "type": "text" - }, - "Dish": { - "type": "text" - }, - "Favorite": { - "type": "text" - }, - "Floor": { - "type": "text" - }, - "Message": { - "type": "text" - }, - "Organization": { - "type": "text" - }, - "Person": { - "type": "text" - }, - "PointOfInterest": { - "type": "text" - }, - "Room": { - "type": "text" - }, - "Semester": { - "type": "text" - }, - "Setting": { - "type": "text" - }, - "SportCourse": { - "type": "text" - }, - "StudyModule": { - "type": "text" - }, - "Ticket": { - "type": "text" - }, - "ToDo": { - "type": "text" - }, - "Tour": { - "type": "text" - }, - "Video": { - "type": "text" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "description": { + } + } + }, + "origin": { + "dynamic": "strict", + "properties": { + "indexed": { "type": "text" }, - "image": { - "type": "keyword" - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "organizers": { + "maintainer": { "dynamic": "strict", "properties": { "additionalName": { @@ -29143,7 +33596,6 @@ "type": "text" }, "raw": { - "ignore_above": 10000, "type": "keyword" } } @@ -29156,381 +33608,16 @@ } } }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } + "modified": { + "type": "text" }, - "performers": { + "name": { + "type": "text" + }, + "originalId": { + "type": "text" + }, + "responsibleEntity": { "dynamic": "strict", "properties": { "additionalName": { @@ -29688,7 +33775,6 @@ "type": "text" }, "raw": { - "ignore_above": 10000, "type": "keyword" } } @@ -29701,8 +33787,128 @@ } } }, - "remainingAttendeeCapacity": { - "type": "integer" + "type": { + "type": "text" + }, + "url": { + "type": "text" + }, + "created": { + "type": "text" + }, + "deleted": { + "type": "boolean" + }, + "updated": { + "type": "text" + } + } + }, + "publishers": { + "dynamic": "strict", + "properties": { + "additionalName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "alternateNames": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "birthDate": { + "type": "text" + }, + "description": { + "type": "text" + }, + "email": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "familyName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "faxNumber": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "gender": { + "type": "keyword" + }, + "givenName": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificPrefix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "honorificSuffix": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "image": { + "type": "keyword" + }, + "jobTitles": { + "type": "keyword", + "fields": { + "raw": { + "type": "keyword" + } + } + }, + "name": { + "type": "text", + "fields": { + "raw": { + "type": "keyword" + }, + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, + "type": "text" + } + } + }, + "nationality": { + "type": "keyword" + }, + "telephone": { + "type": "keyword" }, "translations": { "dynamic": "strict", @@ -29756,7 +33962,6 @@ "type": "text" }, "raw": { - "ignore_above": 10000, "type": "keyword" } } @@ -29769,263 +33974,32 @@ } } }, - "study module": { + "sources": { "dynamic": "strict", "properties": { - "academicEvents": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } + "height": { + "type": "integer" }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "ects": { - "type": "float" - }, - "faculty": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "image": { + "mimeType": { "type": "keyword" }, + "size": { + "type": "integer" + }, + "url": { + "type": "keyword" + }, + "width": { + "type": "integer" + } + } + }, + "thumbnails": { + "type": "keyword" + }, + "tracks": { + "dynamic": "strict", + "properties": { "language": { "dynamic": "strict", "properties": { @@ -30037,5042 +34011,143 @@ } } }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "partnerModules": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "ects": { - "type": "float" - }, - "image": { - "type": "keyword" - }, - "language": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "requiredModules": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "ects": { - "type": "float" - }, - "image": { - "type": "keyword" - }, - "language": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "secretary": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" + "type": "keyword" }, "url": { - "type": "text" + "type": "keyword" } } }, - "ticket": { + "transcript": { + "type": "text" + }, + "translations": { "dynamic": "strict", "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "approxWaitingTime": { - "type": "text" - }, - "currentTicketNumber": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inPlace": { + "de": { "dynamic": "strict", "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, "description": { "type": "text" }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { + "keywords": { "type": "keyword" }, "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } + "type": "text" }, - "openingHours": { + "offers[].availability": { "type": "keyword" }, - "translations": { + "origin": { "dynamic": "strict", "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, + "name": { "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" } } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" } } }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "origin": { + "en": { "dynamic": "strict", "properties": { - "indexed": { + "description": { "type": "text" }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" + "keywords": { + "type": "keyword" }, "name": { "type": "text" }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "serviceType": { - "type": "text" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, + "offers[].availability": { "type": "keyword" + }, + "origin": { + "dynamic": "strict", + "properties": { + "name": { + "type": "text" + } + } } } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" } } }, - "todo": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { + "type": { + "type": "keyword", + "fields": { + "sort": { + "analyzer": "ducet_sort", + "fielddata": true, "type": "text" }, - "done": { - "type": "boolean" - }, - "dueDate": { - "type": "text" - }, - "image": { + "raw": { "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "priority": { - "dynamic": "strict", - "properties": { - "HIGH": { - "type": "text" - }, - "LOW": { - "type": "text" - }, - "NORMAL": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" } } }, - "tour": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { + "uid": { + "type": "text" + }, + "url": { + "type": "text" + }, + "creation_date": { + "type": "date" + } + }, + "dynamic_templates": [ + { + "SCMap": { + "mapping": { "type": "text" }, - "image": { - "type": "keyword" - }, - "init": { - "type": "text" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "steps": { - "dynamic": "strict", - "properties": { - "action": { - "type": "keyword" - }, - "side": { - "type": "keyword" - }, - "type": { - "type": "keyword" - }, - "location": { - "type": "keyword" - }, - "canFail": { - "type": "boolean" - }, - "element": { - "type": "keyword" - }, - "position": { - "type": "keyword" - }, - "resolved": { - "dynamic": "strict", - "properties": { - "element": { - "type": "keyword" - }, - "event": { - "type": "keyword" - }, - "location": { - "dynamic": "strict", - "properties": { - "is": { - "type": "keyword" - }, - "match": { - "type": "keyword" - } - } - }, - "menu": { - "type": "keyword" - } - } - }, - "text": { - "type": "text" - }, - "tries": { - "type": "integer" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" } }, - "video": { - "dynamic": "strict", - "properties": { - "actors": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "authors": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "datePublished": { + { + "SCMap": { + "mapping": { "type": "text" }, - "description": { + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { "type": "text" }, - "duration": { + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.categorySpecificValues.*" + } + }, + { + "SCMap": { + "mapping": { "type": "text" }, - "image": { - "type": "keyword" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "polygon": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "float" - }, - "coordinates": { - "fields": { - "raw": { - "type": "keyword" - } - }, - "type": "geo_point" - }, - "crs": { - "dynamic": "strict", - "properties": { - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "publishers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "sources": { - "dynamic": "strict", - "properties": { - "height": { - "type": "integer" - }, - "mimeType": { - "type": "keyword" - }, - "size": { - "type": "integer" - }, - "url": { - "type": "keyword" - }, - "width": { - "type": "integer" - } - } - }, - "thumbnails": { - "type": "keyword" - }, - "tracks": { - "dynamic": "strict", - "properties": { - "language": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - }, - "url": { - "type": "keyword" - } - } - }, - "transcript": { - "type": "text" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "ignore_above": 10000, - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } + "match": "*", + "match_mapping_type": "*", + "path_match": "offers.inPlace.inventory.*" } } - } + ], + "_source": { + "excludes": [ + "creation_date" + ] + }, + "date_detection": false } }, "settings": { @@ -35124,7 +34199,6 @@ "number_of_replicas": 0, "number_of_shards": 1 }, - "template": "stapps_*" - }, - "errors": [] + "template": "stapps_video*" + } } \ No newline at end of file diff --git a/src/cli.ts b/src/cli.ts index a7bca219..5820fe09 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -15,7 +15,9 @@ import {Logger} from '@openstapps/logger'; import * as commander from 'commander'; import {existsSync, readFileSync, writeFileSync} from 'fs'; +import * as got from 'got'; import {join, resolve} from 'path'; +import {exit} from 'process'; import { getProjectReflection, mkdirPromisified, @@ -102,11 +104,53 @@ commander // write documentation to file // tslint:disable-next-line:no-magic-numbers - writeFileSync(mappingPath, JSON.stringify(result, null, 2)); + writeFileSync(mappingPath, JSON.stringify(result.mappings, null, 2)); Logger.ok(`Elasticsearch mapping written to ${mappingPath}.`); }); +commander + .command('put-es-templates [ignoredTags]') + .action(async (relativeSrcPath, esAddress, ignoredTags) => { + // get absolute paths + const srcPath = resolve(relativeSrcPath); + + let ignoredTagsList: string[] = []; + if (typeof ignoredTags === 'string') { + ignoredTagsList = ignoredTags.split(','); + } + + // get project reflection + const projectReflection = getProjectReflection(srcPath); + + const result = generateTemplate(projectReflection, ignoredTagsList, true); + if (result.errors.length !== 0) { + await Logger.error(`Mapping generated with errors:\n${JSON.stringify(result.errors)}`); + exit(-1); + } else { + Logger.ok('Mapping generated without errors!'); + } + + for (const template in result.mappings) { + if (!result.mappings.hasOwnProperty(template)) { + continue; + } + + const response = await got.put(`${esAddress}_template/${template}`, { + body: result.mappings[template], + json: true, + }); + + const HTTP_STATUS_OK = 200; + if (response.statusCode !== HTTP_STATUS_OK) { + await Logger.error(`Template for "${template}" failed in Elasticsearch:\n${JSON.stringify(response.body)}`); + exit(-1); + } + } + + Logger.ok(`Templates accepted by Elasticsearch.`); + }); + commander .command('schema ') .action(async (relativeSrcPath, relativeSchemaPath) => { diff --git a/src/mapping.ts b/src/mapping.ts index acee776e..e6c3d5ac 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -35,8 +35,8 @@ import {settings} from './mappings/definitions/settings'; import {dynamicTypes, ElasticsearchDataType, typemap} from './mappings/definitions/typemap'; import { ElasticsearchDynamicTemplate, - ElasticsearchMappings, - ElasticsearchObject, ElasticsearchType, + ElasticsearchObject, ElasticsearchTemplateCollection, + ElasticsearchType, ElasticsearchValue, } from './mappings/mapping-definitions'; @@ -172,9 +172,11 @@ function handleExternalType(ref: ReferenceType, generics: Map Date: Fri, 8 Nov 2019 10:52:02 +0100 Subject: [PATCH 097/215] 0.10.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index d8c704c5..8a9e603f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.9.0", + "version": "0.10.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 2c69b09d..2475ff3d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.9.0", + "version": "0.10.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From d7cc4301c0c6ba7b872240b64e66d1059c3f3c13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Fri, 8 Nov 2019 10:52:03 +0100 Subject: [PATCH 098/215] docs: update changelog --- CHANGELOG.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 272342f0..dea64e37 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +# [0.10.0](https://gitlab.com/openstapps/core-tools/compare/v0.9.0...v0.10.0) (2019-11-08) + + +### Bug Fixes + +* make mapping of generics work correctly ([8f7201e](https://gitlab.com/openstapps/core-tools/commit/8f7201e)), closes [#27](https://gitlab.com/openstapps/core-tools/issues/27) +* make mapping tags work for overwritten values ([47361d4](https://gitlab.com/openstapps/core-tools/commit/47361d4)) + + +### Features + +* generate aggreations from annotations in the core ([18ad651](https://gitlab.com/openstapps/core-tools/commit/18ad651)) + + + # [0.9.0](https://gitlab.com/openstapps/core-tools/compare/v0.8.0...v0.9.0) (2019-09-10) From 4c1a374a9ee266884bd33e8a3b3f52fcef8f4019 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Tue, 12 Nov 2019 16:36:43 +0100 Subject: [PATCH 099/215] fix: use .raw field for aggregations --- src/mapping.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mapping.ts b/src/mapping.ts index e6c3d5ac..1af79d29 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -410,7 +410,7 @@ function addAggregatable(path: string, topTypeName: string, global: boolean) { (aggregations[global ? '@all' : topTypeName] as ESNestedAggregation).aggs[property] = { terms: { - field: `${property}.keyword`, + field: `${property}.raw`, size: 1000, }, }; From 53beede1ddf9f53a3747da65c084e1f9170d9c81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Tue, 12 Nov 2019 16:46:36 +0100 Subject: [PATCH 100/215] 0.11.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8a9e603f..9a75eba9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.10.0", + "version": "0.11.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 2475ff3d..ba0c355e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.10.0", + "version": "0.11.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 48dc47d70a8c4ff50cc57d3130954d65c39614f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Tue, 12 Nov 2019 16:46:37 +0100 Subject: [PATCH 101/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index dea64e37..92a5df59 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [0.11.0](https://gitlab.com/openstapps/core-tools/compare/v0.10.0...v0.11.0) (2019-11-12) + + +### Bug Fixes + +* use .raw field for aggregations ([4c1a374](https://gitlab.com/openstapps/core-tools/commit/4c1a374)) + + + # [0.10.0](https://gitlab.com/openstapps/core-tools/compare/v0.9.0...v0.10.0) (2019-11-08) From 8f5570e2e2d350d6153b34f940f4cd5c407b5bc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Fri, 29 Nov 2019 14:08:21 +0100 Subject: [PATCH 102/215] fix: make fields with index signatures a dynamic mapping --- src/mapping.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mapping.ts b/src/mapping.ts index 1af79d29..2de3a9f7 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -222,6 +222,8 @@ function handleDeclarationReflection(decl: DeclarationReflection, let empty = true; // first check if there are any index signatures, so for example `[name: string]: Foo` if (typeof decl.indexSignature !== 'undefined' && typeof decl.indexSignature.parameters !== 'undefined') { + out.dynamic = true; + for (const param of decl.indexSignature.parameters) { empty = false; const template: ElasticsearchDynamicTemplate = {}; From 3dc48aad7ef7647e0b87443b1802029ee736a7ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Tue, 3 Dec 2019 11:21:23 +0100 Subject: [PATCH 103/215] 0.12.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9a75eba9..ab65b658 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.11.0", + "version": "0.12.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ba0c355e..578d8922 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.11.0", + "version": "0.12.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 25a795bc91d80b8039f5d04fa676e207c57d3e8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Tue, 3 Dec 2019 11:21:24 +0100 Subject: [PATCH 104/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92a5df59..65d30269 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [0.12.0](https://gitlab.com/openstapps/core-tools/compare/v0.11.0...v0.12.0) (2019-12-03) + + +### Bug Fixes + +* make fields with index signatures a dynamic mapping ([8f5570e](https://gitlab.com/openstapps/core-tools/commit/8f5570e)) + + + # [0.11.0](https://gitlab.com/openstapps/core-tools/compare/v0.10.0...v0.11.0) (2019-11-12) From 8b3a8f929b4d23b64e439e88910c68ea07794d78 Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Wed, 22 Jan 2020 09:22:13 +0100 Subject: [PATCH 105/215] build: update dependencies --- package-lock.json | 1372 +++++++++-------- package.json | 39 +- src/cli.ts | 12 +- src/common.ts | 4 +- src/mapping.ts | 4 +- src/pack.ts | 6 +- src/schema.ts | 2 +- src/uml/create-diagram.ts | 2 +- src/validate.ts | 5 +- test/{Common.spec.ts => common.spec.ts} | 6 +- ...Diagram.spec.ts => create-diagram.spec.ts} | 0 .../{generatedModel.ts => generated-model.ts} | 0 test/model/{TestClass.ts => test-class.ts} | 2 +- test/model/{TestEnum.ts => test-enum.ts} | 0 .../{TestFunction.ts => test-function.ts} | 0 .../{TestInterface.ts => test-interface.ts} | 6 +- test/model/{TestUnion.ts => test-union.ts} | 0 ...tions.spec.ts => read-definitions.spec.ts} | 2 +- test/{Schema.spec.ts => schema.spec.ts} | 6 +- test/{Validate.spec.ts => validate.spec.ts} | 8 +- 20 files changed, 785 insertions(+), 691 deletions(-) rename test/{Common.spec.ts => common.spec.ts} (86%) rename test/{CreateDiagram.spec.ts => create-diagram.spec.ts} (100%) rename test/model/{generatedModel.ts => generated-model.ts} (100%) rename test/model/{TestClass.ts => test-class.ts} (95%) rename test/model/{TestEnum.ts => test-enum.ts} (100%) rename test/model/{TestFunction.ts => test-function.ts} (100%) rename test/model/{TestInterface.ts => test-interface.ts} (88%) rename test/model/{TestUnion.ts => test-union.ts} (100%) rename test/{ReadDefinitions.spec.ts => read-definitions.spec.ts} (95%) rename test/{Schema.spec.ts => schema.spec.ts} (95%) rename test/{Validate.spec.ts => validate.spec.ts} (94%) diff --git a/package-lock.json b/package-lock.json index ab65b658..2b3d909c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,18 +5,18 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", "dev": true, "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "^7.8.3" } }, "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", "dev": true, "requires": { "chalk": "^2.0.0", @@ -25,60 +25,123 @@ } }, "@babel/runtime": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz", - "integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz", + "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==", "dev": true, "requires": { "regenerator-runtime": "^0.13.2" } }, "@krlwlfrt/async-pool": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@krlwlfrt/async-pool/-/async-pool-0.1.0.tgz", - "integrity": "sha512-PbDyjVme3HR8CrMI04SokU97Enq/+txP5fS2O0XYVSmMYteJ7Q9CLO2y0t8PmNZkt4YCxmHgaNEdMs+/Ki+PAA==" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@krlwlfrt/async-pool/-/async-pool-0.3.0.tgz", + "integrity": "sha512-N4uQIfGTsVw1/fE3Z7DWh878dyFhVkuFYyMiQyW8QTd21yjn91rlub5SERssQXMPKDzYKNGrban3FKSQAtXisQ==" }, "@openstapps/configuration": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.21.0.tgz", - "integrity": "sha512-0PR8es12HJqNOoTHc4XwfNgS3WDpsrhXvkyty8sid6mcyeaOMmhoj680LwJlqcNsRP9DqqPc+s0JB8zKd0NOig==", + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.22.0.tgz", + "integrity": "sha512-XSdUEolaVgP0E0SBmaF7hBUQPbF6/BmSSEZyI68XRGepTCbUJBOs8dLw2TdzRhRdI56bBU4xtXp/+wSP6qZxeg==", "dev": true, "requires": { - "@types/node": "10.14.7", - "@types/semver": "6.0.0", - "@types/yaml": "1.0.2", - "chalk": "2.4.2", - "commander": "2.20.0", - "semver": "6.1.1", - "tslint": "5.17.0", + "@types/node": "10.17.5", + "@types/semver": "6.2.0", + "@types/yaml": "1.2.0", + "chalk": "3.0.0", + "commander": "4.0.1", + "semver": "6.3.0", + "tslint": "5.20.1", "tslint-eslint-rules": "5.4.0", - "yaml": "1.6.0" + "yaml": "1.7.2" }, "dependencies": { "@types/node": { - "version": "10.14.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.7.tgz", - "integrity": "sha512-on4MmIDgHXiuJDELPk1NFaKVUxxCFr37tm8E9yN6rAiF5Pzp/9bBfBHkoexqRiY+hk/Z04EJU9kKEb59YqJ82A==", + "version": "10.17.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.5.tgz", + "integrity": "sha512-RElZIr/7JreF1eY6oD5RF3kpmdcreuQPjg5ri4oQ5g9sq7YWU8HkfB3eH8GwAwxf5OaCh0VPi7r4N/yoTGelrA==", "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "commander": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.0.1.tgz", + "integrity": "sha512-IPF4ouhCP+qdlcmCedhxX4xiGBPyigb8v5NeUp+0LyhwLgxMqyp3S0vl7TAPfS/hiP7FC3caI/PB9lTmP8r1NA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, "@openstapps/logger": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.3.1.tgz", - "integrity": "sha512-N8S4b6yoS+txN1IduxDxOnlJzhrPKWEMnVt02ZbMjSOcD55KNqxh+VgarFTQ1g6KRkquTNCo6c9IQN0UzSIg0g==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.4.0.tgz", + "integrity": "sha512-p12Jt2xg0o/0N4NcHGwmHSM7K6eXsyMTnzEmm1ulIn5c8WUYUQEArYgYwGUMriWv2La3Ec+SCxf7RpTq0yehKA==", "requires": { - "@types/node": "10.14.8", + "@types/node": "10.14.12", "@types/nodemailer": "6.2.0", "chalk": "2.4.2", - "flatted": "2.0.0", + "flatted": "2.0.1", + "moment": "2.24.0", "nodemailer": "6.2.1" }, "dependencies": { - "flatted": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz", - "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==" + "@types/node": { + "version": "10.14.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.12.tgz", + "integrity": "sha512-QcAKpaO6nhHLlxWBvpc4WeLrTvPqlHOvaj0s5GriKkA1zq+bsFBPpfYCvQhLqLgYlIko8A9YrPdaMHCo5mBcpg==" } } }, @@ -96,9 +159,15 @@ } }, "@types/chai": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.7.tgz", - "integrity": "sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==", + "version": "4.2.7", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.7.tgz", + "integrity": "sha512-luq8meHGYwvky0O7u0eQZdA7B4Wd9owUCqvbw2m3XCrCU8mplYOujMBbvyS547AxJkC+pGnd0Cm15eNxEUNU8g==", + "dev": true + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", "dev": true }, "@types/events": { @@ -125,12 +194,13 @@ } }, "@types/got": { - "version": "9.4.4", - "resolved": "https://registry.npmjs.org/@types/got/-/got-9.4.4.tgz", - "integrity": "sha512-IGAJokJRE9zNoBdY5csIwN4U5qQn+20HxC0kM+BbUdfTKIXa7bOX/pdhy23NnLBRP8Wvyhx7X5e6EHJs+4d8HA==", + "version": "9.6.9", + "resolved": "https://registry.npmjs.org/@types/got/-/got-9.6.9.tgz", + "integrity": "sha512-w+ZE+Ovp6fM+1sHwJB7RN3f3pTJHZkyABuULqbtknqezQyWadFEp5BzOXaZzRqAw2md6/d3ybxQJt+BNgpvzOg==", "requires": { "@types/node": "*", - "@types/tough-cookie": "*" + "@types/tough-cookie": "*", + "form-data": "^2.5.0" } }, "@types/handlebars": { @@ -147,9 +217,9 @@ "integrity": "sha512-pGF/zvYOACZ/gLGWdQH8zSwteQS1epp68yRcVLJMgUck/MjEn/FBYmPub9pXT8C1e4a8YZfHo1CKyV8q1vKUnQ==" }, "@types/lodash": { - "version": "4.14.135", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.135.tgz", - "integrity": "sha512-Ed+tSZ9qM1oYpi5kzdsBuOzcAIn1wDW+e8TFJ50IMJMlSopGdJgKAbhHzN6h1E1OfjlGOr2JepzEWtg9NIfoNg==" + "version": "4.14.149", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.149.tgz", + "integrity": "sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ==" }, "@types/marked": { "version": "0.4.2", @@ -172,19 +242,10 @@ "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-0.8.32.tgz", "integrity": "sha512-RTVWV485OOf4+nO2+feurk0chzHkSjkjALiejpHltyuMf/13fGymbbNNFrSKdSSUg1TIwzszXdWsVirxgqYiFA==" }, - "@types/nock": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@types/nock/-/nock-10.0.3.tgz", - "integrity": "sha512-OthuN+2FuzfZO3yONJ/QVjKmLEuRagS9TV9lEId+WHL9KhftYG+/2z+pxlr0UgVVXSpVD8woie/3fzQn8ft/Ow==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, "@types/node": { - "version": "10.14.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.8.tgz", - "integrity": "sha512-I4+DbJEhLEg4/vIy/2gkWDvXBOOtPKV9EnLhYjMoqxcRW+TTZtUftkHktz/a8suoD5mUL7m6ReLrkPvSsCQQmw==" + "version": "10.17.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.13.tgz", + "integrity": "sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg==" }, "@types/nodemailer": { "version": "6.2.0", @@ -195,9 +256,9 @@ } }, "@types/rimraf": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.2.tgz", - "integrity": "sha512-Hm/bnWq0TCy7jmjeN5bKYij9vw5GrDFWME4IuxV08278NtU/VdGbzsBohcCUJ7+QMqmUq5hpRKB39HeQWJjztQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.3.tgz", + "integrity": "sha512-dZfyfL/u9l/oi984hEXdmAjX3JHry7TLWw43u1HQ8HhPv6KtfxnrZ3T/bleJ0GEvnk9t5sM7eePkgMqz3yBcGg==", "dev": true, "requires": { "@types/glob": "*", @@ -205,29 +266,29 @@ } }, "@types/semver": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.0.0.tgz", - "integrity": "sha512-OO0srjOGH99a4LUN2its3+r6CBYcplhJ466yLqs+zvAWgphCpS8hYZEZ797tRDP/QKcqTdb/YCN6ifASoAWkrQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.2.0.tgz", + "integrity": "sha512-1OzrNb4RuAzIT7wHSsgZRlMBlNsJl+do6UblR7JMW4oB7bbR+uBEYtUh7gEc/jM84GGilh68lSOokyM/zNUlBA==", "dev": true }, "@types/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-bZgjwIWu9gHCjirKJoOlLzGi5N0QgZ5t7EXEuoqyWCHTuSddURXo3FOBYDyRPNOWzZ6NbkLvZnVkn483Y/tvcQ==", + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.6.tgz", + "integrity": "sha512-svx2eQS268awlppL/P8wgDLBrsDXdKznABHJcuqXyWpSKJgE1s2clXlBvAwbO/lehTmG06NtEWJRkAk4tAgenA==", "requires": { "@types/glob": "*", "@types/node": "*" } }, "@types/tough-cookie": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.5.tgz", - "integrity": "sha512-SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg==" + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.6.tgz", + "integrity": "sha512-wHNBMnkoEBiRAd3s8KTKwIuO9biFtTf0LehITzBhSco+HQI0xkXZbLOD55SW3Aqw3oUkHstkm5SPv58yaAdFPQ==" }, "@types/yaml": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.0.2.tgz", - "integrity": "sha512-rS1VJFjyGKNHk8H97COnPIK+oeLnc0J9G0ES63o/Ky+WlJCeaFGiGCTGhV/GEVKua7ZWIV1JIDopYUwrfvTo7A==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.2.0.tgz", + "integrity": "sha512-GW8b9qM+ebgW3/zjzPm0I1NxMvLaz/YKT9Ph6tTb+Fkeyzd9yLTvQ6ciQ2MorTRmb/qXmfjMerRpG4LviixaqQ==", "dev": true }, "JSONStream": { @@ -247,11 +308,11 @@ "dev": true }, "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", + "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", "requires": { - "fast-deep-equal": "^2.0.1", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" @@ -278,9 +339,9 @@ } }, "arg": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", - "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==" + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.2.tgz", + "integrity": "sha512-+ytCkGcBtHZ3V2r2Z06AncYO8jz46UEamcspGoU8lHcEbpn6J77QK0vdWvChsclg/tM5XIJC5tnjmPp7Eq6Obg==" }, "argparse": { "version": "1.0.10", @@ -327,6 +388,11 @@ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -433,14 +499,53 @@ "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" }, "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + } } }, "clone-response": { @@ -470,10 +575,18 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "compare-func": { "version": "1.3.2", @@ -491,28 +604,28 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "conventional-changelog": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.8.tgz", - "integrity": "sha512-fb3/DOLLrQdNqN0yYn/lT6HcNsAa9A+VTDBqlZBMQcEPPIeJIMI+DBs3yu+eiYOLi22w9oShq3nn/zN6qm1Hmw==", + "version": "3.1.18", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.18.tgz", + "integrity": "sha512-aN6a3rjgV8qwAJj3sC/Lme2kvswWO7fFSGQc32gREcwIOsaiqBaO6f2p0NomFaPDnTqZ+mMZFLL3hlzvEnZ0mQ==", "dev": true, "requires": { - "conventional-changelog-angular": "^5.0.3", - "conventional-changelog-atom": "^2.0.1", - "conventional-changelog-codemirror": "^2.0.1", - "conventional-changelog-conventionalcommits": "^3.0.2", - "conventional-changelog-core": "^3.2.2", - "conventional-changelog-ember": "^2.0.2", - "conventional-changelog-eslint": "^3.0.2", + "conventional-changelog-angular": "^5.0.6", + "conventional-changelog-atom": "^2.0.3", + "conventional-changelog-codemirror": "^2.0.3", + "conventional-changelog-conventionalcommits": "^4.2.3", + "conventional-changelog-core": "^4.1.4", + "conventional-changelog-ember": "^2.0.4", + "conventional-changelog-eslint": "^3.0.4", "conventional-changelog-express": "^2.0.1", - "conventional-changelog-jquery": "^3.0.4", - "conventional-changelog-jshint": "^2.0.1", - "conventional-changelog-preset-loader": "^2.1.1" + "conventional-changelog-jquery": "^3.0.6", + "conventional-changelog-jshint": "^2.0.3", + "conventional-changelog-preset-loader": "^2.3.0" } }, "conventional-changelog-angular": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.3.tgz", - "integrity": "sha512-YD1xzH7r9yXQte/HF9JBuEDfvjxxwDGGwZU1+ndanbY0oFgA+Po1T9JDSpPLdP0pZT6MhCAsdvFKC4TJ4MTJTA==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.6.tgz", + "integrity": "sha512-QDEmLa+7qdhVIv8sFZfVxU1VSyVvnXPsxq8Vam49mKUcO1Z8VTLEJk9uI21uiJUsnmm0I4Hrsdc9TgkOQo9WSA==", "dev": true, "requires": { "compare-func": "^1.3.1", @@ -520,80 +633,106 @@ } }, "conventional-changelog-atom": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.1.tgz", - "integrity": "sha512-9BniJa4gLwL20Sm7HWSNXd0gd9c5qo49gCi8nylLFpqAHhkFTj7NQfROq3f1VpffRtzfTQp4VKU5nxbe2v+eZQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.3.tgz", + "integrity": "sha512-szZe2ut97qNO6vCCMkm1I/tWu6ol4Rr8a9Lx0y/VlpDnpY0PNp+oGpFgU55lplhx+I3Lro9Iv4/gRj0knfgjzg==", "dev": true, "requires": { "q": "^1.5.1" } }, "conventional-changelog-cli": { - "version": "2.0.21", - "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.0.21.tgz", - "integrity": "sha512-gMT1XvSVmo9Np1WUXz8Mvt3K+OtzR+Xu13z0jq/3qsXBbLuYc2/oaUXVr68r3fYOL8E9dN2uvX7Hc7RkeWvRVA==", + "version": "2.0.31", + "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.0.31.tgz", + "integrity": "sha512-nMINylKAamBLM3OmD7/44d9TPZ3V58IDTXoGC/QtXxve+1Sj37BQTzIEW3TNaviZ2ZV/b5Dqg0eSk4DNP5fBdA==", "dev": true, "requires": { "add-stream": "^1.0.0", - "conventional-changelog": "^3.1.8", - "lodash": "^4.2.1", - "meow": "^4.0.0", - "tempfile": "^1.1.1" + "conventional-changelog": "^3.1.18", + "lodash": "^4.17.15", + "meow": "^5.0.0", + "tempfile": "^3.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + } } }, "conventional-changelog-codemirror": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.1.tgz", - "integrity": "sha512-23kT5IZWa+oNoUaDUzVXMYn60MCdOygTA2I+UjnOMiYVhZgmVwNd6ri/yDlmQGXHqbKhNR5NoXdBzSOSGxsgIQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.3.tgz", + "integrity": "sha512-t2afackdgFV2yBdHhWPqrKbpaQeVnz2hSJKdWqjasPo5EpIB6TBL0er3cOP1mnGQmuzk9JSvimNSuqjWGDtU5Q==", "dev": true, "requires": { "q": "^1.5.1" } }, "conventional-changelog-conventionalcommits": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-3.0.2.tgz", - "integrity": "sha512-w1+fQSDnm/7+sPKIYC5nfRVYDszt+6HdWizrigSqWFVIiiBVzkHGeqDLMSHc+Qq9qssHVAxAak5206epZyK87A==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.2.3.tgz", + "integrity": "sha512-atGa+R4vvEhb8N/8v3IoW59gCBJeeFiX6uIbPu876ENAmkMwsenyn0R21kdDHJFLQdy6zW4J6b4xN8KI3b9oww==", "dev": true, "requires": { "compare-func": "^1.3.1", + "lodash": "^4.17.15", "q": "^1.5.1" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + } } }, "conventional-changelog-core": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.2.2.tgz", - "integrity": "sha512-cssjAKajxaOX5LNAJLB+UOcoWjAIBvXtDMedv/58G+YEmAXMNfC16mmPl0JDOuVJVfIqM0nqQiZ8UCm8IXbE0g==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.1.4.tgz", + "integrity": "sha512-LO58ZbEpp1Ul+y/vOI8rJRsWkovsYkCFbOCVgi6UnVfU8WC0F8K8VQQwaBZWWUpb6JvEiN4GBR5baRP2txZ+Vg==", "dev": true, "requires": { - "conventional-changelog-writer": "^4.0.5", - "conventional-commits-parser": "^3.0.2", + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^4.0.11", + "conventional-commits-parser": "^3.0.8", "dateformat": "^3.0.0", "get-pkg-repo": "^1.0.0", "git-raw-commits": "2.0.0", "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^2.0.2", - "lodash": "^4.2.1", + "git-semver-tags": "^3.0.1", + "lodash": "^4.17.15", "normalize-package-data": "^2.3.5", "q": "^1.5.1", "read-pkg": "^3.0.0", "read-pkg-up": "^3.0.0", "through2": "^3.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + } } }, "conventional-changelog-ember": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.2.tgz", - "integrity": "sha512-qtZbA3XefO/n6DDmkYywDYi6wDKNNc98MMl2F9PKSaheJ25Trpi3336W8fDlBhq0X+EJRuseceAdKLEMmuX2tg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.4.tgz", + "integrity": "sha512-q1u73sO9uCnxN4TSw8xu6MRU8Y1h9kpwtcdJuNRwu/LSKI1IE/iuNSH5eQ6aLlQ3HTyrIpTfUuVybW4W0F17rA==", "dev": true, "requires": { "q": "^1.5.1" } }, "conventional-changelog-eslint": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.2.tgz", - "integrity": "sha512-Yi7tOnxjZLXlCYBHArbIAm8vZ68QUSygFS7PgumPRiEk+9NPUeucy5Wg9AAyKoBprSV3o6P7Oghh4IZSLtKCvQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.4.tgz", + "integrity": "sha512-CPwTUENzhLGl3auunrJxiIEWncAGaby7gOFCdj2gslIuOFJ0KPJVOUhRz4Da/I53sdo/7UncUJkiLg94jEsjxg==", "dev": true, "requires": { "q": "^1.5.1" @@ -609,18 +748,18 @@ } }, "conventional-changelog-jquery": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.4.tgz", - "integrity": "sha512-IVJGI3MseYoY6eybknnTf9WzeQIKZv7aNTm2KQsiFVJH21bfP2q7XVjfoMibdCg95GmgeFlaygMdeoDDa+ZbEQ==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.6.tgz", + "integrity": "sha512-gHAABCXUNA/HjnZEm+vxAfFPJkgtrZvCDIlCKfdPVXtCIo/Q0lN5VKpx8aR5p8KdVRQFF3OuTlvv5kv6iPuRqA==", "dev": true, "requires": { "q": "^1.5.1" } }, "conventional-changelog-jshint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.1.tgz", - "integrity": "sha512-kRFJsCOZzPFm2tzRHULWP4tauGMvccOlXYf3zGeuSW4U0mZhk5NsjnRZ7xFWrTFPlCLV+PNmHMuXp5atdoZmEg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.3.tgz", + "integrity": "sha512-Pc2PnMPcez634ckzr4EOWviwRSpZcURaK7bjyD9oK6N5fsC/a+3G7LW5m/JpcHPhA9ZxsfIbm7uqZ3ZDGsQ/sw==", "dev": true, "requires": { "compare-func": "^1.3.1", @@ -628,27 +767,47 @@ } }, "conventional-changelog-preset-loader": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.1.1.tgz", - "integrity": "sha512-K4avzGMLm5Xw0Ek/6eE3vdOXkqnpf9ydb68XYmCc16cJ99XMMbc2oaNMuPwAsxVK6CC1yA4/I90EhmWNj0Q6HA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.0.tgz", + "integrity": "sha512-/rHb32J2EJnEXeK4NpDgMaAVTFZS3o1ExmjKMtYVgIC4MQn0vkNSbYpdGRotkfGGRWiqk3Ri3FBkiZGbAfIfOQ==", "dev": true }, "conventional-changelog-writer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.6.tgz", - "integrity": "sha512-ou/sbrplJMM6KQpR5rKFYNVQYesFjN7WpNGdudQSWNi6X+RgyFUcSv871YBYkrUYV9EX8ijMohYVzn9RUb+4ag==", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.11.tgz", + "integrity": "sha512-g81GQOR392I+57Cw3IyP1f+f42ME6aEkbR+L7v1FBBWolB0xkjKTeCWVguzRrp6UiT1O6gBpJbEy2eq7AnV1rw==", "dev": true, "requires": { "compare-func": "^1.3.1", "conventional-commits-filter": "^2.0.2", "dateformat": "^3.0.0", - "handlebars": "^4.1.0", + "handlebars": "^4.4.0", "json-stringify-safe": "^5.0.1", - "lodash": "^4.2.1", - "meow": "^4.0.0", + "lodash": "^4.17.15", + "meow": "^5.0.0", "semver": "^6.0.0", "split": "^1.0.0", "through2": "^3.0.0" + }, + "dependencies": { + "handlebars": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.2.tgz", + "integrity": "sha512-4PwqDL2laXtTWZghzzCtunQUTLbo31pcCJrd/B/9JP8XbhVzpS5ZXuKqlOzsd1rtcaLo4KqAn8nl8mkknS4MHw==", + "dev": true, + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + } } }, "conventional-commits-filter": { @@ -662,18 +821,26 @@ } }, "conventional-commits-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.3.tgz", - "integrity": "sha512-KaA/2EeUkO4bKjinNfGUyqPTX/6w9JGshuQRik4r/wJz7rUw3+D3fDG6sZSEqJvKILzKXFQuFkpPLclcsAuZcg==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.8.tgz", + "integrity": "sha512-YcBSGkZbYp7d+Cr3NWUeXbPDFUN6g3SaSIzOybi8bjHL5IJ5225OSCxJJ4LgziyEJ7AaJtE9L2/EU6H7Nt/DDQ==", "dev": true, "requires": { "JSONStream": "^1.0.4", - "is-text-path": "^2.0.0", - "lodash": "^4.2.1", - "meow": "^4.0.0", + "is-text-path": "^1.0.1", + "lodash": "^4.17.15", + "meow": "^5.0.0", "split2": "^2.0.0", "through2": "^3.0.0", "trim-off-newlines": "^1.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + } } }, "core-util-is": { @@ -784,21 +951,15 @@ "type-detect": "^4.0.0" } }, - "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", - "dev": true - }, "deepmerge": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==" }, "defer-to-connect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz", - "integrity": "sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.1.tgz", + "integrity": "sha512-J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ==" }, "define-properties": { "version": "1.1.3", @@ -823,6 +984,11 @@ "rimraf": "^2.6.3" } }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, "diff": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", @@ -884,23 +1050,28 @@ } }, "es-abstract": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", - "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.3.tgz", + "integrity": "sha512-AwiVPKf3sKGMoWtFw0J7Y4MTZ4Iek67k4COWOwHqS8B9TOZ71DCfcoBmdamy8Y6mj4MDz0+VNUpC2HKHFHA3pg==", "dev": true, "requires": { - "es-to-primitive": "^1.2.0", + "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "has": "^1.0.3", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-keys": "^1.0.12" + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" } }, "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { "is-callable": "^1.1.4", @@ -920,9 +1091,9 @@ "dev": true }, "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "execa": { @@ -941,14 +1112,14 @@ } }, "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" }, "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "find-up": { "version": "2.1.0", @@ -973,6 +1144,16 @@ "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==" }, + "form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, "fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", @@ -1165,9 +1346,9 @@ } }, "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -1189,6 +1370,12 @@ "strip-indent": "^1.0.1" } }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -1267,10 +1454,33 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -1282,6 +1492,12 @@ "util-deprecate": "~1.0.1" } }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -1322,21 +1538,13 @@ } }, "git-semver-tags": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.2.tgz", - "integrity": "sha512-34lMF7Yo1xEmsK2EkbArdoU79umpvm0MfzaDkSNYSJqtM5QLAVTPWgpiXSVI5o/O9EvZPSrP4Zvnec/CqhSd5w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-3.0.1.tgz", + "integrity": "sha512-Hzd1MOHXouITfCasrpVJbRDg9uvW7LfABk3GQmXYZByerBDrfrEMP9HXpNT7RxAbieiocP6u+xq20DkvjwxnCA==", "dev": true, "requires": { - "meow": "^4.0.0", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true - } + "meow": "^5.0.0", + "semver": "^6.0.0" } }, "gitconfiglocal": { @@ -1349,9 +1557,9 @@ } }, "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1410,9 +1618,9 @@ "dev": true }, "handlebars": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", - "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.2.tgz", + "integrity": "sha512-4PwqDL2laXtTWZghzzCtunQUTLbo31pcCJrd/B/9JP8XbhVzpS5ZXuKqlOzsd1rtcaLo4KqAn8nl8mkknS4MHw==", "requires": { "neo-async": "^2.6.0", "optimist": "^0.6.1", @@ -1435,9 +1643,9 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", "dev": true }, "he": { @@ -1447,14 +1655,14 @@ "dev": true }, "highlight.js": { - "version": "9.15.8", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.15.8.tgz", - "integrity": "sha512-RrapkKQWwE+wKdF73VsOa2RQdIoO3mxwJ4P8mhbI6KYJUraUHRKM5w5zQQKXNk0xNL4UVRdulV9SBJcmzJNzVA==" + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.0.tgz", + "integrity": "sha512-A97kI1KAUzKoAiEoaGcf2O9YPS8nbDTCRFokaaeBhnqjQTvbAuAJrQMm21zw8s8xzaMtCQBtgbyGXLGxdxQyqQ==" }, "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", "dev": true }, "http-cache-semantics": { @@ -1514,21 +1722,21 @@ "dev": true }, "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", "dev": true }, "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", "dev": true }, "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", "dev": true }, "is-finite": { @@ -1553,9 +1761,9 @@ "dev": true }, "is-path-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.1.0.tgz", - "integrity": "sha512-Sc5j3/YnM8tDeyCsVeKlm/0p95075DyLmDEIkSgQ7mXkrOX+uTCtmQFm0CYzVyJwcCCmO3k8qfJt17SxQwB5Zw==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" }, "is-path-in-cwd": { "version": "2.1.0", @@ -1580,12 +1788,12 @@ "dev": true }, "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", "dev": true, "requires": { - "has": "^1.0.1" + "has": "^1.0.3" } }, "is-stream": { @@ -1595,21 +1803,21 @@ "dev": true }, "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", "dev": true, "requires": { - "has-symbols": "^1.0.0" + "has-symbols": "^1.0.1" } }, "is-text-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", - "integrity": "sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", "dev": true, "requires": { - "text-extensions": "^2.0.0" + "text-extensions": "^1.0.0" } }, "is-utf8": { @@ -1696,9 +1904,9 @@ "dev": true }, "jsonschema": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.4.tgz", - "integrity": "sha512-lz1nOH69GbsVHeVgEdvyavc/33oymY1AZwtePMiMj4HZPMbP5OIKK3zT9INMWjwua/V4Z4yq7wSlBbSG+g4AEw==" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.5.tgz", + "integrity": "sha512-kVTF+08x25PQ0CjuVc0gRM9EUPb0Fe9Ln/utFOgcdxEIOHuU7ooBk/UPTd7t1M91pP35m0MU1T8M5P7vP1bRRw==" }, "keyv": { "version": "3.1.0", @@ -1748,9 +1956,9 @@ } }, "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, "lodash._reinterpolate": { "version": "3.0.0", @@ -1765,22 +1973,22 @@ "dev": true }, "lodash.template": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", - "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", "dev": true, "requires": { - "lodash._reinterpolate": "~3.0.0", + "lodash._reinterpolate": "^3.0.0", "lodash.templatesettings": "^4.0.0" } }, "lodash.templatesettings": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", - "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", "dev": true, "requires": { - "lodash._reinterpolate": "~3.0.0" + "lodash._reinterpolate": "^3.0.0" } }, "log-symbols": { @@ -1807,16 +2015,6 @@ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, "make-error": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", @@ -1837,11 +2035,6 @@ "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", "dev": true }, - "marked": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.4.0.tgz", - "integrity": "sha512-tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw==" - }, "mem": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", @@ -1854,28 +2047,33 @@ } }, "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", + "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", "dev": true, "requires": { "camelcase-keys": "^4.0.0", "decamelize-keys": "^1.0.0", "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", "minimist-options": "^3.0.1", "normalize-package-data": "^2.3.4", "read-pkg-up": "^3.0.0", "redent": "^2.0.0", - "trim-newlines": "^2.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } + "trim-newlines": "^2.0.0", + "yargs-parser": "^10.0.0" + } + }, + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "requires": { + "mime-db": "1.43.0" } }, "mimic-fn": { @@ -1930,9 +2128,9 @@ } }, "mocha": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.1.4.tgz", - "integrity": "sha512-PN8CIy4RXsIoxoFJzS4QNnCH4psUCPWc4/rPrst/ecSJJbLBkubMiyGCP2Kj/9YnWbotFqAoeXyXMucj7gwCFg==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.2.tgz", + "integrity": "sha512-FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A==", "dev": true, "requires": { "ansi-colors": "3.2.3", @@ -1955,11 +2153,23 @@ "supports-color": "6.0.0", "which": "1.3.1", "wide-align": "1.1.3", - "yargs": "13.2.2", - "yargs-parser": "13.0.0", - "yargs-unparser": "1.5.0" + "yargs": "13.3.0", + "yargs-parser": "13.1.1", + "yargs-unparser": "1.6.0" }, "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, "diff": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", @@ -2000,9 +2210,9 @@ } }, "p-limit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -2031,6 +2241,16 @@ "requires": { "has-flag": "^3.0.0" } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, @@ -2052,87 +2272,12 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - } - } - }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "dev": true }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - } - }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", @@ -2146,16 +2291,16 @@ "dev": true }, "yargs": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", - "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", + "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", "dev": true, "requires": { "cliui": "^4.0.0", "decamelize": "^1.1.1", "find-up": "^2.1.0", "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", + "os-locale": "^3.1.0", "require-directory": "^2.1.1", "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", @@ -2163,6 +2308,19 @@ "which-module": "^2.0.0", "y18n": "^3.2.1", "yargs-parser": "^9.0.2" + }, + "dependencies": { + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + } } }, "yargs-parser": { @@ -2182,6 +2340,11 @@ "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", "dev": true }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", @@ -2205,20 +2368,16 @@ "dev": true }, "nock": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/nock/-/nock-10.0.6.tgz", - "integrity": "sha512-b47OWj1qf/LqSQYnmokNWM8D88KvUl2y7jT0567NB3ZBAZFz2bWp2PC81Xn7u8F2/vJxzkzNZybnemeFa7AZ2w==", + "version": "11.7.2", + "resolved": "https://registry.npmjs.org/nock/-/nock-11.7.2.tgz", + "integrity": "sha512-7swr5bL1xBZ5FctyubjxEVySXOSebyqcL7Vy1bx1nS9IUqQWj81cmKjVKJLr8fHhtzI1MV8nyCdENA/cGcY1+Q==", "dev": true, "requires": { - "chai": "^4.1.2", "debug": "^4.1.0", - "deep-equal": "^1.0.0", "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.5", + "lodash": "^4.17.13", "mkdirp": "^0.5.0", - "propagate": "^1.0.0", - "qs": "^6.5.1", - "semver": "^5.5.0" + "propagate": "^2.0.0" }, "dependencies": { "debug": { @@ -2230,10 +2389,10 @@ "ms": "^2.1.1" } }, - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true } } @@ -2249,9 +2408,9 @@ }, "dependencies": { "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } @@ -2274,17 +2433,17 @@ }, "dependencies": { "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "normalize-url": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.3.0.tgz", - "integrity": "sha512-0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ==" + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" }, "npm-run-path": { "version": "2.0.2", @@ -2306,6 +2465,12 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -2325,13 +2490,13 @@ } }, "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" } }, "once": { @@ -2420,11 +2585,6 @@ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, - "pako": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.3.tgz", - "integrity": "sha1-X1FbDGci4ZgpIK6ABerLC3ynPM8=" - }, "parse-github-repo-url": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", @@ -2509,13 +2669,9 @@ } }, "plantuml-encoder": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/plantuml-encoder/-/plantuml-encoder-1.2.5.tgz", - "integrity": "sha512-viV7Sz+BJNX/sC3iyebh2VfLyAZKuu3+JuBs2ISms8+zoTGwPqwk3/WEDw/zROmGAJ/xD4sNd8zsBw/YmTo7ng==", - "requires": { - "pako": "1.0.3", - "utf8-bytes": "0.0.1" - } + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/plantuml-encoder/-/plantuml-encoder-1.4.0.tgz", + "integrity": "sha512-sxMwpDw/ySY1WB2CE3+IdMuEcWibJ72DDOsXLkSmEaSzwEUaYBT6DWgOfBiHGCux4q433X6+OEFWjlVqp7gL6g==" }, "prepend-file": { "version": "1.3.1", @@ -2561,15 +2717,9 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, "propagate": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-1.0.0.tgz", - "integrity": "sha1-AMLa7t2iDofjeCs0Stuhzd1q1wk=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", + "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==", "dev": true }, "pump": { @@ -2592,12 +2742,6 @@ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - }, "quick-lru": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", @@ -2626,9 +2770,9 @@ } }, "readable-stream": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", - "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", + "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -2655,9 +2799,9 @@ } }, "regenerator-runtime": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", - "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", "dev": true }, "repeating": { @@ -2698,23 +2842,23 @@ } }, "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "requires": { "glob": "^7.1.3" } }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", "dev": true }, "semver": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz", - "integrity": "sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, "set-blocking": { @@ -2760,9 +2904,9 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-support": { - "version": "0.5.12", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", - "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -2795,9 +2939,9 @@ } }, "spdx-license-ids": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", - "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", "dev": true }, "split": { @@ -2825,9 +2969,9 @@ "dev": true }, "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "requires": { "core-util-is": "~1.0.0", @@ -2839,6 +2983,12 @@ "util-deprecate": "~1.0.1" } }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -2876,13 +3026,33 @@ "strip-ansi": "^4.0.0" } }, - "string_decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" } }, "strip-ansi": { @@ -2926,20 +3096,26 @@ "has-flag": "^3.0.0" } }, + "temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "dev": true + }, "tempfile": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz", - "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-3.0.0.tgz", + "integrity": "sha512-uNFCg478XovRi85iD42egu+eSFUmmka750Jy7L5tfHI5hQKKtbPnxaSaXAbBqCDYrw3wx4tXjKwci4/QmsZJxw==", "dev": true, "requires": { - "os-tmpdir": "^1.0.0", - "uuid": "^2.0.1" + "temp-dir": "^2.0.0", + "uuid": "^3.3.2" } }, "text-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.0.0.tgz", - "integrity": "sha512-F91ZqLgvi1E0PdvmxMgp+gcf6q8fMH7mhdwWfzXnl1k+GbpQDmi8l7DzLC5JTASKbwpY3TfxajAUzAXcv2NmsQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", "dev": true }, "through": { @@ -3007,15 +3183,15 @@ } }, "ts-node": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.2.0.tgz", - "integrity": "sha512-m8XQwUurkbYqXrKqr3WHCW310utRNvV5OnRVeISeea7LoCWVcdfeB/Ntl8JYWFh+WRoUAdBgESrzKochQt7sMw==", + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.6.2.tgz", + "integrity": "sha512-4mZEbofxGqLL2RImpe3zMJukvEvcO1XP8bj8ozBPySdCUXEcU5cIRwR0aM3R+VoZq7iXc8N86NC0FspGRqP4gg==", "requires": { "arg": "^4.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", "source-map-support": "^0.5.6", - "yn": "^3.0.0" + "yn": "3.1.1" } }, "tslib": { @@ -3025,16 +3201,16 @@ "dev": true }, "tslint": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.17.0.tgz", - "integrity": "sha512-pflx87WfVoYepTet3xLfDOLDm9Jqi61UXIKePOuca0qoAZyrGWonDG9VTbji58Fy+8gciUn8Bt7y69+KEVjc/w==", + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", + "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "builtin-modules": "^1.1.1", "chalk": "^2.3.0", "commander": "^2.12.1", - "diff": "^3.2.0", + "diff": "^4.0.1", "glob": "^7.1.1", "js-yaml": "^3.13.1", "minimatch": "^3.0.4", @@ -3045,16 +3221,16 @@ "tsutils": "^2.29.0" }, "dependencies": { - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } @@ -3077,9 +3253,9 @@ "dev": true }, "tsutils": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.14.0.tgz", - "integrity": "sha512-SmzGbB0l+8I0QwsPgjooFRaRvHLBLNYM8SeQ0k6rtNDru5sCGeLJcZdwilNndN+GysuFjF5EIYgN8GfFG6UeUw==", + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -3117,7 +3293,6 @@ "handlebars": "^4.0.6", "highlight.js": "^9.13.1", "lodash": "^4.17.10", - "marked": "^0.4.0", "minimatch": "^3.0.0", "progress": "^2.0.0", "shelljs": "^0.8.2", @@ -3125,6 +3300,11 @@ "typescript": "3.2.x" }, "dependencies": { + "marked": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.8.0.tgz", + "integrity": "sha512-MyUe+T/Pw4TZufHkzAfDj6HarCBWia2y27/bhuYkTaiUnfDYFnCP3KUN+9oM7Wi6JA2rymtVYbQu3spE0GCmxQ==" + }, "typescript": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz", @@ -3138,9 +3318,9 @@ "integrity": "sha1-bcJDPnjti+qOiHo6zeLzF4W9Yic=" }, "typescript": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.1.tgz", - "integrity": "sha512-64HkdiRv1yYZsSe4xC1WVgamNigVYjlssIoaH2HcZF0+ijsk5YK2g0G34w9wJkze8+5ow4STd22AynfO6ZYYLw==", + "version": "3.7.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.5.tgz", + "integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==", "dev": true }, "uglify-js": { @@ -3151,6 +3331,14 @@ "requires": { "commander": "~2.20.0", "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "optional": true + } } }, "universalify": { @@ -3174,11 +3362,6 @@ "prepend-http": "^2.0.0" } }, - "utf8-bytes": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/utf8-bytes/-/utf8-bytes-0.0.1.tgz", - "integrity": "sha1-EWsCVEjJtQAIHN+/H01sbDfYg30=" - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -3186,9 +3369,9 @@ "dev": true }, "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "dev": true }, "validate-npm-package-license": { @@ -3288,9 +3471,9 @@ "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==" }, "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, "y18n": { @@ -3299,38 +3482,31 @@ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", "dev": true }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, "yaml": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.6.0.tgz", - "integrity": "sha512-iZfse3lwrJRoSlfs/9KQ9iIXxs9++RvBFVzAqbbBiFT+giYtyanevreF9r61ZTbGMgWQBxAua3FzJiniiJXWWw==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz", + "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==", "dev": true, "requires": { - "@babel/runtime": "^7.4.5" + "@babel/runtime": "^7.6.3" } }, "yargs": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", - "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", "dev": true, "requires": { - "cliui": "^4.0.0", + "cliui": "^5.0.0", "find-up": "^3.0.0", "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^3.0.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^13.0.0" + "yargs-parser": "^13.1.1" }, "dependencies": { "ansi-regex": { @@ -3339,6 +3515,18 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -3359,9 +3547,9 @@ } }, "p-limit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -3401,135 +3589,11 @@ "requires": { "ansi-regex": "^4.1.0" } - } - } - }, - "yargs-parser": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", - "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - } - } - }, - "yargs-unparser": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz", - "integrity": "sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw==", - "dev": true, - "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.11", - "yargs": "^12.0.5" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - } }, "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -3538,10 +3602,30 @@ } } }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + }, + "yargs-unparser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "dev": true, + "requires": { + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" + } + }, "yn": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.0.tgz", - "integrity": "sha512-kKfnnYkbTfrAdd0xICNFw7Atm8nKpLcLv9AZGEt+kczL/WQVai4e2V6ZN8U/O+iI6WrNuJjNNOyu4zfhl9D3Hg==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" } } } diff --git a/package.json b/package.json index 578d8922..c43f45e2 100644 --- a/package.json +++ b/package.json @@ -44,42 +44,41 @@ "tslint": "tslint -p tsconfig.json -c tslint.json 'src/**/*.ts'" }, "dependencies": { - "@krlwlfrt/async-pool": "0.1.0", - "@openstapps/logger": "0.3.1", + "@krlwlfrt/async-pool": "0.3.0", + "@openstapps/logger": "0.4.0", "@types/glob": "7.1.1", - "@types/got": "9.4.4", + "@types/got": "9.6.9", "@types/mustache": "0.8.32", - "@types/node": "10.14.8", - "ajv": "6.10.0", + "@types/node": "10.17.13", + "ajv": "6.11.0", "chai": "4.2.0", - "commander": "2.20.0", + "commander": "2.20.3", "deepmerge": "3.3.0", "del": "4.1.1", "flatted": "2.0.1", - "glob": "7.1.4", + "glob": "7.1.6", "got": "9.6.0", "humanize-string": "2.1.0", - "jsonschema": "1.2.4", + "jsonschema": "1.2.5", "mustache": "3.0.1", - "plantuml-encoder": "1.2.5", + "plantuml-encoder": "1.4.0", "toposort": "2.0.2", "ts-json-schema-generator": "0.42.0", - "ts-node": "8.2.0", + "ts-node": "8.6.2", "typedoc": "0.14.2" }, "devDependencies": { - "@openstapps/configuration": "0.21.0", - "@types/chai": "4.1.7", + "@openstapps/configuration": "0.22.0", + "@types/chai": "4.2.7", "@types/mocha": "5.2.7", - "@types/rimraf": "2.0.2", - "@types/nock": "10.0.3", - "conventional-changelog-cli": "2.0.21", - "mocha": "6.1.4", + "@types/rimraf": "2.0.3", + "conventional-changelog-cli": "2.0.31", + "mocha": "6.2.2", "mocha-typescript": "1.1.17", - "nock": "10.0.6", + "nock": "11.7.2", "prepend-file-cli": "1.0.6", - "rimraf": "2.6.3", - "tslint": "5.17.0", - "typescript": "3.5.1" + "rimraf": "2.7.1", + "tslint": "5.20.1", + "typescript": "3.7.5" } } diff --git a/src/cli.ts b/src/cli.ts index 5820fe09..32749c8f 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -13,7 +13,7 @@ * this program. If not, see . */ import {Logger} from '@openstapps/logger'; -import * as commander from 'commander'; +import {Command} from 'commander'; import {existsSync, readFileSync, writeFileSync} from 'fs'; import * as got from 'got'; import {join, resolve} from 'path'; @@ -38,12 +38,16 @@ import {UMLConfig} from './uml/uml-config'; import {validateFiles, writeReport} from './validate'; // handle unhandled promise rejections -process.on('unhandledRejection', async (error: Error) => { - await Logger.error(error.message); - Logger.info(error.stack); +process.on('unhandledRejection', async (reason: unknown) => { + if (reason instanceof Error) { + await Logger.error(reason.message); + Logger.info(reason.stack); + } process.exit(1); }); +const commander = new Command('openstapps-core-tools'); + commander .version(JSON.parse( readFileSync(resolve(__dirname, '..', 'package.json')) diff --git a/src/common.ts b/src/common.ts index 32c9b4e7..020fb741 100644 --- a/src/common.ts +++ b/src/common.ts @@ -14,7 +14,7 @@ */ import {Logger} from '@openstapps/logger'; import {existsSync, mkdir, PathLike, readFile, unlink, writeFile} from 'fs'; -import * as glob from 'glob'; +import {Glob} from 'glob'; import {Schema as JSONSchema, ValidationError} from 'jsonschema'; import {platform} from 'os'; import {join, sep} from 'path'; @@ -23,7 +23,7 @@ import {Application, ProjectReflection} from 'typedoc'; import {promisify} from 'util'; import {LightweightType} from './uml/model/lightweight-type'; -export const globPromisified = promisify(glob); +export const globPromisified = promisify(Glob); export const mkdirPromisified = promisify(mkdir); export const readFilePromisified = promisify(readFile); export const writeFilePromisified = promisify(writeFile); diff --git a/src/mapping.ts b/src/mapping.ts index 2de3a9f7..97f67573 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -13,7 +13,7 @@ * this program. If not, see . */ import {Logger} from '@openstapps/logger'; -import * as deepmerge from 'deepmerge'; +import merge from 'deepmerge'; import {stringify} from 'flatted'; import {DeclarationReflection, ProjectReflection} from 'typedoc'; import { @@ -331,7 +331,7 @@ function handleUnionType(type: UnionType, let out = list[0]; for (const item of list) { - out = deepmerge(out, item); + out = merge(out, item); } return out; diff --git a/src/pack.ts b/src/pack.ts index 3369c827..03596ed2 100644 --- a/src/pack.ts +++ b/src/pack.ts @@ -13,7 +13,7 @@ * this program. If not, see . */ import {Logger} from '@openstapps/logger'; -import * as del from 'del'; +import del from 'del'; import {existsSync} from 'fs'; import {basename, dirname, join} from 'path'; import {cwd} from 'process'; @@ -130,7 +130,7 @@ async function getAllTypeDefinitions(): Promise { ], }); - const promises = fileNames.map(async (fileName) => { + const promises = fileNames.map(async (fileName: string) => { return readFilePromisified(fileName, 'utf8'); }); @@ -241,7 +241,7 @@ async function getAllJavaScriptModules(): Promise { ], }); - const promises = fileNames.map(async (fileName) => { + const promises = fileNames.map(async (fileName: string) => { const fileContent = await readFilePromisified(fileName, 'utf8'); const directory = dirname(fileName) .replace(new RegExp(`^${join(cwd(), 'lib')}`), ''); diff --git a/src/schema.ts b/src/schema.ts index ef6290d3..9cae01ca 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -12,7 +12,7 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import * as Ajv from 'ajv'; +import Ajv from 'ajv'; import {Schema as JSONSchema} from 'jsonschema'; import {join} from 'path'; import {DEFAULT_CONFIG, Definition, SchemaGenerator} from 'ts-json-schema-generator'; diff --git a/src/uml/create-diagram.ts b/src/uml/create-diagram.ts index 35631201..4190a24b 100644 --- a/src/uml/create-diagram.ts +++ b/src/uml/create-diagram.ts @@ -102,7 +102,7 @@ export async function createDiagramFromString( const url = `${plantUmlBaseURL}/svg/${plantUMLCode}`; let response; try { - response = await request(url); + response = await request.get(url); const httpOK = 200; if (response.statusCode !== httpOK) { await Logger.error(`Plantuml Server responded with an error.\n${response.statusMessage}`); diff --git a/src/validate.ts b/src/validate.ts index 0e5251f6..109b51ab 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -62,7 +62,7 @@ export class Validator { Logger.log(`Adding schemas from ${schemaDir} to validator.`); // tslint:disable-next-line:no-magic-numbers - iterate over schema files - await asyncPool(2, schemaFiles, async (file) => { + await asyncPool(2, schemaFiles, async (file: string) => { // read schema file const buffer = await readFilePromisified(file); const schema = JSON.parse(buffer.toString()); @@ -139,7 +139,7 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr const errors: ExpectableValidationErrors = {}; // tslint:disable-next-line:no-magic-numbers - iterate over files to test - await asyncPool(2, testFiles, async (testFile) => { + await asyncPool(2, testFiles, async (testFile: string) => { const testFileName = basename(testFile); const buffer = await readFilePromisified(join(resourcesDir, testFileName)); @@ -195,6 +195,7 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr name: `expected ${error}`, property: 'unknown', schema: 'undefined', + stack: 'undefined', }); } } else if (unexpectedErrors === 0) { diff --git a/test/Common.spec.ts b/test/common.spec.ts similarity index 86% rename from test/Common.spec.ts rename to test/common.spec.ts index 20d67e72..902b13ee 100644 --- a/test/Common.spec.ts +++ b/test/common.spec.ts @@ -18,8 +18,10 @@ import {slow, suite, test, timeout} from 'mocha-typescript'; import {cwd} from 'process'; import {getTsconfigPath} from '../src/common'; -process.on('unhandledRejection', (err) => { - Logger.error('UNHANDLED REJECTION', err.stack); +process.on('unhandledRejection', (reason: unknown): void => { + if (reason instanceof Error) { + Logger.error('UNHANDLED REJECTION', reason.stack); + } process.exit(1); }); diff --git a/test/CreateDiagram.spec.ts b/test/create-diagram.spec.ts similarity index 100% rename from test/CreateDiagram.spec.ts rename to test/create-diagram.spec.ts diff --git a/test/model/generatedModel.ts b/test/model/generated-model.ts similarity index 100% rename from test/model/generatedModel.ts rename to test/model/generated-model.ts diff --git a/test/model/TestClass.ts b/test/model/test-class.ts similarity index 95% rename from test/model/TestClass.ts rename to test/model/test-class.ts index f1c7239c..27a29f69 100644 --- a/test/model/TestClass.ts +++ b/test/model/test-class.ts @@ -12,7 +12,7 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {TestFirstUnion} from './TestUnion'; +import {TestFirstUnion} from './test-union'; export class TestClass { test2: T; diff --git a/test/model/TestEnum.ts b/test/model/test-enum.ts similarity index 100% rename from test/model/TestEnum.ts rename to test/model/test-enum.ts diff --git a/test/model/TestFunction.ts b/test/model/test-function.ts similarity index 100% rename from test/model/TestFunction.ts rename to test/model/test-function.ts diff --git a/test/model/TestInterface.ts b/test/model/test-interface.ts similarity index 88% rename from test/model/TestInterface.ts rename to test/model/test-interface.ts index 650e4565..2e3ad1c0 100644 --- a/test/model/TestInterface.ts +++ b/test/model/test-interface.ts @@ -12,9 +12,9 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {TestClass, TestSecondClass} from './TestClass'; -import {TestFirstEnum} from './TestEnum'; -import {TestThirdUnion} from './TestUnion'; +import {TestClass, TestSecondClass} from './test-class'; +import {TestFirstEnum} from './test-enum'; +import {TestThirdUnion} from './test-union'; export interface TestInterface { articleBody: string[]; diff --git a/test/model/TestUnion.ts b/test/model/test-union.ts similarity index 100% rename from test/model/TestUnion.ts rename to test/model/test-union.ts diff --git a/test/ReadDefinitions.spec.ts b/test/read-definitions.spec.ts similarity index 95% rename from test/ReadDefinitions.spec.ts rename to test/read-definitions.spec.ts index 299b7849..0d0ae291 100644 --- a/test/ReadDefinitions.spec.ts +++ b/test/read-definitions.spec.ts @@ -16,7 +16,7 @@ import {expect} from 'chai'; import {slow, suite, test, timeout} from 'mocha-typescript'; import {getProjectReflection} from '../src/common'; import {readDefinitions} from '../src/uml/read-definitions'; -import {generatedModel} from './model/generatedModel'; +import {generatedModel} from './model/generated-model'; @suite(timeout(10000), slow(5000)) export class ReadDefinitionsSpec { diff --git a/test/Schema.spec.ts b/test/schema.spec.ts similarity index 95% rename from test/Schema.spec.ts rename to test/schema.spec.ts index 6251f561..a9bb8aab 100644 --- a/test/Schema.spec.ts +++ b/test/schema.spec.ts @@ -18,8 +18,10 @@ import {slow, suite, test, timeout} from 'mocha-typescript'; import {join} from 'path'; import {Converter, getValidatableTypesFromReflection} from '../src/schema'; -process.on('unhandledRejection', (err) => { - Logger.error('UNHANDLED REJECTION', err.stack); +process.on('unhandledRejection', (error: unknown) => { + if (error instanceof Error) { + Logger.error('UNHANDLED REJECTION', error.stack); + } process.exit(1); }); diff --git a/test/Validate.spec.ts b/test/validate.spec.ts similarity index 94% rename from test/Validate.spec.ts rename to test/validate.spec.ts index 40834e9b..be8913ff 100644 --- a/test/Validate.spec.ts +++ b/test/validate.spec.ts @@ -18,13 +18,15 @@ import {existsSync, mkdirSync, writeFileSync} from 'fs'; import {Schema} from 'jsonschema'; import {slow, suite, test, timeout} from 'mocha-typescript'; import {join} from 'path'; -import * as rimraf from 'rimraf'; +import rimraf from 'rimraf'; import {Foo} from '../src/resources/foo'; import {Converter} from '../src/schema'; import {Validator} from '../src/validate'; -process.on('unhandledRejection', (err) => { - Logger.error('UNHANDLED REJECTION', err.stack); +process.on('unhandledRejection', (err: unknown) => { + if (err instanceof Error) { + Logger.error('UNHANDLED REJECTION', err.stack); + } process.exit(1); }); From 9eab73041420f787cbd0d762c82b51ef2167c2a4 Mon Sep 17 00:00:00 2001 From: Michel Jonathan Schmitz Date: Tue, 28 Jan 2020 09:15:27 +0100 Subject: [PATCH 106/215] 0.13.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2b3d909c..e9caccd7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.12.0", + "version": "0.13.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index c43f45e2..e6078cee 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.12.0", + "version": "0.13.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 87b59d84f1621dce732d9bb238bf0e4c663b9661 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Thu, 6 Feb 2020 13:18:50 +0100 Subject: [PATCH 107/215] refactor: seperate audit jobs from test stage --- .gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 97c893a3..0e09883b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -11,6 +11,7 @@ before_script: stages: - build - test + - audit - deploy build: @@ -29,7 +30,7 @@ test: - npm test audit: - stage: test + stage: audit script: - npm audit allow_failure: true @@ -37,7 +38,7 @@ audit: - schedules scheduled-audit: - stage: test + stage: audit script: - npm audit only: From b74d56d7c013832cff5689cec75bd843d251cfb7 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Thu, 6 Feb 2020 13:21:56 +0100 Subject: [PATCH 108/215] refactor: update dependencies --- package-lock.json | 353 ++++++++++++++++++++-------------------------- package.json | 8 +- 2 files changed, 156 insertions(+), 205 deletions(-) diff --git a/package-lock.json b/package-lock.json index e9caccd7..cf828838 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,9 +25,9 @@ } }, "@babel/runtime": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.3.tgz", - "integrity": "sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz", + "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==", "dev": true, "requires": { "regenerator-runtime": "^0.13.2" @@ -39,28 +39,22 @@ "integrity": "sha512-N4uQIfGTsVw1/fE3Z7DWh878dyFhVkuFYyMiQyW8QTd21yjn91rlub5SERssQXMPKDzYKNGrban3FKSQAtXisQ==" }, "@openstapps/configuration": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.22.0.tgz", - "integrity": "sha512-XSdUEolaVgP0E0SBmaF7hBUQPbF6/BmSSEZyI68XRGepTCbUJBOs8dLw2TdzRhRdI56bBU4xtXp/+wSP6qZxeg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.23.0.tgz", + "integrity": "sha512-5gt9X586xP+XX/Y27Nhzyl5/5T4n79OrLV4eBH60F7QzfBJUyHMQri6vYewNPUnk0nNuCVUVMZYa1JV68vBA2A==", "dev": true, "requires": { - "@types/node": "10.17.5", + "@types/node": "10.17.14", "@types/semver": "6.2.0", "@types/yaml": "1.2.0", "chalk": "3.0.0", - "commander": "4.0.1", + "commander": "4.1.1", "semver": "6.3.0", "tslint": "5.20.1", "tslint-eslint-rules": "5.4.0", "yaml": "1.7.2" }, "dependencies": { - "@types/node": { - "version": "10.17.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.5.tgz", - "integrity": "sha512-RElZIr/7JreF1eY6oD5RF3kpmdcreuQPjg5ri4oQ5g9sq7YWU8HkfB3eH8GwAwxf5OaCh0VPi7r4N/yoTGelrA==", - "dev": true - }, "ansi-styles": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", @@ -97,9 +91,9 @@ "dev": true }, "commander": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.0.1.tgz", - "integrity": "sha512-IPF4ouhCP+qdlcmCedhxX4xiGBPyigb8v5NeUp+0LyhwLgxMqyp3S0vl7TAPfS/hiP7FC3caI/PB9lTmP8r1NA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true }, "has-flag": { @@ -108,12 +102,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, "supports-color": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", @@ -159,9 +147,9 @@ } }, "@types/chai": { - "version": "4.2.7", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.7.tgz", - "integrity": "sha512-luq8meHGYwvky0O7u0eQZdA7B4Wd9owUCqvbw2m3XCrCU8mplYOujMBbvyS547AxJkC+pGnd0Cm15eNxEUNU8g==", + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.8.tgz", + "integrity": "sha512-U1bQiWbln41Yo6EeHMr+34aUhvrMVyrhn9lYfPSpLTCrZlGxU4Rtn1bocX+0p2Fc/Jkd2FanCEXdw0WNfHHM0w==", "dev": true }, "@types/color-name": { @@ -243,9 +231,9 @@ "integrity": "sha512-RTVWV485OOf4+nO2+feurk0chzHkSjkjALiejpHltyuMf/13fGymbbNNFrSKdSSUg1TIwzszXdWsVirxgqYiFA==" }, "@types/node": { - "version": "10.17.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.13.tgz", - "integrity": "sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg==" + "version": "10.17.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.14.tgz", + "integrity": "sha512-G0UmX5uKEmW+ZAhmZ6PLTQ5eu/VPaT+d/tdLd5IFsKRPcbe6lPxocBtcYBFSaLaCW8O60AX90e91Nsp8lVHCNw==" }, "@types/nodemailer": { "version": "6.2.0", @@ -339,9 +327,9 @@ } }, "arg": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.2.tgz", - "integrity": "sha512-+ytCkGcBtHZ3V2r2Z06AncYO8jz46UEamcspGoU8lHcEbpn6J77QK0vdWvChsclg/tM5XIJC5tnjmPp7Eq6Obg==" + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "argparse": { "version": "1.0.10", @@ -534,17 +522,6 @@ "requires": { "ansi-regex": "^4.1.0" } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } } } }, @@ -652,14 +629,6 @@ "lodash": "^4.17.15", "meow": "^5.0.0", "tempfile": "^3.0.0" - }, - "dependencies": { - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - } } }, "conventional-changelog-codemirror": { @@ -680,14 +649,6 @@ "compare-func": "^1.3.1", "lodash": "^4.17.15", "q": "^1.5.1" - }, - "dependencies": { - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - } } }, "conventional-changelog-core": { @@ -710,14 +671,6 @@ "read-pkg": "^3.0.0", "read-pkg-up": "^3.0.0", "through2": "^3.0.0" - }, - "dependencies": { - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - } } }, "conventional-changelog-ember": { @@ -788,26 +741,6 @@ "semver": "^6.0.0", "split": "^1.0.0", "through2": "^3.0.0" - }, - "dependencies": { - "handlebars": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.2.tgz", - "integrity": "sha512-4PwqDL2laXtTWZghzzCtunQUTLbo31pcCJrd/B/9JP8XbhVzpS5ZXuKqlOzsd1rtcaLo4KqAn8nl8mkknS4MHw==", - "dev": true, - "requires": { - "neo-async": "^2.6.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" - } - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - } } }, "conventional-commits-filter": { @@ -833,14 +766,6 @@ "split2": "^2.0.0", "through2": "^3.0.0", "trim-off-newlines": "^1.0.0" - }, - "dependencies": { - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - } } }, "core-util-is": { @@ -863,9 +788,9 @@ }, "dependencies": { "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } @@ -957,9 +882,9 @@ "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==" }, "defer-to-connect": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.1.tgz", - "integrity": "sha512-J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ==" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" }, "define-properties": { "version": "1.1.3", @@ -982,6 +907,16 @@ "p-map": "^2.0.0", "pify": "^4.0.1", "rimraf": "^2.6.3" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } } }, "delayed-stream": { @@ -990,9 +925,9 @@ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "diff": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", - "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==" + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" }, "doctrine": { "version": "0.7.2", @@ -1033,9 +968,9 @@ "dev": true }, "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "requires": { "once": "^1.4.0" } @@ -1050,9 +985,9 @@ } }, "es-abstract": { - "version": "1.17.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.3.tgz", - "integrity": "sha512-AwiVPKf3sKGMoWtFw0J7Y4MTZ4Iek67k4COWOwHqS8B9TOZ71DCfcoBmdamy8Y6mj4MDz0+VNUpC2HKHFHA3pg==", + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", + "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", "dev": true, "requires": { "es-to-primitive": "^1.2.1", @@ -1607,9 +1542,9 @@ } }, "graceful-fs": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", - "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==" + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" }, "growl": { "version": "1.10.5", @@ -1618,9 +1553,9 @@ "dev": true }, "handlebars": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.2.tgz", - "integrity": "sha512-4PwqDL2laXtTWZghzzCtunQUTLbo31pcCJrd/B/9JP8XbhVzpS5ZXuKqlOzsd1rtcaLo4KqAn8nl8mkknS4MHw==", + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.3.tgz", + "integrity": "sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg==", "requires": { "neo-async": "^2.6.0", "optimist": "^0.6.1", @@ -1655,9 +1590,9 @@ "dev": true }, "highlight.js": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.0.tgz", - "integrity": "sha512-A97kI1KAUzKoAiEoaGcf2O9YPS8nbDTCRFokaaeBhnqjQTvbAuAJrQMm21zw8s8xzaMtCQBtgbyGXLGxdxQyqQ==" + "version": "9.18.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz", + "integrity": "sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg==" }, "hosted-git-info": { "version": "2.8.5", @@ -1740,13 +1675,10 @@ "dev": true }, "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", @@ -2035,6 +1967,11 @@ "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", "dev": true }, + "marked": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.4.0.tgz", + "integrity": "sha512-tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw==" + }, "mem": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", @@ -2266,6 +2203,23 @@ "yargs": "^11.0.0" }, "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -2278,12 +2232,53 @@ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "dev": true }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, "y18n": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", @@ -2308,19 +2303,6 @@ "which-module": "^2.0.0", "y18n": "^3.2.1", "yargs-parser": "^9.0.2" - }, - "dependencies": { - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - } } }, "yargs-parser": { @@ -2388,12 +2370,6 @@ "requires": { "ms": "^2.1.1" } - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true } } }, @@ -2826,9 +2802,9 @@ "dev": true }, "resolve": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", - "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", "requires": { "path-parse": "^1.0.6" } @@ -2842,9 +2818,10 @@ } }, "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.1.tgz", + "integrity": "sha512-IQ4ikL8SjBiEDZfk+DFVwqRK8md24RWMEJkdSlgNLkyyAImcjf8SWvU1qFMDOb4igBClbTQ/ugPqXcRwdFTxZw==", + "dev": true, "requires": { "glob": "^7.1.3" } @@ -3221,12 +3198,6 @@ "tsutils": "^2.29.0" }, "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -3293,6 +3264,7 @@ "handlebars": "^4.0.6", "highlight.js": "^9.13.1", "lodash": "^4.17.10", + "marked": "^0.4.0", "minimatch": "^3.0.0", "progress": "^2.0.0", "shelljs": "^0.8.2", @@ -3300,11 +3272,6 @@ "typescript": "3.2.x" }, "dependencies": { - "marked": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.8.0.tgz", - "integrity": "sha512-MyUe+T/Pw4TZufHkzAfDj6HarCBWia2y27/bhuYkTaiUnfDYFnCP3KUN+9oM7Wi6JA2rymtVYbQu3spE0GCmxQ==" - }, "typescript": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz", @@ -3324,21 +3291,13 @@ "dev": true }, "uglify-js": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", - "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.7.tgz", + "integrity": "sha512-FeSU+hi7ULYy6mn8PKio/tXsdSXN35lm4KgV2asx00kzrLU9Pi3oAslcJT70Jdj7PHX29gGUPOT6+lXGBbemhA==", "optional": true, "requires": { - "commander": "~2.20.0", + "commander": "~2.20.3", "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "optional": true - } } }, "universalify": { @@ -3414,48 +3373,40 @@ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" }, "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" }, "dependencies": { "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^4.1.0" } } } diff --git a/package.json b/package.json index e6078cee..d77b2d20 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@types/glob": "7.1.1", "@types/got": "9.6.9", "@types/mustache": "0.8.32", - "@types/node": "10.17.13", + "@types/node": "10.17.14", "ajv": "6.11.0", "chai": "4.2.0", "commander": "2.20.3", @@ -68,8 +68,8 @@ "typedoc": "0.14.2" }, "devDependencies": { - "@openstapps/configuration": "0.22.0", - "@types/chai": "4.2.7", + "@openstapps/configuration": "0.23.0", + "@types/chai": "4.2.8", "@types/mocha": "5.2.7", "@types/rimraf": "2.0.3", "conventional-changelog-cli": "2.0.31", @@ -77,7 +77,7 @@ "mocha-typescript": "1.1.17", "nock": "11.7.2", "prepend-file-cli": "1.0.6", - "rimraf": "2.7.1", + "rimraf": "3.0.1", "tslint": "5.20.1", "typescript": "3.7.5" } From 948975f442e8d45897b8d475ea98557039c7e5be Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Tue, 11 Feb 2020 12:56:37 +0100 Subject: [PATCH 109/215] 0.14.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index cf828838..923b37c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.13.0", + "version": "0.14.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index d77b2d20..b8098b32 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.13.0", + "version": "0.14.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From e3658862ac7cfdcf85df5f97facc2c7f47ac6a00 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Tue, 11 Feb 2020 12:56:44 +0100 Subject: [PATCH 110/215] docs: update changelog --- CHANGELOG.md | 60 +++++++++++++++++++++++++++++----------------------- 1 file changed, 34 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 65d30269..0a32ac02 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,17 @@ +# [0.14.0](https://gitlab.com/openstapps/core-tools/compare/v0.13.0...v0.14.0) (2020-02-11) + + + +# [0.13.0](https://gitlab.com/openstapps/core-tools/compare/v0.12.0...v0.13.0) (2020-01-28) + + + # [0.12.0](https://gitlab.com/openstapps/core-tools/compare/v0.11.0...v0.12.0) (2019-12-03) ### Bug Fixes -* make fields with index signatures a dynamic mapping ([8f5570e](https://gitlab.com/openstapps/core-tools/commit/8f5570e)) +* make fields with index signatures a dynamic mapping ([8f5570e](https://gitlab.com/openstapps/core-tools/commit/8f5570e2e2d350d6153b34f940f4cd5c407b5bc9)) @@ -12,7 +20,7 @@ ### Bug Fixes -* use .raw field for aggregations ([4c1a374](https://gitlab.com/openstapps/core-tools/commit/4c1a374)) +* use .raw field for aggregations ([4c1a374](https://gitlab.com/openstapps/core-tools/commit/4c1a374a9ee266884bd33e8a3b3f52fcef8f4019)) @@ -21,13 +29,13 @@ ### Bug Fixes -* make mapping of generics work correctly ([8f7201e](https://gitlab.com/openstapps/core-tools/commit/8f7201e)), closes [#27](https://gitlab.com/openstapps/core-tools/issues/27) -* make mapping tags work for overwritten values ([47361d4](https://gitlab.com/openstapps/core-tools/commit/47361d4)) +* make mapping of generics work correctly ([8f7201e](https://gitlab.com/openstapps/core-tools/commit/8f7201e2cf010ed9ef457d9cf938167a4e970963)), closes [#27](https://gitlab.com/openstapps/core-tools/issues/27) +* make mapping tags work for overwritten values ([47361d4](https://gitlab.com/openstapps/core-tools/commit/47361d412a92ae34dc1b81298402d6b441b4f4ba)) ### Features -* generate aggreations from annotations in the core ([18ad651](https://gitlab.com/openstapps/core-tools/commit/18ad651)) +* generate aggreations from annotations in the core ([18ad651](https://gitlab.com/openstapps/core-tools/commit/18ad651286bafcbc929e14ee9429c7b852d86f3b)) @@ -36,12 +44,12 @@ ### Bug Fixes -* read type tags correctly after the first time ([77e4914](https://gitlab.com/openstapps/core-tools/commit/77e4914)) +* read type tags correctly after the first time ([77e4914](https://gitlab.com/openstapps/core-tools/commit/77e49146c0619566919815bd5d63ddf34dc19387)) ### Features -* add support for [@filterable](https://gitlab.com/filterable) tag ([36bf17e](https://gitlab.com/openstapps/core-tools/commit/36bf17e)) +* add support for [@filterable](https://gitlab.com/filterable) tag ([36bf17e](https://gitlab.com/openstapps/core-tools/commit/36bf17e3236a555e6d1193466141be880b280db9)) @@ -50,17 +58,17 @@ ### Bug Fixes -* apply stricter tslint rules ([967f946](https://gitlab.com/openstapps/core-tools/commit/967f946)) -* emend the imports in the test files ([53e8047](https://gitlab.com/openstapps/core-tools/commit/53e8047)) -* remove duplicate job ([af904a7](https://gitlab.com/openstapps/core-tools/commit/af904a7)) -* update the uml job to use our node image ([a478715](https://gitlab.com/openstapps/core-tools/commit/a478715)) +* apply stricter tslint rules ([967f946](https://gitlab.com/openstapps/core-tools/commit/967f94652723d8589b7f272454185449233ac838)) +* emend the imports in the test files ([53e8047](https://gitlab.com/openstapps/core-tools/commit/53e80476c85027194cf406ad87fe8950d6c2f3a8)) +* remove duplicate job ([af904a7](https://gitlab.com/openstapps/core-tools/commit/af904a7a05de56cdef6aea136a7e3bb237c4beb2)) +* update the uml job to use our node image ([a478715](https://gitlab.com/openstapps/core-tools/commit/a478715d8045dd26cd345ba3cbb469fda651b84f)) ### Features -* add automatic mapping generation ([7b198f9](https://gitlab.com/openstapps/core-tools/commit/7b198f9)), closes [#6](https://gitlab.com/openstapps/core-tools/issues/6) -* add the uml generator ([0f21da4](https://gitlab.com/openstapps/core-tools/commit/0f21da4)) -* added output file name for uml generation ([843e598](https://gitlab.com/openstapps/core-tools/commit/843e598)) +* add automatic mapping generation ([7b198f9](https://gitlab.com/openstapps/core-tools/commit/7b198f95ce7bbd75454247e70757d34af462cefc)), closes [#6](https://gitlab.com/openstapps/core-tools/issues/6) +* add the uml generator ([0f21da4](https://gitlab.com/openstapps/core-tools/commit/0f21da4a92b4e0ef11a5f274468d3679fc9784ee)) +* added output file name for uml generation ([843e598](https://gitlab.com/openstapps/core-tools/commit/843e59811a5a104df1c746627aa668d26fdc9f60)) @@ -85,8 +93,8 @@ ### Features -* add feature to validate schemas directly ([1022150](https://gitlab.com/openstapps/core-tools/commit/1022150)) -* adjust generation of route documentation ([d3ce936](https://gitlab.com/openstapps/core-tools/commit/d3ce936)), closes [#12](https://gitlab.com/openstapps/core-tools/issues/12) +* add feature to validate schemas directly ([1022150](https://gitlab.com/openstapps/core-tools/commit/1022150ca3d2af846b819e0e0e46ead71134d5f8)) +* adjust generation of route documentation ([d3ce936](https://gitlab.com/openstapps/core-tools/commit/d3ce936626751f24f20081403271d77e2c346e03)), closes [#12](https://gitlab.com/openstapps/core-tools/issues/12) @@ -95,7 +103,7 @@ ### Features -* ensure correct path for input files ([1c74432](https://gitlab.com/openstapps/core-tools/commit/1c74432)) +* ensure correct path for input files ([1c74432](https://gitlab.com/openstapps/core-tools/commit/1c744328eb03dc8019fe6dc3a309f68260210146)) @@ -104,13 +112,13 @@ ### Bug Fixes -* add SC prefix to the camel cased type of the instance ([e559234](https://gitlab.com/openstapps/core-tools/commit/e559234)) -* use tsconfig.json of project for schema generation ([6b1a420](https://gitlab.com/openstapps/core-tools/commit/6b1a420)), closes [#10](https://gitlab.com/openstapps/core-tools/issues/10) +* add SC prefix to the camel cased type of the instance ([e559234](https://gitlab.com/openstapps/core-tools/commit/e559234cea9ef245733f8117ab4a27e83db54e14)) +* use tsconfig.json of project for schema generation ([6b1a420](https://gitlab.com/openstapps/core-tools/commit/6b1a4202f92759c9ef36d32d0960faf4f56cc8db)), closes [#10](https://gitlab.com/openstapps/core-tools/issues/10) ### Features -* add function to find tsconfig.json ([aa645a2](https://gitlab.com/openstapps/core-tools/commit/aa645a2)) +* add function to find tsconfig.json ([aa645a2](https://gitlab.com/openstapps/core-tools/commit/aa645a2cc4661c58c6050196ee1944dfd9e5eea8)) @@ -119,7 +127,7 @@ ### Features -* add pack script ([7438465](https://gitlab.com/openstapps/core-tools/commit/7438465)), closes [#4](https://gitlab.com/openstapps/core-tools/issues/4) +* add pack script ([7438465](https://gitlab.com/openstapps/core-tools/commit/7438465149b591ebf1583a8bd6b9da56aa9c9f57)), closes [#4](https://gitlab.com/openstapps/core-tools/issues/4) @@ -128,7 +136,7 @@ ### Bug Fixes -* add missing dependency typedoc ([b248d1b](https://gitlab.com/openstapps/core-tools/commit/b248d1b)), closes [#5](https://gitlab.com/openstapps/core-tools/issues/5) +* add missing dependency typedoc ([b248d1b](https://gitlab.com/openstapps/core-tools/commit/b248d1b5e0306247ce35e5c9d45637b0f3f83cac)), closes [#5](https://gitlab.com/openstapps/core-tools/issues/5) @@ -137,7 +145,7 @@ ### Features -* validate generated schemas ([7b7299d](https://gitlab.com/openstapps/core-tools/commit/7b7299d)), closes [#1](https://gitlab.com/openstapps/core-tools/issues/1) +* validate generated schemas ([7b7299d](https://gitlab.com/openstapps/core-tools/commit/7b7299d9c475105f9d2387c9dc31974139997483)), closes [#1](https://gitlab.com/openstapps/core-tools/issues/1) @@ -146,7 +154,7 @@ ### Bug Fixes -* do not ignore resources ([6502bcf](https://gitlab.com/openstapps/core-tools/commit/6502bcf)) +* do not ignore resources ([6502bcf](https://gitlab.com/openstapps/core-tools/commit/6502bcf2b517ab98909626a7b8baa08e7cdcdc3e)) @@ -154,12 +162,12 @@ -## [0.0.1](https://gitlab.com/openstapps/core-tools/compare/1ac90ef...v0.0.1) (2018-12-18) +## [0.0.1](https://gitlab.com/openstapps/core-tools/compare/1ac90ef6330bcfd0ea362505a11db66453f3386f...v0.0.1) (2018-12-18) ### Features -* add core tools ([1ac90ef](https://gitlab.com/openstapps/core-tools/commit/1ac90ef)) +* add core tools ([1ac90ef](https://gitlab.com/openstapps/core-tools/commit/1ac90ef6330bcfd0ea362505a11db66453f3386f)) From 7c9e192923925ab8ddf0d8dfafaae0de3cae917a Mon Sep 17 00:00:00 2001 From: Frank Nagel Date: Fri, 19 Jun 2020 13:13:53 +0200 Subject: [PATCH 111/215] ci: Change 'npm audit' failure behaviour The audit fails only if the results include a vulnerability with a level of at least 'high' in scheduled pipelines. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0e09883b..701ab0f6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -40,7 +40,7 @@ audit: scheduled-audit: stage: audit script: - - npm audit + - npm audit --audit-level=high only: - schedules From c19fd4fae2313f9a01997ffe1f2b4d5e98ec62be Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Wed, 26 Aug 2020 13:09:21 +0200 Subject: [PATCH 112/215] test: fix plant uml connection test cases --- test/create-diagram.spec.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/create-diagram.spec.ts b/test/create-diagram.spec.ts index 65794d71..30a04252 100644 --- a/test/create-diagram.spec.ts +++ b/test/create-diagram.spec.ts @@ -49,7 +49,10 @@ export class CreateDiagramSpec { try { await createDiagramFromString(testPlantUmlCode, "http://plantuml:8080"); } catch (e) { - expect(e.message).to.equal(new Error('getaddrinfo ENOTFOUND plantuml plantuml:8080').message); + expect([ + new Error('getaddrinfo ENOTFOUND plantuml plantuml:8080').message, + new Error('getaddrinfo EAI_AGAIN plantuml plantuml:8080').message, + ]).to.include(e.message); } } From e5511d07386e93b032b5dbefa3e6cc46c07219ed Mon Sep 17 00:00:00 2001 From: "wulkanat@gmail.com" Date: Wed, 9 Sep 2020 10:56:19 +0200 Subject: [PATCH 113/215] fix: array tags did not propagate --- src/cli.ts | 35 ++++++++++++++++++++------- src/mapping.ts | 65 ++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 79 insertions(+), 21 deletions(-) diff --git a/src/cli.ts b/src/cli.ts index 32749c8f..692ff609 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -85,15 +85,18 @@ commander }); commander - .command('mapping [ignoredTags]') - .action(async (relativeSrcPath, relativeMappingPath, ignoredTags) => { + .command('mapping ') + .option('-m, --mappingPath ', 'Mapping Path') + .option('-i, --ignoredTags ', 'Ignored Tags') + .option('-a, --aggPath ', 'Aggregations Path') + .option('-e, --errorPath ', 'Error Path') + .action(async (relativeSrcPath, options) => { // get absolute paths const srcPath = resolve(relativeSrcPath); - const mappingPath = resolve(relativeMappingPath); let ignoredTagsList: string[] = []; - if (typeof ignoredTags === 'string') { - ignoredTagsList = ignoredTags.split(','); + if (typeof options.ignoredTags === 'string') { + ignoredTagsList = options.ignoredTags.split(','); } // get project reflection @@ -107,10 +110,24 @@ commander } // write documentation to file - // tslint:disable-next-line:no-magic-numbers - writeFileSync(mappingPath, JSON.stringify(result.mappings, null, 2)); - - Logger.ok(`Elasticsearch mapping written to ${mappingPath}.`); + if (typeof options.aggPath !== 'undefined') { + const aggPath = resolve(options.aggPath); + // tslint:disable-next-line:no-magic-numbers + writeFileSync(aggPath, JSON.stringify(result.aggregations, null, 2)); + Logger.ok(`Elasticsearch aggregations written to ${aggPath}.`); + } + if (typeof options.mappingPath !== 'undefined') { + const mappingPath = resolve(options.mappingPath); + // tslint:disable-next-line:no-magic-numbers + writeFileSync(mappingPath, JSON.stringify(result.mappings, null, 2)); + Logger.ok(`Elasticsearch mappings written to ${mappingPath}.`); + } + if (typeof options.errorPath !== 'undefined') { + const errPath = resolve(options.errorPath); + // tslint:disable-next-line:no-magic-numbers + writeFileSync(errPath, JSON.stringify(result.errors, null, 2)); + Logger.ok(`Mapping errors written to ${errPath}.`); + } }); commander diff --git a/src/mapping.ts b/src/mapping.ts index 97f67573..4b737505 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -15,7 +15,7 @@ import {Logger} from '@openstapps/logger'; import merge from 'deepmerge'; import {stringify} from 'flatted'; -import {DeclarationReflection, ProjectReflection} from 'typedoc'; +import {DeclarationReflection, ProjectReflection, SignatureReflection} from 'typedoc'; import { ArrayType, Comment, @@ -35,7 +35,8 @@ import {settings} from './mappings/definitions/settings'; import {dynamicTypes, ElasticsearchDataType, typemap} from './mappings/definitions/typemap'; import { ElasticsearchDynamicTemplate, - ElasticsearchObject, ElasticsearchTemplateCollection, + ElasticsearchObject, + ElasticsearchTemplateCollection, ElasticsearchType, ElasticsearchValue, } from './mappings/mapping-definitions'; @@ -116,6 +117,7 @@ function composeErrorMessage(path: string, topTypeName: string, typeName: string * @param type the ReferenceType of a DeclarationReflection * @param out the previous reflection, it then overrides all parameters or keeps old ones * @param path the current path to the object we are in + * @param topTypeName the type field value * @param tags any tags attached to the type */ function getReflectionGeneric(type: ReferenceType, @@ -198,6 +200,7 @@ function handleExternalType(ref: ReferenceType, generics: Map, @@ -221,14 +224,17 @@ function handleDeclarationReflection(decl: DeclarationReflection, let empty = true; // first check if there are any index signatures, so for example `[name: string]: Foo` - if (typeof decl.indexSignature !== 'undefined' && typeof decl.indexSignature.parameters !== 'undefined') { + if (typeof decl.indexSignature !== 'undefined') { out.dynamic = true; - for (const param of decl.indexSignature.parameters) { + if (typeof decl.indexSignature.type !== 'undefined') { empty = false; const template: ElasticsearchDynamicTemplate = {}; template[decl.name] = { - mapping: handleDeclarationReflection(param as DeclarationReflection, new Map(generics), path, topTypeName), + mapping: handleType( + decl.indexSignature.type, + new Map(generics), path, topTypeName, + getCommentTags(decl.indexSignature)), match: '*', match_mapping_type: '*', path_match: `${path}*`, @@ -267,12 +273,24 @@ function handleDeclarationReflection(decl: DeclarationReflection, * * @param decl the DeclarationReflection to read the tags from * @param inheritedTags any tags that might have been inherited by a parent + * @param breakId the id of the previous reflection to prevent infinite recursion in some cases */ -function getCommentTags(decl: DeclarationReflection, inheritedTags: CommentTag[] = []): CommentTag[] { +function getCommentTags(decl: DeclarationReflection | SignatureReflection, + inheritedTags: CommentTag[] = [], + // tslint:disable-next-line:no-unnecessary-initializer + breakId: number | undefined = undefined, +): CommentTag[] { + if (decl.id === breakId) { + return []; + } + let out: CommentTag[] = decl.comment instanceof Comment ? typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : inheritedTags : inheritedTags; if (decl.overwrites instanceof ReferenceType && decl.overwrites.reflection instanceof DeclarationReflection) { - out = arrayPriorityJoin(out, getCommentTags(decl.overwrites.reflection)); + out = arrayPriorityJoin(getCommentTags(decl.overwrites.reflection, inheritedTags, decl.id), out); + } + if (decl.inheritedFrom instanceof ReferenceType && decl.inheritedFrom.reflection instanceof DeclarationReflection) { + out = arrayPriorityJoin(getCommentTags(decl.inheritedFrom.reflection, inheritedTags, decl.id), out); } return out; @@ -357,7 +375,17 @@ function handleType(type: Type, generics: Map, path: ElasticsearchValue { // logger.log((type as any).name); if (type instanceof ArrayType) { // array is irrelevant in Elasticsearch, so just go with the element type - return handleType(type.elementType, new Map(generics), path, topTypeName, tags); + const esType = handleType(type.elementType, new Map(generics), path, topTypeName, tags); + // also merge tags of the array to the element type + // filter out the type tags lazily, this can lead to double messages for "Not implemented tag" + let newTags = tags; + if ('type' in esType) { + newTags = tags.filter((tag) => { + return !(tag.tagName === esType.type); + }); + } + + return readFieldTags(esType, path, topTypeName, newTags); } if (type.type === 'stringLiteral') { // a string literal, usually for type return readTypeTags(type.type, path, topTypeName, tags); @@ -406,11 +434,24 @@ function handleType(type: Type, generics: Map, path: */ function addAggregatable(path: string, topTypeName: string, global: boolean) { // push type.path and remove the '.' at the end of the path - const property = path.slice(0, -1) - .split('.') - .pop() as string; // cannot be undefined - (aggregations[global ? '@all' : topTypeName] as ESNestedAggregation).aggs[property] = { + if (global) { + const prop = path.slice(0, -1) + .split('.') + .pop() as string; // cannot be undefined + + return (aggregations['@all'] as ESNestedAggregation).aggs[prop.split('.') + .pop() as string] = { + terms: { + field: `${prop}.raw`, + size: 1000, + }, + }; + } + + const property = path.slice(0, -1); + + return (aggregations[topTypeName] as ESNestedAggregation).aggs[property] = { terms: { field: `${property}.raw`, size: 1000, From 24ea449dd41491bd0f7e25464e03c57583912f6d Mon Sep 17 00:00:00 2001 From: "wulkanat@gmail.com" Date: Wed, 9 Sep 2020 18:01:25 +0200 Subject: [PATCH 114/215] test: add aggregations and mapping test --- src/cli.ts | 2 +- src/mapping.ts | 13 +- src/mappings/mapping-definitions.ts | 2 +- test/aggregations.spec.ts | 72 +++++++++ test/mapping-model/MapAggTest.ts | 136 ++++++++++++++++ test/mapping-model/MapAggTestOptions.ts | 37 +++++ .../aggregations/src/agg-array.ts | 38 +++++ .../aggregations/src/agg-global-nested.ts | 39 +++++ .../aggregations/src/agg-global.ts | 37 +++++ .../aggregations/src/agg-inherited-global.ts | 40 +++++ .../src/agg-inherited-overwritten.ts | 45 ++++++ .../aggregations/src/agg-inherited.ts | 40 +++++ .../aggregations/src/agg-nested.ts | 39 +++++ test/mapping-model/aggregations/src/types.ts | 25 +++ test/mapping-model/aggregations/tsconfig.json | 3 + .../mapping-model/mappings/src/any-unknown.ts | 45 ++++++ .../mappings/src/default-generics.ts | 51 ++++++ .../mappings/src/double-type-conflict.ts | 56 +++++++ test/mapping-model/mappings/src/enum.ts | 56 +++++++ .../mappings/src/filterable-tag.ts | 75 +++++++++ test/mapping-model/mappings/src/generics.ts | 61 +++++++ .../mappings/src/impossible-union.ts | 42 +++++ .../mappings/src/incompatible-type.ts | 73 +++++++++ .../mappings/src/index-signature.ts | 65 ++++++++ .../mappings/src/inherited-property.ts | 57 +++++++ .../mapping-model/mappings/src/invalid-tag.ts | 45 ++++++ .../mappings/src/map-explicit-types.ts | 66 ++++++++ .../mappings/src/missing-premap.ts | 45 ++++++ test/mapping-model/mappings/src/nested.ts | 71 ++++++++ .../mappings/src/object-union.ts | 60 +++++++ .../mapping-model/mappings/src/paired-tags.ts | 68 ++++++++ .../mappings/src/sensible-defaults.ts | 59 +++++++ .../mappings/src/sortable-tag.ts | 79 +++++++++ test/mapping-model/mappings/src/type-query.ts | 45 ++++++ .../mappings/src/type-wrapper-inheritance.ts | 67 ++++++++ test/mapping-model/mappings/src/types.ts | 38 +++++ test/mapping-model/mappings/tsconfig.json | 3 + test/mapping.spec.ts | 153 ++++++++++++++++++ 38 files changed, 1945 insertions(+), 3 deletions(-) create mode 100644 test/aggregations.spec.ts create mode 100644 test/mapping-model/MapAggTest.ts create mode 100644 test/mapping-model/MapAggTestOptions.ts create mode 100644 test/mapping-model/aggregations/src/agg-array.ts create mode 100644 test/mapping-model/aggregations/src/agg-global-nested.ts create mode 100644 test/mapping-model/aggregations/src/agg-global.ts create mode 100644 test/mapping-model/aggregations/src/agg-inherited-global.ts create mode 100644 test/mapping-model/aggregations/src/agg-inherited-overwritten.ts create mode 100644 test/mapping-model/aggregations/src/agg-inherited.ts create mode 100644 test/mapping-model/aggregations/src/agg-nested.ts create mode 100644 test/mapping-model/aggregations/src/types.ts create mode 100644 test/mapping-model/aggregations/tsconfig.json create mode 100644 test/mapping-model/mappings/src/any-unknown.ts create mode 100644 test/mapping-model/mappings/src/default-generics.ts create mode 100644 test/mapping-model/mappings/src/double-type-conflict.ts create mode 100644 test/mapping-model/mappings/src/enum.ts create mode 100644 test/mapping-model/mappings/src/filterable-tag.ts create mode 100644 test/mapping-model/mappings/src/generics.ts create mode 100644 test/mapping-model/mappings/src/impossible-union.ts create mode 100644 test/mapping-model/mappings/src/incompatible-type.ts create mode 100644 test/mapping-model/mappings/src/index-signature.ts create mode 100644 test/mapping-model/mappings/src/inherited-property.ts create mode 100644 test/mapping-model/mappings/src/invalid-tag.ts create mode 100644 test/mapping-model/mappings/src/map-explicit-types.ts create mode 100644 test/mapping-model/mappings/src/missing-premap.ts create mode 100644 test/mapping-model/mappings/src/nested.ts create mode 100644 test/mapping-model/mappings/src/object-union.ts create mode 100644 test/mapping-model/mappings/src/paired-tags.ts create mode 100644 test/mapping-model/mappings/src/sensible-defaults.ts create mode 100644 test/mapping-model/mappings/src/sortable-tag.ts create mode 100644 test/mapping-model/mappings/src/type-query.ts create mode 100644 test/mapping-model/mappings/src/type-wrapper-inheritance.ts create mode 100644 test/mapping-model/mappings/src/types.ts create mode 100644 test/mapping-model/mappings/tsconfig.json create mode 100644 test/mapping.spec.ts diff --git a/src/cli.ts b/src/cli.ts index 692ff609..bef68c71 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -87,7 +87,7 @@ commander commander .command('mapping ') .option('-m, --mappingPath ', 'Mapping Path') - .option('-i, --ignoredTags ', 'Ignored Tags') + .option('-i, --ignoredTags ', 'Ignored Tags (comma-separated)') .option('-a, --aggPath ', 'Aggregations Path') .option('-e, --errorPath ', 'Error Path') .action(async (relativeSrcPath, options) => { diff --git a/src/mapping.ts b/src/mapping.ts index 4b737505..1cd925d7 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -573,8 +573,12 @@ function readTypeTags(type: string, path: string, topTypeName: string, tags: Com * @param projectReflection a reflection of the project you want to get the ES Mappings from * @param ignoredTags the tag names for which the error output should be suppressed * @param showErrorOutput whether to print all errors in the command line or not + * @param interfaceFilter only parse specific interfaces, this is for testing purposes */ -export function generateTemplate(projectReflection: ProjectReflection, ignoredTags: string[], showErrorOutput = true): +export function generateTemplate(projectReflection: ProjectReflection, + ignoredTags: string[], + showErrorOutput = true, + interfaceFilter: string[] = []): // tslint:disable-next-line:completed-docs { aggregations: AggregationSchema; errors: string[]; mappings: ElasticsearchTemplateCollection; } { errors = []; @@ -626,6 +630,13 @@ export function generateTemplate(projectReflection: ProjectReflection, ignoredTa Logger.error(`The interface ${_interface.name} is required to use an SCThingType as a type, please do so.`); } + // filter out + if (interfaceFilter.length !== 0) { + if (typeof interfaceFilter.find((it) => it === typeName) === 'undefined') { + continue; + } + } + // init aggregation schema for type aggregations[typeName] = { aggs: {}, diff --git a/src/mappings/mapping-definitions.ts b/src/mappings/mapping-definitions.ts index ab6ab0f8..e7c0f626 100644 --- a/src/mappings/mapping-definitions.ts +++ b/src/mappings/mapping-definitions.ts @@ -207,7 +207,7 @@ export interface ElasticsearchObject { * Fields that should be excluded in the _source field */ excludes: [ - 'creation_date', + 'creation_date' ]; }; diff --git a/test/aggregations.spec.ts b/test/aggregations.spec.ts new file mode 100644 index 00000000..251d4d0a --- /dev/null +++ b/test/aggregations.spec.ts @@ -0,0 +1,72 @@ +// tslint:disable +/* + * Copyright (C) 2020 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {Logger} from '@openstapps/logger'; +import {slow, suite, test, timeout} from 'mocha-typescript'; +import {MapAggTest} from './mapping-model/MapAggTest'; +import {aggArrayTest} from './mapping-model/aggregations/src/agg-array'; +import {aggNestedTest} from './mapping-model/aggregations/src/agg-nested'; +import {aggGlobalTest} from './mapping-model/aggregations/src/agg-global'; +import {aggGlobalNestedTest} from './mapping-model/aggregations/src/agg-global-nested'; +import {aggInheritedTest} from './mapping-model/aggregations/src/agg-inherited'; +import {aggInheritedGlobalTest} from './mapping-model/aggregations/src/agg-inherited-global'; +import {aggInheritedOverwrittenTest} from './mapping-model/aggregations/src/agg-inherited-overwritten'; + +process.on('unhandledRejection', (error: unknown) => { + if (error instanceof Error) { + void Logger.error('UNHANDLED REJECTION', error.stack); + } + process.exit(1); +}); + +const magAppInstance = new MapAggTest('aggregations'); + +@suite(timeout(20000), slow(10000)) +export class AggregationsSpec { + @test + async 'Aggregation tag should propagate on arrays'() { + magAppInstance.testInterfaceAgainstPath(aggArrayTest); + } + + @test + async 'Should work on nested properties'() { + magAppInstance.testInterfaceAgainstPath(aggNestedTest); + } + + @test + async 'Global option should work'() { + magAppInstance.testInterfaceAgainstPath(aggGlobalTest); + } + + @test + async 'Global aggregations when nested'() { + magAppInstance.testInterfaceAgainstPath(aggGlobalNestedTest); + } + + @test + async 'Inherited aggregations should work'() { + magAppInstance.testInterfaceAgainstPath(aggInheritedTest); + } + + @test + async 'Inherited global aggregations should work'() { + magAppInstance.testInterfaceAgainstPath(aggInheritedGlobalTest); + } + + @test + async 'Inherited aggregations should work when overwritten'() { + magAppInstance.testInterfaceAgainstPath(aggInheritedOverwrittenTest); + } +} diff --git a/test/mapping-model/MapAggTest.ts b/test/mapping-model/MapAggTest.ts new file mode 100644 index 00000000..2ebe611c --- /dev/null +++ b/test/mapping-model/MapAggTest.ts @@ -0,0 +1,136 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {generateTemplate} from '../../src/mapping'; +import {resolve} from "path"; +import {expect} from "chai"; +import {ProjectReflection} from 'typedoc'; +import {getProjectReflection} from '../../src/common'; +import {AggregationSchema, ESNestedAggregation} from '../../src/mappings/aggregation-definitions'; +import {MapAggTestOptions, MinimalMappingDescription} from './MapAggTestOptions'; +import {ElasticsearchTemplateCollection} from '../../src/mappings/mapping-definitions'; +import {settings} from '../../src/mappings/definitions/settings'; +import {ElasticsearchDataType} from '../../src/mappings/definitions/typemap'; + +export class MapAggTest { + mapping_model_path!: string; + reflection!: ProjectReflection; + + constructor(dir: string) { + this.mapping_model_path = resolve(__dirname, dir); + this.reflection = getProjectReflection(this.mapping_model_path); + } + + testInterfaceAgainstPath(options: MapAggTestOptions) { + const template = generateTemplate(this.reflection, options.ignoredTags ?? [], false, [options.name]); + + if (typeof options.err !== 'undefined') { + for (const error of template.errors) { + expect(options.err).to.include(error, "Unexpected Error!") + } + } else { + expect(template.errors).to.be.deep.equal([], 'Unexpected Error!'); + } + + if (typeof options.agg !== 'undefined') { + const expectedAggSchema = MapAggTest.buildAggregation(options.name, options.agg.fields, options.agg.globals) + expect(template.aggregations).to.be.deep.equal(expectedAggSchema, 'Aggregation schema not equal!'); + } + + if (typeof options.map !== 'undefined') { + const expectedMappingSchema = MapAggTest.buildMapping(options.name, options.map); + expect(template.mappings).to.be.deep.equal(expectedMappingSchema, 'Mapping schema not equal!'); + } + } + + static buildAggregation(name: string, fields?: string[], globals?: string[]): AggregationSchema { + const out: AggregationSchema = { + '@all': { + aggs: {}, + filter: { + match_all: {} + } + }, + }; + + for (const global of globals ?? []) { + (out['@all']! as ESNestedAggregation).aggs[global] = { + terms: { + field: `${global}.raw`, + size: 1000, + } + } + } + + if (typeof fields === 'undefined' || fields.length === 0) { + return out; + } + + out[name] = { + aggs: {}, + filter: { + type: { + value: name, + } + } + } + + for (const field of fields) { + (out[name]! as ESNestedAggregation).aggs[field] = { + terms: { + field: `${field}.raw`, + size: 1000, + } + } + } + + return out; + } + + static buildMapping(name: string, map: MinimalMappingDescription): ElasticsearchTemplateCollection { + let typeNameWithoutSpaces = name.toLowerCase(); + while (typeNameWithoutSpaces.includes(' ')) { + typeNameWithoutSpaces = typeNameWithoutSpaces.replace(' ', '_'); + } + + const out: ElasticsearchTemplateCollection = {}; + const templateName = `template_${typeNameWithoutSpaces}`; + out[templateName] = { + mappings: {}, + settings: settings, + template: `stapps_${typeNameWithoutSpaces}*`, + } + const maps = map.maps ?? {}; + maps.type = { + type: ElasticsearchDataType.text + } + maps.creation_date = { + type: ElasticsearchDataType.date + } + out[templateName].mappings[name] = { + _source: { + excludes: [ + 'creation_date' + ] + }, + date_detection: false, + dynamic: 'strict', + properties: maps, + dynamic_templates: map.dynamicTemplates ?? [], + } + + return out; + } +} diff --git a/test/mapping-model/MapAggTestOptions.ts b/test/mapping-model/MapAggTestOptions.ts new file mode 100644 index 00000000..eb015ba6 --- /dev/null +++ b/test/mapping-model/MapAggTestOptions.ts @@ -0,0 +1,37 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import { + ElasticsearchDynamicTemplate, + ElasticsearchValue +} from '../../src/mappings/mapping-definitions'; + +export interface MapAggTestOptions { + name: string; + agg?: { + fields?: string[]; + globals?: string[]; + } + map?: MinimalMappingDescription; + err?: string[]; + ignoredTags?: string[]; +} + +export interface MinimalMappingDescription { + maps?: { + [name: string]: ElasticsearchValue; + }; + dynamicTemplates?: ElasticsearchDynamicTemplate[]; +} diff --git a/test/mapping-model/aggregations/src/agg-array.ts b/test/mapping-model/aggregations/src/agg-array.ts new file mode 100644 index 00000000..a4d74960 --- /dev/null +++ b/test/mapping-model/aggregations/src/agg-array.ts @@ -0,0 +1,38 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; + +/** + * @indexable + */ +export interface AggArray { + /** + * @aggregatable + */ + array: Foo[]; + + type: ThingType.AggArray; +} +type Foo = 'A' | 'B' | 'C'; + +export const aggArrayTest: MapAggTestOptions = { + name: ThingType.AggArray, + agg: { + fields: ['array'], + }, +}; diff --git a/test/mapping-model/aggregations/src/agg-global-nested.ts b/test/mapping-model/aggregations/src/agg-global-nested.ts new file mode 100644 index 00000000..cadcd879 --- /dev/null +++ b/test/mapping-model/aggregations/src/agg-global-nested.ts @@ -0,0 +1,39 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; + +/** + * @indexable + */ +export interface AggGlobalNested { + nested: { + /** + * @aggregatable global + */ + foo: string; + }; + + type: ThingType.AggGlobalNested; +} + +export const aggGlobalNestedTest: MapAggTestOptions = { + name: ThingType.AggGlobalNested, + agg: { + globals: ['foo'], + }, +}; diff --git a/test/mapping-model/aggregations/src/agg-global.ts b/test/mapping-model/aggregations/src/agg-global.ts new file mode 100644 index 00000000..7f3f26fa --- /dev/null +++ b/test/mapping-model/aggregations/src/agg-global.ts @@ -0,0 +1,37 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; + +/** + * @indexable + */ +export interface AggGlobal { + /** + * @aggregatable global + */ + foo: string; + + type: ThingType.AggGlobal; +} + +export const aggGlobalTest: MapAggTestOptions = { + name: ThingType.AggGlobal, + agg: { + globals: ['foo'], + }, +}; diff --git a/test/mapping-model/aggregations/src/agg-inherited-global.ts b/test/mapping-model/aggregations/src/agg-inherited-global.ts new file mode 100644 index 00000000..65145166 --- /dev/null +++ b/test/mapping-model/aggregations/src/agg-inherited-global.ts @@ -0,0 +1,40 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; + +/** + * @indexable + */ +export interface AggInheritedGlobal extends Foo { + type: ThingType.AggInheritedGlobal; +} + + +interface Foo { + /** + * @aggregatable global + */ + bar: string; +} + +export const aggInheritedGlobalTest: MapAggTestOptions = { + name: ThingType.AggInheritedGlobal, + agg: { + globals: ['bar'], + }, +}; diff --git a/test/mapping-model/aggregations/src/agg-inherited-overwritten.ts b/test/mapping-model/aggregations/src/agg-inherited-overwritten.ts new file mode 100644 index 00000000..0512ee40 --- /dev/null +++ b/test/mapping-model/aggregations/src/agg-inherited-overwritten.ts @@ -0,0 +1,45 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; + +/** + * @indexable + */ +export interface AggInherited extends Foo { + /** + * No tag here :) + */ + bar: 'some thing'; + + type: ThingType.AggInheritedOverwritten; +} + + +interface Foo { + /** + * @aggregatable + */ + bar: string; +} + +export const aggInheritedOverwrittenTest: MapAggTestOptions = { + name: ThingType.AggInherited, + agg: { + fields: ['bar'], + }, +}; diff --git a/test/mapping-model/aggregations/src/agg-inherited.ts b/test/mapping-model/aggregations/src/agg-inherited.ts new file mode 100644 index 00000000..9cd7ef12 --- /dev/null +++ b/test/mapping-model/aggregations/src/agg-inherited.ts @@ -0,0 +1,40 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; + +/** + * @indexable + */ +export interface AggInherited extends Foo { + type: ThingType.AggInherited; +} + + +interface Foo { + /** + * @aggregatable + */ + bar: string; +} + +export const aggInheritedTest: MapAggTestOptions = { + name: ThingType.AggInherited, + agg: { + fields: ['bar'], + }, +}; diff --git a/test/mapping-model/aggregations/src/agg-nested.ts b/test/mapping-model/aggregations/src/agg-nested.ts new file mode 100644 index 00000000..8fb3b100 --- /dev/null +++ b/test/mapping-model/aggregations/src/agg-nested.ts @@ -0,0 +1,39 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; + +/** + * @indexable + */ +export interface AggNested { + nested: { + /** + * @aggregatable + */ + foo: string; + }; + + type: ThingType.AggNested; +} + +export const aggNestedTest: MapAggTestOptions = { + name: ThingType.AggNested, + agg: { + fields: ['nested.foo'], + }, +}; diff --git a/test/mapping-model/aggregations/src/types.ts b/test/mapping-model/aggregations/src/types.ts new file mode 100644 index 00000000..0978b05a --- /dev/null +++ b/test/mapping-model/aggregations/src/types.ts @@ -0,0 +1,25 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +export enum ThingType { + AggArray = 'agg array', + AggGlobal = 'agg global', + AggGlobalNested = 'agg global nested', + AggNested = 'agg nested', + AggInherited = 'agg inherited', + AggInheritedGlobal = 'agg inherited global', + AggInheritedOverwritten = 'agg inherited overwritten', +} diff --git a/test/mapping-model/aggregations/tsconfig.json b/test/mapping-model/aggregations/tsconfig.json new file mode 100644 index 00000000..c7a33719 --- /dev/null +++ b/test/mapping-model/aggregations/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../../node_modules/@openstapps/configuration/tsconfig.json" +} diff --git a/test/mapping-model/mappings/src/any-unknown.ts b/test/mapping-model/mappings/src/any-unknown.ts new file mode 100644 index 00000000..b740f9b2 --- /dev/null +++ b/test/mapping-model/mappings/src/any-unknown.ts @@ -0,0 +1,45 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; + +/** + * @indexable + */ +export interface AnyUnknown { + foo: any; + + bar: unknown; + + type: ThingType.AnyUnknown +} + +export const anyUnknownTest: MapAggTestOptions = { + name: ThingType.AnyUnknown, + map: { + maps: { + foo: { + dynamic: true, + properties: {} + }, + bar: { + dynamic: true, + properties: {} + } + } + } +}; diff --git a/test/mapping-model/mappings/src/default-generics.ts b/test/mapping-model/mappings/src/default-generics.ts new file mode 100644 index 00000000..f571671b --- /dev/null +++ b/test/mapping-model/mappings/src/default-generics.ts @@ -0,0 +1,51 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface DefaultGeneric { + foo: InterfaceWithDefaultGeneric; + + type: ThingType.DefaultGeneric; +} + +interface InterfaceWithDefaultGeneric { + bar: T; +} + +export const defaultGenericTest: MapAggTestOptions = { + name: ThingType.DefaultGeneric, + map: { + maps: { + foo: { + dynamic: 'strict', + properties: { + bar: { + type: ElasticsearchDataType.parse_error + } + } + } + } + }, + err: [ + `At "${ThingType.DefaultGeneric}::foo.bar" for Generic "T": Missing reflection, please report!` + ] +}; diff --git a/test/mapping-model/mappings/src/double-type-conflict.ts b/test/mapping-model/mappings/src/double-type-conflict.ts new file mode 100644 index 00000000..e889ca56 --- /dev/null +++ b/test/mapping-model/mappings/src/double-type-conflict.ts @@ -0,0 +1,56 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface DoubleTypeConflict { + /** + * @keyword + * @text + */ + stringDoubleTypeConflict: string; + + /** + * @integer + * @float + */ + numberDoubleTypeConflict: number; + + type: ThingType.DoubleTypeConflict; +} + +export const doubleTypeConflictTest: MapAggTestOptions = { + name: ThingType.DoubleTypeConflict, + map: { + maps: { + stringDoubleTypeConflict: { + type: ElasticsearchDataType.type_conflict + }, + numberDoubleTypeConflict: { + type: ElasticsearchDataType.type_conflict + } + } + }, + err: [ + `At "${ThingType.DoubleTypeConflict}::stringDoubleTypeConflict" for type "string": Type conflict; "keyword" would override "text"`, + `At "${ThingType.DoubleTypeConflict}::numberDoubleTypeConflict" for type "number": Type conflict; "integer" would override "float"` + ] +}; diff --git a/test/mapping-model/mappings/src/enum.ts b/test/mapping-model/mappings/src/enum.ts new file mode 100644 index 00000000..470e9379 --- /dev/null +++ b/test/mapping-model/mappings/src/enum.ts @@ -0,0 +1,56 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface Enum { + foo: Bar, + + bar: Baz, + + type: ThingType.Enum; +} + +enum Bar { + a, + b, + c, +} + +enum Baz { + d = 'd', + e = 'e', + f = 'f', +} + +export const enumTest: MapAggTestOptions = { + name: ThingType.Enum, + map: { + maps: { + foo: { + type: ElasticsearchDataType.text + }, + bar: { + type: ElasticsearchDataType.text + } + } + } +}; diff --git a/test/mapping-model/mappings/src/filterable-tag.ts b/test/mapping-model/mappings/src/filterable-tag.ts new file mode 100644 index 00000000..608b1456 --- /dev/null +++ b/test/mapping-model/mappings/src/filterable-tag.ts @@ -0,0 +1,75 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface FilterableTag { + /** + * @text + * @filterable + */ + foo: string; + + /** + * @keyword + * @filterable + */ + bar: string; + + /** + * @filterable + */ + baz: 'some literal' + + type: ThingType.FilterableTag +} + +export const filterableTagTest: MapAggTestOptions = { + name: ThingType.FilterableTag, + map: { + maps: { + foo: { + type: ElasticsearchDataType.text, + fields: { + raw: { + type: ElasticsearchDataType.keyword + } + } + }, + bar: { + type: ElasticsearchDataType.keyword, + fields: { + raw: { + type: ElasticsearchDataType.keyword + } + } + }, + baz: { + type: ElasticsearchDataType.keyword, + fields: { + raw: { + type: ElasticsearchDataType.keyword + } + } + } + } + } +}; diff --git a/test/mapping-model/mappings/src/generics.ts b/test/mapping-model/mappings/src/generics.ts new file mode 100644 index 00000000..54b127df --- /dev/null +++ b/test/mapping-model/mappings/src/generics.ts @@ -0,0 +1,61 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface Generics { + foo: InterfaceWithDefaultGeneric; + baz: InterfaceWithStringGeneric + + type: ThingType.Generics; +} + +interface InterfaceWithDefaultGeneric { + bar: T; +} + +interface InterfaceWithStringGeneric { + bar: T; +} + +export const genericTest: MapAggTestOptions = { + name: ThingType.Generics, + map: { + maps: { + foo: { + dynamic: 'strict', + properties: { + bar: { + type: ElasticsearchDataType.integer + } + } + }, + baz: { + dynamic: 'strict', + properties: { + bar: { + type: ElasticsearchDataType.text + } + } + } + } + } +}; diff --git a/test/mapping-model/mappings/src/impossible-union.ts b/test/mapping-model/mappings/src/impossible-union.ts new file mode 100644 index 00000000..069af3bf --- /dev/null +++ b/test/mapping-model/mappings/src/impossible-union.ts @@ -0,0 +1,42 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface ImpossibleUnion { + foo: 'a' | 1 | boolean; + + type: ThingType.ImpossibleUnion +} + +export const impossibleUnionTest: MapAggTestOptions = { + name: ThingType.ImpossibleUnion, + map: { + maps: { + foo: { + type: ElasticsearchDataType.boolean + } + } + }, + err: [ + `At "${ThingType.ImpossibleUnion}::foo" for type "[{"type":"1","name":"2"},"unknown","1"]": Not implemented type` + ] +}; diff --git a/test/mapping-model/mappings/src/incompatible-type.ts b/test/mapping-model/mappings/src/incompatible-type.ts new file mode 100644 index 00000000..2d119d29 --- /dev/null +++ b/test/mapping-model/mappings/src/incompatible-type.ts @@ -0,0 +1,73 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface DoubleTypeConflict { + /** + * @keyword + */ + keywordNumber: number; + + /** + * @text + */ + textNumber: number; + + /** + * @integer + */ + integerString: string; + + /** + * @float + */ + floatString: string; + + + type: ThingType.IncompatibleType; +} + +export const incompatibleTypeTest: MapAggTestOptions = { + name: ThingType.IncompatibleType, + map: { + maps: { + keywordNumber: { + type: ElasticsearchDataType.integer + }, + textNumber: { + type: ElasticsearchDataType.integer + }, + integerString: { + type: ElasticsearchDataType.text + }, + floatString: { + type: ElasticsearchDataType.text + } + } + }, + err: [ + `At "${ThingType.IncompatibleType}::keywordNumber" for tag "keyword": Not implemented tag`, + `At "${ThingType.IncompatibleType}::textNumber" for tag "text": Not implemented tag`, + `At "${ThingType.IncompatibleType}::floatString" for tag "float": Not implemented tag`, + `At "${ThingType.IncompatibleType}::integerString" for tag "integer": Not implemented tag`, + ] +}; diff --git a/test/mapping-model/mappings/src/index-signature.ts b/test/mapping-model/mappings/src/index-signature.ts new file mode 100644 index 00000000..6a8e9347 --- /dev/null +++ b/test/mapping-model/mappings/src/index-signature.ts @@ -0,0 +1,65 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface IndexSignature { + foo: { + [key: string]: { + bar: number; + baz: string; + } + } + + type: ThingType.IndexSignature; +} + +export const indexSignatureTest: MapAggTestOptions = { + name: ThingType.IndexSignature, + map: { + maps: { + foo: { + dynamic: true, + properties: {} + } + }, + dynamicTemplates: [ + { + __type: { + mapping: { + dynamic: 'strict', + properties: { + bar: { + type: ElasticsearchDataType.integer + }, + baz: { + type: ElasticsearchDataType.text + } + } + }, + match: '*', + match_mapping_type: '*', + path_match: 'foo.*' + } + } + ] + } +}; diff --git a/test/mapping-model/mappings/src/inherited-property.ts b/test/mapping-model/mappings/src/inherited-property.ts new file mode 100644 index 00000000..4688d166 --- /dev/null +++ b/test/mapping-model/mappings/src/inherited-property.ts @@ -0,0 +1,57 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface InheritedProperty extends Bar{ + foo: number, + + type: ThingType.InheritedProperty; +} + +interface Bar { + /** + * @keyword + */ + bar: string; + + /** + * @float + */ + baz: number; +} + +export const inheritedPropertyTest: MapAggTestOptions = { + name: ThingType.InheritedProperty, + map: { + maps: { + foo: { + type: ElasticsearchDataType.integer + }, + bar: { + type: ElasticsearchDataType.keyword + }, + baz: { + type: ElasticsearchDataType.float + } + } + } +}; diff --git a/test/mapping-model/mappings/src/invalid-tag.ts b/test/mapping-model/mappings/src/invalid-tag.ts new file mode 100644 index 00000000..476bf0db --- /dev/null +++ b/test/mapping-model/mappings/src/invalid-tag.ts @@ -0,0 +1,45 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface InvalidTag { + /** + * @anInvalidTag + */ + foo: string; + + type: ThingType.InvalidTag; +} + +export const invalidTagTest: MapAggTestOptions = { + name: ThingType.InvalidTag, + map: { + maps: { + foo: { + type: ElasticsearchDataType.text + } + } + }, + err: [ + `At "${ThingType.InvalidTag}::foo" for tag "aninvalidtag": Not implemented tag` + ] +}; diff --git a/test/mapping-model/mappings/src/map-explicit-types.ts b/test/mapping-model/mappings/src/map-explicit-types.ts new file mode 100644 index 00000000..a5b394f2 --- /dev/null +++ b/test/mapping-model/mappings/src/map-explicit-types.ts @@ -0,0 +1,66 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface MapExplicitTypes { + /** + * @integer + */ + esInteger: number; + + /** + * @float + */ + esFloat: number; + + /** + * @keyword + */ + esKeyword: string; + + /** + * @text + */ + esText: string; + + type: ThingType.MapExplicitTypes; +} + +export const mapExplicitTypesTest: MapAggTestOptions = { + name: ThingType.MapExplicitTypes, + map: { + maps: { + esInteger: { + type: ElasticsearchDataType.integer + }, + esFloat: { + type: ElasticsearchDataType.float + }, + esKeyword: { + type: ElasticsearchDataType.keyword + }, + esText: { + type: ElasticsearchDataType.text + } + } + } +}; diff --git a/test/mapping-model/mappings/src/missing-premap.ts b/test/mapping-model/mappings/src/missing-premap.ts new file mode 100644 index 00000000..967b4d6c --- /dev/null +++ b/test/mapping-model/mappings/src/missing-premap.ts @@ -0,0 +1,45 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface MissingPremap { + // it really doesn't matter what we use here, as long as it is an external dependency + // if you get an error here because you removed a dependency, feel free to change it around + // to your heart's content + foo: HTMLAllCollection; + + type: ThingType.MissingPremap; +} + +export const missingPremapTest: MapAggTestOptions = { + name: ThingType.MissingPremap, + map: { + maps: { + foo: { + type: ElasticsearchDataType.missing_premap + } + } + }, + err: [ + `At "${ThingType.MissingPremap}::foo" for external type "HTMLAllCollection": Missing pre-map` + ] +}; diff --git a/test/mapping-model/mappings/src/nested.ts b/test/mapping-model/mappings/src/nested.ts new file mode 100644 index 00000000..3436c9cc --- /dev/null +++ b/test/mapping-model/mappings/src/nested.ts @@ -0,0 +1,71 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface Nested { + foo: { + depth1_1: { + depth2_1: { + depth3_1: number; + /** + * @keyword + */ + depth3_2: string; + } + depth2_2: boolean; + } + } + + type: ThingType.Nested; +} + +export const nestedTest: MapAggTestOptions = { + name: ThingType.Nested, + map: { + maps: { + foo: { + dynamic: 'strict', + properties: { + depth1_1: { + dynamic: 'strict', + properties: { + depth2_1: { + dynamic: 'strict', + properties: { + depth3_1: { + type: ElasticsearchDataType.integer + }, + depth3_2: { + type: ElasticsearchDataType.keyword + } + } + }, + depth2_2: { + type: ElasticsearchDataType.boolean + } + } + } + } + } + } + } +}; diff --git a/test/mapping-model/mappings/src/object-union.ts b/test/mapping-model/mappings/src/object-union.ts new file mode 100644 index 00000000..004ed0ca --- /dev/null +++ b/test/mapping-model/mappings/src/object-union.ts @@ -0,0 +1,60 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface ObjectUnion { + foo: Bar | Baz; + + type: ThingType.ObjectUnion +} + +interface Bar { + a: boolean; + intersection: string; +} + +interface Baz { + b: number; + intersection: string; +} + +export const objectUnionTest: MapAggTestOptions = { + name: ThingType.ObjectUnion, + map: { + maps: { + foo: { + dynamic: 'strict', + properties: { + a: { + type: ElasticsearchDataType.boolean + }, + b: { + type: ElasticsearchDataType.integer + }, + intersection: { + type: ElasticsearchDataType.text + } + } + } + } + } +}; diff --git a/test/mapping-model/mappings/src/paired-tags.ts b/test/mapping-model/mappings/src/paired-tags.ts new file mode 100644 index 00000000..74100873 --- /dev/null +++ b/test/mapping-model/mappings/src/paired-tags.ts @@ -0,0 +1,68 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface PairedTags { + /** + * @keyword + * @filterable + */ + foo: string; + + /** + * @text + * @filterable + * @sortable + */ + bar: string; + + type: ThingType.PairedTags; +} + +export const pairedTagsTest: MapAggTestOptions = { + name: ThingType.PairedTags, + map: { + maps: { + foo: { + type: ElasticsearchDataType.keyword, + fields: { + raw: { + type: ElasticsearchDataType.keyword + } + } + }, + bar: { + type: ElasticsearchDataType.text, + fields: { + raw: { + type: ElasticsearchDataType.keyword + }, + sort: { + analyzer: 'ducet_sort', + fielddata: true, + type: ElasticsearchDataType.text + } + } + } + } + } +}; diff --git a/test/mapping-model/mappings/src/sensible-defaults.ts b/test/mapping-model/mappings/src/sensible-defaults.ts new file mode 100644 index 00000000..085654d4 --- /dev/null +++ b/test/mapping-model/mappings/src/sensible-defaults.ts @@ -0,0 +1,59 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface SensibleDefaults { + numberDefault: number; + stringDefault: string; + booleanDefault: boolean; + stringLiteralDefault: 'Hey there!'; + booleanTrueLiteralDefault: true; + booleanFalseLiteralDefault: false; + + type: ThingType.SensibleDefaultType; +} + +export const sensibleDefaultsTest: MapAggTestOptions = { + name: ThingType.SensibleDefaultType, + map: { + maps: { + numberDefault: { + type: ElasticsearchDataType.integer + }, + stringDefault: { + type: ElasticsearchDataType.text + }, + booleanDefault: { + type: ElasticsearchDataType.boolean + }, + stringLiteralDefault: { + type: ElasticsearchDataType.keyword + }, + booleanTrueLiteralDefault: { + type: ElasticsearchDataType.boolean + }, + booleanFalseLiteralDefault: { + type: ElasticsearchDataType.boolean + } + } + } +}; diff --git a/test/mapping-model/mappings/src/sortable-tag.ts b/test/mapping-model/mappings/src/sortable-tag.ts new file mode 100644 index 00000000..526f5738 --- /dev/null +++ b/test/mapping-model/mappings/src/sortable-tag.ts @@ -0,0 +1,79 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface SortableTag { + /** + * @sortable + */ + foo: string; + + /** + * @sortable ducet + */ + bar: string; + + /** + * @sortable + */ + baz: number; + + type: ThingType.SortableTag +} + +export const sortableTagTest: MapAggTestOptions = { + name: ThingType.SortableTag, + map: { + maps: { + foo: { + type: ElasticsearchDataType.text, + fields: { + sort: { + analyzer: 'ducet_sort', + fielddata: true, + type: 'text' + } + } + }, + bar: { + type: ElasticsearchDataType.text, + fields: { + sort: { + analyzer: 'ducet_sort', + fielddata: true, + type: 'text' + } + } + }, + baz: { + type: ElasticsearchDataType.integer, + fields: { + sort: { + analyzer: 'ducet_sort', + fielddata: true, + type: 'text' + } + } + } + } + } +}; diff --git a/test/mapping-model/mappings/src/type-query.ts b/test/mapping-model/mappings/src/type-query.ts new file mode 100644 index 00000000..75edaba7 --- /dev/null +++ b/test/mapping-model/mappings/src/type-query.ts @@ -0,0 +1,45 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface TypeQuery { + foo: typeof Bar; + + type: ThingType.TypeQuery; +} + +enum Bar { + 'a', + 'b', + 'c' +} + +export const typeQueryTest: MapAggTestOptions = { + name: ThingType.TypeQuery, + map: { + maps: { + foo: { + type: ElasticsearchDataType.text + } + } + } +}; diff --git a/test/mapping-model/mappings/src/type-wrapper-inheritance.ts b/test/mapping-model/mappings/src/type-wrapper-inheritance.ts new file mode 100644 index 00000000..c8b97b08 --- /dev/null +++ b/test/mapping-model/mappings/src/type-wrapper-inheritance.ts @@ -0,0 +1,67 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface TypeWrapperInheritance { + /** + * @float + */ + numberWrapper: NumberWrapper; + + /** + * @keyword + */ + stringWrapper: StringWrapper; + + /** + * @text + */ + stringLiteralWrapper: StringLiteralWrapper; + + type: ThingType.TypeWrapperInheritance +} + +type NumberWrapper = number; +type StringWrapper = string; +type StringLiteralWrapper = 'foo'; + +export const typeWrapperInheritanceTest: MapAggTestOptions = { + name: ThingType.TypeWrapperInheritance, + map: { + maps: { + foo: { + dynamic: 'strict', + properties: { + numberWrapper: { + type: ElasticsearchDataType.float + }, + stringWrapper: { + type: ElasticsearchDataType.keyword + }, + stringLiteralWrapper: { + type: ElasticsearchDataType.text + } + } + } + } + } +}; diff --git a/test/mapping-model/mappings/src/types.ts b/test/mapping-model/mappings/src/types.ts new file mode 100644 index 00000000..387bf24b --- /dev/null +++ b/test/mapping-model/mappings/src/types.ts @@ -0,0 +1,38 @@ +// tslint:disable +/* + * Copyright (C) 2019 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +export enum ThingType { + MapExplicitTypes = 'map explicit types', + DoubleTypeConflict = 'double type conflict', + IncompatibleType = 'incompatible type', + SensibleDefaultType = 'sensible default', + InvalidTag = 'invalid tag', + MissingPremap = 'missing premap', + DefaultGeneric = 'default generic', + Generics = 'generics', + Nested = 'nested', + IndexSignature = 'index signature', + ImpossibleUnion = 'impossible union', + TypeQuery = 'type query', + ObjectUnion = 'object union', + TypeWrapperInheritance = 'type wrapper inheritance', + SortableTag = 'sortable tag', + Enum = 'enum', + InheritedProperty = 'inherited property', + PairedTags = 'paired tags', + FilterableTag = 'filterable tag', + AnyUnknown = 'any unknown', +} diff --git a/test/mapping-model/mappings/tsconfig.json b/test/mapping-model/mappings/tsconfig.json new file mode 100644 index 00000000..c7a33719 --- /dev/null +++ b/test/mapping-model/mappings/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../../node_modules/@openstapps/configuration/tsconfig.json" +} diff --git a/test/mapping.spec.ts b/test/mapping.spec.ts new file mode 100644 index 00000000..f5c6b0fc --- /dev/null +++ b/test/mapping.spec.ts @@ -0,0 +1,153 @@ +// tslint:disable +/* + * Copyright (C) 2020 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {Logger} from '@openstapps/logger'; +import {slow, suite, test, timeout} from 'mocha-typescript'; +import {MapAggTest} from './mapping-model/MapAggTest'; +import {mapExplicitTypesTest} from './mapping-model/mappings/src/map-explicit-types'; +import {doubleTypeConflictTest} from './mapping-model/mappings/src/double-type-conflict'; +import {incompatibleTypeTest} from './mapping-model/mappings/src/incompatible-type'; +import {sensibleDefaultsTest} from './mapping-model/mappings/src/sensible-defaults'; +import {invalidTagTest} from './mapping-model/mappings/src/invalid-tag'; +import {missingPremapTest} from './mapping-model/mappings/src/missing-premap'; +import {defaultGenericTest} from './mapping-model/mappings/src/default-generics'; +import {genericTest} from './mapping-model/mappings/src/generics'; +import {nestedTest} from './mapping-model/mappings/src/nested'; +import {indexSignatureTest} from './mapping-model/mappings/src/index-signature'; +import {impossibleUnionTest} from './mapping-model/mappings/src/impossible-union'; +import {typeQueryTest} from './mapping-model/mappings/src/type-query'; +import {objectUnionTest} from './mapping-model/mappings/src/object-union'; +import {sortableTagTest} from './mapping-model/mappings/src/sortable-tag'; +import {enumTest} from './mapping-model/mappings/src/enum'; +import {inheritedPropertyTest} from './mapping-model/mappings/src/inherited-property'; +import {pairedTagsTest} from './mapping-model/mappings/src/paired-tags'; +import {filterableTagTest} from './mapping-model/mappings/src/filterable-tag'; +import {anyUnknownTest} from './mapping-model/mappings/src/any-unknown'; + +process.on('unhandledRejection', (error: unknown) => { + if (error instanceof Error) { + void Logger.error('UNHANDLED REJECTION', error.stack); + } + process.exit(1); +}); + +const magAppInstance = new MapAggTest('mappings'); + +@suite(timeout(20000), slow(10000)) +export class MappingSpec { + @test + async 'Any or unknown should create a dynamic field'() { + magAppInstance.testInterfaceAgainstPath(anyUnknownTest); + } + + @test + async 'Filterable tag should add raw field to strings'() { + magAppInstance.testInterfaceAgainstPath(filterableTagTest); + } + + @test + async 'Tags should be able to be paired'() { + magAppInstance.testInterfaceAgainstPath(pairedTagsTest); + } + + @test + async 'Inherited properties should inherit tags'() { + magAppInstance.testInterfaceAgainstPath(inheritedPropertyTest); + } + + @test + async 'Emums should work'() { + // Known issue: Enums only use text + // https://gitlab.com/openstapps/core-tools/-/issues/46 + magAppInstance.testInterfaceAgainstPath(enumTest); + } + + @test + 'Sortable tag should work'() { + magAppInstance.testInterfaceAgainstPath(sortableTagTest); + } + + /* + https://gitlab.com/openstapps/core-tools/-/merge_requests/29 + @test + async 'Wrapper types should inherit tags'() { + this.testInterfaceAgainstPath(typeWrapperInheritanceTest); + }*/ + + @test + async 'Object union types should work'() { + magAppInstance.testInterfaceAgainstPath(objectUnionTest); + } + + @test + async 'Type queries should work'() { + magAppInstance.testInterfaceAgainstPath(typeQueryTest); + } + + @test + async 'Impossible union should cause an error'() { + magAppInstance.testInterfaceAgainstPath(impossibleUnionTest); + } + + @test + async 'Index Signatures should work'() { + magAppInstance.testInterfaceAgainstPath(indexSignatureTest); + } + + @test + async 'Nested properties should work'() { + magAppInstance.testInterfaceAgainstPath(nestedTest); + } + + @test + async 'Generics should work'() { + magAppInstance.testInterfaceAgainstPath(genericTest); + } + + @test + async 'Missing premap should cause an error'() { + magAppInstance.testInterfaceAgainstPath(missingPremapTest); + } + + @test + async 'Default generics should fail (if they don\'t that\'s actually brilliant)'() { + magAppInstance.testInterfaceAgainstPath(defaultGenericTest); + } + + @test + async 'Explicit type annotations should work'() { + magAppInstance.testInterfaceAgainstPath(mapExplicitTypesTest); + } + + @test + async 'Double type annotations should cause an error'() { + magAppInstance.testInterfaceAgainstPath(doubleTypeConflictTest); + } + + @test + async 'Incompatible type annotations should cause an error and use defaults'() { + magAppInstance.testInterfaceAgainstPath(incompatibleTypeTest); + } + + @test + async 'Primitive types should have sensible defaults'() { + magAppInstance.testInterfaceAgainstPath(sensibleDefaultsTest); + } + + @test + async 'Invalid tags should cause an error'() { + magAppInstance.testInterfaceAgainstPath(invalidTagTest); + } +} From cc22e01e62651257f6bad775c6ed80cb524eefca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jovan=20Kruni=C4=87?= Date: Mon, 5 Oct 2020 17:42:50 +0200 Subject: [PATCH 115/215] 0.15.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 923b37c7..b60006bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.14.0", + "version": "0.15.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index b8098b32..ed02c1c8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.14.0", + "version": "0.15.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 681cef9260f9e32ff2a2065ffa3be8a6cd79e98c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jovan=20Kruni=C4=87?= Date: Mon, 5 Oct 2020 17:42:51 +0200 Subject: [PATCH 116/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a32ac02..3e6d213e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [0.15.0](https://gitlab.com/openstapps/core-tools/compare/v0.14.0...v0.15.0) (2020-10-05) + + +### Bug Fixes + +* array tags did not propagate ([e5511d0](https://gitlab.com/openstapps/core-tools/commit/e5511d07386e93b032b5dbefa3e6cc46c07219ed)) + + + # [0.14.0](https://gitlab.com/openstapps/core-tools/compare/v0.13.0...v0.14.0) (2020-02-11) From b7cdb6a9ad2bdb1fc09d0f535daf4ec778501fec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Tue, 28 Jan 2020 13:02:31 +0100 Subject: [PATCH 117/215] fix: use value type in IndexSignature type instead of key type --- map/template.json | 34204 -------------------------------------------- src/mapping.ts | 9 +- 2 files changed, 4 insertions(+), 34209 deletions(-) delete mode 100644 map/template.json diff --git a/map/template.json b/map/template.json deleted file mode 100644 index 20547333..00000000 --- a/map/template.json +++ /dev/null @@ -1,34204 +0,0 @@ -{ - "template_academic_event": { - "mappings": { - "academic event": { - "dynamic": "strict", - "properties": { - "academicTerms": { - "dynamic": "strict", - "properties": { - "acronym": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "endDate": { - "type": "text" - }, - "eventsEndDate": { - "type": "text" - }, - "eventsStartDate": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "startDate": { - "type": "text" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "catalogs": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "level": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "creativeWorks": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "datePublished": { - "type": "text" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "organizers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "performers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "catalogs.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "categorySpecificValues.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_academic_event*" - }, - "template_article": { - "mappings": { - "article": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "articleBody": { - "type": "text" - }, - "authors": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "datePublished": { - "type": "text" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "default": { - "type": "float", - "fields": {} - }, - "employee": { - "type": "float", - "fields": {} - }, - "guest": { - "type": "float", - "fields": {} - }, - "student": { - "type": "float", - "fields": {} - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "publishers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "articleBody": { - "type": "text" - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "articleBody": { - "type": "text" - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.inventory.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_article*" - }, - "template_book": { - "mappings": { - "book": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "authors": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "bookEdition": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "datePublished": { - "type": "text" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "isbn": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "numberOfPages": { - "type": "integer" - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "default": { - "type": "float", - "fields": {} - }, - "employee": { - "type": "float", - "fields": {} - }, - "guest": { - "type": "float", - "fields": {} - }, - "student": { - "type": "float", - "fields": {} - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "publishers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "bookEdition": { - "type": "keyword" - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "bookEdition": { - "type": "keyword" - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.inventory.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_book*" - }, - "template_building": { - "mappings": { - "building": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "categorySpecificValues.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_building*" - }, - "template_catalog": { - "mappings": { - "catalog": { - "dynamic": "strict", - "properties": { - "academicTerm": { - "dynamic": "strict", - "properties": { - "acronym": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "endDate": { - "type": "text" - }, - "eventsEndDate": { - "type": "text" - }, - "eventsStartDate": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "startDate": { - "type": "text" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "level": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "superCatalog": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "level": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "superCatalogs": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "level": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "superCatalog.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "superCatalogs.categorySpecificValues.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_catalog*" - }, - "template_course_of_studies": { - "mappings": { - "course of studies": { - "dynamic": "strict", - "properties": { - "academicDegree": { - "type": "keyword" - }, - "academicDegreewithField": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "academicDegreewithFieldShort": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "department": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "mainLanguage": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "major": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "mode": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "default": { - "type": "float", - "fields": {} - }, - "employee": { - "type": "float", - "fields": {} - }, - "guest": { - "type": "float", - "fields": {} - }, - "student": { - "type": "float", - "fields": {} - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "secretary": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "startDates": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "dates": { - "type": "text" - }, - "description": { - "type": "text" - }, - "duration": { - "type": "text" - }, - "exceptions": { - "type": "text" - }, - "frequency": { - "type": "keyword" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "frequency": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "frequency": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "timeMode": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.inventory.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_course_of_studies*" - }, - "template_date_series": { - "mappings": { - "date series": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "dates": { - "type": "text" - }, - "description": { - "type": "text" - }, - "duration": { - "type": "text" - }, - "event": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "exceptions": { - "type": "text" - }, - "frequency": { - "type": "keyword" - }, - "image": { - "type": "keyword" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "alumni": { - "type": "float" - }, - "default": { - "type": "float", - "fields": {} - }, - "employee": { - "type": "float", - "fields": {} - }, - "guest": { - "type": "float", - "fields": {} - }, - "student": { - "type": "float", - "fields": {} - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "performers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "frequency": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "frequency": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "event.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.inventory.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_date_series*" - }, - "template_diff": { - "mappings": { - "diff": { - "dynamic": "strict", - "properties": { - "action": { - "type": "keyword" - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "changes": { - "dynamic": "strict", - "properties": { - "from": { - "type": "keyword" - }, - "op": { - "type": "keyword" - }, - "path": { - "type": "keyword" - }, - "value": { - "type": "keyword" - } - } - }, - "dateCreated": { - "type": "text" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "object": { - "dynamic": "strict", - "properties": { - "academicTerms": { - "dynamic": "strict", - "properties": { - "acronym": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "endDate": { - "type": "text" - }, - "eventsEndDate": { - "type": "text" - }, - "eventsStartDate": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "startDate": { - "type": "text" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "catalogs": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "level": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "categories": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "creativeWorks": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "datePublished": { - "type": "text" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "organizers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "performers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - }, - "articleBody": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "offers[].availability": { - "type": "keyword" - }, - "bookEdition": { - "type": "keyword" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "text" - }, - "frequency": { - "type": "text" - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floorName": { - "type": "text" - }, - "messageBody": { - "type": "text" - }, - "values": { - "type": "keyword" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - }, - "articleBody": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "offers[].availability": { - "type": "keyword" - }, - "bookEdition": { - "type": "keyword" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "text" - }, - "frequency": { - "type": "text" - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floorName": { - "type": "text" - }, - "messageBody": { - "type": "text" - }, - "values": { - "type": "keyword" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "articleBody": { - "type": "text" - }, - "authors": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "datePublished": { - "type": "text" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "default": { - "type": "float", - "fields": {} - }, - "employee": { - "type": "float", - "fields": {} - }, - "guest": { - "type": "float", - "fields": {} - }, - "student": { - "type": "float", - "fields": {} - }, - "alumni": { - "type": "float" - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "publishers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "bookEdition": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "isbn": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "numberOfPages": { - "type": "integer" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "academicTerm": { - "dynamic": "strict", - "properties": { - "acronym": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "endDate": { - "type": "text" - }, - "eventsEndDate": { - "type": "text" - }, - "eventsStartDate": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "startDate": { - "type": "text" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "level": { - "type": "integer" - }, - "superCatalog": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "level": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "superCatalogs": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "level": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "academicDegree": { - "type": "keyword" - }, - "academicDegreewithField": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "academicDegreewithFieldShort": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "department": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "mainLanguage": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "major": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "mode": { - "type": "keyword" - }, - "secretary": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - }, - "startDates": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "dates": { - "type": "text" - }, - "description": { - "type": "text" - }, - "duration": { - "type": "text" - }, - "exceptions": { - "type": "text" - }, - "frequency": { - "type": "keyword" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "frequency": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "frequency": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "timeMode": { - "type": "keyword" - }, - "dates": { - "type": "text" - }, - "duration": { - "type": "text" - }, - "event": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "exceptions": { - "type": "text" - }, - "frequency": { - "type": "keyword" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "additives": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "dishAddOns": { - "dynamic": "strict", - "properties": { - "additives": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nutrition": { - "dynamic": "strict", - "properties": { - "calories": { - "type": "float" - }, - "carbohydrateContent": { - "type": "float" - }, - "fatContent": { - "type": "float" - }, - "proteinContent": { - "type": "float" - }, - "saltContent": { - "type": "float" - }, - "saturatedFatContent": { - "type": "float" - }, - "sugarContent": { - "type": "float" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "nutrition": { - "dynamic": "strict", - "properties": { - "calories": { - "type": "float" - }, - "carbohydrateContent": { - "type": "float" - }, - "fatContent": { - "type": "float" - }, - "proteinContent": { - "type": "float" - }, - "saltContent": { - "type": "float" - }, - "saturatedFatContent": { - "type": "float" - }, - "sugarContent": { - "type": "float" - } - } - }, - "data": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - }, - "articleBody": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "offers[].availability": { - "type": "keyword" - }, - "bookEdition": { - "type": "keyword" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "text" - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - }, - "articleBody": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "offers[].availability": { - "type": "keyword" - }, - "bookEdition": { - "type": "keyword" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "text" - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "articleBody": { - "type": "text" - }, - "datePublished": { - "type": "text" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "bookEdition": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "isbn": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "numberOfPages": { - "type": "integer" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - }, - "done": { - "type": "boolean" - }, - "dueDate": { - "type": "text" - }, - "priority": { - "type": "text" - } - } - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "plan": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "integer" - }, - "crs": { - "dynamic": true, - "properties": { - "type": { - "type": "keyword" - } - } - }, - "features": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "integer" - }, - "crs": { - "dynamic": true, - "properties": { - "type": { - "type": "keyword" - } - } - }, - "geometry": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "id": { - "type": "integer" - }, - "place": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "paymentsAccepted": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "audienceOrganizations": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "audiences": { - "type": "keyword" - }, - "dateCreated": { - "type": "text" - }, - "messageBody": { - "type": "text" - }, - "sequenceIndex": { - "type": "integer" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "affiliations": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "homeLocations": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "workLocations": { - "dynamic": "strict", - "properties": { - "areaServed": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "paymentsAccepted": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "email": { - "type": "keyword" - }, - "faxNumber": { - "type": "keyword" - }, - "hoursAvailable": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "url": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - }, - "acronym": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "endDate": { - "type": "text" - }, - "eventsEndDate": { - "type": "text" - }, - "eventsStartDate": { - "type": "text" - }, - "startDate": { - "type": "text" - }, - "defaultValue": { - "type": "boolean" - }, - "inputType": { - "type": "text" - }, - "order": { - "type": "integer" - }, - "value": { - "type": "boolean" - }, - "values": { - "type": "boolean" - }, - "academicEvents": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "ects": { - "type": "float" - }, - "faculty": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "language": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "partnerModules": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "ects": { - "type": "float" - }, - "image": { - "type": "keyword" - }, - "language": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "requiredModules": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "ects": { - "type": "float" - }, - "image": { - "type": "keyword" - }, - "language": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "approxWaitingTime": { - "type": "text" - }, - "currentTicketNumber": { - "type": "keyword" - }, - "serviceType": { - "type": "text" - }, - "done": { - "type": "boolean" - }, - "dueDate": { - "type": "text" - }, - "priority": { - "type": "text" - }, - "init": { - "type": "text" - }, - "steps": { - "dynamic": "strict", - "properties": { - "action": { - "type": "keyword" - }, - "side": { - "type": "keyword" - }, - "type": { - "type": "keyword" - }, - "location": { - "type": "keyword" - }, - "canFail": { - "type": "boolean" - }, - "element": { - "type": "keyword" - }, - "position": { - "type": "keyword" - }, - "resolved": { - "dynamic": "strict", - "properties": { - "element": { - "type": "keyword" - }, - "event": { - "type": "keyword" - }, - "location": { - "dynamic": "strict", - "properties": { - "is": { - "type": "keyword" - }, - "match": { - "type": "keyword" - } - } - }, - "menu": { - "type": "keyword" - } - } - }, - "text": { - "type": "text" - }, - "tries": { - "type": "integer" - } - } - }, - "actors": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "sources": { - "dynamic": "strict", - "properties": { - "height": { - "type": "integer" - }, - "mimeType": { - "type": "keyword" - }, - "size": { - "type": "integer" - }, - "url": { - "type": "keyword" - }, - "width": { - "type": "integer" - } - } - }, - "thumbnails": { - "type": "keyword" - }, - "tracks": { - "dynamic": "strict", - "properties": { - "language": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - }, - "url": { - "type": "keyword" - } - } - }, - "transcript": { - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.catalogs.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.superCatalog.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.superCatalogs.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.event.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.dishAddOns.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.data.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.data.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.data.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.data.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.data.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.data.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.data.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.plan.features.place.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.plan.features.place.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.plan.features.place.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.homeLocations.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.homeLocations.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.homeLocations.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.homeLocations.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.workLocations.areaServed.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.workLocations.areaServed.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.catalogs.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.academicEvents.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.necessity.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.partnerModules.necessity.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.partnerModules.translations.necessity.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.requiredModules.necessity.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.requiredModules.translations.necessity.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.translations.necessity.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "object.offers.inPlace.inventory.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_diff*" - }, - "template_dish": { - "mappings": { - "dish": { - "dynamic": "strict", - "properties": { - "additives": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "dishAddOns": { - "dynamic": "strict", - "properties": { - "additives": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nutrition": { - "dynamic": "strict", - "properties": { - "calories": { - "type": "float" - }, - "carbohydrateContent": { - "type": "float" - }, - "fatContent": { - "type": "float" - }, - "proteinContent": { - "type": "float" - }, - "saltContent": { - "type": "float" - }, - "saturatedFatContent": { - "type": "float" - }, - "sugarContent": { - "type": "float" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nutrition": { - "dynamic": "strict", - "properties": { - "calories": { - "type": "float" - }, - "carbohydrateContent": { - "type": "float" - }, - "fatContent": { - "type": "float" - }, - "proteinContent": { - "type": "float" - }, - "saltContent": { - "type": "float" - }, - "saturatedFatContent": { - "type": "float" - }, - "sugarContent": { - "type": "float" - } - } - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "default": { - "type": "float", - "fields": {} - }, - "employee": { - "type": "float", - "fields": {} - }, - "guest": { - "type": "float", - "fields": {} - }, - "student": { - "type": "float", - "fields": {} - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "characteristics": { - "dynamic": "strict", - "properties": { - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "dishAddOns.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.inventory.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_dish*" - }, - "template_favorite": { - "mappings": { - "favorite": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "data": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - }, - "articleBody": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "offers[].availability": { - "type": "keyword" - }, - "bookEdition": { - "type": "keyword" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "text" - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - }, - "articleBody": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "offers[].availability": { - "type": "keyword" - }, - "bookEdition": { - "type": "keyword" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "text" - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "articleBody": { - "type": "text" - }, - "datePublished": { - "type": "text" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "bookEdition": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "isbn": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "numberOfPages": { - "type": "integer" - }, - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - }, - "done": { - "type": "boolean" - }, - "dueDate": { - "type": "text" - }, - "priority": { - "type": "text" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "type": { - "type": "text" - }, - "updated": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "data.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "data.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "data.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "data.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "data.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "data.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "data.categorySpecificValues.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_favorite*" - }, - "template_floor": { - "mappings": { - "floor": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "floorName": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "plan": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "integer" - }, - "crs": { - "dynamic": true, - "properties": { - "type": { - "type": "keyword" - } - } - }, - "features": { - "dynamic": "strict", - "properties": { - "bbox": { - "type": "integer" - }, - "crs": { - "dynamic": true, - "properties": { - "type": { - "type": "keyword" - } - } - }, - "geometry": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "id": { - "type": "integer" - }, - "place": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "paymentsAccepted": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "properties": { - "dynamic": true, - "properties": {} - }, - "type": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "floorName": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "floorName": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "plan.features.place.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "plan.features.place.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "plan.features.place.categorySpecificValues.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_floor*" - }, - "template_message": { - "mappings": { - "message": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "audienceOrganizations": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "audiences": { - "type": "keyword" - }, - "authors": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "dateCreated": { - "type": "text" - }, - "datePublished": { - "type": "text" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "messageBody": { - "type": "text" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "default": { - "type": "float", - "fields": {} - }, - "employee": { - "type": "float", - "fields": {} - }, - "guest": { - "type": "float", - "fields": {} - }, - "student": { - "type": "float", - "fields": {} - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "publishers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "sequenceIndex": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "messageBody": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "messageBody": { - "type": "text" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.inventory.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_message*" - }, - "template_organization": { - "mappings": { - "organization": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.inventory.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_organization*" - }, - "template_person": { - "mappings": { - "person": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "affiliations": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "homeLocations": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "workLocations": { - "dynamic": "strict", - "properties": { - "areaServed": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "paymentsAccepted": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "email": { - "type": "keyword" - }, - "faxNumber": { - "type": "keyword" - }, - "hoursAvailable": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "url": { - "type": "keyword" - } - } - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "homeLocations.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "homeLocations.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "homeLocations.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "homeLocations.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "workLocations.areaServed.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "workLocations.areaServed.inventory.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_person*" - }, - "template_point_of_interest": { - "mappings": { - "point of interest": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.inventory.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_point_of_interest*" - }, - "template_room": { - "mappings": { - "room": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "paymentsAccepted": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inventory.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_room*" - }, - "template_semester": { - "mappings": { - "semester": { - "dynamic": "strict", - "properties": { - "acronym": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "endDate": { - "type": "text" - }, - "eventsEndDate": { - "type": "text" - }, - "eventsStartDate": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "startDate": { - "type": "text" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_semester*" - }, - "template_setting": { - "mappings": { - "setting": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "defaultValue": { - "type": "boolean" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inputType": { - "type": "text" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "order": { - "type": "integer" - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "values": { - "type": "keyword" - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "values": { - "type": "keyword" - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "value": { - "type": "boolean" - }, - "values": { - "type": "boolean" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "categorySpecificValues.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_setting*" - }, - "template_sport_course": { - "mappings": { - "sport course": { - "dynamic": "strict", - "properties": { - "academicTerms": { - "dynamic": "strict", - "properties": { - "acronym": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "endDate": { - "type": "text" - }, - "eventsEndDate": { - "type": "text" - }, - "eventsStartDate": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "startDate": { - "type": "text" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "catalogs": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "level": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "creativeWorks": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "datePublished": { - "type": "text" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "organizers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "performers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "catalogs.categorySpecificValues.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_sport_course*" - }, - "template_study_module": { - "mappings": { - "study module": { - "dynamic": "strict", - "properties": { - "academicEvents": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "maximumParticipants": { - "type": "integer" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "remainingAttendeeCapacity": { - "type": "integer" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - }, - "originalCategory": { - "type": "keyword" - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "ects": { - "type": "float" - }, - "faculty": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "image": { - "type": "keyword" - }, - "language": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "default": { - "type": "float", - "fields": {} - }, - "employee": { - "type": "float", - "fields": {} - }, - "guest": { - "type": "float", - "fields": {} - }, - "student": { - "type": "float", - "fields": {} - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "partnerModules": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "ects": { - "type": "float" - }, - "image": { - "type": "keyword" - }, - "language": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "requiredModules": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "ects": { - "type": "float" - }, - "image": { - "type": "keyword" - }, - "language": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "majors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "secretary": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "majors": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "necessity": { - "dynamic": "strict", - "properties": {} - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "academicEvents.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "necessity.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.inventory.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "partnerModules.necessity.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "partnerModules.translations.necessity.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "requiredModules.necessity.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "requiredModules.translations.necessity.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "translations.necessity.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_study_module*" - }, - "template_ticket": { - "mappings": { - "ticket": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "approxWaitingTime": { - "type": "text" - }, - "currentTicketNumber": { - "type": "keyword" - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "serviceType": { - "type": "text" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "inPlace.inventory.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_ticket*" - }, - "template_todo": { - "mappings": { - "todo": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "text", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "done": { - "type": "boolean" - }, - "dueDate": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "priority": { - "type": "text" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "categorySpecificValues.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_todo*" - }, - "template_tour": { - "mappings": { - "tour": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "init": { - "type": "text" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "steps": { - "dynamic": "strict", - "properties": { - "action": { - "type": "keyword" - }, - "side": { - "type": "keyword" - }, - "type": { - "type": "keyword" - }, - "location": { - "type": "keyword" - }, - "canFail": { - "type": "boolean" - }, - "element": { - "type": "keyword" - }, - "position": { - "type": "keyword" - }, - "resolved": { - "dynamic": "strict", - "properties": { - "element": { - "type": "keyword" - }, - "event": { - "type": "keyword" - }, - "location": { - "dynamic": "strict", - "properties": { - "is": { - "type": "keyword" - }, - "match": { - "type": "keyword" - } - } - }, - "menu": { - "type": "keyword" - } - } - }, - "text": { - "type": "text" - }, - "tries": { - "type": "integer" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_tour*" - }, - "template_video": { - "mappings": { - "video": { - "dynamic": "strict", - "properties": { - "actors": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "authors": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "datePublished": { - "type": "text" - }, - "description": { - "type": "text" - }, - "duration": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "inLanguages": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "keywords": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "offers": { - "dynamic": "strict", - "properties": { - "availability": { - "type": "keyword" - }, - "availabilityEnds": { - "type": "text" - }, - "availabilityStarts": { - "type": "text" - }, - "inPlace": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "categories": { - "type": "keyword" - }, - "categorySpecificValues": { - "dynamic": "strict", - "properties": {} - }, - "description": { - "type": "text" - }, - "floors": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "geo": { - "dynamic": "strict", - "properties": { - "point": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - }, - "polygon": { - "precision": "1m", - "tree": "quadtree", - "type": "geo_shape" - } - } - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "openingHours": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "address": { - "dynamic": "strict", - "properties": { - "addressCountry": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressLocality": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "addressRegion": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postOfficeBoxNumber": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "postalCode": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "streetAddress": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - } - } - }, - "categories": { - "type": "text" - }, - "description": { - "type": "text" - }, - "floors": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "floorName": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "inventory": { - "dynamic": "strict", - "properties": {} - }, - "paymentsAccepted": { - "type": "keyword" - } - } - }, - "prices": { - "dynamic": "strict", - "properties": { - "default": { - "type": "float", - "fields": {} - }, - "employee": { - "type": "float", - "fields": {} - }, - "guest": { - "type": "float", - "fields": {} - }, - "student": { - "type": "float", - "fields": {} - } - } - }, - "provider": { - "dynamic": "strict", - "properties": { - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "description": { - "type": "text" - }, - "image": { - "type": "keyword" - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - } - } - } - } - }, - "origin": { - "dynamic": "strict", - "properties": { - "indexed": { - "type": "text" - }, - "maintainer": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "modified": { - "type": "text" - }, - "name": { - "type": "text" - }, - "originalId": { - "type": "text" - }, - "responsibleEntity": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "type": { - "type": "text" - }, - "url": { - "type": "text" - }, - "created": { - "type": "text" - }, - "deleted": { - "type": "boolean" - }, - "updated": { - "type": "text" - } - } - }, - "publishers": { - "dynamic": "strict", - "properties": { - "additionalName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "alternateNames": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "birthDate": { - "type": "text" - }, - "description": { - "type": "text" - }, - "email": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "familyName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "faxNumber": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "gender": { - "type": "keyword" - }, - "givenName": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificPrefix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "honorificSuffix": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "image": { - "type": "keyword" - }, - "jobTitles": { - "type": "keyword", - "fields": { - "raw": { - "type": "keyword" - } - } - }, - "name": { - "type": "text", - "fields": { - "raw": { - "type": "keyword" - }, - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - } - } - }, - "nationality": { - "type": "keyword" - }, - "telephone": { - "type": "keyword" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "name": { - "type": "text" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - } - } - }, - "sources": { - "dynamic": "strict", - "properties": { - "height": { - "type": "integer" - }, - "mimeType": { - "type": "keyword" - }, - "size": { - "type": "integer" - }, - "url": { - "type": "keyword" - }, - "width": { - "type": "integer" - } - } - }, - "thumbnails": { - "type": "keyword" - }, - "tracks": { - "dynamic": "strict", - "properties": { - "language": { - "dynamic": "strict", - "properties": { - "code": { - "type": "keyword" - }, - "name": { - "type": "keyword" - } - } - }, - "type": { - "type": "keyword" - }, - "url": { - "type": "keyword" - } - } - }, - "transcript": { - "type": "text" - }, - "translations": { - "dynamic": "strict", - "properties": { - "de": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - }, - "en": { - "dynamic": "strict", - "properties": { - "description": { - "type": "text" - }, - "keywords": { - "type": "keyword" - }, - "name": { - "type": "text" - }, - "offers[].availability": { - "type": "keyword" - }, - "origin": { - "dynamic": "strict", - "properties": { - "name": { - "type": "text" - } - } - } - } - } - } - }, - "type": { - "type": "keyword", - "fields": { - "sort": { - "analyzer": "ducet_sort", - "fielddata": true, - "type": "text" - }, - "raw": { - "type": "keyword" - } - } - }, - "uid": { - "type": "text" - }, - "url": { - "type": "text" - }, - "creation_date": { - "type": "date" - } - }, - "dynamic_templates": [ - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.categorySpecificValues.*" - } - }, - { - "SCMap": { - "mapping": { - "type": "text" - }, - "match": "*", - "match_mapping_type": "*", - "path_match": "offers.inPlace.inventory.*" - } - } - ], - "_source": { - "excludes": [ - "creation_date" - ] - }, - "date_detection": false - } - }, - "settings": { - "analysis": { - "analyzer": { - "ducet_sort": { - "filter": [ - "german_phonebook" - ], - "tokenizer": "keyword", - "type": "custom" - }, - "search_german": { - "filter": [ - "lowercase", - "german_stop", - "german_stemmer" - ], - "tokenizer": "stapps_ngram", - "type": "custom" - } - }, - "filter": { - "german_phonebook": { - "country": "DE", - "language": "de", - "type": "icu_collation", - "variant": "@collation=phonebook" - }, - "german_stemmer": { - "language": "german", - "type": "stemmer" - }, - "german_stop": { - "stopwords": "_german_", - "type": "stop" - } - }, - "tokenizer": { - "stapps_ngram": { - "max_gram": 7, - "min_gram": 4, - "type": "ngram" - } - } - }, - "mapping.total_fields.limit": 10000, - "max_result_window": 30000, - "number_of_replicas": 0, - "number_of_shards": 1 - }, - "template": "stapps_video*" - } -} \ No newline at end of file diff --git a/src/mapping.ts b/src/mapping.ts index 1cd925d7..a618e459 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -117,7 +117,6 @@ function composeErrorMessage(path: string, topTypeName: string, typeName: string * @param type the ReferenceType of a DeclarationReflection * @param out the previous reflection, it then overrides all parameters or keeps old ones * @param path the current path to the object we are in - * @param topTypeName the type field value * @param tags any tags attached to the type */ function getReflectionGeneric(type: ReferenceType, @@ -211,7 +210,7 @@ function handleDeclarationReflection(decl: DeclarationReflection, // check if we have an object referencing a generic if (generics.has(decl.name)) { // if the object name is the same as the generic name return readFieldTags(generics.get(decl.name) as ElasticsearchObject | ElasticsearchType, path, topTypeName, - typeof decl.comment !== 'undefined' ? typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : [] : []); + decl.comment?.tags ?? []); // use the value defined by the generic } @@ -232,9 +231,9 @@ function handleDeclarationReflection(decl: DeclarationReflection, const template: ElasticsearchDynamicTemplate = {}; template[decl.name] = { mapping: handleType( - decl.indexSignature.type, - new Map(generics), path, topTypeName, - getCommentTags(decl.indexSignature)), + decl.indexSignature.type, + new Map(generics), path, topTypeName, + getCommentTags(decl.indexSignature)), match: '*', match_mapping_type: '*', path_match: `${path}*`, From 5330255b7e035dd7c592a5bdaf84170df6ebbeed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Fri, 14 Feb 2020 11:40:53 +0100 Subject: [PATCH 118/215] refactor: update dependencies and fix resulting errors Upgraded JSON Schema from version 6 to version 7 Upgraded TypeDoc version to latest Replaced 'jsonschema' with 'json-schema' package to better comply with 'ts-json-schema-generator' Replace JSON Schema validation with AJV in areas where it wasn't used previously Removed commander help output as it causes strange issues --- package-lock.json | 2666 +++++++++++------ package.json | 40 +- resources/error.html.mustache | 12 +- resources/file.html.mustache | 28 +- resources/report.html.mustache | 22 +- src/cli.ts | 10 +- src/common.ts | 92 +- src/mapping.ts | 37 +- src/pack.ts | 4 +- src/schema.ts | 14 +- src/uml/create-diagram.ts | 4 +- src/uml/read-definitions.ts | 41 +- src/validate.ts | 122 +- test/create-diagram.spec.ts | 4 +- .../mappings/src/object-union.ts | 10 +- test/mapping.spec.ts | 5 +- test/model/generated-model.ts | 86 +- test/schema.spec.ts | 4 +- test/validate.spec.ts | 2 +- 19 files changed, 2058 insertions(+), 1145 deletions(-) diff --git a/package-lock.json b/package-lock.json index b60006bc..75b904fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,32 +5,80 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "dev": true, + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "requires": { - "@babel/highlight": "^7.8.3" + "@babel/highlight": "^7.10.4" } }, + "@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" + }, "@babel/highlight": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", - "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", - "dev": true, + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", "requires": { + "@babel/helper-validator-identifier": "^7.10.4", "chalk": "^2.0.0", - "esutils": "^2.0.2", "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } } }, "@babel/runtime": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz", - "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==", - "dev": true, + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz", + "integrity": "sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==", "requires": { - "regenerator-runtime": "^0.13.2" + "regenerator-runtime": "^0.13.4" } }, "@krlwlfrt/async-pool": { @@ -38,112 +86,96 @@ "resolved": "https://registry.npmjs.org/@krlwlfrt/async-pool/-/async-pool-0.3.0.tgz", "integrity": "sha512-N4uQIfGTsVw1/fE3Z7DWh878dyFhVkuFYyMiQyW8QTd21yjn91rlub5SERssQXMPKDzYKNGrban3FKSQAtXisQ==" }, + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "requires": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" + }, + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "requires": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + } + }, "@openstapps/configuration": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.23.0.tgz", - "integrity": "sha512-5gt9X586xP+XX/Y27Nhzyl5/5T4n79OrLV4eBH60F7QzfBJUyHMQri6vYewNPUnk0nNuCVUVMZYa1JV68vBA2A==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.25.0.tgz", + "integrity": "sha512-kcyfvXX6g8BACA/tx9W9PH2W46Zi1TueCAOH8o8Ot5fdAQnkOHodagNHKo7tpXV1ZkKGp0pzLcdNWteQO5olMA==", "dev": true, "requires": { "@types/node": "10.17.14", - "@types/semver": "6.2.0", + "@types/semver": "7.1.0", "@types/yaml": "1.2.0", "chalk": "3.0.0", "commander": "4.1.1", - "semver": "6.3.0", - "tslint": "5.20.1", + "semver": "7.1.3", + "tslint": "6.1.3", "tslint-eslint-rules": "5.4.0", "yaml": "1.7.2" }, "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "@types/node": { + "version": "10.17.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.14.tgz", + "integrity": "sha512-G0UmX5uKEmW+ZAhmZ6PLTQ5eu/VPaT+d/tdLd5IFsKRPcbe6lPxocBtcYBFSaLaCW8O60AX90e91Nsp8lVHCNw==", "dev": true - }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, "@openstapps/logger": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.4.0.tgz", - "integrity": "sha512-p12Jt2xg0o/0N4NcHGwmHSM7K6eXsyMTnzEmm1ulIn5c8WUYUQEArYgYwGUMriWv2La3Ec+SCxf7RpTq0yehKA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.5.0.tgz", + "integrity": "sha512-SLjoeFoXuCagz1WRlFvX2+zoIJr+zehAJe6egNPrYdlI3IpnUYNk06HzWzNM95Iozzfy7eKJjft8plO4VQtQQg==", "requires": { - "@types/node": "10.14.12", - "@types/nodemailer": "6.2.0", - "chalk": "2.4.2", + "@types/node": "10.17.17", + "@types/nodemailer": "6.4.0", + "chalk": "3.0.0", "flatted": "2.0.1", "moment": "2.24.0", - "nodemailer": "6.2.1" + "nodemailer": "6.4.4" }, "dependencies": { "@types/node": { - "version": "10.14.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.12.tgz", - "integrity": "sha512-QcAKpaO6nhHLlxWBvpc4WeLrTvPqlHOvaj0s5GriKkA1zq+bsFBPpfYCvQhLqLgYlIko8A9YrPdaMHCo5mBcpg==" + "version": "10.17.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.17.tgz", + "integrity": "sha512-gpNnRnZP3VWzzj5k3qrpRC6Rk3H/uclhAVo1aIvwzK5p5cOrs9yEyQ8H/HBsBY0u5rrWxXEiVPQ0dEB6pkjE8Q==" } } }, "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-1.2.0.tgz", + "integrity": "sha512-mwhXGkRV5dlvQc4EgPDxDxO6WuMBVymGFd1CA+2Y+z5dG9MNspoQ+AWjl/Ld1MnpCL8AKbosZlDVohqcIwuWsw==" }, "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.5.tgz", + "integrity": "sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==", "requires": { - "defer-to-connect": "^1.0.1" + "defer-to-connect": "^2.0.0" + } + }, + "@types/cacheable-request": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz", + "integrity": "sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==", + "requires": { + "@types/http-cache-semantics": "*", + "@types/keyv": "*", + "@types/node": "*", + "@types/responselike": "*" } }, "@types/chai": { @@ -152,25 +184,11 @@ "integrity": "sha512-U1bQiWbln41Yo6EeHMr+34aUhvrMVyrhn9lYfPSpLTCrZlGxU4Rtn1bocX+0p2Fc/Jkd2FanCEXdw0WNfHHM0w==", "dev": true }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, "@types/events": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" }, - "@types/fs-extra": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.1.0.tgz", - "integrity": "sha512-AInn5+UBFIK9FK5xc9yP5e3TQSPNNgjHByqYcj9g5elVBnDQcQL7PlO1CIRy2gWlbwK7UPYqi7vRvFA44dCmYQ==", - "requires": { - "@types/node": "*" - } - }, "@types/glob": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", @@ -191,54 +209,69 @@ "form-data": "^2.5.0" } }, - "@types/handlebars": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@types/handlebars/-/handlebars-4.1.0.tgz", - "integrity": "sha512-gq9YweFKNNB1uFK71eRqsd4niVkXrxHugqWFQkeLRJvGjnxsLr16bYtcsG4tOFwmYi0Bax+wCkbf1reUfdl4kA==", + "@types/http-cache-semantics": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz", + "integrity": "sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==" + }, + "@types/json-schema": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", + "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" + }, + "@types/keyv": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.1.tgz", + "integrity": "sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==", "requires": { - "handlebars": "*" + "@types/node": "*" } }, - "@types/highlight.js": { - "version": "9.12.3", - "resolved": "https://registry.npmjs.org/@types/highlight.js/-/highlight.js-9.12.3.tgz", - "integrity": "sha512-pGF/zvYOACZ/gLGWdQH8zSwteQS1epp68yRcVLJMgUck/MjEn/FBYmPub9pXT8C1e4a8YZfHo1CKyV8q1vKUnQ==" - }, - "@types/lodash": { - "version": "4.14.149", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.149.tgz", - "integrity": "sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ==" - }, - "@types/marked": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@types/marked/-/marked-0.4.2.tgz", - "integrity": "sha512-cDB930/7MbzaGF6U3IwSQp6XBru8xWajF5PV2YZZeV8DyiliTuld11afVztGI9+yJZ29il5E+NpGA6ooV/Cjkg==" - }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" }, + "@types/minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=", + "dev": true + }, "@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-7.0.2.tgz", + "integrity": "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==", "dev": true }, "@types/mustache": { - "version": "0.8.32", - "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-0.8.32.tgz", - "integrity": "sha512-RTVWV485OOf4+nO2+feurk0chzHkSjkjALiejpHltyuMf/13fGymbbNNFrSKdSSUg1TIwzszXdWsVirxgqYiFA==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-4.0.0.tgz", + "integrity": "sha512-AVBOcLJenbpCIJcHUvGWj+YMlaiwcFlGK1YEH2mePXkB5B/vQLrFkHG9IpBH71mXnkbibc4V8Nnn1wJSxcgCEA==" }, "@types/node": { - "version": "10.17.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.14.tgz", - "integrity": "sha512-G0UmX5uKEmW+ZAhmZ6PLTQ5eu/VPaT+d/tdLd5IFsKRPcbe6lPxocBtcYBFSaLaCW8O60AX90e91Nsp8lVHCNw==" + "version": "10.17.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.21.tgz", + "integrity": "sha512-PQKsydPxYxF1DsAFWmunaxd3sOi3iMt6Zmx/tgaagHYmwJ/9cRH91hQkeJZaUGWbvn0K5HlSVEXkn5U/llWPpQ==" }, "@types/nodemailer": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.2.0.tgz", - "integrity": "sha512-WGGEk/BGRLuYF3gyoTwbtKg5tCexZzb5lkTsis2k7GkAzlg4x2299/SC6Ssdj3X/5TzT1BHVc8zcFg/7KSzBLw==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.0.tgz", + "integrity": "sha512-KY7bFWB0MahRZvVW4CuW83qcCDny59pJJ0MQ5ifvfcjNwPlIT0vW4uARO4u1gtkYnWdhSvURegecY/tzcukJcA==", + "requires": { + "@types/node": "*" + } + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", "requires": { "@types/node": "*" } @@ -254,24 +287,18 @@ } }, "@types/semver": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.2.0.tgz", - "integrity": "sha512-1OzrNb4RuAzIT7wHSsgZRlMBlNsJl+do6UblR7JMW4oB7bbR+uBEYtUh7gEc/jM84GGilh68lSOokyM/zNUlBA==", - "dev": true - }, - "@types/shelljs": { - "version": "0.8.6", - "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.6.tgz", - "integrity": "sha512-svx2eQS268awlppL/P8wgDLBrsDXdKznABHJcuqXyWpSKJgE1s2clXlBvAwbO/lehTmG06NtEWJRkAk4tAgenA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.1.0.tgz", + "integrity": "sha512-pOKLaubrAEMUItGNpgwl0HMFPrSAFic8oSVIvfu1UwcgGNmNyK9gyhBHKmBnUTwwVvpZfkzUC0GaMgnL6P86uA==", + "dev": true, "requires": { - "@types/glob": "*", "@types/node": "*" } }, "@types/tough-cookie": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.6.tgz", - "integrity": "sha512-wHNBMnkoEBiRAd3s8KTKwIuO9biFtTf0LehITzBhSco+HQI0xkXZbLOD55SW3Aqw3oUkHstkm5SPv58yaAdFPQ==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.0.tgz", + "integrity": "sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==" }, "@types/yaml": { "version": "1.2.0", @@ -295,6 +322,15 @@ "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", "dev": true }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, "ajv": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", @@ -319,11 +355,21 @@ "dev": true }, "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, "arg": { @@ -353,17 +399,9 @@ "dev": true }, "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" }, "arrify": { "version": "1.0.1", @@ -381,11 +419,82 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, + "better-ajv-errors": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-0.6.7.tgz", + "integrity": "sha512-PYgt/sCzR4aGpyNy5+ViSQ77ognMnWq7745zM+/flYO4/Yisdtp9wDQW2IKCyVYPUxQt3E/b5GBSwfhd1LPdlg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/runtime": "^7.0.0", + "chalk": "^2.4.1", + "core-js": "^3.2.1", + "json-to-ast": "^2.0.3", + "jsonpointer": "^4.0.1", + "leven": "^3.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -395,6 +504,14 @@ "concat-map": "0.0.1" } }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, "browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", @@ -412,50 +529,44 @@ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, + "cacheable-lookup": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz", + "integrity": "sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==", + "requires": { + "@types/keyv": "^3.1.1", + "keyv": "^4.0.0" + } + }, "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.1.tgz", + "integrity": "sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==", "requires": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", + "keyv": "^4.0.0", "lowercase-keys": "^2.0.0", "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", - "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", - "requires": { - "pump": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" - } + "responselike": "^2.0.0" } }, "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" } }, "chai": { @@ -472,13 +583,12 @@ } }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, "check-error": { @@ -486,6 +596,27 @@ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" }, + "chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, "cliui": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", @@ -531,8 +662,20 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "requires": { "mimic-response": "^1.0.0" + }, + "dependencies": { + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + } } }, + "code-error-fragment": { + "version": "0.0.230", + "resolved": "https://registry.npmjs.org/code-error-fragment/-/code-error-fragment-0.0.230.tgz", + "integrity": "sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw==" + }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -540,17 +683,17 @@ "dev": true }, "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { - "color-name": "1.1.3" + "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "combined-stream": { "version": "1.0.8", @@ -561,18 +704,18 @@ } }, "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" }, "compare-func": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", - "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", "dev": true, "requires": { "array-ify": "^1.0.0", - "dot-prop": "^3.0.0" + "dot-prop": "^5.1.0" } }, "concat-map": { @@ -581,172 +724,181 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "conventional-changelog": { - "version": "3.1.18", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.18.tgz", - "integrity": "sha512-aN6a3rjgV8qwAJj3sC/Lme2kvswWO7fFSGQc32gREcwIOsaiqBaO6f2p0NomFaPDnTqZ+mMZFLL3hlzvEnZ0mQ==", + "version": "3.1.23", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.23.tgz", + "integrity": "sha512-sScUu2NHusjRC1dPc5p8/b3kT78OYr95/Bx7Vl8CPB8tF2mG1xei5iylDTRjONV5hTlzt+Cn/tBWrKdd299b7A==", "dev": true, "requires": { - "conventional-changelog-angular": "^5.0.6", - "conventional-changelog-atom": "^2.0.3", - "conventional-changelog-codemirror": "^2.0.3", - "conventional-changelog-conventionalcommits": "^4.2.3", - "conventional-changelog-core": "^4.1.4", - "conventional-changelog-ember": "^2.0.4", - "conventional-changelog-eslint": "^3.0.4", - "conventional-changelog-express": "^2.0.1", - "conventional-changelog-jquery": "^3.0.6", - "conventional-changelog-jshint": "^2.0.3", - "conventional-changelog-preset-loader": "^2.3.0" + "conventional-changelog-angular": "^5.0.11", + "conventional-changelog-atom": "^2.0.7", + "conventional-changelog-codemirror": "^2.0.7", + "conventional-changelog-conventionalcommits": "^4.4.0", + "conventional-changelog-core": "^4.2.0", + "conventional-changelog-ember": "^2.0.8", + "conventional-changelog-eslint": "^3.0.8", + "conventional-changelog-express": "^2.0.5", + "conventional-changelog-jquery": "^3.0.10", + "conventional-changelog-jshint": "^2.0.8", + "conventional-changelog-preset-loader": "^2.3.4" } }, "conventional-changelog-angular": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.6.tgz", - "integrity": "sha512-QDEmLa+7qdhVIv8sFZfVxU1VSyVvnXPsxq8Vam49mKUcO1Z8VTLEJk9uI21uiJUsnmm0I4Hrsdc9TgkOQo9WSA==", + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.11.tgz", + "integrity": "sha512-nSLypht/1yEflhuTogC03i7DX7sOrXGsRn14g131Potqi6cbGbGEE9PSDEHKldabB6N76HiSyw9Ph+kLmC04Qw==", "dev": true, "requires": { - "compare-func": "^1.3.1", + "compare-func": "^2.0.0", "q": "^1.5.1" } }, "conventional-changelog-atom": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.3.tgz", - "integrity": "sha512-szZe2ut97qNO6vCCMkm1I/tWu6ol4Rr8a9Lx0y/VlpDnpY0PNp+oGpFgU55lplhx+I3Lro9Iv4/gRj0knfgjzg==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.7.tgz", + "integrity": "sha512-7dOREZwzB+tCEMjRTDfen0OHwd7vPUdmU0llTy1eloZgtOP4iSLVzYIQqfmdRZEty+3w5Jz+AbhfTJKoKw1JeQ==", "dev": true, "requires": { "q": "^1.5.1" } }, "conventional-changelog-cli": { - "version": "2.0.31", - "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.0.31.tgz", - "integrity": "sha512-nMINylKAamBLM3OmD7/44d9TPZ3V58IDTXoGC/QtXxve+1Sj37BQTzIEW3TNaviZ2ZV/b5Dqg0eSk4DNP5fBdA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.1.0.tgz", + "integrity": "sha512-hZ8EcpxV4LcGOZwH+U5LJQDnyA4o/uyUdmIGzmFZMB4caujavvDBo/iTgVihk0m1QKkEhJgulagrILSm1JCakA==", "dev": true, "requires": { "add-stream": "^1.0.0", - "conventional-changelog": "^3.1.18", + "conventional-changelog": "^3.1.23", "lodash": "^4.17.15", - "meow": "^5.0.0", + "meow": "^7.0.0", "tempfile": "^3.0.0" } }, "conventional-changelog-codemirror": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.3.tgz", - "integrity": "sha512-t2afackdgFV2yBdHhWPqrKbpaQeVnz2hSJKdWqjasPo5EpIB6TBL0er3cOP1mnGQmuzk9JSvimNSuqjWGDtU5Q==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.7.tgz", + "integrity": "sha512-Oralk1kiagn3Gb5cR5BffenWjVu59t/viE6UMD/mQa1hISMPkMYhJIqX+CMeA1zXgVBO+YHQhhokEj99GP5xcg==", "dev": true, "requires": { "q": "^1.5.1" } }, "conventional-changelog-conventionalcommits": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.2.3.tgz", - "integrity": "sha512-atGa+R4vvEhb8N/8v3IoW59gCBJeeFiX6uIbPu876ENAmkMwsenyn0R21kdDHJFLQdy6zW4J6b4xN8KI3b9oww==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.4.0.tgz", + "integrity": "sha512-ybvx76jTh08tpaYrYn/yd0uJNLt5yMrb1BphDe4WBredMlvPisvMghfpnJb6RmRNcqXeuhR6LfGZGewbkRm9yA==", "dev": true, "requires": { - "compare-func": "^1.3.1", + "compare-func": "^2.0.0", "lodash": "^4.17.15", "q": "^1.5.1" } }, "conventional-changelog-core": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.1.4.tgz", - "integrity": "sha512-LO58ZbEpp1Ul+y/vOI8rJRsWkovsYkCFbOCVgi6UnVfU8WC0F8K8VQQwaBZWWUpb6JvEiN4GBR5baRP2txZ+Vg==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.0.tgz", + "integrity": "sha512-8+xMvN6JvdDtPbGBqA7oRNyZD4od1h/SIzrWqHcKZjitbVXrFpozEeyn4iI4af1UwdrabQpiZMaV07fPUTGd4w==", "dev": true, "requires": { "add-stream": "^1.0.0", - "conventional-changelog-writer": "^4.0.11", - "conventional-commits-parser": "^3.0.8", + "conventional-changelog-writer": "^4.0.17", + "conventional-commits-parser": "^3.1.0", "dateformat": "^3.0.0", "get-pkg-repo": "^1.0.0", "git-raw-commits": "2.0.0", "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^3.0.1", + "git-semver-tags": "^4.1.0", "lodash": "^4.17.15", "normalize-package-data": "^2.3.5", "q": "^1.5.1", "read-pkg": "^3.0.0", "read-pkg-up": "^3.0.0", + "shelljs": "^0.8.3", "through2": "^3.0.0" } }, "conventional-changelog-ember": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.4.tgz", - "integrity": "sha512-q1u73sO9uCnxN4TSw8xu6MRU8Y1h9kpwtcdJuNRwu/LSKI1IE/iuNSH5eQ6aLlQ3HTyrIpTfUuVybW4W0F17rA==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.8.tgz", + "integrity": "sha512-JEMEcUAMg4Q9yxD341OgWlESQ4gLqMWMXIWWUqoQU8yvTJlKnrvcui3wk9JvnZQyONwM2g1MKRZuAjKxr8hAXA==", "dev": true, "requires": { "q": "^1.5.1" } }, "conventional-changelog-eslint": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.4.tgz", - "integrity": "sha512-CPwTUENzhLGl3auunrJxiIEWncAGaby7gOFCdj2gslIuOFJ0KPJVOUhRz4Da/I53sdo/7UncUJkiLg94jEsjxg==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.8.tgz", + "integrity": "sha512-5rTRltgWG7TpU1PqgKHMA/2ivjhrB+E+S7OCTvj0zM/QGg4vmnVH67Vq/EzvSNYtejhWC+OwzvDrLk3tqPry8A==", "dev": true, "requires": { "q": "^1.5.1" } }, "conventional-changelog-express": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.1.tgz", - "integrity": "sha512-G6uCuCaQhLxdb4eEfAIHpcfcJ2+ao3hJkbLrw/jSK/eROeNfnxCJasaWdDAfFkxsbpzvQT4W01iSynU3OoPLIw==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.5.tgz", + "integrity": "sha512-pW2hsjKG+xNx/Qjof8wYlAX/P61hT5gQ/2rZ2NsTpG+PgV7Rc8RCfITvC/zN9K8fj0QmV6dWmUefCteD9baEAw==", "dev": true, "requires": { "q": "^1.5.1" } }, "conventional-changelog-jquery": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.6.tgz", - "integrity": "sha512-gHAABCXUNA/HjnZEm+vxAfFPJkgtrZvCDIlCKfdPVXtCIo/Q0lN5VKpx8aR5p8KdVRQFF3OuTlvv5kv6iPuRqA==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.10.tgz", + "integrity": "sha512-QCW6wF8QgPkq2ruPaxc83jZxoWQxLkt/pNxIDn/oYjMiVgrtqNdd7lWe3vsl0hw5ENHNf/ejXuzDHk6suKsRpg==", "dev": true, "requires": { "q": "^1.5.1" } }, "conventional-changelog-jshint": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.3.tgz", - "integrity": "sha512-Pc2PnMPcez634ckzr4EOWviwRSpZcURaK7bjyD9oK6N5fsC/a+3G7LW5m/JpcHPhA9ZxsfIbm7uqZ3ZDGsQ/sw==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.8.tgz", + "integrity": "sha512-hB/iI0IiZwnZ+seYI+qEQ4b+EMQSEC8jGIvhO2Vpz1E5p8FgLz75OX8oB1xJWl+s4xBMB6f8zJr0tC/BL7YOjw==", "dev": true, "requires": { - "compare-func": "^1.3.1", + "compare-func": "^2.0.0", "q": "^1.5.1" } }, "conventional-changelog-preset-loader": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.0.tgz", - "integrity": "sha512-/rHb32J2EJnEXeK4NpDgMaAVTFZS3o1ExmjKMtYVgIC4MQn0vkNSbYpdGRotkfGGRWiqk3Ri3FBkiZGbAfIfOQ==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", "dev": true }, "conventional-changelog-writer": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.11.tgz", - "integrity": "sha512-g81GQOR392I+57Cw3IyP1f+f42ME6aEkbR+L7v1FBBWolB0xkjKTeCWVguzRrp6UiT1O6gBpJbEy2eq7AnV1rw==", + "version": "4.0.17", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.17.tgz", + "integrity": "sha512-IKQuK3bib/n032KWaSb8YlBFds+aLmzENtnKtxJy3+HqDq5kohu3g/UdNbIHeJWygfnEbZjnCKFxAW0y7ArZAw==", "dev": true, "requires": { - "compare-func": "^1.3.1", - "conventional-commits-filter": "^2.0.2", + "compare-func": "^2.0.0", + "conventional-commits-filter": "^2.0.6", "dateformat": "^3.0.0", - "handlebars": "^4.4.0", + "handlebars": "^4.7.6", "json-stringify-safe": "^5.0.1", "lodash": "^4.17.15", - "meow": "^5.0.0", + "meow": "^7.0.0", "semver": "^6.0.0", "split": "^1.0.0", "through2": "^3.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "conventional-commits-filter": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.2.tgz", - "integrity": "sha512-WpGKsMeXfs21m1zIw4s9H5sys2+9JccTzpN6toXtxhpw2VNF2JUXwIakthKBy+LN4DvJm+TzWhxOMWOs1OFCFQ==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.6.tgz", + "integrity": "sha512-4g+sw8+KA50/Qwzfr0hL5k5NWxqtrOVw4DDk3/h6L85a9Gz0/Eqp3oP+CWCNfesBvZZZEFHF7OTEbRe+yYSyKw==", "dev": true, "requires": { "lodash.ismatch": "^4.4.0", @@ -754,20 +906,25 @@ } }, "conventional-commits-parser": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.8.tgz", - "integrity": "sha512-YcBSGkZbYp7d+Cr3NWUeXbPDFUN6g3SaSIzOybi8bjHL5IJ5225OSCxJJ4LgziyEJ7AaJtE9L2/EU6H7Nt/DDQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.1.0.tgz", + "integrity": "sha512-RSo5S0WIwXZiRxUGTPuYFbqvrR4vpJ1BDdTlthFgvHt5kEdnd1+pdvwWphWn57/oIl4V72NMmOocFqqJ8mFFhA==", "dev": true, "requires": { "JSONStream": "^1.0.4", "is-text-path": "^1.0.1", "lodash": "^4.17.15", - "meow": "^5.0.0", + "meow": "^7.0.0", "split2": "^2.0.0", "through2": "^3.0.0", "trim-off-newlines": "^1.0.0" } }, + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -861,11 +1018,11 @@ } }, "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-5.0.0.tgz", + "integrity": "sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==", "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "^2.0.0" } }, "deep-eql": { @@ -877,46 +1034,36 @@ } }, "deepmerge": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", - "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==" + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" }, "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.0.tgz", + "integrity": "sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==" }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, "requires": { "object-keys": "^1.0.12" } }, "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", + "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - } + "globby": "^10.0.1", + "graceful-fs": "^4.2.2", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.1", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0" } }, "delayed-stream": { @@ -929,6 +1076,14 @@ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, "doctrine": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", @@ -937,23 +1092,15 @@ "requires": { "esutils": "^1.1.6", "isarray": "0.0.1" - }, - "dependencies": { - "esutils": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz", - "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=", - "dev": true - } } }, "dot-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", - "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "is-obj": "^2.0.0" } }, "duplexer3": { @@ -985,29 +1132,59 @@ } }, "es-abstract": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", - "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", "dev": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "object.assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", + "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", + "requires": { + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + } } }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -1026,9 +1203,9 @@ "dev": true }, "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz", + "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=", "dev": true }, "execa": { @@ -1044,31 +1221,72 @@ "p-finally": "^1.0.0", "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" + }, + "dependencies": { + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + } } }, "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + } }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, + "fastq": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", + "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, "flat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", - "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", + "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", "dev": true, "requires": { "is-buffer": "~2.0.3" @@ -1090,13 +1308,14 @@ } }, "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" } }, "fs.realpath": { @@ -1104,11 +1323,17 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "get-caller-file": { "version": "2.0.5", @@ -1181,19 +1406,6 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", @@ -1218,21 +1430,6 @@ "trim-newlines": "^1.0.0" } }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, "path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", @@ -1253,12 +1450,6 @@ "pinkie-promise": "^2.0.0" } }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -1320,15 +1511,6 @@ "safe-buffer": "~5.1.0" } }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, "strip-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", @@ -1363,9 +1545,9 @@ "dev": true }, "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "requires": { "pump": "^3.0.0" } @@ -1383,12 +1565,41 @@ "through2": "^2.0.0" }, "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, "meow": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", @@ -1406,10 +1617,20 @@ "trim-newlines": "^2.0.0" } }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", "dev": true }, "readable-stream": { @@ -1427,6 +1648,16 @@ "util-deprecate": "~1.0.1" } }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -1442,6 +1673,12 @@ "safe-buffer": "~5.1.0" } }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -1451,6 +1688,12 @@ "readable-stream": "~2.3.6", "xtend": "~4.0.1" } + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true } } }, @@ -1462,24 +1705,24 @@ "requires": { "gitconfiglocal": "^1.0.0", "pify": "^2.3.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } } }, "git-semver-tags": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-3.0.1.tgz", - "integrity": "sha512-Hzd1MOHXouITfCasrpVJbRDg9uvW7LfABk3GQmXYZByerBDrfrEMP9HXpNT7RxAbieiocP6u+xq20DkvjwxnCA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.0.tgz", + "integrity": "sha512-TcxAGeo03HdErzKzi4fDD+xEL7gi8r2Y5YSxH6N2XYdVSV5UkBwfrt7Gqo1b+uSHCjy/sa9Y6BBBxxFLxfbhTg==", "dev": true, "requires": { - "meow": "^5.0.0", + "meow": "^7.0.0", "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "gitconfiglocal": { @@ -1504,47 +1747,60 @@ "path-is-absolute": "^1.0.0" } }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - } + "is-glob": "^4.0.1" + } + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" } }, "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "version": "10.5.5", + "resolved": "https://registry.npmjs.org/got/-/got-10.5.5.tgz", + "integrity": "sha512-B13HHkCkTA7KxyxTrFoZfrurBX1fZxjMTKpmIfoVzh0Xfs9aZV7xEfI6EKuERQOIPbomh5LE4xDkfK6o2VXksw==", "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", + "@sindresorhus/is": "^1.0.0", + "@szmarczak/http-timer": "^4.0.0", + "@types/cacheable-request": "^6.0.1", + "cacheable-lookup": "^2.0.0", + "cacheable-request": "^7.0.1", + "decompress-response": "^5.0.0", "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" + "get-stream": "^5.0.0", + "lowercase-keys": "^2.0.0", + "mimic-response": "^2.0.0", + "p-cancelable": "^2.0.0", + "p-event": "^4.0.0", + "responselike": "^2.0.0", + "to-readable-stream": "^2.0.0", + "type-fest": "^0.9.0" } }, "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" }, "growl": { "version": "1.10.5", @@ -1553,35 +1809,40 @@ "dev": true }, "handlebars": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.3.tgz", - "integrity": "sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg==", + "version": "4.7.6", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", + "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", "requires": { + "minimist": "^1.2.5", "neo-async": "^2.6.0", - "optimist": "^0.6.1", "source-map": "^0.6.1", - "uglify-js": "^3.1.4" + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" } }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } }, "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "has-symbols": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" }, "he": { "version": "1.2.0", @@ -1590,20 +1851,20 @@ "dev": true }, "highlight.js": { - "version": "9.18.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz", - "integrity": "sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg==" + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.3.1.tgz", + "integrity": "sha512-jeW8rdPdhshYKObedYg5XGbpVgb1/DT4AHvDFXhkU7UnGSIjy9kkJ7zHG7qplhFHMitTSzh5/iClKQk3Kb2RFQ==" }, "hosted-git-info": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", - "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", "dev": true }, "http-cache-semantics": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", - "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" }, "humanize-string": { "version": "2.1.0", @@ -1613,11 +1874,15 @@ "decamelize": "^2.0.0" } }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" + }, "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" }, "inflight": { "version": "1.0.6", @@ -1640,9 +1905,9 @@ "dev": true }, "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" }, "invert-kv": { "version": "2.0.0", @@ -1656,6 +1921,15 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, "is-buffer": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", @@ -1663,16 +1937,27 @@ "dev": true }, "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", - "dev": true + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + }, + "is-core-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.0.0.tgz", + "integrity": "sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw==", + "requires": { + "has": "^1.0.3" + } }, "is-date-object": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-finite": { "version": "1.1.0", @@ -1686,10 +1971,28 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true }, "is-path-cwd": { @@ -1697,21 +2000,10 @@ "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "requires": { - "is-path-inside": "^2.1.0" - } - }, "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "requires": { - "path-is-inside": "^1.0.2" - } + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==" }, "is-plain-obj": { "version": "1.1.0", @@ -1720,12 +2012,11 @@ "dev": true }, "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dev": true, + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", "requires": { - "has": "^1.0.3" + "has-symbols": "^1.0.1" } }, "is-stream": { @@ -1738,7 +2029,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, "requires": { "has-symbols": "^1.0.1" } @@ -1773,13 +2063,12 @@ "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -1787,9 +2076,9 @@ } }, "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" }, "json-parse-better-errors": { "version": "1.0.2", @@ -1797,6 +2086,17 @@ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.5.tgz", + "integrity": "sha512-gWJOWYFrhQ8j7pVm0EM8Slr+EPVq1Phf6lvzvD/WCeqkrx/f2xBI0xOsRRS9xCn3I4vKtP519dvs3TP09r24wQ==" + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -1816,12 +2116,22 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "json-to-ast": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json-to-ast/-/json-to-ast-2.1.0.tgz", + "integrity": "sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ==", "requires": { - "graceful-fs": "^4.1.6" + "code-error-fragment": "0.0.230", + "grapheme-splitter": "^1.0.4" + } + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" } }, "jsonify": { @@ -1835,19 +2145,25 @@ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", "dev": true }, - "jsonschema": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.5.tgz", - "integrity": "sha512-kVTF+08x25PQ0CjuVc0gRM9EUPb0Fe9Ln/utFOgcdxEIOHuU7ooBk/UPTd7t1M91pP35m0MU1T8M5P7vP1bRRw==" + "jsonpointer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", + "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==" }, "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz", + "integrity": "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==", "requires": { - "json-buffer": "3.0.0" + "json-buffer": "3.0.1" } }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, "lcid": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", @@ -1857,40 +2173,54 @@ "invert-kv": "^2.0.0" } }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" }, "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } } } }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "^4.1.0" } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" }, "lodash._reinterpolate": { "version": "3.0.0", @@ -1924,12 +2254,64 @@ } }, "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", "dev": true, "requires": { - "chalk": "^2.0.1" + "chalk": "^2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "loud-rejection": { @@ -1943,14 +2325,19 @@ } }, "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" }, "make-error": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", - "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==" + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "map-age-cleaner": { "version": "0.1.3", @@ -1962,15 +2349,15 @@ } }, "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz", + "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==", "dev": true }, "marked": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.4.0.tgz", - "integrity": "sha512-tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw==" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.2.tgz", + "integrity": "sha512-5jjKHVl/FPo0Z6ocP3zYhKiJLzkwJAw4CZoLjv57FkvbUuwOX4LIBBGGcXjAY6ATcd1q9B8UTj5T9Umauj0QYQ==" }, "mem": { "version": "4.3.0", @@ -1984,33 +2371,96 @@ } }, "meow": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", - "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz", + "integrity": "sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==", "dev": true, "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0", - "yargs-parser": "^10.0.0" + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + }, + "dependencies": { + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true + } + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" } }, "mime-db": { - "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", - "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" }, "mime-types": { - "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", - "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", "requires": { - "mime-db": "1.43.0" + "mime-db": "1.44.0" } }, "mimic-fn": { @@ -2020,9 +2470,15 @@ "dev": true }, "mimic-response": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==" + }, + "min-indent": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true }, "minimatch": { "version": "3.0.4", @@ -2033,45 +2489,39 @@ } }, "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, "requires": { "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" } }, "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } + "minimist": "^1.2.5" } }, "mocha": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.2.tgz", - "integrity": "sha512-FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", + "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", "dev": true, "requires": { "ansi-colors": "3.2.3", "browser-stdout": "1.3.1", + "chokidar": "3.3.0", "debug": "3.2.6", "diff": "3.5.0", "escape-string-regexp": "1.0.5", @@ -2080,27 +2530,21 @@ "growl": "1.10.5", "he": "1.2.0", "js-yaml": "3.13.1", - "log-symbols": "2.2.0", + "log-symbols": "3.0.0", "minimatch": "3.0.4", - "mkdirp": "0.5.1", + "mkdirp": "0.5.5", "ms": "2.1.1", - "node-environment-flags": "1.0.5", + "node-environment-flags": "1.0.6", "object.assign": "4.1.0", "strip-json-comments": "2.0.1", "supports-color": "6.0.0", "which": "1.3.1", "wide-align": "1.1.3", - "yargs": "13.3.0", - "yargs-parser": "13.1.1", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", "yargs-unparser": "1.6.0" }, "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -2136,6 +2580,22 @@ "path-is-absolute": "^1.0.0" } }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -2146,15 +2606,6 @@ "path-exists": "^3.0.0" } }, - "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, "p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", @@ -2164,10 +2615,10 @@ "p-limit": "^2.0.0" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, "supports-color": { @@ -2180,9 +2631,9 @@ } }, "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -2203,12 +2654,44 @@ "yargs": "^11.0.0" }, "dependencies": { + "@types/mocha": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", + "dev": true + }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", @@ -2220,18 +2703,48 @@ "wrap-ansi": "^2.0.0" } }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "dev": true }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", @@ -2241,12 +2754,61 @@ "number-is-nan": "^1.0.0" } }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", @@ -2334,14 +2896,14 @@ "dev": true }, "mustache": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-3.0.1.tgz", - "integrity": "sha512-jFI/4UVRsRYdUbuDTKT7KzfOp7FiD5WzYmmwNwXyUVypC0xjoTL78Fqc0jHUPIvvGD+6DQSPHIt1NE7D1ArsqA==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.0.0.tgz", + "integrity": "sha512-FJgjyX/IVkbXBXYUwH+OYwQKqWpFPLaLVESd70yHjSDunwzV2hZOoTBvPf4KLoxesUzzyfTH6F784Uqd7Wm5yA==" }, "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "nice-try": { "version": "1.0.5", @@ -2350,9 +2912,9 @@ "dev": true }, "nock": { - "version": "11.7.2", - "resolved": "https://registry.npmjs.org/nock/-/nock-11.7.2.tgz", - "integrity": "sha512-7swr5bL1xBZ5FctyubjxEVySXOSebyqcL7Vy1bx1nS9IUqQWj81cmKjVKJLr8fHhtzI1MV8nyCdENA/cGcY1+Q==", + "version": "11.9.1", + "resolved": "https://registry.npmjs.org/nock/-/nock-11.9.1.tgz", + "integrity": "sha512-U5wPctaY4/ar2JJ5Jg4wJxlbBfayxgKbiAeGh+a1kk6Pwnc2ZEuKviLyDSG6t0uXl56q7AALIxoM6FJrBSsVXA==", "dev": true, "requires": { "debug": "^4.1.0", @@ -2363,20 +2925,26 @@ }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, "node-environment-flags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", - "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", "dev": true, "requires": { "object.getownpropertydescriptors": "^2.0.3", @@ -2392,9 +2960,9 @@ } }, "nodemailer": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.2.1.tgz", - "integrity": "sha512-TagB7iuIi9uyNgHExo8lUDq3VK5/B0BpbkcjIgNvxbtVrjNqq0DwAOTuzALPVkK76kMhTSzIgHqg8X1uklVs6g==" + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.4.4.tgz", + "integrity": "sha512-2GqGu5o3FBmDibczU3+LZh9lCEiKmNx7LvHl512p8Kj+Kn5FQVOICZv85MDFz/erK0BDd5EJp3nqQLpWCZD1Gg==" }, "normalize-package-data": { "version": "2.5.0", @@ -2416,6 +2984,12 @@ } } }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, "normalize-url": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", @@ -2439,19 +3013,18 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true }, "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object.assign": { "version": "4.1.0", @@ -2483,15 +3056,6 @@ "wrappy": "1" } }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - } - }, "os-locale": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", @@ -2510,9 +3074,9 @@ "dev": true }, "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz", + "integrity": "sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==" }, "p-defer": { "version": "1.0.0", @@ -2520,11 +3084,18 @@ "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", "dev": true }, + "p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "requires": { + "p-timeout": "^3.1.0" + } + }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, "p-is-promise": { "version": "2.1.0", @@ -2533,32 +3104,43 @@ "dev": true }, "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "^2.0.0" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "^2.2.0" } }, "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "requires": { + "p-finally": "^1.0.0" + } }, "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "parse-github-repo-url": { @@ -2568,19 +3150,21 @@ "dev": true }, "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", + "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", "dev": true, "requires": { + "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" } }, "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { @@ -2588,11 +3172,6 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -2605,41 +3184,37 @@ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, "pathval": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=" }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + }, "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, "requires": { "pinkie": "^2.0.0" } @@ -2666,21 +3241,8 @@ "requires": { "minimist": "^1.2.0", "prepend-file": "1.3.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } } }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" - }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -2719,9 +3281,9 @@ "dev": true }, "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "dev": true }, "read-pkg": { @@ -2733,6 +3295,51 @@ "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", "path-type": "^3.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + } } }, "read-pkg-up": { @@ -2743,12 +3350,63 @@ "requires": { "find-up": "^2.0.0", "read-pkg": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } } }, "readable-stream": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz", - "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -2756,6 +3414,15 @@ "util-deprecate": "^1.0.1" } }, + "readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "dev": true, + "requires": { + "picomatch": "^2.0.4" + } + }, "rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", @@ -2765,20 +3432,19 @@ } }, "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" } }, "regenerator-runtime": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", - "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", - "dev": true + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" }, "repeating": { "version": "2.0.1", @@ -2802,40 +3468,50 @@ "dev": true }, "resolve": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", - "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", + "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", "requires": { + "is-core-module": "^2.0.0", "path-parse": "^1.0.6" } }, "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", "requires": { - "lowercase-keys": "^1.0.0" + "lowercase-keys": "^2.0.0" } }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, "rimraf": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.1.tgz", - "integrity": "sha512-IQ4ikL8SjBiEDZfk+DFVwqRK8md24RWMEJkdSlgNLkyyAImcjf8SWvU1qFMDOb4igBClbTQ/ugPqXcRwdFTxZw==", - "dev": true, + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { "glob": "^7.1.3" } }, + "run-parallel": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==" + }, "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", + "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", "dev": true }, "set-blocking": { @@ -2860,9 +3536,9 @@ "dev": true }, "shelljs": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", - "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", + "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", "requires": { "glob": "^7.0.0", "interpret": "^1.0.0", @@ -2870,29 +3546,34 @@ } }, "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -2900,15 +3581,15 @@ } }, "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -2916,9 +3597,9 @@ } }, "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", + "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==", "dev": true }, "split": { @@ -3003,24 +3684,86 @@ "strip-ansi": "^4.0.0" } }, - "string.prototype.trimleft": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", - "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", - "dev": true, + "string.prototype.trimend": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", + "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", "requires": { "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "es-abstract": "^1.18.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "object.assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", + "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.0", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + } } }, - "string.prototype.trimright": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", - "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", - "dev": true, + "string.prototype.trimstart": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", + "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", "requires": { "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "es-abstract": "^1.18.0-next.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + }, + "object.assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", + "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.0", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + } } }, "string_decoder": { @@ -3042,10 +3785,13 @@ } }, "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } }, "strip-eof": { "version": "1.0.0", @@ -3054,10 +3800,13 @@ "dev": true }, "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } }, "strip-json-comments": { "version": "2.0.1", @@ -3066,11 +3815,11 @@ "dev": true }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } }, "temp-dir": { @@ -3102,11 +3851,12 @@ "dev": true }, "through2": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", - "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", "dev": true, "requires": { + "inherits": "^2.0.4", "readable-stream": "2 || 3" } }, @@ -3120,9 +3870,17 @@ } }, "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz", + "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } }, "toposort": { "version": "2.0.2", @@ -3130,9 +3888,9 @@ "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=" }, "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", + "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==", "dev": true }, "trim-off-newlines": { @@ -3142,20 +3900,21 @@ "dev": true }, "ts-json-schema-generator": { - "version": "0.42.0", - "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.42.0.tgz", - "integrity": "sha512-UAfnxm4u10t3HC81DUPFgyIiXpa5XHotNlUEPqbhdoiW+MU+MYNtPCgeU/VK/F+mBmw6uPow+5VCEUNZYwMupQ==", + "version": "0.60.0", + "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.60.0.tgz", + "integrity": "sha512-hXSlkb2kID3WJq9CHrnIxlLdIiGuRvrajJT8mQEaHI8xWNk5Sy+wRXvWlHRUn64RpUR9dyydI4d33aKb/CXssw==", "requires": { - "commander": "~2.20.0", - "glob": "~7.1.4", + "@types/json-schema": "^7.0.4", + "commander": "~4.1.1", + "glob": "~7.1.6", "json-stable-stringify": "^1.0.1", - "typescript": "~3.4.5" + "typescript": "~3.7.5" }, "dependencies": { "typescript": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.5.tgz", - "integrity": "sha512-YycBxUb49UUhdNMU5aJ7z5Ej2XGmaIBL0x34vZ82fn3hGvD+bgrMrVDpatgz2f7YxUMJxMkbWxJZeAvDxVe7Vw==" + "version": "3.7.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.5.tgz", + "integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==" } } }, @@ -3172,15 +3931,15 @@ } }, "tslib": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "tslint": { - "version": "5.20.1", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz", - "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", + "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -3191,18 +3950,74 @@ "glob": "^7.1.1", "js-yaml": "^3.13.1", "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", + "mkdirp": "^0.5.3", "resolve": "^1.3.2", "semver": "^5.3.0", - "tslib": "^1.8.0", + "tslib": "^1.13.0", "tsutils": "^2.29.0" }, "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -3248,79 +4063,60 @@ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" }, + "type-fest": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.9.0.tgz", + "integrity": "sha512-j55pzONIdg7rdtJTRZPKIbV0FosUqYdhHK1aAYJIrUvejv1VVyBokrILE8KQDT4emW/1Ev9tx+yZG+AxuSBMmA==" + }, "typedoc": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.14.2.tgz", - "integrity": "sha512-aEbgJXV8/KqaVhcedT7xG6d2r+mOvB5ep3eIz1KuB5sc4fDYXcepEEMdU7XSqLFO5hVPu0nllHi1QxX2h/QlpQ==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.18.0.tgz", + "integrity": "sha512-UgDQwapCGQCCdYhEQzQ+kGutmcedklilgUGf62Vw6RdI29u6FcfAXFQfRTiJEbf16aK3YnkB20ctQK1JusCRbA==", "requires": { - "@types/fs-extra": "^5.0.3", - "@types/handlebars": "^4.0.38", - "@types/highlight.js": "^9.12.3", - "@types/lodash": "^4.14.110", - "@types/marked": "^0.4.0", - "@types/minimatch": "3.0.3", - "@types/shelljs": "^0.8.0", - "fs-extra": "^7.0.0", - "handlebars": "^4.0.6", - "highlight.js": "^9.13.1", - "lodash": "^4.17.10", - "marked": "^0.4.0", + "fs-extra": "^9.0.1", + "handlebars": "^4.7.6", + "highlight.js": "^10.0.0", + "lodash": "^4.17.15", + "lunr": "^2.3.8", + "marked": "^1.1.1", "minimatch": "^3.0.0", - "progress": "^2.0.0", - "shelljs": "^0.8.2", - "typedoc-default-themes": "^0.5.0", - "typescript": "3.2.x" - }, - "dependencies": { - "typescript": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz", - "integrity": "sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==" - } + "progress": "^2.0.3", + "shelljs": "^0.8.4", + "typedoc-default-themes": "^0.10.2" } }, "typedoc-default-themes": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.5.0.tgz", - "integrity": "sha1-bcJDPnjti+qOiHo6zeLzF4W9Yic=" + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.10.2.tgz", + "integrity": "sha512-zo09yRj+xwLFE3hyhJeVHWRSPuKEIAsFK5r2u47KL/HBKqpwdUSanoaz5L34IKiSATFrjG5ywmIu98hPVMfxZg==", + "requires": { + "lunr": "^2.3.8" + } }, "typescript": { - "version": "3.7.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.5.tgz", - "integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==", - "dev": true + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", + "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==" }, "uglify-js": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.7.tgz", - "integrity": "sha512-FeSU+hi7ULYy6mn8PKio/tXsdSXN35lm4KgV2asx00kzrLU9Pi3oAslcJT70Jdj7PHX29gGUPOT6+lXGBbemhA==", - "optional": true, - "requires": { - "commander": "~2.20.3", - "source-map": "~0.6.1" - } + "version": "3.11.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.11.4.tgz", + "integrity": "sha512-FyYnoxVL1D6+jDGQpbK5jW6y/2JlVfRfEeQ67BPCUg5wfCjaKOpr2XeceE4QL+MkhxliLtf5EbrMDZgzpt2CNw==", + "optional": true }, "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" }, "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", "requires": { "punycode": "^2.1.0" } }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "requires": { - "prepend-http": "^2.0.0" - } - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -3368,9 +4164,9 @@ } }, "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" }, "wrap-ansi": { "version": "5.1.0", @@ -3389,6 +4185,30 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -3443,9 +4263,9 @@ } }, "yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, "requires": { "cliui": "^5.0.0", @@ -3457,7 +4277,7 @@ "string-width": "^3.0.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^13.1.1" + "yargs-parser": "^13.1.2" }, "dependencies": { "ansi-regex": { @@ -3466,12 +4286,6 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -3497,15 +4311,6 @@ "path-exists": "^3.0.0" } }, - "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, "p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", @@ -3515,10 +4320,10 @@ "p-limit": "^2.0.0" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, "string-width": { @@ -3542,9 +4347,9 @@ } }, "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -3554,12 +4359,21 @@ } }, "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + } } }, "yargs-unparser": { diff --git a/package.json b/package.json index ed02c1c8..a16fcc9c 100644 --- a/package.json +++ b/package.json @@ -45,40 +45,42 @@ }, "dependencies": { "@krlwlfrt/async-pool": "0.3.0", - "@openstapps/logger": "0.4.0", + "@openstapps/logger": "0.5.0", "@types/glob": "7.1.1", "@types/got": "9.6.9", - "@types/mustache": "0.8.32", - "@types/node": "10.17.14", + "@types/mustache": "4.0.0", + "@types/node": "10.17.21", + "@types/json-schema": "7.0.6", "ajv": "6.11.0", + "better-ajv-errors": "0.6.7", "chai": "4.2.0", - "commander": "2.20.3", - "deepmerge": "3.3.0", - "del": "4.1.1", + "commander": "4.1.1", + "deepmerge": "4.2.2", + "del": "5.1.0", "flatted": "2.0.1", "glob": "7.1.6", - "got": "9.6.0", + "got": "10.5.5", "humanize-string": "2.1.0", - "jsonschema": "1.2.5", - "mustache": "3.0.1", + "json-schema": "0.2.5", + "mustache": "4.0.0", "plantuml-encoder": "1.4.0", "toposort": "2.0.2", - "ts-json-schema-generator": "0.42.0", + "ts-json-schema-generator": "0.60.0", "ts-node": "8.6.2", - "typedoc": "0.14.2" + "typedoc": "0.18.0", + "typescript": "3.8.3" }, "devDependencies": { - "@openstapps/configuration": "0.23.0", + "@openstapps/configuration": "0.25.0", "@types/chai": "4.2.8", - "@types/mocha": "5.2.7", + "@types/mocha": "7.0.2", "@types/rimraf": "2.0.3", - "conventional-changelog-cli": "2.0.31", - "mocha": "6.2.2", + "conventional-changelog-cli": "2.1.0", + "mocha": "7.2.0", "mocha-typescript": "1.1.17", - "nock": "11.7.2", + "nock": "11.9.1", "prepend-file-cli": "1.0.6", - "rimraf": "3.0.1", - "tslint": "5.20.1", - "typescript": "3.7.5" + "rimraf": "3.0.2", + "tslint": "6.1.3" } } diff --git a/resources/error.html.mustache b/resources/error.html.mustache index 80a3373a..477f6505 100644 --- a/resources/error.html.mustache +++ b/resources/error.html.mustache @@ -1,10 +1,12 @@ -

{{idx}}

+

{{idx}}

-
{{message}}
-
{{property}} = {{instance}}
+
{{name}}
+

{{message}}

+

{{suggestion}}

- -
{{schema}}
+ +

{{schemaPath}}

+
{{instance}}
diff --git a/resources/file.html.mustache b/resources/file.html.mustache index 517678f7..92b48f5b 100644 --- a/resources/file.html.mustache +++ b/resources/file.html.mustache @@ -1,15 +1,17 @@ -

Errors in {{testFile}}

- - - - - - - - - +
+

Errors in {{testFile}}

+
#ErrorSchema
+ + + + + + + + - {{&errors}} + {{&errors}} - -
#ErrorInstance
+ + + diff --git a/resources/report.html.mustache b/resources/report.html.mustache index 86cb8a99..6ff18db3 100644 --- a/resources/report.html.mustache +++ b/resources/report.html.mustache @@ -3,26 +3,22 @@ Report - - + + -
-

Validation result

Timestamp: {{timestamp}}

{{&report}} -
- - - - + + + diff --git a/src/cli.ts b/src/cli.ts index bef68c71..c935c76e 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -15,7 +15,7 @@ import {Logger} from '@openstapps/logger'; import {Command} from 'commander'; import {existsSync, readFileSync, writeFileSync} from 'fs'; -import * as got from 'got'; +import got from 'got'; import {join, resolve} from 'path'; import {exit} from 'process'; import { @@ -158,8 +158,7 @@ commander } const response = await got.put(`${esAddress}_template/${template}`, { - body: result.mappings[template], - json: true, + json: result.mappings[template], }); const HTTP_STATUS_OK = 200; @@ -353,8 +352,3 @@ commander }); commander.parse(process.argv); - -if (commander.args.length < 1) { - commander.outputHelp(); - process.exit(1); -} diff --git a/src/common.ts b/src/common.ts index 020fb741..73323b80 100644 --- a/src/common.ts +++ b/src/common.ts @@ -15,11 +15,12 @@ import {Logger} from '@openstapps/logger'; import {existsSync, mkdir, PathLike, readFile, unlink, writeFile} from 'fs'; import {Glob} from 'glob'; -import {Schema as JSONSchema, ValidationError} from 'jsonschema'; +import {JSONSchema7 as JSONSchema} from 'json-schema'; import {platform} from 'os'; import {join, sep} from 'path'; import {Definition} from 'ts-json-schema-generator'; import {Application, ProjectReflection} from 'typedoc'; +import {ModuleKind, ScriptTarget} from 'typescript'; import {promisify} from 'util'; import {LightweightType} from './uml/model/lightweight-type'; @@ -122,9 +123,67 @@ interface SchemaWithDefinitions extends JSONSchema { } /** - * An expectable error + * The validation result */ -export interface ExpectableValidationError extends ValidationError { +export interface ValidationResult { + /** + * A list of errors that occurred + */ + errors: ValidationError[]; + + /** + * whether the validation was successful + */ + valid: boolean; +} + +/** + * An error that occurred while validating + * + * This is a duplicate of the ValidationError in core/protocol/errors/validation because of incompatibilities + * between TypeDoc and TypeScript + */ +export interface ValidationError { + /** + * JSON schema path + */ + dataPath: string; + + /** + * The instance + */ + instance: unknown; + + /** + * The message + * + * Provided by https://www.npmjs.com/package/better-ajv-errors + */ + message: string; + + /** + * Name of the error + */ + name: string; + + /** + * Path within the Schema + */ + schemaPath: string; + + /** + * Suggestion to fix the occurring error + * + * Provided by https://www.npmjs.com/package/better-ajv-errors + */ + suggestion?: string; + +} + +/** + * An expected error + */ +export interface ExpectedValidationError extends ValidationError { /** * Whether or not the error is expected */ @@ -132,10 +191,10 @@ export interface ExpectableValidationError extends ValidationError { } /** - * A map of files and their expectable validation errors + * A map of files and their expected validation errors */ -export interface ExpectableValidationErrors { - [fileName: string]: ExpectableValidationError[]; +export interface ExpectedValidationErrors { + [fileName: string]: ExpectedValidationError[]; } /** @@ -150,10 +209,14 @@ export function getProjectReflection(srcPath: PathLike, excludeExternals = true) const tsconfigPath = getTsconfigPath(srcPath.toString()); // initialize new Typedoc application - const app = new Application({ + const app = new Application(); + + app.options.setValues({ excludeExternals: excludeExternals, + ignoreCompilerErrors: false, // TODO: true includeDeclarations: true, - module: 'commonjs', + module: ModuleKind.CommonJS, + target: ScriptTarget.Latest, tsconfig: join(tsconfigPath, 'tsconfig.json'), }); @@ -194,10 +257,11 @@ export function isSchemaWithDefinitions( */ export function isThingWithType(thing: unknown): thing is { type: string; } { return typeof thing === 'object' && - thing !== null && - 'type' in thing && - typeof (thing as { type: string; }).type === 'string'; + thing !== null && + 'type' in thing && + typeof (thing as { type: unknown; }).type === 'string'; } + // tslint:enable: completed-docs /** @@ -233,16 +297,16 @@ export function getTsconfigPath(startPath: string): string { } /** - * Converts a comma seperated string into a string array + * Converts a comma separated string into a string array * - * @param val Comma seperated string + * @param val Comma separated string */ export function toArray(val: string): string[] { return val.split(','); } /** - * Creates the full name of a lightweight type recursivly + * Creates the full name of a lightweight type recursively * * @param type Type to get the full name of */ diff --git a/src/mapping.ts b/src/mapping.ts index a618e459..caad870b 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -51,6 +51,9 @@ const indexableTag = 'indexable'; const aggregatableTag = 'aggregatable'; const aggregatableTagParameterGlobal = 'global'; +// clamp printed object to 1000 chars to keep error messages readable +const maxErrorObjectChars = 1000; + let ignoredTagsList = ['indexable', 'validatable']; /** @@ -91,7 +94,7 @@ export function getAllIndexableInterfaces(projectReflection: ProjectReflection): } /** - * Composes error messages, that are readable and contain a certain minumum of information + * Composes error messages, that are readable and contain a certain minimum of information * * @param path the path where the error took place * @param topTypeName the name of the SCThingType @@ -100,14 +103,27 @@ export function getAllIndexableInterfaces(projectReflection: ProjectReflection): * @param message the error message */ function composeErrorMessage(path: string, topTypeName: string, typeName: string, object: string, message: string) { - const error = `At "${topTypeName}::${path.substr(0, path.length - 1)}" for ${typeName} "${object}": ${message}`; + const error = `At "${topTypeName}::${path.substr(0, path.length - 1)}" for ${typeName} "${trimString(object, maxErrorObjectChars)}": ${message}`; errors.push(error); if (showErrors) { // tslint:disable-next-line:no-floating-promises - Logger.error(error); + Logger.error(error) + .then(); } } +/** + * Trims a string to a readable size and appends "..." + * + * @param value the string to trim + * @param maxLength the maximum allowed length before it is clamped + */ +function trimString(value: string, maxLength: number): string { + return value.length > maxLength ? + `${value.substring(0, maxLength)}...` : + value; +} + /** * Gets the Reflections and names for Generics in a ReferenceType of a DeclarationReflection * @@ -116,6 +132,7 @@ function composeErrorMessage(path: string, topTypeName: string, typeName: string * * @param type the ReferenceType of a DeclarationReflection * @param out the previous reflection, it then overrides all parameters or keeps old ones + * @param topTypeName the name of the object, with which something went wrong * @param path the current path to the object we are in * @param tags any tags attached to the type */ @@ -161,7 +178,7 @@ function getReflectionGeneric(type: ReferenceType, function handleExternalType(ref: ReferenceType, generics: Map, path: string, topTypeName: string, tags: CommentTag[]): ElasticsearchValue { for (const premap in premaps) { - if (premap === ref.name) { + if (premap === ref.name && premaps.hasOwnProperty(premap)) { return readFieldTags(premaps[premap], path, topTypeName, tags); } } @@ -231,9 +248,9 @@ function handleDeclarationReflection(decl: DeclarationReflection, const template: ElasticsearchDynamicTemplate = {}; template[decl.name] = { mapping: handleType( - decl.indexSignature.type, - new Map(generics), path, topTypeName, - getCommentTags(decl.indexSignature)), + decl.indexSignature.type, + new Map(generics), path, topTypeName, + getCommentTags(decl.indexSignature)), match: '*', match_mapping_type: '*', path_match: `${path}*`, @@ -619,14 +636,16 @@ export function generateTemplate(projectReflection: ProjectReflection, .replace('"', ''); } else { // tslint:disable-next-line:no-floating-promises - Logger.error('Your input files seem to be incorrect, or there is a major bug in the mapping generator.'); + Logger.error('Your input files seem to be incorrect, or there is a major bug in the mapping generator.') + .then(); } } else if (typeObject.type instanceof StringLiteralType) { Logger.warn(`The interface ${_interface.name} uses a string literal as type, please use SCThingType.`); typeName = typeObject.type.value; } else { // tslint:disable-next-line:no-floating-promises - Logger.error(`The interface ${_interface.name} is required to use an SCThingType as a type, please do so.`); + Logger.error(`The interface ${_interface.name} is required to use an SCThingType as a type, please do so.`) + .then(); } // filter out diff --git a/src/pack.ts b/src/pack.ts index 03596ed2..b5e45530 100644 --- a/src/pack.ts +++ b/src/pack.ts @@ -435,9 +435,9 @@ function topologicalSort(modules: JavaScriptModule[]): JavaScriptModule[] { // add all edges modules.forEach((module) => { - module.dependencies.forEach((dependenciePath) => { + module.dependencies.forEach((dependencyPath) => { // add edge from dependency to our module - edges.push([basename(dependenciePath), module.name]); + edges.push([basename(dependencyPath), module.name]); }); nodes.push(module.name); diff --git a/src/schema.ts b/src/schema.ts index 9cae01ca..de5be27d 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -13,9 +13,9 @@ * this program. If not, see . */ import Ajv from 'ajv'; -import {Schema as JSONSchema} from 'jsonschema'; +import {JSONSchema7 as JSONSchema} from 'json-schema'; import {join} from 'path'; -import {DEFAULT_CONFIG, Definition, SchemaGenerator} from 'ts-json-schema-generator'; +import {Config, DEFAULT_CONFIG, Definition, SchemaGenerator} from 'ts-json-schema-generator'; import {createFormatter} from 'ts-json-schema-generator/dist/factory/formatter'; import {createParser} from 'ts-json-schema-generator/dist/factory/parser'; import {createProgram} from 'ts-json-schema-generator/dist/factory/program'; @@ -45,13 +45,11 @@ export class Converter { */ constructor(path: string) { // set config for schema generator - const config = { + const config: Config = { ...DEFAULT_CONFIG, - // expose: 'exported' as any, - // jsDoc: 'extended' as any, - path: join(getTsconfigPath(path), 'tsconfig.json'), sortProps: true, topRef: false, + tsconfig: join(getTsconfigPath(path), 'tsconfig.json'), type: 'SC', }; @@ -82,7 +80,7 @@ export class Converter { const schema: JSONSchema = this.generator.createSchema(type); // set id of schema - schema.id = `https://core.stapps.tu-berlin.de/v${version}/lib/schema/${type}.json`; + schema.$id = `https://core.stapps.tu-berlin.de/v${version}/lib/schema/${type}.json`; if (isSchemaWithDefinitions(schema)) { const selfReference = { @@ -92,7 +90,7 @@ export class Converter { delete selfReference.$schema; delete selfReference.definitions; - delete selfReference.id; + delete selfReference.$id; // add self reference to definitions schema.definitions[`SC${type}`] = { diff --git a/src/uml/create-diagram.ts b/src/uml/create-diagram.ts index 4190a24b..1f626634 100644 --- a/src/uml/create-diagram.ts +++ b/src/uml/create-diagram.ts @@ -87,7 +87,7 @@ export async function createDiagram( /** * This will encode the plantuml code and post the code to the plantuml server * The server will then parse the code and create a corresponding diagram - * + * * @param modelPlantUMLCode raw PlantUML code * @param plantUmlBaseURL PlantUML server address that shall be used * @param outputFile filename of the output file without file extension @@ -102,7 +102,7 @@ export async function createDiagramFromString( const url = `${plantUmlBaseURL}/svg/${plantUMLCode}`; let response; try { - response = await request.get(url); + response = await request.default.get(url); const httpOK = 200; if (response.statusCode !== httpOK) { await Logger.error(`Plantuml Server responded with an error.\n${response.statusMessage}`); diff --git a/src/uml/read-definitions.ts b/src/uml/read-definitions.ts index d0dfffb1..0d8e6102 100644 --- a/src/uml/read-definitions.ts +++ b/src/uml/read-definitions.ts @@ -15,9 +15,11 @@ import {Logger} from '@openstapps/logger'; import { ArrayType, + ConditionalType, DeclarationReflection, IntrinsicType, ProjectReflection, + QueryType, ReferenceType, ReflectionKind, ReflectionType, @@ -248,10 +250,43 @@ function readTypeInformation(declarationType: Type): LightweightType { if (declarationType instanceof UnionType) { return readAsUnionType(declarationType); } + if (declarationType instanceof QueryType) { + return readAsQueryType(declarationType); + } + if (declarationType instanceof ConditionalType) { + return readAsConditionalType(declarationType); + } throw new Error(`Could not read type ${declarationType.type}`); } +/** + * Conversion method for ConditionalTypes + * + * @param _type Type to be converted + */ +function readAsConditionalType(_type: ConditionalType): LightweightType { + const returnType: LightweightType = new LightweightType(); + + returnType.specificationTypes = []; + returnType.name = getFullTypeName(returnType); + returnType.isUnion = true; + + return returnType; +} + +/** + * Conversion method for QueryTypes + * + * @param type Type to be converted + */ +function readAsQueryType(type: QueryType): LightweightType { + const out = readAsReferenceType(type.queryType); + out.isReference = true; + + return out; +} + /** * Conversion method for IntrinsicType's * @@ -315,10 +350,8 @@ function readAsReferenceType(type: ReferenceType): LightweightType { // interfaces and classes in a type are a sink, since their declaration are defined elsewhere if ( typeof tempTypeReflection.kindString !== 'undefined' && - ['Interface', 'Class', 'Enumeration', 'Type alias'].indexOf( - tempTypeReflection.kindString, - ) > -1 - ) { + ['Interface', 'Class', 'Enumeration', 'Type alias'].includes( + tempTypeReflection.kindString)) { returnType.isReference = true; } } diff --git a/src/validate.ts b/src/validate.ts index 109b51ab..2003fe41 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -14,15 +14,20 @@ */ import {asyncPool} from '@krlwlfrt/async-pool'; import {Logger} from '@openstapps/logger'; +import Ajv from 'ajv'; +import betterAjvErrors from 'better-ajv-errors'; import {PathLike} from 'fs'; -import {Schema, Validator as JSONSchemaValidator, ValidatorResult} from 'jsonschema'; +import {JSONSchema7} from 'json-schema'; import * as mustache from 'mustache'; import {basename, join, resolve} from 'path'; +import {Schema} from 'ts-json-schema-generator'; import { - ExpectableValidationErrors, + ExpectedValidationErrors, globPromisified, isThingWithType, readFilePromisified, + ValidationError, + ValidationResult, writeFilePromisified, } from './common'; @@ -30,21 +35,24 @@ import { * StAppsCore validator */ export class Validator { + + /** + * JSON Schema Validator + */ + private readonly ajv = Ajv({verbose: true, jsonPointers: true, extendRefs: true}); /** * Map of schema names to schemas */ private readonly schemas: { [type: string]: Schema; } = {}; /** - * JSONSchema validator instance + * A wrapper function for Ajv that transforms the error into the compatible old error + * + * @param schema the schema that will be validated against + * @param instance the instance that will be validated */ - private readonly validator: JSONSchemaValidator; - - /** - * Create a new validator - */ - constructor() { - this.validator = new JSONSchemaValidator(); + private ajvValidateWrapper(schema: JSONSchema7, instance: unknown): ValidationResult { + return fromAjvResult(this.ajv.validate(schema, instance), schema, instance, this.ajv); } /** @@ -65,13 +73,9 @@ export class Validator { await asyncPool(2, schemaFiles, async (file: string) => { // read schema file const buffer = await readFilePromisified(file); - const schema = JSON.parse(buffer.toString()); - - // add schema to validator - this.validator.addSchema(schema); // add schema to map - this.schemas[basename(file, '.json')] = schema; + this.schemas[basename(file, '.json')] = JSON.parse(buffer.toString()); Logger.info(`Added ${file} to validator.`); }); @@ -85,17 +89,17 @@ export class Validator { * @param instance Instance to validate * @param schema Name of schema to validate instance against or the schema itself */ - public validate(instance: unknown, schema?: string | Schema): ValidatorResult { + public validate(instance: unknown, schema?: string | Schema): ValidationResult { if (typeof schema === 'undefined') { if (isThingWithType(instance)) { - // schema name can be infered from type string + // schema name can be inferred from type string // tslint:disable-next-line: completed-docs const schemaSuffix = (instance as { type: string; }).type.split(' ') - .map((part: string) => { + .map((part: string) => { return part.substr(0, 1) - .toUpperCase() + part.substr(1); + .toUpperCase() + part.substr(1); }) - .join(''); + .join(''); const schemaName = `SC${schemaSuffix}`; return this.validate(instance, schemaName); @@ -108,20 +112,61 @@ export class Validator { throw new Error(`No schema available for ${schema}.`); } - return this.validator.validate(instance, this.schemas[schema]); + // schema will be cached + return this.ajvValidateWrapper(this.schemas[schema], instance); } - return this.validator.validate(instance, schema); + return this.ajvValidateWrapper(schema, instance); } } +/** + * Creates a ValidationResult from ajv + * + * Implemented for compatibility purposes + * + * @param result the result, now a ValidationResult + * @param schema the schema that has been validated against + * @param instance the data that has been validated + * @param ajvInstance the ajv instance with which the validation was done + */ +function fromAjvResult( + result: boolean | PromiseLike, + schema: JSONSchema7, + instance: unknown, + ajvInstance: Ajv.Ajv, +): ValidationResult { + // tslint:disable-next-line + // @ts-ignore function can return void, which at runtime will be undefined. TS doesn't allow to assign void to undefined + const betterErrorObject: betterAjvErrors.IOutputError[] | undefined = + betterAjvErrors(schema, instance, ajvInstance.errors, {format: 'js', indent: null}); + + return { + errors: ajvInstance.errors?.map((ajvError, index) => { + + const error: ValidationError = { + dataPath: ajvError.dataPath, + instance: instance, + message: betterErrorObject?.[index].error!, + name: ajvError.keyword, + schemaPath: ajvError.schemaPath, + suggestion: betterErrorObject?.[index].suggestion, + }; + // (validationError as ValidationError).humanReadableError = betterErrorCLI?.[index] as unknown as string; + + return error; + }) ?? [], + valid: typeof result === 'boolean' ? result : false, + }; +} + /** * Validate all test files in the given resources directory against schema files in the given (schema) directory * * @param schemaDir The directory where the JSON schema files are * @param resourcesDir The directory where the test files are */ -export async function validateFiles(schemaDir: string, resourcesDir: string): Promise { +export async function validateFiles(schemaDir: string, resourcesDir: string): Promise { // instantiate new validator const v = new Validator(); await v.addSchemas(schemaDir); @@ -136,7 +181,7 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr Logger.log(`Found ${testFiles.length} file(s) to test.`); // map of errors per file - const errors: ExpectableValidationErrors = {}; + const errors: ExpectedValidationErrors = {}; // tslint:disable-next-line:no-magic-numbers - iterate over files to test await asyncPool(2, testFiles, async (testFile: string) => { @@ -162,13 +207,11 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr // iterate over errors for (const error of result.errors) { - // get idx of expected error - const errorIdx = expectedErrors.indexOf(error.name); + const errorIndex = expectedErrors.indexOf(error.name); let expected = false; - if (errorIdx >= 0) { - // remove from list of expected errors - expectedErrors.splice(errorIdx, 1); + if (errorIndex >= 0) { + expectedErrors.splice(errorIndex, 1); expected = true; } else { unexpectedErrors++; @@ -188,14 +231,14 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr await Logger.error(`Extraneous expected error '${error}' in ${testFile}.`); errors[testFileName].push({ - argument: false, + dataPath: 'undefined', expected: false, - instance: testDescription.instance, - message: `expected error ${error} did not occur`, + instance: undefined, + // instance: testDescription.instance, + message: 'undefined', name: `expected ${error}`, - property: 'unknown', - schema: 'undefined', - stack: 'undefined', + schemaPath: 'undefined', + suggestion: 'undefined', }); } } else if (unexpectedErrors === 0) { @@ -212,7 +255,7 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr * @param reportPath Path to write report to * @param errors Errors that occurred in validation */ -export async function writeReport(reportPath: PathLike, errors: ExpectableValidationErrors): Promise { +export async function writeReport(reportPath: PathLike, errors: ExpectedValidationErrors): Promise { let buffer = await readFilePromisified(resolve(__dirname, '..', 'resources', 'file.html.mustache')); const fileTemplate = buffer.toString(); @@ -229,15 +272,16 @@ export async function writeReport(reportPath: PathLike, errors: ExpectableValida let fileOutput = ''; errors[fileName].forEach((error, idx) => { + fileOutput += mustache.render(errorTemplate, { idx: idx + 1, // tslint:disable-next-line:no-magic-numbers instance: JSON.stringify(error.instance, null, 2), message: error.message, - property: error.property, - // tslint:disable-next-line:no-magic-numbers - schema: JSON.stringify(error.schema, null, 2), + name: error.name, + schemaPath: error.schemaPath, status: (error.expected) ? 'alert-success' : 'alert-danger', + suggestion: error.suggestion, }); }); diff --git a/test/create-diagram.spec.ts b/test/create-diagram.spec.ts index 30a04252..74bdc1c9 100644 --- a/test/create-diagram.spec.ts +++ b/test/create-diagram.spec.ts @@ -73,11 +73,11 @@ export class CreateDiagramSpec { let fileName = await createDiagram(this.definitions, this.plantUmlConfig, "http://plantuml:8080"); let filePath = resolve(__dirname, '..', fileName); expect(await existsSync(filePath)).to.equal(true); + await unlinkSync(fileName); - this.plantUmlConfig.showAssociations = false; - this.plantUmlConfig.showInheritance = false; + this.plantUmlConfig.showInheritance = false; fileName = await createDiagram(this.definitions, this.plantUmlConfig, "http://plantuml:8080"); filePath = resolve(__dirname, '..', fileName); expect(await existsSync(filePath)).to.equal(true); diff --git a/test/mapping-model/mappings/src/object-union.ts b/test/mapping-model/mappings/src/object-union.ts index 004ed0ca..33865b54 100644 --- a/test/mapping-model/mappings/src/object-union.ts +++ b/test/mapping-model/mappings/src/object-union.ts @@ -22,17 +22,21 @@ import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typema * @indexable */ export interface ObjectUnion { - foo: Bar | Baz; + foo: Boo | Buu; type: ThingType.ObjectUnion } -interface Bar { +// we can't name them Bar or Baz, look here for more info: +// https://gitlab.com/openstapps/core-tools/-/issues/48 +// or here +// https://github.com/TypeStrong/typedoc/issues/1373 +interface Boo { a: boolean; intersection: string; } -interface Baz { +interface Buu { b: number; intersection: string; } diff --git a/test/mapping.spec.ts b/test/mapping.spec.ts index f5c6b0fc..15b1ced7 100644 --- a/test/mapping.spec.ts +++ b/test/mapping.spec.ts @@ -27,7 +27,6 @@ import {genericTest} from './mapping-model/mappings/src/generics'; import {nestedTest} from './mapping-model/mappings/src/nested'; import {indexSignatureTest} from './mapping-model/mappings/src/index-signature'; import {impossibleUnionTest} from './mapping-model/mappings/src/impossible-union'; -import {typeQueryTest} from './mapping-model/mappings/src/type-query'; import {objectUnionTest} from './mapping-model/mappings/src/object-union'; import {sortableTagTest} from './mapping-model/mappings/src/sortable-tag'; import {enumTest} from './mapping-model/mappings/src/enum'; @@ -91,10 +90,12 @@ export class MappingSpec { magAppInstance.testInterfaceAgainstPath(objectUnionTest); } + /* + https://gitlab.com/openstapps/core-tools/-/issues/47 @test async 'Type queries should work'() { magAppInstance.testInterfaceAgainstPath(typeQueryTest); - } + }*/ @test async 'Impossible union should cause an error'() { diff --git a/test/model/generated-model.ts b/test/model/generated-model.ts index 6469d0f3..7f2a5ae3 100644 --- a/test/model/generated-model.ts +++ b/test/model/generated-model.ts @@ -16,9 +16,7 @@ import {LightweightClassDefinition} from '../../src/uml/model/lightweight-class- import {LightweightDefinition} from '../../src/uml/model/lightweight-definition'; import {LightweightEnumDefinition} from '../../src/uml/model/lightweight-enum-definition'; -export const generatedModel: Array< - LightweightDefinition | LightweightClassDefinition | LightweightEnumDefinition -> = [ +export const generatedModel: Array = [ { name: 'TestClass', type: 'class', @@ -73,7 +71,7 @@ export const generatedModel: Array< { name: 'test2', optional: false, - inherited: true, + inherited: true, type: { hasTypeInformation: true, isArray: false, @@ -92,7 +90,7 @@ export const generatedModel: Array< { name: 'test4', optional: false, - inherited: true, + inherited: true, type: { hasTypeInformation: true, isArray: false, @@ -169,42 +167,13 @@ export const generatedModel: Array< isLiteral: false, isPrimitive: false, isReference: false, - isReflection: false, + isReflection: true, isTyped: false, isTypeParameter: false, - isUnion: true, - specificationTypes: [ - { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: true, - isReference: false, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'undefined', - }, - { - hasTypeInformation: false, - isArray: false, - isLiteral: false, - isPrimitive: false, - isReference: false, - isReflection: true, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'object', - }, - ], + isUnion: false, + specificationTypes: [], genericsTypes: [], - name: '', + name: 'object', }, }, { @@ -279,47 +248,18 @@ export const generatedModel: Array< optional: true, inherited: false, type: { - hasTypeInformation: false, + hasTypeInformation: true, isArray: false, isLiteral: false, - isPrimitive: false, + isPrimitive: true, isReference: false, isReflection: false, isTyped: false, isTypeParameter: false, - isUnion: true, - specificationTypes: [ - { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: true, - isReference: false, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'undefined', - }, - { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: true, - isReference: false, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'number', - }, - ], + isUnion: false, + specificationTypes: [], genericsTypes: [], - name: '', + name: 'number', }, }, { @@ -506,7 +446,7 @@ export const generatedModel: Array< isArray: false, isLiteral: false, isPrimitive: false, - isReference: false, + isReference: true, isReflection: false, isTyped: false, isTypeParameter: false, diff --git a/test/schema.spec.ts b/test/schema.spec.ts index a9bb8aab..8db4b88e 100644 --- a/test/schema.spec.ts +++ b/test/schema.spec.ts @@ -33,7 +33,8 @@ export class SchemaSpec { const schema = converter.getSchema('Foo', '0.0.1'); expect(schema).to.be.deep.equal({ - $schema: 'http://json-schema.org/draft-06/schema#', + $id: 'https://core.stapps.tu-berlin.de/v0.0.1/lib/schema/Foo.json', + $schema: 'http://json-schema.org/draft-07/schema#', additionalProperties: false, definitions: { FooType: { @@ -67,7 +68,6 @@ export class SchemaSpec { }, }, description: 'This is a simple interface declaration for\ntesting the schema generation and validation.', - id: 'https://core.stapps.tu-berlin.de/v0.0.1/lib/schema/Foo.json', properties: { lorem: { description: 'Dummy parameter', diff --git a/test/validate.spec.ts b/test/validate.spec.ts index be8913ff..2c31ca27 100644 --- a/test/validate.spec.ts +++ b/test/validate.spec.ts @@ -15,7 +15,7 @@ import {Logger} from '@openstapps/logger'; import {expect} from 'chai'; import {existsSync, mkdirSync, writeFileSync} from 'fs'; -import {Schema} from 'jsonschema'; +import {JSONSchema7 as Schema} from 'json-schema'; import {slow, suite, test, timeout} from 'mocha-typescript'; import {join} from 'path'; import rimraf from 'rimraf'; From 732d60883e1c9abcf03443bc49b4b43c803971e5 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Wed, 28 Oct 2020 18:47:39 +0100 Subject: [PATCH 119/215] 0.16.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 75b904fe..0780bac2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.15.0", + "version": "0.16.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index a16fcc9c..72f2b7d0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.15.0", + "version": "0.16.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 97f6c42407a0cc14d0c3bf14ef39cc6f528d5bc4 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Wed, 28 Oct 2020 18:47:44 +0100 Subject: [PATCH 120/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e6d213e..224590b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [0.16.0](https://gitlab.com/openstapps/core-tools/compare/v0.15.0...v0.16.0) (2020-10-28) + + +### Bug Fixes + +* use value type in IndexSignature type instead of key type ([b7cdb6a](https://gitlab.com/openstapps/core-tools/commit/b7cdb6a9ad2bdb1fc09d0f535daf4ec778501fec)) + + + # [0.15.0](https://gitlab.com/openstapps/core-tools/compare/v0.14.0...v0.15.0) (2020-10-05) From 485430b7f27fb9c751a6f5697e74eb5531ac7889 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Fri, 21 Feb 2020 15:31:26 +0100 Subject: [PATCH 121/215] feat: add support for @inheritTags --- .gitignore | 3 + src/mapping.ts | 174 ++++++++++++++---- .../mappings/src/inherit-tags.ts | 57 ++++++ .../mappings/src/tags-ignore-case.ts | 49 +++++ test/mapping-model/mappings/src/types.ts | 2 + test/mapping.spec.ts | 15 +- test/schema.spec.ts | 2 +- test/validate.spec.ts | 2 +- 8 files changed, 266 insertions(+), 38 deletions(-) create mode 100644 test/mapping-model/mappings/src/inherit-tags.ts create mode 100644 test/mapping-model/mappings/src/tags-ignore-case.ts diff --git a/.gitignore b/.gitignore index c07b9dc8..7d3c8b2a 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,9 @@ pids *.seed *.pid.lock +# Schema generation data +Diagram-*.svg + # Directory for instrumented libs generated by jscoverage/JSCover lib-cov diff --git a/src/mapping.ts b/src/mapping.ts index caad870b..16bc2e1e 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -50,11 +50,13 @@ let aggregations: AggregationSchema = {}; const indexableTag = 'indexable'; const aggregatableTag = 'aggregatable'; const aggregatableTagParameterGlobal = 'global'; +const inheritTagsName = 'inherittags'; // clamp printed object to 1000 chars to keep error messages readable const maxErrorObjectChars = 1000; -let ignoredTagsList = ['indexable', 'validatable']; +let ignoredTagsList = ['indexable', 'validatable', inheritTagsName]; +let inheritTagsMap: { [path: string]: CommentTag[]; } = {}; /** * Gets all interfaces that have an @indexable tag @@ -107,8 +109,7 @@ function composeErrorMessage(path: string, topTypeName: string, typeName: string errors.push(error); if (showErrors) { // tslint:disable-next-line:no-floating-promises - Logger.error(error) - .then(); + void Logger.error(error); } } @@ -139,7 +140,8 @@ function trimString(value: string, maxLength: number): string { function getReflectionGeneric(type: ReferenceType, out: Map, topTypeName: string, - path: string, tags: CommentTag[]): Map { + path: string, + tags: CommentTag[]): Map { if (typeof type.typeArguments !== 'undefined' && type.reflection instanceof DeclarationReflection && typeof type.reflection.typeParameters !== 'undefined') { @@ -177,8 +179,8 @@ function getReflectionGeneric(type: ReferenceType, */ function handleExternalType(ref: ReferenceType, generics: Map, path: string, topTypeName: string, tags: CommentTag[]): ElasticsearchValue { - for (const premap in premaps) { - if (premap === ref.name && premaps.hasOwnProperty(premap)) { + for (const premap of Object.keys(premaps)) { + if (premap === ref.name) { return readFieldTags(premaps[premap], path, topTypeName, tags); } } @@ -250,7 +252,8 @@ function handleDeclarationReflection(decl: DeclarationReflection, mapping: handleType( decl.indexSignature.type, new Map(generics), path, topTypeName, - getCommentTags(decl.indexSignature)), + getCommentTags(decl.indexSignature, path, topTypeName), + ), match: '*', match_mapping_type: '*', path_match: `${path}*`, @@ -260,7 +263,7 @@ function handleDeclarationReflection(decl: DeclarationReflection, } if (decl.kindString === 'Enumeration') { - return readTypeTags('string', path, topTypeName, getCommentTags(decl, inheritedTags)); + return readTypeTags('string', path, topTypeName, getCommentTags(decl, path, topTypeName, inheritedTags)); } // check all the children, so in this case we are dealing with an OBJECT @@ -272,29 +275,35 @@ function handleDeclarationReflection(decl: DeclarationReflection, } } else if (decl.type instanceof Type) { // if the object is a type, so we are dealing with a PROPERTY // get inherited tags - return handleType(decl.type, new Map(generics), path, topTypeName, getCommentTags(decl)); + return handleType(decl.type, new Map(generics), path, topTypeName, getCommentTags(decl, path, topTypeName)); } else if (decl.kindString === 'Enumeration member') { - return readTypeTags(typeof decl.defaultValue, path, topTypeName, getCommentTags(decl, inheritedTags)); + return readTypeTags(typeof decl.defaultValue, path, topTypeName, + getCommentTags(decl, path, topTypeName, inheritedTags)); } if (empty) { composeErrorMessage(path, topTypeName, 'object', decl.name, 'Empty object'); } - return readFieldTags(out, path, topTypeName, getCommentTags(decl)); + return readFieldTags(out, path, topTypeName, getCommentTags(decl, path, topTypeName)); } /** * Reads all comment tags, including inherited ones * * @param decl the DeclarationReflection to read the tags from + * @param path the path on which the comments lie + * @param topTypeName the name of the SCThingType * @param inheritedTags any tags that might have been inherited by a parent * @param breakId the id of the previous reflection to prevent infinite recursion in some cases */ -function getCommentTags(decl: DeclarationReflection | SignatureReflection, - inheritedTags: CommentTag[] = [], - // tslint:disable-next-line:no-unnecessary-initializer - breakId: number | undefined = undefined, +function getCommentTags( + decl: DeclarationReflection | SignatureReflection, + path: string, + topTypeName: string, + inheritedTags: CommentTag[] = [], + // tslint:disable-next-line:no-unnecessary-initializer + breakId: number | undefined = undefined, ): CommentTag[] { if (decl.id === breakId) { return []; @@ -303,15 +312,52 @@ function getCommentTags(decl: DeclarationReflection | SignatureReflection, let out: CommentTag[] = decl.comment instanceof Comment ? typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : inheritedTags : inheritedTags; if (decl.overwrites instanceof ReferenceType && decl.overwrites.reflection instanceof DeclarationReflection) { - out = arrayPriorityJoin(getCommentTags(decl.overwrites.reflection, inheritedTags, decl.id), out); + out = arrayPriorityJoin( + getCommentTags(decl.overwrites.reflection, path, topTypeName, inheritedTags, decl.id), out); } if (decl.inheritedFrom instanceof ReferenceType && decl.inheritedFrom.reflection instanceof DeclarationReflection) { - out = arrayPriorityJoin(getCommentTags(decl.inheritedFrom.reflection, inheritedTags, decl.id), out); + out = arrayPriorityJoin( + getCommentTags(decl.inheritedFrom.reflection, path, topTypeName, inheritedTags, decl.id), out); + } + + saveCommentTags(out, path, topTypeName); + const inheritTag = out.find(((value) => value.tagName === inheritTagsName)); + if (typeof inheritTag !== 'undefined') { + out = arrayPriorityJoin(out, retrieveCommentTags(inheritTag.text.trim(), path, topTypeName)); } return out; } +/** + * Saves all comment tags to the map + * + * @param tags all tags to be saved (@see and @[inheritTags] will be stripped) + * @param path the path of field + * @param topTypeName the name of the SCThingType + */ +function saveCommentTags(tags: CommentTag[], path: string, topTypeName: string) { + inheritTagsMap[`${topTypeName}::${path.substr(0, path.length - 1)}`] = + tags.filter(((value) => value.tagName !== 'see' && value.tagName !== inheritTagsName)); +} + +/** + * Retrieves any saved tags + * + * @param path the path to the original field + * @param currentPath the current path to the object we are in + * @param topTypeName the name of the SCThingType + */ +function retrieveCommentTags(path: string, currentPath: string, topTypeName: string): CommentTag[] { + if (!(path in inheritTagsMap)) { + composeErrorMessage(currentPath, topTypeName, path, 'Comment', 'Referenced path to tags does not exist!'); + + return []; + } + + return inheritTagsMap[path]; +} + /** * Joins two arrays of CommentTags, but overrides all original CommentTags with the same tagName * @@ -322,9 +368,7 @@ function arrayPriorityJoin(originals: CommentTag[], overrider: CommentTag[]): Co const out: CommentTag[] = overrider; originals.forEach((original) => { - const result = overrider.find((element) => { - return original.tagName === element.tagName; - }); + const result = overrider.find((element) => original.tagName === element.tagName); // no support for multiple tags with the same name if (!(result instanceof CommentTag)) { @@ -579,6 +623,31 @@ function readTypeTags(type: string, path: string, topTypeName: string, tags: Com return out; } +/** + * Reset the state + * + * This is kind of a suboptimal solution and should be changed in the future. + * https://gitlab.com/openstapps/core-tools/-/issues/49 + * + * @param resetInheritTags whether inherited tags should be reset as well + */ +function reset(resetInheritTags = true) { + errors = []; + dynamicTemplates = []; + aggregations = { + '@all': { + aggs: {}, + filter: { + match_all: {}, + }, + }, + }; + + if (resetInheritTags) { + inheritTagsMap = {}; + } +} + /** * Takes a project reflection and generates an ElasticsearchTemplate from it * @@ -597,24 +666,63 @@ export function generateTemplate(projectReflection: ProjectReflection, interfaceFilter: string[] = []): // tslint:disable-next-line:completed-docs { aggregations: AggregationSchema; errors: string[]; mappings: ElasticsearchTemplateCollection; } { - errors = []; - aggregations = { - '@all': { - aggs: {}, - filter: { - match_all: {}, - }, - }, - }; + reset(); + showErrors = showErrorOutput; - ignoredTagsList = ['indexable', 'validatable']; + ignoredTagsList = ['indexable', 'validatable', inheritTagsName]; ignoredTagsList.push.apply(ignoredTagsList, ignoredTags); const indexableInterfaces = getAllIndexableInterfaces(projectReflection); const out: ElasticsearchTemplateCollection = {}; + for (const _interface of indexableInterfaces) { + // TODO: lots of duplicate code, this all needs to be changed https://gitlab.com/openstapps/core-tools/-/issues/49 + if (!Array.isArray(_interface.children) || _interface.children.length === 0) { + throw new Error('Interface needs at least some properties to be indexable'); + } + + const typeObject = _interface.children.find((declarationReflection) => { + return declarationReflection.name === 'type'; + }); + + if (typeof typeObject === 'undefined' || typeof typeObject.type === 'undefined') { + throw new Error('Interface needs a type to be indexable'); + } + + let typeName = 'INVALID_TYPE'; + if (typeObject.type instanceof ReferenceType) { + if (typeObject.type.reflection instanceof DeclarationReflection + && typeof typeObject.type.reflection.defaultValue === 'string') { + typeName = typeObject.type.reflection.defaultValue.replace('"', '') + .replace('"', ''); + } else { + // tslint:disable-next-line:no-floating-promises + void Logger.error('Your input files seem to be incorrect, or there is a major bug in the mapping generator.'); + } + } else if (typeObject.type instanceof StringLiteralType) { + Logger.warn(`The interface ${_interface.name} uses a string literal as type, please use SCThingType.`); + typeName = typeObject.type.value; + } else { + // tslint:disable-next-line:no-floating-promises + void Logger.error(`The interface ${_interface.name} is required to use an SCThingType as a type, please do so.`); + } + // init aggregation schema for type + aggregations[typeName] = { + aggs: {}, + filter: { + type: { + value: typeName, + }, + }, + }; + handleDeclarationReflection(_interface, new Map(), '', typeName); + } + + // second traversal + reset(false); + for (const _interface of indexableInterfaces) { if (!Array.isArray(_interface.children) || _interface.children.length === 0) { throw new Error('Interface needs at least some properties to be indexable'); @@ -636,16 +744,14 @@ export function generateTemplate(projectReflection: ProjectReflection, .replace('"', ''); } else { // tslint:disable-next-line:no-floating-promises - Logger.error('Your input files seem to be incorrect, or there is a major bug in the mapping generator.') - .then(); + void Logger.error('Your input files seem to be incorrect, or there is a major bug in the mapping generator.'); } } else if (typeObject.type instanceof StringLiteralType) { Logger.warn(`The interface ${_interface.name} uses a string literal as type, please use SCThingType.`); typeName = typeObject.type.value; } else { // tslint:disable-next-line:no-floating-promises - Logger.error(`The interface ${_interface.name} is required to use an SCThingType as a type, please do so.`) - .then(); + void Logger.error(`The interface ${_interface.name} is required to use an SCThingType as a type, please do so.`); } // filter out diff --git a/test/mapping-model/mappings/src/inherit-tags.ts b/test/mapping-model/mappings/src/inherit-tags.ts new file mode 100644 index 00000000..25243ba1 --- /dev/null +++ b/test/mapping-model/mappings/src/inherit-tags.ts @@ -0,0 +1,57 @@ +// tslint:disable +/* + * Copyright (C) 2020 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ThingType} from './types'; + +/** + * @indexable + */ +export interface InheritTags { + /** + * @inheritTags inherit tags::bar.baz + */ + foo: number, + + bar: { + /** + * @float + */ + baz: number + } + + type: ThingType.InheritTags; +} + +export const inheritTagsTest: MapAggTestOptions = { + name: ThingType.InheritTags, + map: { + maps: { + foo: { + type: ElasticsearchDataType.float + }, + bar: { + dynamic: 'strict', + properties: { + baz: { + type: ElasticsearchDataType.float + } + } + }, + } + } +}; diff --git a/test/mapping-model/mappings/src/tags-ignore-case.ts b/test/mapping-model/mappings/src/tags-ignore-case.ts new file mode 100644 index 00000000..e3866601 --- /dev/null +++ b/test/mapping-model/mappings/src/tags-ignore-case.ts @@ -0,0 +1,49 @@ +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface TagsIgnoreCase { + /** + * @inheritTags inherit tags::bar.baz + */ + camelCase: number, + + /** + * @inherittags inherit tags::bar.baz + */ + lowerCase: number, + + bar: { + /** + * @float + */ + baz: number + } + + type: ThingType.TagsIgnoreCase; +} + +export const tagsIgnoreCaseTest: MapAggTestOptions = { + name: ThingType.TagsIgnoreCase, + map: { + maps: { + camelCase: { + type: ElasticsearchDataType.float + }, + lowerCase: { + type: ElasticsearchDataType.float + }, + bar: { + dynamic: 'strict', + properties: { + baz: { + type: ElasticsearchDataType.float + } + } + }, + } + } +}; diff --git a/test/mapping-model/mappings/src/types.ts b/test/mapping-model/mappings/src/types.ts index 387bf24b..7fd20df2 100644 --- a/test/mapping-model/mappings/src/types.ts +++ b/test/mapping-model/mappings/src/types.ts @@ -35,4 +35,6 @@ export enum ThingType { PairedTags = 'paired tags', FilterableTag = 'filterable tag', AnyUnknown = 'any unknown', + InheritTags = 'inherit tags', + TagsIgnoreCase = 'tags ignore case', } diff --git a/test/mapping.spec.ts b/test/mapping.spec.ts index 15b1ced7..2d3b8318 100644 --- a/test/mapping.spec.ts +++ b/test/mapping.spec.ts @@ -1,4 +1,3 @@ -// tslint:disable /* * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it @@ -16,6 +15,7 @@ import {Logger} from '@openstapps/logger'; import {slow, suite, test, timeout} from 'mocha-typescript'; import {MapAggTest} from './mapping-model/MapAggTest'; +import {inheritTagsTest} from './mapping-model/mappings/src/inherit-tags'; import {mapExplicitTypesTest} from './mapping-model/mappings/src/map-explicit-types'; import {doubleTypeConflictTest} from './mapping-model/mappings/src/double-type-conflict'; import {incompatibleTypeTest} from './mapping-model/mappings/src/incompatible-type'; @@ -34,6 +34,7 @@ import {inheritedPropertyTest} from './mapping-model/mappings/src/inherited-prop import {pairedTagsTest} from './mapping-model/mappings/src/paired-tags'; import {filterableTagTest} from './mapping-model/mappings/src/filterable-tag'; import {anyUnknownTest} from './mapping-model/mappings/src/any-unknown'; +import {tagsIgnoreCaseTest} from './mapping-model/mappings/src/tags-ignore-case'; process.on('unhandledRejection', (error: unknown) => { if (error instanceof Error) { @@ -66,6 +67,11 @@ export class MappingSpec { magAppInstance.testInterfaceAgainstPath(inheritedPropertyTest); } + @test + async 'Tags should ignore case'() { + magAppInstance.testInterfaceAgainstPath(tagsIgnoreCaseTest); + } + @test async 'Emums should work'() { // Known issue: Enums only use text @@ -74,7 +80,7 @@ export class MappingSpec { } @test - 'Sortable tag should work'() { + async 'Sortable tag should work'() { magAppInstance.testInterfaceAgainstPath(sortableTagTest); } @@ -85,6 +91,11 @@ export class MappingSpec { this.testInterfaceAgainstPath(typeWrapperInheritanceTest); }*/ + @test + async 'Inherit tags tag should work'() { + magAppInstance.testInterfaceAgainstPath(inheritTagsTest); + } + @test async 'Object union types should work'() { magAppInstance.testInterfaceAgainstPath(objectUnionTest); diff --git a/test/schema.spec.ts b/test/schema.spec.ts index 8db4b88e..40255d91 100644 --- a/test/schema.spec.ts +++ b/test/schema.spec.ts @@ -25,7 +25,7 @@ process.on('unhandledRejection', (error: unknown) => { process.exit(1); }); -@suite(timeout(20000), slow(10000)) +@suite(timeout(40000), slow(10000)) export class SchemaSpec { @test async getSchema() { diff --git a/test/validate.spec.ts b/test/validate.spec.ts index 2c31ca27..09220d55 100644 --- a/test/validate.spec.ts +++ b/test/validate.spec.ts @@ -36,7 +36,7 @@ const fooInstance: Foo = { type: 'Foo', }; -@suite(timeout(15000), slow(5000)) +@suite(timeout(40000), slow(5000)) export class SchemaSpec { static converter: Converter; static schema: Schema; From a09be1d941df88826ccaa8aa468680ece29d35a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Wed, 18 Nov 2020 12:26:03 +0100 Subject: [PATCH 122/215] feat: add support for date mapping --- src/mappings/definitions/premap.ts | 3 +++ src/mappings/definitions/typemap.ts | 8 ++++++++ .../mappings/src/map-explicit-types.ts | 18 +++++++++++++++++- 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/mappings/definitions/premap.ts b/src/mappings/definitions/premap.ts index f7be4a18..ebe4fe07 100644 --- a/src/mappings/definitions/premap.ts +++ b/src/mappings/definitions/premap.ts @@ -39,6 +39,9 @@ export const premaps: ElasticsearchPremap = { tree: 'quadtree', type: ElasticsearchDataType.geo_shape, }, + SCISO8601DateRange: { + type: ElasticsearchDataType.date_range, + }, 'jsonpatch.OpPatch': { dynamic: 'strict', properties: { diff --git a/src/mappings/definitions/typemap.ts b/src/mappings/definitions/typemap.ts index 4235788e..dd5b82ef 100644 --- a/src/mappings/definitions/typemap.ts +++ b/src/mappings/definitions/typemap.ts @@ -32,6 +32,12 @@ export enum ElasticsearchDataType { geo_point = 'geo_point', geo_shape = 'geo_shape', completion = 'completion', + date_range = 'date_rage', + // integer_range = 'integer_range', + // float_range = 'float_range', + // long_range = 'long_range', + // double_range = 'double_range', + // ip_range = 'ip_range', } export const typemap: ElasticsearchTypemap = { @@ -45,11 +51,13 @@ export const typemap: ElasticsearchTypemap = { default: ElasticsearchDataType.integer, float: ElasticsearchDataType.float, integer: ElasticsearchDataType.integer, + date: ElasticsearchDataType.date, }, string: { default: ElasticsearchDataType.text, keyword: ElasticsearchDataType.keyword, text: ElasticsearchDataType.text, + date: ElasticsearchDataType.date, }, stringLiteral: { default: ElasticsearchDataType.keyword, diff --git a/test/mapping-model/mappings/src/map-explicit-types.ts b/test/mapping-model/mappings/src/map-explicit-types.ts index a5b394f2..093a454a 100644 --- a/test/mapping-model/mappings/src/map-explicit-types.ts +++ b/test/mapping-model/mappings/src/map-explicit-types.ts @@ -42,6 +42,16 @@ export interface MapExplicitTypes { */ esText: string; + /** + * @date + */ + esEpochMsDate: number + + /** + * @date + */ + esStringDate: string + type: ThingType.MapExplicitTypes; } @@ -60,7 +70,13 @@ export const mapExplicitTypesTest: MapAggTestOptions = { }, esText: { type: ElasticsearchDataType.text - } + }, + esEpochMsDate: { + type: ElasticsearchDataType.date + }, + esStringDate: { + type: ElasticsearchDataType.date + }, } } }; From abdd62a4db309bd8dc45e82ee7d253aa2e2e60b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Mon, 23 Nov 2020 12:57:49 +0100 Subject: [PATCH 123/215] test: change mocha-typescript to @testdeck/mocha --- package-lock.json | 438 +++------------------------------- package.json | 4 +- test/aggregations.spec.ts | 2 +- test/common.spec.ts | 2 +- test/create-diagram.spec.ts | 2 +- test/mapping.spec.ts | 2 +- test/read-definitions.spec.ts | 2 +- test/schema.spec.ts | 2 +- test/validate.spec.ts | 2 +- 9 files changed, 46 insertions(+), 410 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0780bac2..ea817a3a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -167,6 +167,21 @@ "defer-to-connect": "^2.0.0" } }, + "@testdeck/core": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@testdeck/core/-/core-0.1.2.tgz", + "integrity": "sha512-rggcFQqSejqtkqK1JcwZE/utD4oNsM1JMHwrYxH1PKYx0uL2cMs0Q4zMVLKw0oacIASCfkIUSdXx7rDNdCDlvA==", + "dev": true + }, + "@testdeck/mocha": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@testdeck/mocha/-/mocha-0.1.2.tgz", + "integrity": "sha512-yn3OkFUlO9EkdBkDV08bPV0r26U2FC/8KvU9FdiS0ligOsjB5Ry4sp3eUQJAFxjrGJBpih0t7rZ/GzdsgCv/EQ==", + "dev": true, + "requires": { + "@testdeck/core": "^0.1.2" + } + }, "@types/cacheable-request": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz", @@ -676,12 +691,6 @@ "resolved": "https://registry.npmjs.org/code-error-fragment/-/code-error-fragment-0.0.230.tgz", "integrity": "sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw==" }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -931,27 +940,6 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", @@ -1175,8 +1163,30 @@ "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", "requires": { "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.0", "has-symbols": "^1.0.1", "object-keys": "^1.1.1" + }, + "dependencies": { + "es-abstract": { + "version": "1.18.0-next.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", + "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.0", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } } } } @@ -1208,32 +1218,6 @@ "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=", "dev": true }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - } - } - }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -1909,12 +1893,6 @@ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -2019,12 +1997,6 @@ "has-symbols": "^1.0.1" } }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, "is-symbol": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", @@ -2164,15 +2136,6 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -2339,15 +2302,6 @@ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, "map-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz", @@ -2359,17 +2313,6 @@ "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.2.tgz", "integrity": "sha512-5jjKHVl/FPo0Z6ocP3zYhKiJLzkwJAw4CZoLjv57FkvbUuwOX4LIBBGGcXjAY6ATcd1q9B8UTj5T9Umauj0QYQ==" }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - } - }, "meow": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz", @@ -2463,12 +2406,6 @@ "mime-db": "1.44.0" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, "mimic-response": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", @@ -2642,242 +2579,6 @@ } } }, - "mocha-typescript": { - "version": "1.1.17", - "resolved": "https://registry.npmjs.org/mocha-typescript/-/mocha-typescript-1.1.17.tgz", - "integrity": "sha512-Ge6pCQkZumkkhxVNdAf3JxunskShgaynCb30HYD7TT1Yhog/7NW2+6w5RcRHI+nuQrCMTX6z1+qf2pD8qwCoQA==", - "dev": true, - "requires": { - "@types/mocha": "^5.2.0", - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "yargs": "^11.0.0" - }, - "dependencies": { - "@types/mocha": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", - "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yargs": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.1.tgz", - "integrity": "sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.1.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" - } - }, - "yargs-parser": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", - "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } - } - } - }, "modify-values": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", @@ -2905,12 +2606,6 @@ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, "nock": { "version": "11.9.1", "resolved": "https://registry.npmjs.org/nock/-/nock-11.9.1.tgz", @@ -2995,15 +2690,6 @@ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -3056,17 +2742,6 @@ "wrappy": "1" } }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -3078,12 +2753,6 @@ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz", "integrity": "sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==" }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, "p-event": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", @@ -3097,12 +2766,6 @@ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "dev": true - }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -3172,12 +2835,6 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", @@ -3520,21 +3177,6 @@ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, "shelljs": { "version": "0.8.4", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", @@ -3793,12 +3435,6 @@ "is-utf8": "^0.2.0" } }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, "strip-indent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", diff --git a/package.json b/package.json index 72f2b7d0..7aec9767 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "prepublishOnly": "npm ci && npm run build", "preversion": "npm run prepublishOnly", "push": "git push && git push origin \"v$npm_package_version\"", - "test": "mocha --require ts-node/register --ui mocha-typescript test/*.spec.ts", + "test": "mocha --require ts-node/register test/*.spec.ts", "tslint": "tslint -p tsconfig.json -c tslint.json 'src/**/*.ts'" }, "dependencies": { @@ -72,12 +72,12 @@ }, "devDependencies": { "@openstapps/configuration": "0.25.0", + "@testdeck/mocha": "0.1.2", "@types/chai": "4.2.8", "@types/mocha": "7.0.2", "@types/rimraf": "2.0.3", "conventional-changelog-cli": "2.1.0", "mocha": "7.2.0", - "mocha-typescript": "1.1.17", "nock": "11.9.1", "prepend-file-cli": "1.0.6", "rimraf": "3.0.2", diff --git a/test/aggregations.spec.ts b/test/aggregations.spec.ts index 251d4d0a..d99a9b74 100644 --- a/test/aggregations.spec.ts +++ b/test/aggregations.spec.ts @@ -14,7 +14,7 @@ * this program. If not, see . */ import {Logger} from '@openstapps/logger'; -import {slow, suite, test, timeout} from 'mocha-typescript'; +import {slow, suite, test, timeout} from '@testdeck/mocha'; import {MapAggTest} from './mapping-model/MapAggTest'; import {aggArrayTest} from './mapping-model/aggregations/src/agg-array'; import {aggNestedTest} from './mapping-model/aggregations/src/agg-nested'; diff --git a/test/common.spec.ts b/test/common.spec.ts index 902b13ee..b7fde89a 100644 --- a/test/common.spec.ts +++ b/test/common.spec.ts @@ -14,7 +14,7 @@ */ import {Logger} from '@openstapps/logger'; import {expect} from 'chai'; -import {slow, suite, test, timeout} from 'mocha-typescript'; +import {slow, suite, test, timeout} from '@testdeck/mocha'; import {cwd} from 'process'; import {getTsconfigPath} from '../src/common'; diff --git a/test/create-diagram.spec.ts b/test/create-diagram.spec.ts index 74bdc1c9..29ead257 100644 --- a/test/create-diagram.spec.ts +++ b/test/create-diagram.spec.ts @@ -15,7 +15,7 @@ import {expect} from 'chai'; import {resolve} from 'path'; import {existsSync, unlinkSync} from 'fs'; -import {slow, suite, test, timeout} from 'mocha-typescript'; +import {slow, suite, test, timeout} from '@testdeck/mocha'; import {getProjectReflection} from '../src/common'; import {createDiagram, createDiagramFromString} from '../src/uml/create-diagram'; import {UMLConfig} from '../src/uml/uml-config'; diff --git a/test/mapping.spec.ts b/test/mapping.spec.ts index 2d3b8318..3ee3df1c 100644 --- a/test/mapping.spec.ts +++ b/test/mapping.spec.ts @@ -13,7 +13,7 @@ * this program. If not, see . */ import {Logger} from '@openstapps/logger'; -import {slow, suite, test, timeout} from 'mocha-typescript'; +import {slow, suite, test, timeout} from '@testdeck/mocha'; import {MapAggTest} from './mapping-model/MapAggTest'; import {inheritTagsTest} from './mapping-model/mappings/src/inherit-tags'; import {mapExplicitTypesTest} from './mapping-model/mappings/src/map-explicit-types'; diff --git a/test/read-definitions.spec.ts b/test/read-definitions.spec.ts index 0d0ae291..f2263703 100644 --- a/test/read-definitions.spec.ts +++ b/test/read-definitions.spec.ts @@ -13,7 +13,7 @@ * this program. If not, see . */ import {expect} from 'chai'; -import {slow, suite, test, timeout} from 'mocha-typescript'; +import {slow, suite, test, timeout} from '@testdeck/mocha'; import {getProjectReflection} from '../src/common'; import {readDefinitions} from '../src/uml/read-definitions'; import {generatedModel} from './model/generated-model'; diff --git a/test/schema.spec.ts b/test/schema.spec.ts index 40255d91..f6c8328d 100644 --- a/test/schema.spec.ts +++ b/test/schema.spec.ts @@ -14,7 +14,7 @@ */ import {Logger} from '@openstapps/logger'; import {expect} from 'chai'; -import {slow, suite, test, timeout} from 'mocha-typescript'; +import {slow, suite, test, timeout} from '@testdeck/mocha'; import {join} from 'path'; import {Converter, getValidatableTypesFromReflection} from '../src/schema'; diff --git a/test/validate.spec.ts b/test/validate.spec.ts index 09220d55..ca9ea0bd 100644 --- a/test/validate.spec.ts +++ b/test/validate.spec.ts @@ -16,7 +16,7 @@ import {Logger} from '@openstapps/logger'; import {expect} from 'chai'; import {existsSync, mkdirSync, writeFileSync} from 'fs'; import {JSONSchema7 as Schema} from 'json-schema'; -import {slow, suite, test, timeout} from 'mocha-typescript'; +import {slow, suite, test, timeout} from '@testdeck/mocha'; import {join} from 'path'; import rimraf from 'rimraf'; import {Foo} from '../src/resources/foo'; From 058de208db4ca065fe92d26cb8e90ab87fa96543 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Wed, 25 Nov 2020 11:05:22 +0100 Subject: [PATCH 124/215] test: add type alias annotation test --- test/aggregations.spec.ts | 1 - test/mapping-model/MapAggTest.ts | 3 +- test/mapping-model/MapAggTestOptions.ts | 3 +- .../aggregations/src/agg-array.ts | 3 +- .../aggregations/src/agg-global-nested.ts | 3 +- .../aggregations/src/agg-global.ts | 3 +- .../aggregations/src/agg-inherited-global.ts | 3 +- .../src/agg-inherited-overwritten.ts | 3 +- .../aggregations/src/agg-inherited.ts | 3 +- .../aggregations/src/agg-nested.ts | 3 +- test/mapping-model/aggregations/src/types.ts | 3 +- .../mapping-model/mappings/src/any-unknown.ts | 3 +- .../mappings/src/default-generics.ts | 3 +- .../mappings/src/double-type-conflict.ts | 3 +- test/mapping-model/mappings/src/enum.ts | 3 +- .../mappings/src/filterable-tag.ts | 3 +- test/mapping-model/mappings/src/generics.ts | 3 +- .../mappings/src/impossible-union.ts | 3 +- .../mappings/src/incompatible-type.ts | 3 +- .../mappings/src/index-signature.ts | 3 +- .../mappings/src/inherit-tags.ts | 1 - .../mappings/src/inherited-property.ts | 3 +- .../mapping-model/mappings/src/invalid-tag.ts | 3 +- .../mappings/src/map-explicit-types.ts | 3 +- .../mappings/src/missing-premap.ts | 3 +- test/mapping-model/mappings/src/nested.ts | 3 +- .../mappings/src/object-union.ts | 3 +- .../mapping-model/mappings/src/paired-tags.ts | 3 +- .../mappings/src/sensible-defaults.ts | 3 +- .../mappings/src/sortable-tag.ts | 3 +- .../mappings/src/tags-ignore-case.ts | 14 ++++ test/mapping-model/mappings/src/type-alias.ts | 67 +++++++++++++++++++ test/mapping-model/mappings/src/type-query.ts | 3 +- .../mappings/src/type-wrapper-inheritance.ts | 3 +- test/mapping-model/mappings/src/types.ts | 4 +- test/mapping.spec.ts | 6 ++ 36 files changed, 119 insertions(+), 64 deletions(-) create mode 100644 test/mapping-model/mappings/src/type-alias.ts diff --git a/test/aggregations.spec.ts b/test/aggregations.spec.ts index d99a9b74..026c38e2 100644 --- a/test/aggregations.spec.ts +++ b/test/aggregations.spec.ts @@ -1,4 +1,3 @@ -// tslint:disable /* * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it diff --git a/test/mapping-model/MapAggTest.ts b/test/mapping-model/MapAggTest.ts index 2ebe611c..1052f3ad 100644 --- a/test/mapping-model/MapAggTest.ts +++ b/test/mapping-model/MapAggTest.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/MapAggTestOptions.ts b/test/mapping-model/MapAggTestOptions.ts index eb015ba6..4b3ab13f 100644 --- a/test/mapping-model/MapAggTestOptions.ts +++ b/test/mapping-model/MapAggTestOptions.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/aggregations/src/agg-array.ts b/test/mapping-model/aggregations/src/agg-array.ts index a4d74960..ea3085e8 100644 --- a/test/mapping-model/aggregations/src/agg-array.ts +++ b/test/mapping-model/aggregations/src/agg-array.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/aggregations/src/agg-global-nested.ts b/test/mapping-model/aggregations/src/agg-global-nested.ts index cadcd879..cc956902 100644 --- a/test/mapping-model/aggregations/src/agg-global-nested.ts +++ b/test/mapping-model/aggregations/src/agg-global-nested.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/aggregations/src/agg-global.ts b/test/mapping-model/aggregations/src/agg-global.ts index 7f3f26fa..f09093ef 100644 --- a/test/mapping-model/aggregations/src/agg-global.ts +++ b/test/mapping-model/aggregations/src/agg-global.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/aggregations/src/agg-inherited-global.ts b/test/mapping-model/aggregations/src/agg-inherited-global.ts index 65145166..d131ccc9 100644 --- a/test/mapping-model/aggregations/src/agg-inherited-global.ts +++ b/test/mapping-model/aggregations/src/agg-inherited-global.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/aggregations/src/agg-inherited-overwritten.ts b/test/mapping-model/aggregations/src/agg-inherited-overwritten.ts index 0512ee40..f103e67f 100644 --- a/test/mapping-model/aggregations/src/agg-inherited-overwritten.ts +++ b/test/mapping-model/aggregations/src/agg-inherited-overwritten.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/aggregations/src/agg-inherited.ts b/test/mapping-model/aggregations/src/agg-inherited.ts index 9cd7ef12..2d1a8af7 100644 --- a/test/mapping-model/aggregations/src/agg-inherited.ts +++ b/test/mapping-model/aggregations/src/agg-inherited.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/aggregations/src/agg-nested.ts b/test/mapping-model/aggregations/src/agg-nested.ts index 8fb3b100..2b64d6fc 100644 --- a/test/mapping-model/aggregations/src/agg-nested.ts +++ b/test/mapping-model/aggregations/src/agg-nested.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/aggregations/src/types.ts b/test/mapping-model/aggregations/src/types.ts index 0978b05a..1582345e 100644 --- a/test/mapping-model/aggregations/src/types.ts +++ b/test/mapping-model/aggregations/src/types.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/any-unknown.ts b/test/mapping-model/mappings/src/any-unknown.ts index b740f9b2..6fd86060 100644 --- a/test/mapping-model/mappings/src/any-unknown.ts +++ b/test/mapping-model/mappings/src/any-unknown.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/default-generics.ts b/test/mapping-model/mappings/src/default-generics.ts index f571671b..cc84ba4d 100644 --- a/test/mapping-model/mappings/src/default-generics.ts +++ b/test/mapping-model/mappings/src/default-generics.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/double-type-conflict.ts b/test/mapping-model/mappings/src/double-type-conflict.ts index e889ca56..cbcdc71e 100644 --- a/test/mapping-model/mappings/src/double-type-conflict.ts +++ b/test/mapping-model/mappings/src/double-type-conflict.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/enum.ts b/test/mapping-model/mappings/src/enum.ts index 470e9379..dde5dfa8 100644 --- a/test/mapping-model/mappings/src/enum.ts +++ b/test/mapping-model/mappings/src/enum.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/filterable-tag.ts b/test/mapping-model/mappings/src/filterable-tag.ts index 608b1456..7583f27b 100644 --- a/test/mapping-model/mappings/src/filterable-tag.ts +++ b/test/mapping-model/mappings/src/filterable-tag.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/generics.ts b/test/mapping-model/mappings/src/generics.ts index 54b127df..7c41cf1c 100644 --- a/test/mapping-model/mappings/src/generics.ts +++ b/test/mapping-model/mappings/src/generics.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/impossible-union.ts b/test/mapping-model/mappings/src/impossible-union.ts index 069af3bf..4312207c 100644 --- a/test/mapping-model/mappings/src/impossible-union.ts +++ b/test/mapping-model/mappings/src/impossible-union.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/incompatible-type.ts b/test/mapping-model/mappings/src/incompatible-type.ts index 2d119d29..0e57ed5c 100644 --- a/test/mapping-model/mappings/src/incompatible-type.ts +++ b/test/mapping-model/mappings/src/incompatible-type.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/index-signature.ts b/test/mapping-model/mappings/src/index-signature.ts index 6a8e9347..a733441e 100644 --- a/test/mapping-model/mappings/src/index-signature.ts +++ b/test/mapping-model/mappings/src/index-signature.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/inherit-tags.ts b/test/mapping-model/mappings/src/inherit-tags.ts index 25243ba1..16919dc1 100644 --- a/test/mapping-model/mappings/src/inherit-tags.ts +++ b/test/mapping-model/mappings/src/inherit-tags.ts @@ -1,4 +1,3 @@ -// tslint:disable /* * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it diff --git a/test/mapping-model/mappings/src/inherited-property.ts b/test/mapping-model/mappings/src/inherited-property.ts index 4688d166..a795fbb6 100644 --- a/test/mapping-model/mappings/src/inherited-property.ts +++ b/test/mapping-model/mappings/src/inherited-property.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/invalid-tag.ts b/test/mapping-model/mappings/src/invalid-tag.ts index 476bf0db..c7a96909 100644 --- a/test/mapping-model/mappings/src/invalid-tag.ts +++ b/test/mapping-model/mappings/src/invalid-tag.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/map-explicit-types.ts b/test/mapping-model/mappings/src/map-explicit-types.ts index 093a454a..92a1468c 100644 --- a/test/mapping-model/mappings/src/map-explicit-types.ts +++ b/test/mapping-model/mappings/src/map-explicit-types.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/missing-premap.ts b/test/mapping-model/mappings/src/missing-premap.ts index 967b4d6c..3a06332c 100644 --- a/test/mapping-model/mappings/src/missing-premap.ts +++ b/test/mapping-model/mappings/src/missing-premap.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/nested.ts b/test/mapping-model/mappings/src/nested.ts index 3436c9cc..f14afc31 100644 --- a/test/mapping-model/mappings/src/nested.ts +++ b/test/mapping-model/mappings/src/nested.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/object-union.ts b/test/mapping-model/mappings/src/object-union.ts index 33865b54..b9703c34 100644 --- a/test/mapping-model/mappings/src/object-union.ts +++ b/test/mapping-model/mappings/src/object-union.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/paired-tags.ts b/test/mapping-model/mappings/src/paired-tags.ts index 74100873..1f857ad1 100644 --- a/test/mapping-model/mappings/src/paired-tags.ts +++ b/test/mapping-model/mappings/src/paired-tags.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/sensible-defaults.ts b/test/mapping-model/mappings/src/sensible-defaults.ts index 085654d4..deca22f1 100644 --- a/test/mapping-model/mappings/src/sensible-defaults.ts +++ b/test/mapping-model/mappings/src/sensible-defaults.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/sortable-tag.ts b/test/mapping-model/mappings/src/sortable-tag.ts index 526f5738..e6458020 100644 --- a/test/mapping-model/mappings/src/sortable-tag.ts +++ b/test/mapping-model/mappings/src/sortable-tag.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/tags-ignore-case.ts b/test/mapping-model/mappings/src/tags-ignore-case.ts index e3866601..e53590c5 100644 --- a/test/mapping-model/mappings/src/tags-ignore-case.ts +++ b/test/mapping-model/mappings/src/tags-ignore-case.ts @@ -1,3 +1,17 @@ +/* + * Copyright (C) 2020 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ import {ThingType} from './types'; import {MapAggTestOptions} from '../../MapAggTestOptions'; import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; diff --git a/test/mapping-model/mappings/src/type-alias.ts b/test/mapping-model/mappings/src/type-alias.ts new file mode 100644 index 00000000..b7fb4842 --- /dev/null +++ b/test/mapping-model/mappings/src/type-alias.ts @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2020 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @indexable + */ +export interface TypeAlias { + /** + * + */ + textProperty: ATextAlias, + + /** + * + */ + keywordProperty: AKeywordAlias, + + /** + * @keyword + */ + overriddenKeyword: ATextAlias + + type: ThingType.TypeAlias; +} + +/** + * @text + */ +type ATextAlias = string; + +/** + * @keyword + */ +type AKeywordAlias = string; + +export const typeAliasTest: MapAggTestOptions = { + name: ThingType.TypeAlias, + map: { + maps: { + textProperty: { + type: ElasticsearchDataType.text, + }, + keywordProperty: { + type: ElasticsearchDataType.keyword, + }, + overriddenKeyword: { + type: ElasticsearchDataType.text, + }, + } + } +}; diff --git a/test/mapping-model/mappings/src/type-query.ts b/test/mapping-model/mappings/src/type-query.ts index 75edaba7..f3d77621 100644 --- a/test/mapping-model/mappings/src/type-query.ts +++ b/test/mapping-model/mappings/src/type-query.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/type-wrapper-inheritance.ts b/test/mapping-model/mappings/src/type-wrapper-inheritance.ts index c8b97b08..d2146dcf 100644 --- a/test/mapping-model/mappings/src/type-wrapper-inheritance.ts +++ b/test/mapping-model/mappings/src/type-wrapper-inheritance.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/test/mapping-model/mappings/src/types.ts b/test/mapping-model/mappings/src/types.ts index 7fd20df2..a2f2c98b 100644 --- a/test/mapping-model/mappings/src/types.ts +++ b/test/mapping-model/mappings/src/types.ts @@ -1,6 +1,5 @@ -// tslint:disable /* - * Copyright (C) 2019 StApps + * Copyright (C) 2020 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -37,4 +36,5 @@ export enum ThingType { AnyUnknown = 'any unknown', InheritTags = 'inherit tags', TagsIgnoreCase = 'tags ignore case', + TypeAlias = 'type alias', } diff --git a/test/mapping.spec.ts b/test/mapping.spec.ts index 3ee3df1c..e847ba56 100644 --- a/test/mapping.spec.ts +++ b/test/mapping.spec.ts @@ -35,6 +35,7 @@ import {pairedTagsTest} from './mapping-model/mappings/src/paired-tags'; import {filterableTagTest} from './mapping-model/mappings/src/filterable-tag'; import {anyUnknownTest} from './mapping-model/mappings/src/any-unknown'; import {tagsIgnoreCaseTest} from './mapping-model/mappings/src/tags-ignore-case'; +import {typeAliasTest} from './mapping-model/mappings/src/type-alias'; process.on('unhandledRejection', (error: unknown) => { if (error instanceof Error) { @@ -108,6 +109,11 @@ export class MappingSpec { magAppInstance.testInterfaceAgainstPath(typeQueryTest); }*/ + @test + async 'Type alias annotations should work'(){ + magAppInstance.testInterfaceAgainstPath(typeAliasTest); + } + @test async 'Impossible union should cause an error'() { magAppInstance.testInterfaceAgainstPath(impossibleUnionTest); From 2c6ac1abd64984149695baf60aaac0f2ab592863 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jovan=20Kruni=C4=87?= Date: Wed, 2 Dec 2020 15:42:01 +0100 Subject: [PATCH 125/215] 0.17.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index ea817a3a..59ea054e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.16.0", + "version": "0.17.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 7aec9767..cf2736e8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.16.0", + "version": "0.17.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 62a739048c80af438ce0cd9a1b25033d0162ef9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jovan=20Kruni=C4=87?= Date: Wed, 2 Dec 2020 15:42:02 +0100 Subject: [PATCH 126/215] docs: update changelog --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 224590b1..234e099a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +# [0.17.0](https://gitlab.com/openstapps/core-tools/compare/v0.16.0...v0.17.0) (2020-12-02) + + +### Features + +* add support for [@inherit](https://gitlab.com/inherit)Tags ([485430b](https://gitlab.com/openstapps/core-tools/commit/485430b7f27fb9c751a6f5697e74eb5531ac7889)) +* add support for date mapping ([a09be1d](https://gitlab.com/openstapps/core-tools/commit/a09be1d941df88826ccaa8aa468680ece29d35a5)) + + + # [0.16.0](https://gitlab.com/openstapps/core-tools/compare/v0.15.0...v0.16.0) (2020-10-28) From 33397e90fe491353c2f7b1d6df12374d78d13cfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Mon, 1 Feb 2021 14:47:50 +0100 Subject: [PATCH 127/215] test: add date mapping tests --- test/mapping-model/mappings/src/date.ts | 51 ++++++++++++++++++++++++ test/mapping-model/mappings/src/types.ts | 1 + test/mapping.spec.ts | 6 +++ 3 files changed, 58 insertions(+) create mode 100644 test/mapping-model/mappings/src/date.ts diff --git a/test/mapping-model/mappings/src/date.ts b/test/mapping-model/mappings/src/date.ts new file mode 100644 index 00000000..060cfb3f --- /dev/null +++ b/test/mapping-model/mappings/src/date.ts @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2020 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +/** + * @date + */ +export type SCISO8601Date = string + +/** + * @indexable + */ +export interface DateAndRange { + /** + * @date + */ + directDate: string; + + dateAlias: SCISO8601Date; + + type: ThingType.Date +} + +export const dateAndRangeTest: MapAggTestOptions = { + name: ThingType.Date, + map: { + maps: { + directDate: { + type: ElasticsearchDataType.date, + }, + dateAlias: { + type: ElasticsearchDataType.date, + }, + } + } +}; diff --git a/test/mapping-model/mappings/src/types.ts b/test/mapping-model/mappings/src/types.ts index a2f2c98b..c3015ac0 100644 --- a/test/mapping-model/mappings/src/types.ts +++ b/test/mapping-model/mappings/src/types.ts @@ -34,6 +34,7 @@ export enum ThingType { PairedTags = 'paired tags', FilterableTag = 'filterable tag', AnyUnknown = 'any unknown', + Date = 'date', InheritTags = 'inherit tags', TagsIgnoreCase = 'tags ignore case', TypeAlias = 'type alias', diff --git a/test/mapping.spec.ts b/test/mapping.spec.ts index e847ba56..d2acafd2 100644 --- a/test/mapping.spec.ts +++ b/test/mapping.spec.ts @@ -36,6 +36,7 @@ import {filterableTagTest} from './mapping-model/mappings/src/filterable-tag'; import {anyUnknownTest} from './mapping-model/mappings/src/any-unknown'; import {tagsIgnoreCaseTest} from './mapping-model/mappings/src/tags-ignore-case'; import {typeAliasTest} from './mapping-model/mappings/src/type-alias'; +import {dateAndRangeTest} from './mapping-model/mappings/src/date'; process.on('unhandledRejection', (error: unknown) => { if (error instanceof Error) { @@ -168,4 +169,9 @@ export class MappingSpec { async 'Invalid tags should cause an error'() { magAppInstance.testInterfaceAgainstPath(invalidTagTest); } + + @test + async 'Dates and date ranges should have the correct type'() { + magAppInstance.testInterfaceAgainstPath(dateAndRangeTest); + } } From 724a6866c80a544dec4ce11d70d648bd724f9aba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Wed, 24 Mar 2021 08:44:23 +0100 Subject: [PATCH 128/215] feat: make Point type sortable in Elasticsearch --- src/mappings/definitions/premap.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/mappings/definitions/premap.ts b/src/mappings/definitions/premap.ts index ebe4fe07..f0708a9d 100644 --- a/src/mappings/definitions/premap.ts +++ b/src/mappings/definitions/premap.ts @@ -30,9 +30,15 @@ export const premaps: ElasticsearchPremap = { type: ElasticsearchDataType.geo_shape, }, Point: { - precision: '1m', - tree: 'quadtree', - type: ElasticsearchDataType.geo_shape, + properties: { + type: { + type: ElasticsearchDataType.keyword, + }, + coordinates: { + type: ElasticsearchDataType.geo_point, + }, + }, + dynamic: 'strict', }, Polygon: { precision: '1m', From f3a5a99f230471be836cf0b6d278a0a87a0f84a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jovan=20Kruni=C4=87?= Date: Wed, 24 Mar 2021 17:01:03 +0100 Subject: [PATCH 129/215] 0.18.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 59ea054e..bcaf46a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.17.0", + "version": "0.18.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index cf2736e8..4722e958 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.17.0", + "version": "0.18.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 87099a3a0a22f28d6159a818d53eb7ec0c8f2da4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jovan=20Kruni=C4=87?= Date: Wed, 24 Mar 2021 17:01:04 +0100 Subject: [PATCH 130/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 234e099a..984fa17f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [0.18.0](https://gitlab.com/openstapps/core-tools/compare/v0.17.0...v0.18.0) (2021-03-24) + + +### Features + +* make Point type sortable in Elasticsearch ([724a686](https://gitlab.com/openstapps/core-tools/commit/724a6866c80a544dec4ce11d70d648bd724f9aba)) + + + # [0.17.0](https://gitlab.com/openstapps/core-tools/compare/v0.16.0...v0.17.0) (2020-12-02) From 33bde7d3dfcf1c5f0e86b77e0c91828e810b7324 Mon Sep 17 00:00:00 2001 From: openstappsbot Date: Mon, 29 Mar 2021 04:16:27 +0000 Subject: [PATCH 131/215] refactor: update all --- package-lock.json | 1356 +++++++++++++++++++++------------------------ package.json | 36 +- 2 files changed, 635 insertions(+), 757 deletions(-) diff --git a/package-lock.json b/package-lock.json index bcaf46a4..22aeaa5a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,24 +5,24 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.12.13" } }, "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -74,9 +74,9 @@ } }, "@babel/runtime": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz", - "integrity": "sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==", + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz", + "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==", "requires": { "regenerator-runtime": "^0.13.4" } @@ -87,49 +87,65 @@ "integrity": "sha512-N4uQIfGTsVw1/fE3Z7DWh878dyFhVkuFYyMiQyW8QTd21yjn91rlub5SERssQXMPKDzYKNGrban3FKSQAtXisQ==" }, "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", "requires": { - "@nodelib/fs.stat": "2.0.3", + "@nodelib/fs.stat": "2.0.4", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==" }, "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", "requires": { - "@nodelib/fs.scandir": "2.1.3", + "@nodelib/fs.scandir": "2.1.4", "fastq": "^1.6.0" } }, "@openstapps/configuration": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.25.0.tgz", - "integrity": "sha512-kcyfvXX6g8BACA/tx9W9PH2W46Zi1TueCAOH8o8Ot5fdAQnkOHodagNHKo7tpXV1ZkKGp0pzLcdNWteQO5olMA==", + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.26.0.tgz", + "integrity": "sha512-rUEWsnOgUL95E4CvuC4HJpeFe9diFuBH4pz4box21h7e31Tt4fsK39m374XZVZ2uc8TEcfbzWBy/z+wGz0ATQg==", "dev": true, "requires": { - "@types/node": "10.17.14", - "@types/semver": "7.1.0", - "@types/yaml": "1.2.0", - "chalk": "3.0.0", - "commander": "4.1.1", - "semver": "7.1.3", + "@types/node": "10.17.44", + "@types/semver": "7.3.4", + "@types/yaml": "1.9.7", + "chalk": "4.1.0", + "commander": "6.2.0", + "semver": "7.3.4", "tslint": "6.1.3", "tslint-eslint-rules": "5.4.0", - "yaml": "1.7.2" + "yaml": "1.10.0" }, "dependencies": { "@types/node": { - "version": "10.17.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.14.tgz", - "integrity": "sha512-G0UmX5uKEmW+ZAhmZ6PLTQ5eu/VPaT+d/tdLd5IFsKRPcbe6lPxocBtcYBFSaLaCW8O60AX90e91Nsp8lVHCNw==", + "version": "10.17.44", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.44.tgz", + "integrity": "sha512-vHPAyBX1ffLcy4fQHmDyIUMUb42gHZjPHU66nhvbMzAWJqHnySGZ6STwN3rwrnSd1FHB0DI/RWgGELgKSYRDmw==", + "dev": true + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "commander": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz", + "integrity": "sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==", "dev": true } } @@ -151,13 +167,18 @@ "version": "10.17.17", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.17.tgz", "integrity": "sha512-gpNnRnZP3VWzzj5k3qrpRC6Rk3H/uclhAVo1aIvwzK5p5cOrs9yEyQ8H/HBsBY0u5rrWxXEiVPQ0dEB6pkjE8Q==" + }, + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==" } } }, "@sindresorhus/is": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-1.2.0.tgz", - "integrity": "sha512-mwhXGkRV5dlvQc4EgPDxDxO6WuMBVymGFd1CA+2Y+z5dG9MNspoQ+AWjl/Ld1MnpCL8AKbosZlDVohqcIwuWsw==" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz", + "integrity": "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==" }, "@szmarczak/http-timer": { "version": "4.0.5", @@ -194,30 +215,24 @@ } }, "@types/chai": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.8.tgz", - "integrity": "sha512-U1bQiWbln41Yo6EeHMr+34aUhvrMVyrhn9lYfPSpLTCrZlGxU4Rtn1bocX+0p2Fc/Jkd2FanCEXdw0WNfHHM0w==", + "version": "4.2.15", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.15.tgz", + "integrity": "sha512-rYff6FI+ZTKAPkJUoyz7Udq3GaoDZnxYDEvdEdFZASiA7PoErltHezDishqQiSDWrGxvxmplH304jyzQmjp0AQ==", "dev": true }, - "@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" - }, "@types/glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", - "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", "requires": { - "@types/events": "*", "@types/minimatch": "*", "@types/node": "*" } }, "@types/got": { - "version": "9.6.9", - "resolved": "https://registry.npmjs.org/@types/got/-/got-9.6.9.tgz", - "integrity": "sha512-w+ZE+Ovp6fM+1sHwJB7RN3f3pTJHZkyABuULqbtknqezQyWadFEp5BzOXaZzRqAw2md6/d3ybxQJt+BNgpvzOg==", + "version": "9.6.11", + "resolved": "https://registry.npmjs.org/@types/got/-/got-9.6.11.tgz", + "integrity": "sha512-dr3IiDNg5TDesGyuwTrN77E1Cd7DCdmCFtEfSGqr83jMMtcwhf/SGPbN2goY4JUWQfvxwY56+e5tjfi+oXeSdA==", "requires": { "@types/node": "*", "@types/tough-cookie": "*", @@ -230,9 +245,9 @@ "integrity": "sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==" }, "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==" + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" }, "@types/keyv": { "version": "3.1.1", @@ -243,14 +258,14 @@ } }, "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==" }, "@types/minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", + "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", "dev": true }, "@types/mocha": { @@ -260,14 +275,14 @@ "dev": true }, "@types/mustache": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-4.0.0.tgz", - "integrity": "sha512-AVBOcLJenbpCIJcHUvGWj+YMlaiwcFlGK1YEH2mePXkB5B/vQLrFkHG9IpBH71mXnkbibc4V8Nnn1wJSxcgCEA==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-4.1.1.tgz", + "integrity": "sha512-Sm0NWeLhS2QL7NNGsXvO+Fgp7e3JLHCO6RS3RCnfjAnkw6Y1bsji/AGfISdQZDIR/AeOyzkrxRk9jBkl55zdJw==" }, "@types/node": { - "version": "10.17.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.21.tgz", - "integrity": "sha512-PQKsydPxYxF1DsAFWmunaxd3sOi3iMt6Zmx/tgaagHYmwJ/9cRH91hQkeJZaUGWbvn0K5HlSVEXkn5U/llWPpQ==" + "version": "10.17.56", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.56.tgz", + "integrity": "sha512-LuAa6t1t0Bfw4CuSR0UITsm1hP17YL+u82kfHGrHUWdhlBtH7sa7jGY5z7glGaIj/WDYDkRtgGd+KCjCzxBW1w==" }, "@types/nodemailer": { "version": "6.4.0", @@ -292,9 +307,9 @@ } }, "@types/rimraf": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.3.tgz", - "integrity": "sha512-dZfyfL/u9l/oi984hEXdmAjX3JHry7TLWw43u1HQ8HhPv6KtfxnrZ3T/bleJ0GEvnk9t5sM7eePkgMqz3yBcGg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.4.tgz", + "integrity": "sha512-8gBudvllD2A/c0CcEX/BivIDorHFt5UI5m46TsNj8DjWCCTTZT74kEe4g+QsY7P/B9WdO98d82zZgXO/RQzu2Q==", "dev": true, "requires": { "@types/glob": "*", @@ -302,13 +317,10 @@ } }, "@types/semver": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.1.0.tgz", - "integrity": "sha512-pOKLaubrAEMUItGNpgwl0HMFPrSAFic8oSVIvfu1UwcgGNmNyK9gyhBHKmBnUTwwVvpZfkzUC0GaMgnL6P86uA==", - "dev": true, - "requires": { - "@types/node": "*" - } + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ==", + "dev": true }, "@types/tough-cookie": { "version": "4.0.0", @@ -316,10 +328,13 @@ "integrity": "sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==" }, "@types/yaml": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.2.0.tgz", - "integrity": "sha512-GW8b9qM+ebgW3/zjzPm0I1NxMvLaz/YKT9Ph6tTb+Fkeyzd9yLTvQ6ciQ2MorTRmb/qXmfjMerRpG4LviixaqQ==", - "dev": true + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.9.7.tgz", + "integrity": "sha512-8WMXRDD1D+wCohjfslHDgICd2JtMATZU8CkhH8LVJqcJs6dyYj5TGptzP8wApbmEullGBSsCEzzap73DQ1HJaA==", + "dev": true, + "requires": { + "yaml": "*" + } }, "JSONStream": { "version": "1.3.5", @@ -347,9 +362,9 @@ } }, "ajv": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz", - "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -445,9 +460,9 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "better-ajv-errors": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-0.6.7.tgz", - "integrity": "sha512-PYgt/sCzR4aGpyNy5+ViSQ77ognMnWq7745zM+/flYO4/Yisdtp9wDQW2IKCyVYPUxQt3E/b5GBSwfhd1LPdlg==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-0.7.0.tgz", + "integrity": "sha512-6GtJQ/AwVSo1pI1MDQU/yg8O86gMsrt5RKtELo08Epa2zWJPCOK85v/O8/U5A9JkWmwRkE16JpSgssKSx6moog==", "requires": { "@babel/code-frame": "^7.0.0", "@babel/runtime": "^7.0.0", @@ -505,9 +520,9 @@ } }, "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, "brace-expansion": { @@ -567,6 +582,16 @@ "responselike": "^2.0.0" } }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -585,15 +610,15 @@ } }, "chai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", "requires": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", "deep-eql": "^3.0.1", "get-func-name": "^2.0.0", - "pathval": "^1.1.0", + "pathval": "^1.1.1", "type-detect": "^4.0.5" } }, @@ -733,28 +758,28 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "conventional-changelog": { - "version": "3.1.23", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.23.tgz", - "integrity": "sha512-sScUu2NHusjRC1dPc5p8/b3kT78OYr95/Bx7Vl8CPB8tF2mG1xei5iylDTRjONV5hTlzt+Cn/tBWrKdd299b7A==", + "version": "3.1.24", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.24.tgz", + "integrity": "sha512-ed6k8PO00UVvhExYohroVPXcOJ/K1N0/drJHx/faTH37OIZthlecuLIRX/T6uOp682CAoVoFpu+sSEaeuH6Asg==", "dev": true, "requires": { - "conventional-changelog-angular": "^5.0.11", - "conventional-changelog-atom": "^2.0.7", - "conventional-changelog-codemirror": "^2.0.7", - "conventional-changelog-conventionalcommits": "^4.4.0", - "conventional-changelog-core": "^4.2.0", - "conventional-changelog-ember": "^2.0.8", - "conventional-changelog-eslint": "^3.0.8", - "conventional-changelog-express": "^2.0.5", - "conventional-changelog-jquery": "^3.0.10", - "conventional-changelog-jshint": "^2.0.8", + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-atom": "^2.0.8", + "conventional-changelog-codemirror": "^2.0.8", + "conventional-changelog-conventionalcommits": "^4.5.0", + "conventional-changelog-core": "^4.2.1", + "conventional-changelog-ember": "^2.0.9", + "conventional-changelog-eslint": "^3.0.9", + "conventional-changelog-express": "^2.0.6", + "conventional-changelog-jquery": "^3.0.11", + "conventional-changelog-jshint": "^2.0.9", "conventional-changelog-preset-loader": "^2.3.4" } }, "conventional-changelog-angular": { - "version": "5.0.11", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.11.tgz", - "integrity": "sha512-nSLypht/1yEflhuTogC03i7DX7sOrXGsRn14g131Potqi6cbGbGEE9PSDEHKldabB6N76HiSyw9Ph+kLmC04Qw==", + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz", + "integrity": "sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==", "dev": true, "requires": { "compare-func": "^2.0.0", @@ -762,40 +787,40 @@ } }, "conventional-changelog-atom": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.7.tgz", - "integrity": "sha512-7dOREZwzB+tCEMjRTDfen0OHwd7vPUdmU0llTy1eloZgtOP4iSLVzYIQqfmdRZEty+3w5Jz+AbhfTJKoKw1JeQ==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", + "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", "dev": true, "requires": { "q": "^1.5.1" } }, "conventional-changelog-cli": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.1.0.tgz", - "integrity": "sha512-hZ8EcpxV4LcGOZwH+U5LJQDnyA4o/uyUdmIGzmFZMB4caujavvDBo/iTgVihk0m1QKkEhJgulagrILSm1JCakA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.1.1.tgz", + "integrity": "sha512-xMGQdKJ+4XFDDgfX5aK7UNFduvJMbvF5BB+g0OdVhA3rYdYyhctrIE2Al+WYdZeKTdg9YzMWF2iFPT8MupIwng==", "dev": true, "requires": { "add-stream": "^1.0.0", - "conventional-changelog": "^3.1.23", + "conventional-changelog": "^3.1.24", "lodash": "^4.17.15", - "meow": "^7.0.0", + "meow": "^8.0.0", "tempfile": "^3.0.0" } }, "conventional-changelog-codemirror": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.7.tgz", - "integrity": "sha512-Oralk1kiagn3Gb5cR5BffenWjVu59t/viE6UMD/mQa1hISMPkMYhJIqX+CMeA1zXgVBO+YHQhhokEj99GP5xcg==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", + "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", "dev": true, "requires": { "q": "^1.5.1" } }, "conventional-changelog-conventionalcommits": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.4.0.tgz", - "integrity": "sha512-ybvx76jTh08tpaYrYn/yd0uJNLt5yMrb1BphDe4WBredMlvPisvMghfpnJb6RmRNcqXeuhR6LfGZGewbkRm9yA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.5.0.tgz", + "integrity": "sha512-buge9xDvjjOxJlyxUnar/+6i/aVEVGA7EEh4OafBCXPlLUQPGbRUBhBUveWRxzvR8TEjhKEP4BdepnpG2FSZXw==", "dev": true, "requires": { "compare-func": "^2.0.0", @@ -804,68 +829,68 @@ } }, "conventional-changelog-core": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.0.tgz", - "integrity": "sha512-8+xMvN6JvdDtPbGBqA7oRNyZD4od1h/SIzrWqHcKZjitbVXrFpozEeyn4iI4af1UwdrabQpiZMaV07fPUTGd4w==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.2.tgz", + "integrity": "sha512-7pDpRUiobQDNkwHyJG7k9f6maPo9tfPzkSWbRq97GGiZqisElhnvUZSvyQH20ogfOjntB5aadvv6NNcKL1sReg==", "dev": true, "requires": { "add-stream": "^1.0.0", - "conventional-changelog-writer": "^4.0.17", - "conventional-commits-parser": "^3.1.0", + "conventional-changelog-writer": "^4.0.18", + "conventional-commits-parser": "^3.2.0", "dateformat": "^3.0.0", "get-pkg-repo": "^1.0.0", - "git-raw-commits": "2.0.0", + "git-raw-commits": "^2.0.8", "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^4.1.0", + "git-semver-tags": "^4.1.1", "lodash": "^4.17.15", - "normalize-package-data": "^2.3.5", + "normalize-package-data": "^3.0.0", "q": "^1.5.1", "read-pkg": "^3.0.0", "read-pkg-up": "^3.0.0", "shelljs": "^0.8.3", - "through2": "^3.0.0" + "through2": "^4.0.0" } }, "conventional-changelog-ember": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.8.tgz", - "integrity": "sha512-JEMEcUAMg4Q9yxD341OgWlESQ4gLqMWMXIWWUqoQU8yvTJlKnrvcui3wk9JvnZQyONwM2g1MKRZuAjKxr8hAXA==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", + "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", "dev": true, "requires": { "q": "^1.5.1" } }, "conventional-changelog-eslint": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.8.tgz", - "integrity": "sha512-5rTRltgWG7TpU1PqgKHMA/2ivjhrB+E+S7OCTvj0zM/QGg4vmnVH67Vq/EzvSNYtejhWC+OwzvDrLk3tqPry8A==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", + "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", "dev": true, "requires": { "q": "^1.5.1" } }, "conventional-changelog-express": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.5.tgz", - "integrity": "sha512-pW2hsjKG+xNx/Qjof8wYlAX/P61hT5gQ/2rZ2NsTpG+PgV7Rc8RCfITvC/zN9K8fj0QmV6dWmUefCteD9baEAw==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", + "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", "dev": true, "requires": { "q": "^1.5.1" } }, "conventional-changelog-jquery": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.10.tgz", - "integrity": "sha512-QCW6wF8QgPkq2ruPaxc83jZxoWQxLkt/pNxIDn/oYjMiVgrtqNdd7lWe3vsl0hw5ENHNf/ejXuzDHk6suKsRpg==", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", + "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", "dev": true, "requires": { "q": "^1.5.1" } }, "conventional-changelog-jshint": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.8.tgz", - "integrity": "sha512-hB/iI0IiZwnZ+seYI+qEQ4b+EMQSEC8jGIvhO2Vpz1E5p8FgLz75OX8oB1xJWl+s4xBMB6f8zJr0tC/BL7YOjw==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", + "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", "dev": true, "requires": { "compare-func": "^2.0.0", @@ -879,21 +904,21 @@ "dev": true }, "conventional-changelog-writer": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.17.tgz", - "integrity": "sha512-IKQuK3bib/n032KWaSb8YlBFds+aLmzENtnKtxJy3+HqDq5kohu3g/UdNbIHeJWygfnEbZjnCKFxAW0y7ArZAw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", + "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", "dev": true, "requires": { "compare-func": "^2.0.0", - "conventional-commits-filter": "^2.0.6", + "conventional-commits-filter": "^2.0.7", "dateformat": "^3.0.0", "handlebars": "^4.7.6", "json-stringify-safe": "^5.0.1", "lodash": "^4.17.15", - "meow": "^7.0.0", + "meow": "^8.0.0", "semver": "^6.0.0", "split": "^1.0.0", - "through2": "^3.0.0" + "through2": "^4.0.0" }, "dependencies": { "semver": { @@ -905,9 +930,9 @@ } }, "conventional-commits-filter": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.6.tgz", - "integrity": "sha512-4g+sw8+KA50/Qwzfr0hL5k5NWxqtrOVw4DDk3/h6L85a9Gz0/Eqp3oP+CWCNfesBvZZZEFHF7OTEbRe+yYSyKw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", "dev": true, "requires": { "lodash.ismatch": "^4.4.0", @@ -915,24 +940,24 @@ } }, "conventional-commits-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.1.0.tgz", - "integrity": "sha512-RSo5S0WIwXZiRxUGTPuYFbqvrR4vpJ1BDdTlthFgvHt5kEdnd1+pdvwWphWn57/oIl4V72NMmOocFqqJ8mFFhA==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz", + "integrity": "sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==", "dev": true, "requires": { "JSONStream": "^1.0.4", "is-text-path": "^1.0.1", "lodash": "^4.17.15", - "meow": "^7.0.0", - "split2": "^2.0.0", - "through2": "^3.0.0", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0", "trim-off-newlines": "^1.0.0" } }, "core-js": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", - "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.9.1.tgz", + "integrity": "sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg==" }, "core-util-is": { "version": "1.0.2", @@ -950,13 +975,10 @@ } }, "dargs": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", - "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true }, "dateformat": { "version": "3.0.3", @@ -1027,14 +1049,15 @@ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" }, "defer-to-connect": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.0.tgz", - "integrity": "sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, "requires": { "object-keys": "^1.0.12" } @@ -1120,73 +1143,39 @@ } }, "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", "dev": true, "requires": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", + "object-inspect": "^1.9.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" }, "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, "object.assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", - "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0", "has-symbols": "^1.0.1", "object-keys": "^1.1.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } } } } @@ -1195,6 +1184,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -1224,9 +1214,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -1242,9 +1232,9 @@ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fastq": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", - "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", + "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", "requires": { "reusify": "^1.0.4" } @@ -1277,9 +1267,9 @@ } }, "flatted": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", - "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" }, "form-data": { "version": "2.5.1", @@ -1292,14 +1282,14 @@ } }, "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "requires": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", - "universalify": "^1.0.0" + "universalify": "^2.0.0" } }, "fs.realpath": { @@ -1330,6 +1320,17 @@ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, "get-pkg-repo": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", @@ -1375,6 +1376,12 @@ "pinkie-promise": "^2.0.0" } }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, "indent-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", @@ -1414,6 +1421,18 @@ "trim-newlines": "^1.0.0" } }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, "path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", @@ -1486,6 +1505,12 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -1537,148 +1562,16 @@ } }, "git-raw-commits": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz", - "integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz", + "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==", "dev": true, "requires": { - "dargs": "^4.0.1", - "lodash.template": "^4.0.2", - "meow": "^4.0.0", - "split2": "^2.0.0", - "through2": "^2.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", - "dev": true, - "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" - } - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", - "dev": true - }, - "meow": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", - "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" - } - }, - "minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" - } - }, - "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", - "dev": true, - "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", - "dev": true - } + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" } }, "git-remote-origin-url": { @@ -1692,12 +1585,12 @@ } }, "git-semver-tags": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.0.tgz", - "integrity": "sha512-TcxAGeo03HdErzKzi4fDD+xEL7gi8r2Y5YSxH6N2XYdVSV5UkBwfrt7Gqo1b+uSHCjy/sa9Y6BBBxxFLxfbhTg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", "dev": true, "requires": { - "meow": "^7.0.0", + "meow": "^8.0.0", "semver": "^6.0.0" }, "dependencies": { @@ -1732,9 +1625,9 @@ } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "requires": { "is-glob": "^4.0.1" } @@ -1755,11 +1648,11 @@ } }, "got": { - "version": "10.5.5", - "resolved": "https://registry.npmjs.org/got/-/got-10.5.5.tgz", - "integrity": "sha512-B13HHkCkTA7KxyxTrFoZfrurBX1fZxjMTKpmIfoVzh0Xfs9aZV7xEfI6EKuERQOIPbomh5LE4xDkfK6o2VXksw==", + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/got/-/got-10.7.0.tgz", + "integrity": "sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==", "requires": { - "@sindresorhus/is": "^1.0.0", + "@sindresorhus/is": "^2.0.0", "@szmarczak/http-timer": "^4.0.0", "@types/cacheable-request": "^6.0.1", "cacheable-lookup": "^2.0.0", @@ -1768,18 +1661,18 @@ "duplexer3": "^0.1.4", "get-stream": "^5.0.0", "lowercase-keys": "^2.0.0", - "mimic-response": "^2.0.0", + "mimic-response": "^2.1.0", "p-cancelable": "^2.0.0", "p-event": "^4.0.0", "responselike": "^2.0.0", "to-readable-stream": "^2.0.0", - "type-fest": "^0.9.0" + "type-fest": "^0.10.0" } }, "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" }, "grapheme-splitter": { "version": "1.0.4", @@ -1793,9 +1686,9 @@ "dev": true }, "handlebars": { - "version": "4.7.6", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz", - "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==", + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", "requires": { "minimist": "^1.2.5", "neo-async": "^2.6.0", @@ -1818,15 +1711,22 @@ "function-bind": "^1.1.1" } }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true }, "he": { "version": "1.2.0", @@ -1835,15 +1735,18 @@ "dev": true }, "highlight.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.3.1.tgz", - "integrity": "sha512-jeW8rdPdhshYKObedYg5XGbpVgb1/DT4AHvDFXhkU7UnGSIjy9kkJ7zHG7qplhFHMitTSzh5/iClKQk3Kb2RFQ==" + "version": "10.7.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.1.tgz", + "integrity": "sha512-S6G97tHGqJ/U8DsXcEdnACbirtbx58Bx9CzIVeYli8OuswCfYI/LsXH2EiGcoGio1KAC3x4mmUwulOllJ2ZyRA==" }, "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } }, "http-cache-semantics": { "version": "4.1.0", @@ -1883,9 +1786,9 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, "interpret": { @@ -1899,6 +1802,12 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "is-bigint": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", + "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", + "dev": true + }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -1908,21 +1817,31 @@ "binary-extensions": "^2.0.0" } }, + "is-boolean-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", + "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", "dev": true }, "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true }, "is-core-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.0.0.tgz", - "integrity": "sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", "requires": { "has": "^1.0.3" } @@ -1930,7 +1849,8 @@ "is-date-object": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true }, "is-extglob": { "version": "2.1.1", @@ -1958,15 +1878,22 @@ } }, "is-negative-zero": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", - "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, + "is-number-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", + "dev": true + }, "is-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", @@ -1979,9 +1906,9 @@ "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" }, "is-path-inside": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", - "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" }, "is-plain-obj": { "version": "1.1.0", @@ -1990,17 +1917,26 @@ "dev": true }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", + "dev": true, "requires": { + "call-bind": "^1.0.2", "has-symbols": "^1.0.1" } }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", + "dev": true + }, "is-symbol": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, "requires": { "has-symbols": "^1.0.1" } @@ -2038,9 +1974,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -2065,9 +2001,9 @@ "dev": true }, "json-schema": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.5.tgz", - "integrity": "sha512-gWJOWYFrhQ8j7pVm0EM8Slr+EPVq1Phf6lvzvD/WCeqkrx/f2xBI0xOsRRS9xCn3I4vKtP519dvs3TP09r24wQ==" + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.3.0.tgz", + "integrity": "sha512-TYfxx36xfl52Rf1LU9HyWSLGPdYLL+SQ8/E/0yVyKG8wCCDaSrhPap0vEdlsZWRaS6tnKKLPGiEJGiREVC8kxQ==" }, "json-schema-traverse": { "version": "0.4.1", @@ -2098,12 +2034,12 @@ } }, "jsonfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", - "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "requires": { "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" + "universalify": "^2.0.0" } }, "jsonify": { @@ -2181,15 +2117,9 @@ } }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash.ismatch": { "version": "4.4.0", @@ -2197,25 +2127,6 @@ "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", "dev": true }, - "lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0" - } - }, "log-symbols": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", @@ -2292,6 +2203,15 @@ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, "lunr": { "version": "2.3.9", "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", @@ -2303,20 +2223,20 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "map-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz", - "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.0.tgz", + "integrity": "sha512-NAq0fCmZYGz9UFEQyndp7sisrow4GroyGeKluyKC/chuITZsPyOyC1UJZPJlVFImhXdROIP5xqouRLThT3BbpQ==", "dev": true }, "marked": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.2.tgz", - "integrity": "sha512-5jjKHVl/FPo0Z6ocP3zYhKiJLzkwJAw4CZoLjv57FkvbUuwOX4LIBBGGcXjAY6ATcd1q9B8UTj5T9Umauj0QYQ==" + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.9.tgz", + "integrity": "sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw==" }, "meow": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz", - "integrity": "sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==", + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", "dev": true, "requires": { "@types/minimist": "^1.2.0", @@ -2324,14 +2244,20 @@ "decamelize-keys": "^1.1.0", "hard-rejection": "^2.1.0", "minimist-options": "4.1.0", - "normalize-package-data": "^2.5.0", + "normalize-package-data": "^3.0.0", "read-pkg-up": "^7.0.1", "redent": "^3.0.0", "trim-newlines": "^3.0.0", - "type-fest": "^0.13.1", - "yargs-parser": "^18.1.3" + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" }, "dependencies": { + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -2344,6 +2270,18 @@ "type-fest": "^0.6.0" }, "dependencies": { + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, "type-fest": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", @@ -2371,10 +2309,16 @@ } } }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, "type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "dev": true } } @@ -2394,16 +2338,16 @@ } }, "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + "version": "1.46.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", + "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==" }, "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "version": "2.1.29", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", + "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", "requires": { - "mime-db": "1.44.0" + "mime-db": "1.46.0" } }, "mimic-response": { @@ -2597,9 +2541,9 @@ "dev": true }, "mustache": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.0.0.tgz", - "integrity": "sha512-FJgjyX/IVkbXBXYUwH+OYwQKqWpFPLaLVESd70yHjSDunwzV2hZOoTBvPf4KLoxesUzzyfTH6F784Uqd7Wm5yA==" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==" }, "neo-async": { "version": "2.6.2", @@ -2620,9 +2564,9 @@ }, "dependencies": { "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -2660,23 +2604,15 @@ "integrity": "sha512-2GqGu5o3FBmDibczU3+LZh9lCEiKmNx7LvHl512p8Kj+Kn5FQVOICZv85MDFz/erK0BDd5EJp3nqQLpWCZD1Gg==" }, "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } } }, "normalize-path": { @@ -2690,12 +2626,6 @@ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -2703,14 +2633,16 @@ "dev": true }, "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true }, "object.assign": { "version": "4.1.0", @@ -2725,13 +2657,14 @@ } }, "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", + "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", "dev": true, "requires": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "es-abstract": "^1.18.0-next.2" } }, "once": { @@ -2749,9 +2682,9 @@ "dev": true }, "p-cancelable": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz", - "integrity": "sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.0.tgz", + "integrity": "sha512-HAZyB3ZodPo+BDpb4/Iu7Jv4P6cSazBz9ZM0ChhEXp70scx834aWCEjQRwgt41UzzejUAPdbqqONfRWTPYrPAQ==" }, "p-event": { "version": "4.2.0", @@ -2813,9 +2746,9 @@ "dev": true }, "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -2846,9 +2779,9 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, "pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" }, "picomatch": { "version": "2.2.2", @@ -2937,6 +2870,11 @@ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, "quick-lru": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", @@ -2954,6 +2892,12 @@ "path-type": "^3.0.0" }, "dependencies": { + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, "load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", @@ -2966,6 +2910,18 @@ "strip-bom": "^3.0.0" } }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", @@ -2991,6 +2947,12 @@ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -3125,11 +3087,11 @@ "dev": true }, "resolve": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", - "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "requires": { - "is-core-module": "^2.0.0", + "is-core-module": "^2.2.0", "path-parse": "^1.0.6" } }, @@ -3155,9 +3117,12 @@ } }, "run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } }, "safe-buffer": { "version": "5.2.1", @@ -3166,10 +3131,13 @@ "dev": true }, "semver": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", - "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", - "dev": true + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } }, "set-blocking": { "version": "2.0.0", @@ -3239,9 +3207,9 @@ } }, "spdx-license-ids": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz", - "integrity": "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, "split": { @@ -3254,60 +3222,12 @@ } }, "split2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", - "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", "dev": true, "requires": { - "through2": "^2.0.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - } + "readable-stream": "^3.0.0" } }, "sprintf-js": { @@ -3327,85 +3247,23 @@ } }, "string.prototype.trimend": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz", - "integrity": "sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "object.assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", - "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, "string.prototype.trimstart": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz", - "integrity": "sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "object.assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", - "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, "string_decoder": { @@ -3487,13 +3345,12 @@ "dev": true }, "through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, "requires": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" + "readable-stream": "3" } }, "tmp": { @@ -3536,33 +3393,38 @@ "dev": true }, "ts-json-schema-generator": { - "version": "0.60.0", - "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.60.0.tgz", - "integrity": "sha512-hXSlkb2kID3WJq9CHrnIxlLdIiGuRvrajJT8mQEaHI8xWNk5Sy+wRXvWlHRUn64RpUR9dyydI4d33aKb/CXssw==", + "version": "0.70.2", + "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.70.2.tgz", + "integrity": "sha512-4miuxRyxYvwzCGGzxGvN39fwlY7HDlj1KRpZq8Hi3IegeAnguc9q4gDvcqMaDKoRiNNnV5fwplRWZFhRrtvr4Q==", "requires": { - "@types/json-schema": "^7.0.4", - "commander": "~4.1.1", + "@types/json-schema": "^7.0.5", + "commander": "~5.1.0", "glob": "~7.1.6", "json-stable-stringify": "^1.0.1", - "typescript": "~3.7.5" + "typescript": "~3.9.5" }, "dependencies": { + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" + }, "typescript": { - "version": "3.7.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.5.tgz", - "integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==" + "version": "3.9.9", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz", + "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==" } } }, "ts-node": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.6.2.tgz", - "integrity": "sha512-4mZEbofxGqLL2RImpe3zMJukvEvcO1XP8bj8ozBPySdCUXEcU5cIRwR0aM3R+VoZq7iXc8N86NC0FspGRqP4gg==", + "version": "8.10.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", + "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", "requires": { "arg": "^4.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "source-map-support": "^0.5.6", + "source-map-support": "^0.5.17", "yn": "3.1.1" } }, @@ -3675,9 +3537,9 @@ "dev": true }, "tsutils": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", - "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -3700,9 +3562,9 @@ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" }, "type-fest": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.9.0.tgz", - "integrity": "sha512-j55pzONIdg7rdtJTRZPKIbV0FosUqYdhHK1aAYJIrUvejv1VVyBokrILE8KQDT4emW/1Ev9tx+yZG+AxuSBMmA==" + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.10.0.tgz", + "integrity": "sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==" }, "typedoc": { "version": "0.18.0", @@ -3735,20 +3597,32 @@ "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==" }, "uglify-js": { - "version": "3.11.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.11.4.tgz", - "integrity": "sha512-FyYnoxVL1D6+jDGQpbK5jW6y/2JlVfRfEeQ67BPCUg5wfCjaKOpr2XeceE4QL+MkhxliLtf5EbrMDZgzpt2CNw==", + "version": "3.13.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.3.tgz", + "integrity": "sha512-otIc7O9LyxpUcQoXzj2hL4LPWKklO6LJWoJUzNa8A17Xgi4fOeDC8FBDOLHnC/Slo1CQgsZMcM6as0M76BZaig==", "optional": true }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" }, "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" } @@ -3784,6 +3658,19 @@ "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", @@ -3884,19 +3771,22 @@ "dev": true }, "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "yaml": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz", - "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.6.3" - } + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", + "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", + "dev": true }, "yargs": { "version": "13.3.2", @@ -3995,22 +3885,10 @@ } }, "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - } - } + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true }, "yargs-unparser": { "version": "1.6.0", diff --git a/package.json b/package.json index 4722e958..37f6c546 100644 --- a/package.json +++ b/package.json @@ -46,37 +46,37 @@ "dependencies": { "@krlwlfrt/async-pool": "0.3.0", "@openstapps/logger": "0.5.0", - "@types/glob": "7.1.1", - "@types/got": "9.6.9", - "@types/mustache": "4.0.0", - "@types/node": "10.17.21", - "@types/json-schema": "7.0.6", - "ajv": "6.11.0", - "better-ajv-errors": "0.6.7", - "chai": "4.2.0", + "@types/glob": "7.1.3", + "@types/got": "9.6.11", + "@types/mustache": "4.1.1", + "@types/node": "10.17.56", + "@types/json-schema": "7.0.7", + "ajv": "6.12.6", + "better-ajv-errors": "0.7.0", + "chai": "4.3.4", "commander": "4.1.1", "deepmerge": "4.2.2", "del": "5.1.0", - "flatted": "2.0.1", + "flatted": "2.0.2", "glob": "7.1.6", - "got": "10.5.5", + "got": "10.7.0", "humanize-string": "2.1.0", - "json-schema": "0.2.5", - "mustache": "4.0.0", + "json-schema": "0.3.0", + "mustache": "4.2.0", "plantuml-encoder": "1.4.0", "toposort": "2.0.2", - "ts-json-schema-generator": "0.60.0", - "ts-node": "8.6.2", + "ts-json-schema-generator": "0.70.2", + "ts-node": "8.10.2", "typedoc": "0.18.0", "typescript": "3.8.3" }, "devDependencies": { - "@openstapps/configuration": "0.25.0", + "@openstapps/configuration": "0.26.0", "@testdeck/mocha": "0.1.2", - "@types/chai": "4.2.8", + "@types/chai": "4.2.15", "@types/mocha": "7.0.2", - "@types/rimraf": "2.0.3", - "conventional-changelog-cli": "2.1.0", + "@types/rimraf": "2.0.4", + "conventional-changelog-cli": "2.1.1", "mocha": "7.2.0", "nock": "11.9.1", "prepend-file-cli": "1.0.6", From 52a058c2df07a73c68bb590f3b1f3b111c1c0a3d Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Tue, 6 Apr 2021 14:47:13 +0200 Subject: [PATCH 132/215] refactor: update @types/node for node version 14 --- package-lock.json | 38 ++++++++++++++++++------------------- package.json | 2 +- test/create-diagram.spec.ts | 1 + 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/package-lock.json b/package-lock.json index 22aeaa5a..73cb84d6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -280,9 +280,9 @@ "integrity": "sha512-Sm0NWeLhS2QL7NNGsXvO+Fgp7e3JLHCO6RS3RCnfjAnkw6Y1bsji/AGfISdQZDIR/AeOyzkrxRk9jBkl55zdJw==" }, "@types/node": { - "version": "10.17.56", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.56.tgz", - "integrity": "sha512-LuAa6t1t0Bfw4CuSR0UITsm1hP17YL+u82kfHGrHUWdhlBtH7sa7jGY5z7glGaIj/WDYDkRtgGd+KCjCzxBW1w==" + "version": "14.14.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", + "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==" }, "@types/nodemailer": { "version": "6.4.0", @@ -455,9 +455,9 @@ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.1.tgz", + "integrity": "sha512-qyTw2VPYRg31SlVU5WDdvCSyMTJ3YSP4Kz2CidWZFPFawCiHJdCyKyZeXIGMJ5ebMQYXEI56kDR8tcnDkbZstg==" }, "better-ajv-errors": { "version": "0.7.0", @@ -955,9 +955,9 @@ } }, "core-js": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.9.1.tgz", - "integrity": "sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg==" + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.10.0.tgz", + "integrity": "sha512-MQx/7TLgmmDVamSyfE+O+5BHvG1aUGj/gHhLn1wVtm2B5u1eVIPvh7vkfjwWKNCjrTJB8+He99IntSQ1qP+vYQ==" }, "core-util-is": { "version": "1.0.2", @@ -1735,9 +1735,9 @@ "dev": true }, "highlight.js": { - "version": "10.7.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.1.tgz", - "integrity": "sha512-S6G97tHGqJ/U8DsXcEdnACbirtbx58Bx9CzIVeYli8OuswCfYI/LsXH2EiGcoGio1KAC3x4mmUwulOllJ2ZyRA==" + "version": "10.7.2", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz", + "integrity": "sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg==" }, "hosted-git-info": { "version": "4.0.2", @@ -2338,16 +2338,16 @@ } }, "mime-db": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", - "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==" + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==" }, "mime-types": { - "version": "2.1.29", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", - "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", "requires": { - "mime-db": "1.46.0" + "mime-db": "1.47.0" } }, "mimic-response": { diff --git a/package.json b/package.json index 37f6c546..eec0bb57 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@types/glob": "7.1.3", "@types/got": "9.6.11", "@types/mustache": "4.1.1", - "@types/node": "10.17.56", + "@types/node": "14.14.37", "@types/json-schema": "7.0.7", "ajv": "6.12.6", "better-ajv-errors": "0.7.0", diff --git a/test/create-diagram.spec.ts b/test/create-diagram.spec.ts index 29ead257..5958d668 100644 --- a/test/create-diagram.spec.ts +++ b/test/create-diagram.spec.ts @@ -52,6 +52,7 @@ export class CreateDiagramSpec { expect([ new Error('getaddrinfo ENOTFOUND plantuml plantuml:8080').message, new Error('getaddrinfo EAI_AGAIN plantuml plantuml:8080').message, + new Error('getaddrinfo ENOTFOUND plantuml').message, ]).to.include(e.message); } } From 6b66e92d61d3b735116cfc20e61cd5b6b0e1ccc3 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Tue, 6 Apr 2021 17:50:21 +0200 Subject: [PATCH 133/215] refactor: update @openstapps dependencies --- package-lock.json | 83 ++++++++++++++++++----------------------------- package.json | 6 ++-- 2 files changed, 34 insertions(+), 55 deletions(-) diff --git a/package-lock.json b/package-lock.json index 73cb84d6..a0993128 100644 --- a/package-lock.json +++ b/package-lock.json @@ -110,12 +110,12 @@ } }, "@openstapps/configuration": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.26.0.tgz", - "integrity": "sha512-rUEWsnOgUL95E4CvuC4HJpeFe9diFuBH4pz4box21h7e31Tt4fsK39m374XZVZ2uc8TEcfbzWBy/z+wGz0ATQg==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.27.0.tgz", + "integrity": "sha512-akWzLtS42HKY7OmILfsCMui9GNGXiWxCk4MhArnNYJMTVN/xw68sjEQAr2wAVimPx/77xs0LC+lDAJUD0kzwUg==", "dev": true, "requires": { - "@types/node": "10.17.44", + "@types/node": "14.14.37", "@types/semver": "7.3.4", "@types/yaml": "1.9.7", "chalk": "4.1.0", @@ -126,22 +126,6 @@ "yaml": "1.10.0" }, "dependencies": { - "@types/node": { - "version": "10.17.44", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.44.tgz", - "integrity": "sha512-vHPAyBX1ffLcy4fQHmDyIUMUb42gHZjPHU66nhvbMzAWJqHnySGZ6STwN3rwrnSd1FHB0DI/RWgGELgKSYRDmw==", - "dev": true - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, "commander": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz", @@ -151,27 +135,22 @@ } }, "@openstapps/logger": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.5.0.tgz", - "integrity": "sha512-SLjoeFoXuCagz1WRlFvX2+zoIJr+zehAJe6egNPrYdlI3IpnUYNk06HzWzNM95Iozzfy7eKJjft8plO4VQtQQg==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.6.0.tgz", + "integrity": "sha512-l/ILWPOSxhawcdDxn9vkdzib4xlRTnFmG4YygX8l8z0m9cocitMMZGw/DquZ0x6zGt2suOwSVRckYiSlk/6Erw==", "requires": { - "@types/node": "10.17.17", - "@types/nodemailer": "6.4.0", - "chalk": "3.0.0", - "flatted": "2.0.1", - "moment": "2.24.0", - "nodemailer": "6.4.4" + "@types/node": "14.14.37", + "@types/nodemailer": "6.4.1", + "chalk": "4.1.0", + "flatted": "3.1.1", + "moment": "2.29.1", + "nodemailer": "6.5.0" }, "dependencies": { - "@types/node": { - "version": "10.17.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.17.tgz", - "integrity": "sha512-gpNnRnZP3VWzzj5k3qrpRC6Rk3H/uclhAVo1aIvwzK5p5cOrs9yEyQ8H/HBsBY0u5rrWxXEiVPQ0dEB6pkjE8Q==" - }, "flatted": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", - "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==" } } }, @@ -285,9 +264,9 @@ "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==" }, "@types/nodemailer": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.0.tgz", - "integrity": "sha512-KY7bFWB0MahRZvVW4CuW83qcCDny59pJJ0MQ5ifvfcjNwPlIT0vW4uARO4u1gtkYnWdhSvURegecY/tzcukJcA==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.1.tgz", + "integrity": "sha512-8081UY/0XTTDpuGqCnDc8IY+Q3DSg604wB3dBH0CaZlj4nZWHWuxtZ3NRZ9c9WUrz1Vfm6wioAUnqL3bsh49uQ==", "requires": { "@types/node": "*" } @@ -455,9 +434,9 @@ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" }, "balanced-match": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.1.tgz", - "integrity": "sha512-qyTw2VPYRg31SlVU5WDdvCSyMTJ3YSP4Kz2CidWZFPFawCiHJdCyKyZeXIGMJ5ebMQYXEI56kDR8tcnDkbZstg==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "better-ajv-errors": { "version": "0.7.0", @@ -623,9 +602,9 @@ } }, "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2530,9 +2509,9 @@ "dev": true }, "moment": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", - "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" }, "ms": { "version": "2.1.1", @@ -2599,9 +2578,9 @@ } }, "nodemailer": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.4.4.tgz", - "integrity": "sha512-2GqGu5o3FBmDibczU3+LZh9lCEiKmNx7LvHl512p8Kj+Kn5FQVOICZv85MDFz/erK0BDd5EJp3nqQLpWCZD1Gg==" + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.5.0.tgz", + "integrity": "sha512-Tm4RPrrIZbnqDKAvX+/4M+zovEReiKlEXWDzG4iwtpL9X34MJY+D5LnQPH/+eghe8DLlAVshHAJZAZWBGhkguw==" }, "normalize-package-data": { "version": "3.0.2", diff --git a/package.json b/package.json index eec0bb57..74954ea5 100644 --- a/package.json +++ b/package.json @@ -45,12 +45,12 @@ }, "dependencies": { "@krlwlfrt/async-pool": "0.3.0", - "@openstapps/logger": "0.5.0", + "@openstapps/logger": "0.6.0", "@types/glob": "7.1.3", "@types/got": "9.6.11", + "@types/json-schema": "7.0.7", "@types/mustache": "4.1.1", "@types/node": "14.14.37", - "@types/json-schema": "7.0.7", "ajv": "6.12.6", "better-ajv-errors": "0.7.0", "chai": "4.3.4", @@ -71,7 +71,7 @@ "typescript": "3.8.3" }, "devDependencies": { - "@openstapps/configuration": "0.26.0", + "@openstapps/configuration": "0.27.0", "@testdeck/mocha": "0.1.2", "@types/chai": "4.2.15", "@types/mocha": "7.0.2", From bea4face580f37f23e4c1857741ec88f3fd0039d Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Tue, 6 Apr 2021 17:51:54 +0200 Subject: [PATCH 134/215] 0.19.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index a0993128..e10ac48b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.18.0", + "version": "0.19.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 74954ea5..15423a73 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.18.0", + "version": "0.19.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From ebc8a3bc3936e330fd3d2f74c21cf5940943e721 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Tue, 6 Apr 2021 17:51:56 +0200 Subject: [PATCH 135/215] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 984fa17f..2e84d1bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# [0.19.0](https://gitlab.com/openstapps/core-tools/compare/v0.18.0...v0.19.0) (2021-04-06) + + + # [0.18.0](https://gitlab.com/openstapps/core-tools/compare/v0.17.0...v0.18.0) (2021-03-24) From 7ba8233f5b81f4ab3c3aeec2c8a47a7bad3ae502 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 19 Apr 2021 19:25:58 +0200 Subject: [PATCH 136/215] feat: add filterable annotation option for integer --- src/mappings/definitions/fieldmap.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mappings/definitions/fieldmap.ts b/src/mappings/definitions/fieldmap.ts index 977c89d1..d7a5a976 100644 --- a/src/mappings/definitions/fieldmap.ts +++ b/src/mappings/definitions/fieldmap.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 StApps + * Copyright (C) 2019-2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -55,4 +55,5 @@ export const filterableMap: ElasticsearchFilterableMap = { date: ElasticsearchDataType.keyword, keyword: ElasticsearchDataType.keyword, text: ElasticsearchDataType.keyword, + integer: ElasticsearchDataType.integer, }; From f0df58695deaf0ab649f8f5ed85bc229b01328c9 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 19 Apr 2021 19:31:59 +0200 Subject: [PATCH 137/215] refactor: update dependencies --- package-lock.json | 1250 +++++++++++++++------------------------------ package.json | 27 +- 2 files changed, 433 insertions(+), 844 deletions(-) diff --git a/package-lock.json b/package-lock.json index e10ac48b..13e3c70a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -82,9 +82,9 @@ } }, "@krlwlfrt/async-pool": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@krlwlfrt/async-pool/-/async-pool-0.3.0.tgz", - "integrity": "sha512-N4uQIfGTsVw1/fE3Z7DWh878dyFhVkuFYyMiQyW8QTd21yjn91rlub5SERssQXMPKDzYKNGrban3FKSQAtXisQ==" + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@krlwlfrt/async-pool/-/async-pool-0.5.0.tgz", + "integrity": "sha512-ZwdRzVEQ89zKVsXFyM6mPwJ5NwaPwvGB5rN5VyJ7SFKBPtjZhzY2VBHLszdKC7f1lFvCXISDace6SE+O/M+4eg==" }, "@nodelib/fs.scandir": { "version": "2.1.4", @@ -126,6 +126,12 @@ "yaml": "1.10.0" }, "dependencies": { + "@types/node": { + "version": "14.14.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", + "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==", + "dev": true + }, "commander": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz", @@ -147,17 +153,17 @@ "nodemailer": "6.5.0" }, "dependencies": { - "flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==" + "@types/node": { + "version": "14.14.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", + "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==" } } }, "@sindresorhus/is": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz", - "integrity": "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.0.tgz", + "integrity": "sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ==" }, "@szmarczak/http-timer": { "version": "4.0.5", @@ -194,9 +200,9 @@ } }, "@types/chai": { - "version": "4.2.15", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.15.tgz", - "integrity": "sha512-rYff6FI+ZTKAPkJUoyz7Udq3GaoDZnxYDEvdEdFZASiA7PoErltHezDishqQiSDWrGxvxmplH304jyzQmjp0AQ==", + "version": "4.2.16", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.16.tgz", + "integrity": "sha512-vI5iOAsez9+roLS3M3+Xx7w+WRuDtSmF8bQkrbcIJ2sC1PcDgVoA0WGpa+bIrJ+y8zqY2oi//fUctkxtIcXJCw==", "dev": true }, "@types/glob": { @@ -208,16 +214,6 @@ "@types/node": "*" } }, - "@types/got": { - "version": "9.6.11", - "resolved": "https://registry.npmjs.org/@types/got/-/got-9.6.11.tgz", - "integrity": "sha512-dr3IiDNg5TDesGyuwTrN77E1Cd7DCdmCFtEfSGqr83jMMtcwhf/SGPbN2goY4JUWQfvxwY56+e5tjfi+oXeSdA==", - "requires": { - "@types/node": "*", - "@types/tough-cookie": "*", - "form-data": "^2.5.0" - } - }, "@types/http-cache-semantics": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz", @@ -248,9 +244,9 @@ "dev": true }, "@types/mocha": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-7.0.2.tgz", - "integrity": "sha512-ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.2.tgz", + "integrity": "sha512-Lwh0lzzqT5Pqh6z61P3c3P5nm6fzQK/MMHl9UKeneAeInVflBSz1O2EkX6gM6xfJd7FBXBY5purtLx7fUiZ7Hw==", "dev": true }, "@types/mustache": { @@ -259,9 +255,9 @@ "integrity": "sha512-Sm0NWeLhS2QL7NNGsXvO+Fgp7e3JLHCO6RS3RCnfjAnkw6Y1bsji/AGfISdQZDIR/AeOyzkrxRk9jBkl55zdJw==" }, "@types/node": { - "version": "14.14.37", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", - "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==" + "version": "14.14.41", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.41.tgz", + "integrity": "sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g==" }, "@types/nodemailer": { "version": "6.4.1", @@ -286,9 +282,9 @@ } }, "@types/rimraf": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.4.tgz", - "integrity": "sha512-8gBudvllD2A/c0CcEX/BivIDorHFt5UI5m46TsNj8DjWCCTTZT74kEe4g+QsY7P/B9WdO98d82zZgXO/RQzu2Q==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-7WhJ0MdpFgYQPXlF4Dx+DhgvlPCfz/x5mHaeDQAKhcenvQP1KCpLQ18JklAqeGMYSAT2PxLpzd0g2/HE7fj7hQ==", "dev": true, "requires": { "@types/glob": "*", @@ -301,11 +297,6 @@ "integrity": "sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ==", "dev": true }, - "@types/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==" - }, "@types/yaml": { "version": "1.9.7", "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.9.7.tgz", @@ -315,6 +306,12 @@ "yaml": "*" } }, + "@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "dev": true + }, "JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", @@ -352,9 +349,9 @@ } }, "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, "ansi-regex": { @@ -372,9 +369,9 @@ } }, "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -423,11 +420,6 @@ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, "at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", @@ -539,13 +531,9 @@ "dev": true }, "cacheable-lookup": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz", - "integrity": "sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==", - "requires": { - "@types/keyv": "^3.1.1", - "keyv": "^4.0.0" - } + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", + "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" }, "cacheable-request": { "version": "7.0.1", @@ -561,16 +549,6 @@ "responselike": "^2.0.0" } }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -586,6 +564,14 @@ "camelcase": "^5.3.1", "map-obj": "^4.0.0", "quick-lru": "^4.0.1" + }, + "dependencies": { + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true + } } }, "chai": { @@ -616,19 +602,19 @@ "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" }, "chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "dev": true, "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.1", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" + "readdirp": "~3.5.0" } }, "clean-stack": { @@ -637,40 +623,46 @@ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" }, "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^5.0.0" } } } @@ -681,13 +673,6 @@ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "requires": { "mimic-response": "^1.0.0" - }, - "dependencies": { - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - } } }, "code-error-fragment": { @@ -708,18 +693,10 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" }, "compare-func": { "version": "2.0.0", @@ -934,9 +911,9 @@ } }, "core-js": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.10.0.tgz", - "integrity": "sha512-MQx/7TLgmmDVamSyfE+O+5BHvG1aUGj/gHhLn1wVtm2B5u1eVIPvh7vkfjwWKNCjrTJB8+He99IntSQ1qP+vYQ==" + "version": "3.10.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.10.2.tgz", + "integrity": "sha512-W+2oVYeNghuBr3yTzZFQ5rfmjZtYB/Ubg87R5YOmlGrIb+Uw9f7qjUbhsj+/EkXhcV7eOD3jiM4+sgraX3FZUw==" }, "core-util-is": { "version": "1.0.2", @@ -944,6 +921,11 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", @@ -966,12 +948,20 @@ "dev": true }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } } }, "decamelize": { @@ -1007,11 +997,18 @@ } }, "decompress-response": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-5.0.0.tgz", - "integrity": "sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "requires": { - "mimic-response": "^2.0.0" + "mimic-response": "^3.1.0" + }, + "dependencies": { + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + } } }, "deep-eql": { @@ -1032,35 +1029,21 @@ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, "del": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", - "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", "requires": { - "globby": "^10.0.1", - "graceful-fs": "^4.2.2", + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", "is-glob": "^4.0.1", "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.1", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", "slash": "^3.0.0" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -1093,15 +1076,10 @@ "is-obj": "^2.0.0" } }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "end-of-stream": { @@ -1121,54 +1099,11 @@ "is-arrayish": "^0.2.1" } }, - "es-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", - "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.2", - "is-string": "^1.0.5", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.0" - }, - "dependencies": { - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true }, "escape-string-regexp": { "version": "1.0.5", @@ -1237,28 +1172,15 @@ } }, "flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", - "dev": true, - "requires": { - "is-buffer": "~2.0.3" - } + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true }, "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" - }, - "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==" }, "fs-extra": { "version": "9.1.0", @@ -1277,9 +1199,9 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "optional": true }, @@ -1299,17 +1221,6 @@ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, "get-pkg-repo": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", @@ -1356,9 +1267,9 @@ } }, "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "indent-string": { @@ -1612,40 +1523,34 @@ } }, "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", + "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", "requires": { - "@types/glob": "^7.1.1", "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", "slash": "^3.0.0" } }, "got": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/got/-/got-10.7.0.tgz", - "integrity": "sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==", + "version": "11.8.2", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.2.tgz", + "integrity": "sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==", "requires": { - "@sindresorhus/is": "^2.0.0", - "@szmarczak/http-timer": "^4.0.0", + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", "@types/cacheable-request": "^6.0.1", - "cacheable-lookup": "^2.0.0", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", "cacheable-request": "^7.0.1", - "decompress-response": "^5.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^5.0.0", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", "lowercase-keys": "^2.0.0", - "mimic-response": "^2.1.0", "p-cancelable": "^2.0.0", - "p-event": "^4.0.0", - "responselike": "^2.0.0", - "to-readable-stream": "^2.0.0", - "type-fest": "^0.10.0" + "responselike": "^2.0.0" } }, "graceful-fs": { @@ -1690,23 +1595,11 @@ "function-bind": "^1.1.1" } }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -1732,6 +1625,15 @@ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" }, + "http2-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", + "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", + "requires": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + } + }, "humanize-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/humanize-string/-/humanize-string-2.1.0.tgz", @@ -1781,12 +1683,6 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, - "is-bigint": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", - "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", - "dev": true - }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -1796,27 +1692,6 @@ "binary-extensions": "^2.0.0" } }, - "is-boolean-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", - "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", - "dev": true, - "requires": { - "call-bind": "^1.0.0" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true - }, - "is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", - "dev": true - }, "is-core-module": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", @@ -1825,12 +1700,6 @@ "has": "^1.0.3" } }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -1856,23 +1725,11 @@ "is-extglob": "^2.1.1" } }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, - "is-number-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", - "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", - "dev": true - }, "is-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", @@ -1895,31 +1752,6 @@ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", "dev": true }, - "is-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", - "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.1" - } - }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, "is-text-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", @@ -2106,65 +1938,19 @@ "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", "dev": true }, + "lodash.set": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", + "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", + "dev": true + }, "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", + "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", "dev": true, "requires": { - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "chalk": "^4.0.0" } }, "loud-rejection": { @@ -2202,9 +1988,9 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "map-obj": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.0.tgz", - "integrity": "sha512-NAq0fCmZYGz9UFEQyndp7sisrow4GroyGeKluyKC/chuITZsPyOyC1UJZPJlVFImhXdROIP5xqouRLThT3BbpQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", + "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", "dev": true }, "marked": { @@ -2232,9 +2018,9 @@ }, "dependencies": { "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "read-pkg": { @@ -2293,12 +2079,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true - }, - "type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true } } }, @@ -2308,31 +2088,18 @@ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "requires": { "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "mime-db": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==" - }, - "mime-types": { - "version": "2.1.30", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", - "requires": { - "mime-db": "1.47.0" + "picomatch": "^2.2.3" } }, "mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" }, "min-indent": { "version": "1.0.1", @@ -2374,131 +2141,116 @@ } }, "mocha": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", - "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.3.2.tgz", + "integrity": "sha512-UdmISwr/5w+uXLPKspgoV7/RXZwKRTiTjJ2/AC5ZiEztIoOYdfKb19+9jNmEInzx5pBsCyJQzarAxqIGBNYJhg==", "dev": true, "requires": { - "ansi-colors": "3.2.3", + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", + "chokidar": "3.5.1", + "debug": "4.3.1", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.6", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", + "js-yaml": "4.0.0", + "log-symbols": "4.0.0", "minimatch": "3.0.4", - "mkdirp": "0.5.5", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", + "ms": "2.1.3", + "nanoid": "3.1.20", + "serialize-javascript": "5.0.1", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" + "workerpool": "6.1.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" }, "dependencies": { - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" } }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", + "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" } }, "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" } }, "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "p-limit": "^3.0.2" } }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } }, "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true } } }, @@ -2514,9 +2266,9 @@ "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "mustache": { @@ -2524,57 +2276,27 @@ "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==" }, + "nanoid": { + "version": "3.1.20", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", + "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "dev": true + }, "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "nock": { - "version": "11.9.1", - "resolved": "https://registry.npmjs.org/nock/-/nock-11.9.1.tgz", - "integrity": "sha512-U5wPctaY4/ar2JJ5Jg4wJxlbBfayxgKbiAeGh+a1kk6Pwnc2ZEuKviLyDSG6t0uXl56q7AALIxoM6FJrBSsVXA==", + "version": "13.0.11", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.0.11.tgz", + "integrity": "sha512-sKZltNkkWblkqqPAsjYW0bm3s9DcHRPiMOyKO/PkfJ+ANHZ2+LA2PLe22r4lLrKgXaiSaDQwW3qGsJFtIpQIeQ==", "dev": true, "requires": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.13", - "mkdirp": "^0.5.0", + "lodash.set": "^4.3.2", "propagate": "^2.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } } }, "nodemailer": { @@ -2611,41 +2333,6 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - } - }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -2665,19 +2352,6 @@ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.0.tgz", "integrity": "sha512-HAZyB3ZodPo+BDpb4/Iu7Jv4P6cSazBz9ZM0ChhEXp70scx834aWCEjQRwgt41UzzejUAPdbqqONfRWTPYrPAQ==" }, - "p-event": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", - "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", - "requires": { - "p-timeout": "^3.1.0" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -2697,21 +2371,13 @@ } }, "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "requires": { "aggregate-error": "^3.0.0" } }, - "p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "requires": { - "p-finally": "^1.0.0" - } - }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -2763,9 +2429,9 @@ "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" }, "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", + "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==" }, "pify": { "version": "2.3.0", @@ -2855,10 +2521,18 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } }, "read-pkg": { "version": "3.0.0", @@ -2872,9 +2546,9 @@ }, "dependencies": { "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "load-json-file": { @@ -3013,12 +2687,12 @@ } }, "readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", "dev": true, "requires": { - "picomatch": "^2.0.4" + "picomatch": "^2.2.1" } }, "rechoir": { @@ -3059,12 +2733,6 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, "resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", @@ -3074,6 +2742,11 @@ "path-parse": "^1.0.6" } }, + "resolve-alpn": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.1.2.tgz", + "integrity": "sha512-8OyfzhAtA32LVUsJSke3auIyINcwdh5l3cvYKdKO0nvsYSKuiLfTM5i78PJswFPT8y6cPW+L1v6/hE95chcpDA==" + }, "responselike": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", @@ -3118,11 +2791,14 @@ "lru-cache": "^6.0.0" } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "serialize-javascript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } }, "shelljs": { "version": "0.8.4", @@ -3225,26 +2901,6 @@ "strip-ansi": "^4.0.0" } }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -3282,9 +2938,9 @@ } }, "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "supports-color": { @@ -3341,11 +2997,6 @@ "os-tmpdir": "~1.0.1" } }, - "to-readable-stream": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz", - "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==" - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -3396,11 +3047,12 @@ } }, "ts-node": { - "version": "8.10.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", - "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", + "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", "requires": { "arg": "^4.1.0", + "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", "source-map-support": "^0.5.17", @@ -3541,9 +3193,10 @@ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" }, "type-fest": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.10.0.tgz", - "integrity": "sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==" + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true }, "typedoc": { "version": "0.18.0", @@ -3576,23 +3229,11 @@ "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==" }, "uglify-js": { - "version": "3.13.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.3.tgz", - "integrity": "sha512-otIc7O9LyxpUcQoXzj2hL4LPWKklO6LJWoJUzNa8A17Xgi4fOeDC8FBDOLHnC/Slo1CQgsZMcM6as0M76BZaig==", + "version": "3.13.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.4.tgz", + "integrity": "sha512-kv7fCkIXyQIilD5/yQy8O+uagsYIOt5cZvs890W40/e/rvjMSzJw81o9Bg0tkURxzZBROtDQhW2LFjOGoK3RZw==", "optional": true }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - } - }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -3629,33 +3270,14 @@ } }, "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" } }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, "wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", @@ -3670,65 +3292,53 @@ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" }, + "workerpool": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", + "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==", + "dev": true + }, "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^5.0.0" } } } @@ -3750,9 +3360,9 @@ "dev": true }, "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true }, "yallist": { @@ -3768,97 +3378,50 @@ "dev": true }, "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "find-up": { + "is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "ansi-regex": "^5.0.0" } } } @@ -3870,20 +3433,47 @@ "dev": true }, "yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "dependencies": { + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + } } }, "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } } } diff --git a/package.json b/package.json index 15423a73..3e63fbfa 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "contributors": [ "Anselm Stordeur ", "Jovan Krunić ", - "Rainer Killinger", + "Rainer Killinger ", "Michel Jonathan Schmitz", "Wieland Schöbl" ], @@ -44,41 +44,40 @@ "tslint": "tslint -p tsconfig.json -c tslint.json 'src/**/*.ts'" }, "dependencies": { - "@krlwlfrt/async-pool": "0.3.0", + "@krlwlfrt/async-pool": "0.5.0", "@openstapps/logger": "0.6.0", "@types/glob": "7.1.3", - "@types/got": "9.6.11", "@types/json-schema": "7.0.7", "@types/mustache": "4.1.1", - "@types/node": "14.14.37", + "@types/node": "14.14.41", "ajv": "6.12.6", "better-ajv-errors": "0.7.0", "chai": "4.3.4", - "commander": "4.1.1", + "commander": "7.2.0", "deepmerge": "4.2.2", - "del": "5.1.0", - "flatted": "2.0.2", + "del": "6.0.0", + "flatted": "3.1.1", "glob": "7.1.6", - "got": "10.7.0", + "got": "11.8.2", "humanize-string": "2.1.0", "json-schema": "0.3.0", "mustache": "4.2.0", "plantuml-encoder": "1.4.0", "toposort": "2.0.2", "ts-json-schema-generator": "0.70.2", - "ts-node": "8.10.2", + "ts-node": "9.1.1", "typedoc": "0.18.0", "typescript": "3.8.3" }, "devDependencies": { "@openstapps/configuration": "0.27.0", "@testdeck/mocha": "0.1.2", - "@types/chai": "4.2.15", - "@types/mocha": "7.0.2", - "@types/rimraf": "2.0.4", + "@types/chai": "4.2.16", + "@types/mocha": "8.2.2", + "@types/rimraf": "3.0.0", "conventional-changelog-cli": "2.1.1", - "mocha": "7.2.0", - "nock": "11.9.1", + "mocha": "8.3.2", + "nock": "13.0.11", "prepend-file-cli": "1.0.6", "rimraf": "3.0.2", "tslint": "6.1.3" From 1e75b1d1bfb0d68cc65cfd84d120f6a19ff48057 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 26 Apr 2021 10:26:41 +0200 Subject: [PATCH 138/215] 0.20.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 13e3c70a..6c19e865 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.19.0", + "version": "0.20.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 3e63fbfa..2ed96fca 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.19.0", + "version": "0.20.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 89bbb4ecf5d44d2bf80e2ffc1f548878590ceb1a Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 26 Apr 2021 10:26:42 +0200 Subject: [PATCH 139/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e84d1bc..b0f6f817 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [0.20.0](https://gitlab.com/openstapps/core-tools/compare/v0.19.0...v0.20.0) (2021-04-26) + + +### Features + +* add filterable annotation option for integer ([7ba8233](https://gitlab.com/openstapps/core-tools/commit/7ba8233f5b81f4ab3c3aeec2c8a47a7bad3ae502)) + + + # [0.19.0](https://gitlab.com/openstapps/core-tools/compare/v0.18.0...v0.19.0) (2021-04-06) From 74298065e0386c8e4646e565e5e383b5ae08dfaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Wed, 12 May 2021 14:06:13 +0000 Subject: [PATCH 140/215] feat: add support for non-external premaps --- src/mapping.ts | 2 +- src/mappings/definitions/typemap.ts | 2 +- .../mappings/src/type-overrides.ts | 42 +++++++++++++++++++ test/mapping-model/mappings/src/types.ts | 3 +- test/mapping.spec.ts | 8 +++- 5 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 test/mapping-model/mappings/src/type-overrides.ts diff --git a/src/mapping.ts b/src/mapping.ts index 16bc2e1e..367c5e4b 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -457,7 +457,7 @@ function handleType(type: Type, generics: Map, path: return handleUnionType(type, new Map(generics), path, topTypeName, tags); } if (type instanceof ReferenceType) { - if (typeof type.reflection !== 'undefined') { + if (typeof premaps[type.name] === 'undefined' && typeof type.reflection !== 'undefined') { // there is really no way to make this typesafe, every element in DeclarationReflection is optional. return handleDeclarationReflection(type.reflection as DeclarationReflection, getReflectionGeneric(type, new Map(generics), path, topTypeName, tags), path, topTypeName, tags); diff --git a/src/mappings/definitions/typemap.ts b/src/mappings/definitions/typemap.ts index dd5b82ef..1e8845e0 100644 --- a/src/mappings/definitions/typemap.ts +++ b/src/mappings/definitions/typemap.ts @@ -32,7 +32,7 @@ export enum ElasticsearchDataType { geo_point = 'geo_point', geo_shape = 'geo_shape', completion = 'completion', - date_range = 'date_rage', + date_range = 'date_range', // integer_range = 'integer_range', // float_range = 'float_range', // long_range = 'long_range', diff --git a/test/mapping-model/mappings/src/type-overrides.ts b/test/mapping-model/mappings/src/type-overrides.ts new file mode 100644 index 00000000..945faab3 --- /dev/null +++ b/test/mapping-model/mappings/src/type-overrides.ts @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {ThingType} from './types'; +import {MapAggTestOptions} from '../../MapAggTestOptions'; +import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; + +export interface SCISO8601DateRange { + bar: string; +} + +/** + * @indexable + */ +export interface TypeOverrides { + foo: SCISO8601DateRange; + + type: ThingType.TypeOverrides +} + +export const typeOverridesTest: MapAggTestOptions = { + name: ThingType.TypeOverrides, + map: { + maps: { + foo: { + type: ElasticsearchDataType.date_range, + }, + } + } +}; diff --git a/test/mapping-model/mappings/src/types.ts b/test/mapping-model/mappings/src/types.ts index c3015ac0..514e141b 100644 --- a/test/mapping-model/mappings/src/types.ts +++ b/test/mapping-model/mappings/src/types.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020 StApps + * Copyright (C) 2020-2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -38,4 +38,5 @@ export enum ThingType { InheritTags = 'inherit tags', TagsIgnoreCase = 'tags ignore case', TypeAlias = 'type alias', + TypeOverrides = 'type overrides', } diff --git a/test/mapping.spec.ts b/test/mapping.spec.ts index d2acafd2..9e5994b1 100644 --- a/test/mapping.spec.ts +++ b/test/mapping.spec.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020 StApps + * Copyright (C) 2020-2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -37,6 +37,7 @@ import {anyUnknownTest} from './mapping-model/mappings/src/any-unknown'; import {tagsIgnoreCaseTest} from './mapping-model/mappings/src/tags-ignore-case'; import {typeAliasTest} from './mapping-model/mappings/src/type-alias'; import {dateAndRangeTest} from './mapping-model/mappings/src/date'; +import {typeOverridesTest} from './mapping-model/mappings/src/type-overrides'; process.on('unhandledRejection', (error: unknown) => { if (error instanceof Error) { @@ -174,4 +175,9 @@ export class MappingSpec { async 'Dates and date ranges should have the correct type'() { magAppInstance.testInterfaceAgainstPath(dateAndRangeTest); } + + @test + async 'Premaps should support non-external types'() { + magAppInstance.testInterfaceAgainstPath(typeOverridesTest); + } } From c213df672436200168dee2e18e2a501a2baa2c16 Mon Sep 17 00:00:00 2001 From: "wulkanat@gmail.com" Date: Wed, 12 May 2021 16:26:04 +0200 Subject: [PATCH 141/215] 0.21.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6c19e865..c05a0681 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.20.0", + "version": "0.21.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 2ed96fca..ec767e30 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.20.0", + "version": "0.21.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 90fc78c142eceaf2baa211b8e3d4384b1396fc8d Mon Sep 17 00:00:00 2001 From: "wulkanat@gmail.com" Date: Wed, 12 May 2021 16:26:11 +0200 Subject: [PATCH 142/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b0f6f817..793800cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [0.21.0](https://gitlab.com/openstapps/core-tools/compare/v0.20.0...v0.21.0) (2021-05-12) + + +### Features + +* add support for non-external premaps ([7429806](https://gitlab.com/openstapps/core-tools/commit/74298065e0386c8e4646e565e5e383b5ae08dfaa)) + + + # [0.20.0](https://gitlab.com/openstapps/core-tools/compare/v0.19.0...v0.20.0) (2021-04-26) From 99c698bd16871011f277f2658a8346928f74339b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Mon, 5 Jul 2021 17:06:04 +0200 Subject: [PATCH 143/215] test: add filterable test for indirect types --- test/mapping-model/mappings/src/filterable-tag.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/test/mapping-model/mappings/src/filterable-tag.ts b/test/mapping-model/mappings/src/filterable-tag.ts index 7583f27b..9d3e1cb5 100644 --- a/test/mapping-model/mappings/src/filterable-tag.ts +++ b/test/mapping-model/mappings/src/filterable-tag.ts @@ -17,6 +17,8 @@ import {ThingType} from './types'; import {MapAggTestOptions} from '../../MapAggTestOptions'; import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; +export type FilterableEnumType = 'a' | 'b' | 'c'; + /** * @indexable */ @@ -38,6 +40,11 @@ export interface FilterableTag { */ baz: 'some literal' + /** + * @filterable + */ + buz: FilterableEnumType + type: ThingType.FilterableTag } @@ -68,6 +75,14 @@ export const filterableTagTest: MapAggTestOptions = { type: ElasticsearchDataType.keyword } } + }, + buz: { + type: ElasticsearchDataType.keyword, + fields: { + raw: { + type: ElasticsearchDataType.keyword + } + } } } } From f20038c8f9a37424fd7a95484e744e0c672f5cfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Mon, 5 Jul 2021 17:57:10 +0200 Subject: [PATCH 144/215] fix: fix inherited properties not working correctly --- src/mapping.ts | 4 +++- test/mapping-model/mappings/src/type-alias.ts | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/mapping.ts b/src/mapping.ts index 367c5e4b..d3ff16a2 100644 --- a/src/mapping.ts +++ b/src/mapping.ts @@ -275,7 +275,9 @@ function handleDeclarationReflection(decl: DeclarationReflection, } } else if (decl.type instanceof Type) { // if the object is a type, so we are dealing with a PROPERTY // get inherited tags - return handleType(decl.type, new Map(generics), path, topTypeName, getCommentTags(decl, path, topTypeName)); + const tags = (inheritedTags ?? []).length > 0 ? inheritedTags! : getCommentTags(decl, path, topTypeName); + + return handleType(decl.type, new Map(generics), path, topTypeName, tags); } else if (decl.kindString === 'Enumeration member') { return readTypeTags(typeof decl.defaultValue, path, topTypeName, getCommentTags(decl, path, topTypeName, inheritedTags)); diff --git a/test/mapping-model/mappings/src/type-alias.ts b/test/mapping-model/mappings/src/type-alias.ts index b7fb4842..c19d5ce7 100644 --- a/test/mapping-model/mappings/src/type-alias.ts +++ b/test/mapping-model/mappings/src/type-alias.ts @@ -34,7 +34,7 @@ export interface TypeAlias { /** * @keyword */ - overriddenKeyword: ATextAlias + overriddenTextAsKeyword: ATextAlias type: ThingType.TypeAlias; } @@ -59,8 +59,8 @@ export const typeAliasTest: MapAggTestOptions = { keywordProperty: { type: ElasticsearchDataType.keyword, }, - overriddenKeyword: { - type: ElasticsearchDataType.text, + overriddenTextAsKeyword: { + type: ElasticsearchDataType.keyword, }, } } From deaebd754d2cb2983ade9e7ef1e7e545490d3acd Mon Sep 17 00:00:00 2001 From: Wieland Schoebl Date: Wed, 7 Jul 2021 10:10:34 +0200 Subject: [PATCH 145/215] 0.22.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index c05a0681..5a180019 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.21.0", + "version": "0.22.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ec767e30..5bd0aa77 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.21.0", + "version": "0.22.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 1f7c9aba335607681b7bd1b0c8bb2bd381f8d0af Mon Sep 17 00:00:00 2001 From: Wieland Schoebl Date: Wed, 7 Jul 2021 10:10:45 +0200 Subject: [PATCH 146/215] docs: update changelog --- CHANGELOG.md | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 793800cc..6bedbb02 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,9 @@ -# [0.21.0](https://gitlab.com/openstapps/core-tools/compare/v0.20.0...v0.21.0) (2021-05-12) +# [0.22.0](https://gitlab.com/openstapps/core-tools/compare/v0.20.0...v0.22.0) (2021-07-07) + + +### Bug Fixes + +* fix inherited properties not working correctly ([f20038c](https://gitlab.com/openstapps/core-tools/commit/f20038c8f9a37424fd7a95484e744e0c672f5cfb)) ### Features @@ -20,22 +25,14 @@ -# [0.18.0](https://gitlab.com/openstapps/core-tools/compare/v0.17.0...v0.18.0) (2021-03-24) - - -### Features - -* make Point type sortable in Elasticsearch ([724a686](https://gitlab.com/openstapps/core-tools/commit/724a6866c80a544dec4ce11d70d648bd724f9aba)) - - - -# [0.17.0](https://gitlab.com/openstapps/core-tools/compare/v0.16.0...v0.17.0) (2020-12-02) +# [0.18.0](https://gitlab.com/openstapps/core-tools/compare/v0.16.0...v0.18.0) (2021-03-24) ### Features * add support for [@inherit](https://gitlab.com/inherit)Tags ([485430b](https://gitlab.com/openstapps/core-tools/commit/485430b7f27fb9c751a6f5697e74eb5531ac7889)) * add support for date mapping ([a09be1d](https://gitlab.com/openstapps/core-tools/commit/a09be1d941df88826ccaa8aa468680ece29d35a5)) +* make Point type sortable in Elasticsearch ([724a686](https://gitlab.com/openstapps/core-tools/commit/724a6866c80a544dec4ce11d70d648bd724f9aba)) From a1e820336fb8bd4c935e4c4f859ccd33f987c052 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Fri, 16 Jul 2021 14:35:39 +0200 Subject: [PATCH 147/215] refactor: update dependencies --- package-lock.json | 726 +++++++++++++++++++--------------------------- package.json | 26 +- src/routes.ts | 2 +- src/schema.ts | 2 +- src/validate.ts | 6 +- 5 files changed, 317 insertions(+), 445 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5a180019..ae3cefe6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,24 +5,24 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", - "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", "requires": { - "@babel/highlight": "^7.12.13" + "@babel/highlight": "^7.14.5" } }, "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", + "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==" }, "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", "requires": { - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -74,38 +74,44 @@ } }, "@babel/runtime": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz", - "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==", + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.6.tgz", + "integrity": "sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==", "requires": { "regenerator-runtime": "^0.13.4" } }, + "@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "dev": true + }, "@krlwlfrt/async-pool": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@krlwlfrt/async-pool/-/async-pool-0.5.0.tgz", - "integrity": "sha512-ZwdRzVEQ89zKVsXFyM6mPwJ5NwaPwvGB5rN5VyJ7SFKBPtjZhzY2VBHLszdKC7f1lFvCXISDace6SE+O/M+4eg==" + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@krlwlfrt/async-pool/-/async-pool-0.6.0.tgz", + "integrity": "sha512-xP4sfGMDUU+sb+m6swwO7Wr8MGRzJyd7IuUFQpC/Qqq30IoMeP7YtHmC/C235kIWZhQVtrcmuVgDY9pXuKueEw==" }, "@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "requires": { - "@nodelib/fs.stat": "2.0.4", + "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" }, "@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "requires": { - "@nodelib/fs.scandir": "2.1.4", + "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, @@ -132,6 +138,16 @@ "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==", "dev": true }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, "commander": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz", @@ -141,34 +157,39 @@ } }, "@openstapps/logger": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.6.0.tgz", - "integrity": "sha512-l/ILWPOSxhawcdDxn9vkdzib4xlRTnFmG4YygX8l8z0m9cocitMMZGw/DquZ0x6zGt2suOwSVRckYiSlk/6Erw==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.7.0.tgz", + "integrity": "sha512-oVtHX7Y6VplOlsM3MUOUk1tRsZEfFn4F1vqtb/3K1Bpi2UQ0rMhiMwnLZCea+9yXQkRUi96CtmOgdhGBHQ2jLw==", "requires": { - "@types/node": "14.14.37", + "@types/node": "14.14.45", "@types/nodemailer": "6.4.1", - "chalk": "4.1.0", + "chalk": "4.1.1", "flatted": "3.1.1", "moment": "2.29.1", - "nodemailer": "6.5.0" + "nodemailer": "6.6.0" }, "dependencies": { "@types/node": { - "version": "14.14.37", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", - "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==" + "version": "14.14.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.45.tgz", + "integrity": "sha512-DssMqTV9UnnoxDWu959sDLZzfvqCF0qDNRjaWeYSui9xkFe61kKo4l1TWNTQONpuXEm+gLMRvdlzvNHBamzmEw==" + }, + "flatted": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==" } } }, "@sindresorhus/is": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.0.tgz", - "integrity": "sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ==" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.1.tgz", + "integrity": "sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==" }, "@szmarczak/http-timer": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.5.tgz", - "integrity": "sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", "requires": { "defer-to-connect": "^2.0.0" } @@ -189,9 +210,9 @@ } }, "@types/cacheable-request": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz", - "integrity": "sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", + "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", "requires": { "@types/http-cache-semantics": "*", "@types/keyv": "*", @@ -200,64 +221,64 @@ } }, "@types/chai": { - "version": "4.2.16", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.16.tgz", - "integrity": "sha512-vI5iOAsez9+roLS3M3+Xx7w+WRuDtSmF8bQkrbcIJ2sC1PcDgVoA0WGpa+bIrJ+y8zqY2oi//fUctkxtIcXJCw==", + "version": "4.2.21", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.21.tgz", + "integrity": "sha512-yd+9qKmJxm496BOV9CMNaey8TWsikaZOwMRwPHQIjcOJM9oV+fi9ZMNw3JsVnbEEbo2gRTDnGEBv8pjyn67hNg==", "dev": true }, "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", "requires": { "@types/minimatch": "*", "@types/node": "*" } }, "@types/http-cache-semantics": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz", - "integrity": "sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" }, "@types/json-schema": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", - "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==" + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz", + "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==" }, "@types/keyv": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.1.tgz", - "integrity": "sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.2.tgz", + "integrity": "sha512-/FvAK2p4jQOaJ6CGDHJTqZcUtbZe820qIeTg7o0Shg7drB4JHeL+V/dhSaly7NXx6u8eSee+r7coT+yuJEvDLg==", "requires": { "@types/node": "*" } }, "@types/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, "@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", "dev": true }, "@types/mocha": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.2.tgz", - "integrity": "sha512-Lwh0lzzqT5Pqh6z61P3c3P5nm6fzQK/MMHl9UKeneAeInVflBSz1O2EkX6gM6xfJd7FBXBY5purtLx7fUiZ7Hw==", + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz", + "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==", "dev": true }, "@types/mustache": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-4.1.1.tgz", - "integrity": "sha512-Sm0NWeLhS2QL7NNGsXvO+Fgp7e3JLHCO6RS3RCnfjAnkw6Y1bsji/AGfISdQZDIR/AeOyzkrxRk9jBkl55zdJw==" + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-4.1.2.tgz", + "integrity": "sha512-c4OVMMcyodKQ9dpwBwh3ofK9P6U9ZktKU9S+p33UqwMNN1vlv2P0zJZUScTshnx7OEoIIRcCFNQ904sYxZz8kg==" }, "@types/node": { - "version": "14.14.41", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.41.tgz", - "integrity": "sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g==" + "version": "14.17.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.5.tgz", + "integrity": "sha512-bjqH2cX/O33jXT/UmReo2pM7DIJREPMnarixbQ57DOOzzFaI6D2+IcwaJQaJpv0M1E9TIhPCYVxrkcityLjlqA==" }, "@types/nodemailer": { "version": "6.4.1", @@ -268,9 +289,9 @@ } }, "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", "dev": true }, "@types/responselike": { @@ -282,9 +303,9 @@ } }, "@types/rimraf": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-3.0.0.tgz", - "integrity": "sha512-7WhJ0MdpFgYQPXlF4Dx+DhgvlPCfz/x5mHaeDQAKhcenvQP1KCpLQ18JklAqeGMYSAT2PxLpzd0g2/HE7fj7hQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-3.0.1.tgz", + "integrity": "sha512-CAoSlbco40aKZ0CkelBF2g3JeN6aioRaTVnqSX5pWsn/WApm6IDxI4e4tD9D0dY/meCkyyleP1IQDVN13F4maA==", "dev": true, "requires": { "@types/glob": "*", @@ -338,13 +359,13 @@ } }, "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.1.1.tgz", + "integrity": "sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ==", "requires": { "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", "uri-js": "^4.2.2" } }, @@ -392,12 +413,6 @@ "sprintf-js": "~1.0.2" } }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, "array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", @@ -536,16 +551,16 @@ "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" }, "cacheable-request": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.1.tgz", - "integrity": "sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", "requires": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", "http-cache-semantics": "^4.0.0", "keyv": "^4.0.0", "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", + "normalize-url": "^6.0.1", "responselike": "^2.0.0" } }, @@ -588,9 +603,9 @@ } }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -774,9 +789,9 @@ } }, "conventional-changelog-conventionalcommits": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.5.0.tgz", - "integrity": "sha512-buge9xDvjjOxJlyxUnar/+6i/aVEVGA7EEh4OafBCXPlLUQPGbRUBhBUveWRxzvR8TEjhKEP4BdepnpG2FSZXw==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.0.tgz", + "integrity": "sha512-sj9tj3z5cnHaSJCYObA9nISf7eq/YjscLPoq6nmew4SiOjxqL2KRpK20fjnjVbpNDjJ2HR3MoVcWKXwbVvzS0A==", "dev": true, "requires": { "compare-func": "^2.0.0", @@ -785,16 +800,16 @@ } }, "conventional-changelog-core": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.2.tgz", - "integrity": "sha512-7pDpRUiobQDNkwHyJG7k9f6maPo9tfPzkSWbRq97GGiZqisElhnvUZSvyQH20ogfOjntB5aadvv6NNcKL1sReg==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.3.tgz", + "integrity": "sha512-MwnZjIoMRL3jtPH5GywVNqetGILC7g6RQFvdb8LRU/fA/338JbeWAku3PZ8yQ+mtVRViiISqJlb0sOz0htBZig==", "dev": true, "requires": { "add-stream": "^1.0.0", - "conventional-changelog-writer": "^4.0.18", + "conventional-changelog-writer": "^5.0.0", "conventional-commits-parser": "^3.2.0", "dateformat": "^3.0.0", - "get-pkg-repo": "^1.0.0", + "get-pkg-repo": "^4.0.0", "git-raw-commits": "^2.0.8", "git-remote-origin-url": "^2.0.0", "git-semver-tags": "^4.1.1", @@ -803,7 +818,6 @@ "q": "^1.5.1", "read-pkg": "^3.0.0", "read-pkg-up": "^3.0.0", - "shelljs": "^0.8.3", "through2": "^4.0.0" } }, @@ -860,12 +874,11 @@ "dev": true }, "conventional-changelog-writer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", - "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.0.tgz", + "integrity": "sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g==", "dev": true, "requires": { - "compare-func": "^2.0.0", "conventional-commits-filter": "^2.0.7", "dateformat": "^3.0.0", "handlebars": "^4.7.6", @@ -911,9 +924,9 @@ } }, "core-js": { - "version": "3.10.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.10.2.tgz", - "integrity": "sha512-W+2oVYeNghuBr3yTzZFQ5rfmjZtYB/Ubg87R5YOmlGrIb+Uw9f7qjUbhsj+/EkXhcV7eOD3jiM4+sgraX3FZUw==" + "version": "3.15.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.15.2.tgz", + "integrity": "sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==" }, "core-util-is": { "version": "1.0.2", @@ -926,15 +939,6 @@ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, "dargs": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", @@ -1128,27 +1132,21 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", + "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "micromatch": "^4.0.4" } }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, "fastq": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", - "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", + "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==", "requires": { "reusify": "^1.0.4" } @@ -1178,9 +1176,9 @@ "dev": true }, "flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==" + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz", + "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==" }, "fs-extra": { "version": "9.1.0", @@ -1222,93 +1220,46 @@ "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" }, "get-pkg-repo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz", - "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.1.2.tgz", + "integrity": "sha512-/FjamZL9cBYllEbReZkxF2IMh80d8TJoC4e3bmLNif8ibHw95aj0N/tzqK0kZz9eU/3w3dL6lF4fnnX/sDdW3A==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "meow": "^3.3.0", - "normalize-package-data": "^2.3.0", - "parse-github-repo-url": "^1.3.0", + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "meow": "^7.0.0", "through2": "^2.0.0" }, "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz", + "integrity": "sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==", "dev": true, "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" } }, "normalize-package-data": { @@ -1321,47 +1272,53 @@ "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + } } }, "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } } }, "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } } }, "readable-stream": { @@ -1379,16 +1336,6 @@ "util-deprecate": "~1.0.1" } }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -1410,15 +1357,6 @@ "safe-buffer": "~5.1.0" } }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1" - } - }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -1429,20 +1367,24 @@ "xtend": "~4.0.1" } }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", "dev": true + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, "get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -1502,9 +1444,9 @@ } }, "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1523,9 +1465,9 @@ } }, "globby": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", - "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -1607,9 +1549,9 @@ "dev": true }, "highlight.js": { - "version": "10.7.2", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz", - "integrity": "sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg==" + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==" }, "hosted-git-info": { "version": "4.0.2", @@ -1693,9 +1635,9 @@ } }, "is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", + "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", "requires": { "has": "^1.0.3" } @@ -1705,12 +1647,6 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true - }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -1761,12 +1697,6 @@ "text-extensions": "^1.0.0" } }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -1817,9 +1747,9 @@ "integrity": "sha512-TYfxx36xfl52Rf1LU9HyWSLGPdYLL+SQ8/E/0yVyKG8wCCDaSrhPap0vEdlsZWRaS6tnKKLPGiEJGiREVC8kxQ==" }, "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "json-stable-stringify": { "version": "1.0.1", @@ -1895,26 +1825,32 @@ "dev": true }, "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" }, "dependencies": { "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true } } }, @@ -1953,16 +1889,6 @@ "chalk": "^4.0.0" } }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, "lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", @@ -2201,6 +2127,20 @@ "path-exists": "^4.0.0" } }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "js-yaml": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", @@ -2288,9 +2228,9 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "nock": { - "version": "13.0.11", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.0.11.tgz", - "integrity": "sha512-sKZltNkkWblkqqPAsjYW0bm3s9DcHRPiMOyKO/PkfJ+ANHZ2+LA2PLe22r4lLrKgXaiSaDQwW3qGsJFtIpQIeQ==", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.1.1.tgz", + "integrity": "sha512-YKTR9MjfK3kS9/l4nuTxyYm30cgOExRHzkLNhL8nhEUyU4f8Za/dRxOqjhVT1vGs0svWo3dDnJTUX1qxYeWy5w==", "dev": true, "requires": { "debug": "^4.1.0", @@ -2300,9 +2240,9 @@ } }, "nodemailer": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.5.0.tgz", - "integrity": "sha512-Tm4RPrrIZbnqDKAvX+/4M+zovEReiKlEXWDzG4iwtpL9X34MJY+D5LnQPH/+eghe8DLlAVshHAJZAZWBGhkguw==" + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.6.0.tgz", + "integrity": "sha512-ikSMDU1nZqpo2WUPE0wTTw/NGGImTkwpJKDIFPZT+YvvR9Sj+ze5wzu95JHkBMglQLoG2ITxU21WukCC/XsFkg==" }, "normalize-package-data": { "version": "3.0.2", @@ -2323,15 +2263,9 @@ "dev": true }, "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" }, "once": { "version": "1.4.0", @@ -2348,9 +2282,9 @@ "dev": true }, "p-cancelable": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.0.tgz", - "integrity": "sha512-HAZyB3ZodPo+BDpb4/Iu7Jv4P6cSazBz9ZM0ChhEXp70scx834aWCEjQRwgt41UzzejUAPdbqqONfRWTPYrPAQ==" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" }, "p-limit": { "version": "2.3.0", @@ -2384,12 +2318,6 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, - "parse-github-repo-url": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", - "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A=", - "dev": true - }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -2414,9 +2342,9 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-type": { "version": "4.0.0", @@ -2429,9 +2357,9 @@ "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" }, "picomatch": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", - "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" }, "pify": { "version": "2.3.0", @@ -2439,21 +2367,6 @@ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, "plantuml-encoder": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/plantuml-encoder/-/plantuml-encoder-1.4.0.tgz", @@ -2551,18 +2464,6 @@ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -2575,16 +2476,6 @@ "validate-npm-package-license": "^3.0.1" } }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, "path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", @@ -2605,12 +2496,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true } } }, @@ -2718,21 +2603,17 @@ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, "resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", @@ -2810,12 +2691,6 @@ "rechoir": "^0.6.2" } }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -2862,9 +2737,9 @@ } }, "spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", + "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", "dev": true }, "split": { @@ -2920,13 +2795,10 @@ } }, "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true }, "strip-indent": { "version": "3.0.0", @@ -3011,9 +2883,9 @@ "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=" }, "trim-newlines": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", - "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true }, "trim-off-newlines": { @@ -3040,9 +2912,9 @@ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" }, "typescript": { - "version": "3.9.9", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz", - "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==" + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==" } } }, @@ -3229,9 +3101,9 @@ "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==" }, "uglify-js": { - "version": "3.13.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.4.tgz", - "integrity": "sha512-kv7fCkIXyQIilD5/yQy8O+uagsYIOt5cZvs890W40/e/rvjMSzJw81o9Bg0tkURxzZBROtDQhW2LFjOGoK3RZw==", + "version": "3.13.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.10.tgz", + "integrity": "sha512-57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg==", "optional": true }, "universalify": { @@ -3427,9 +3299,9 @@ } }, "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true }, "yargs-unparser": { diff --git a/package.json b/package.json index 5bd0aa77..60de003e 100644 --- a/package.json +++ b/package.json @@ -44,20 +44,20 @@ "tslint": "tslint -p tsconfig.json -c tslint.json 'src/**/*.ts'" }, "dependencies": { - "@krlwlfrt/async-pool": "0.5.0", - "@openstapps/logger": "0.6.0", - "@types/glob": "7.1.3", - "@types/json-schema": "7.0.7", - "@types/mustache": "4.1.1", - "@types/node": "14.14.41", - "ajv": "6.12.6", + "@krlwlfrt/async-pool": "0.6.0", + "@openstapps/logger": "0.7.0", + "@types/glob": "7.1.4", + "@types/json-schema": "7.0.8", + "@types/mustache": "4.1.2", + "@types/node": "14.17.5", + "ajv": "7.1.1", "better-ajv-errors": "0.7.0", "chai": "4.3.4", "commander": "7.2.0", "deepmerge": "4.2.2", "del": "6.0.0", - "flatted": "3.1.1", - "glob": "7.1.6", + "flatted": "3.2.1", + "glob": "7.1.7", "got": "11.8.2", "humanize-string": "2.1.0", "json-schema": "0.3.0", @@ -72,12 +72,12 @@ "devDependencies": { "@openstapps/configuration": "0.27.0", "@testdeck/mocha": "0.1.2", - "@types/chai": "4.2.16", - "@types/mocha": "8.2.2", - "@types/rimraf": "3.0.0", + "@types/chai": "4.2.21", + "@types/mocha": "8.2.3", + "@types/rimraf": "3.0.1", "conventional-changelog-cli": "2.1.1", "mocha": "8.3.2", - "nock": "13.0.11", + "nock": "13.1.1", "prepend-file-cli": "1.0.6", "rimraf": "3.0.2", "tslint": "6.1.3" diff --git a/src/routes.ts b/src/routes.ts index 2f58f716..565fd01b 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -12,7 +12,7 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {asyncPool} from '@krlwlfrt/async-pool'; +import {asyncPool} from '@krlwlfrt/async-pool/lib/async-pool'; import {Logger} from '@openstapps/logger'; import {basename, dirname, join} from 'path'; import {ProjectReflection} from 'typedoc'; diff --git a/src/schema.ts b/src/schema.ts index de5be27d..bb3160b6 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -36,7 +36,7 @@ export class Converter { /** * Schema validator instance */ - private readonly schemaValidator: Ajv.Ajv; + private readonly schemaValidator: Ajv; /** * Create a new converter diff --git a/src/validate.ts b/src/validate.ts index 2003fe41..f8ab90c2 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -12,7 +12,7 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {asyncPool} from '@krlwlfrt/async-pool'; +import {asyncPool} from '@krlwlfrt/async-pool/lib/async-pool'; import {Logger} from '@openstapps/logger'; import Ajv from 'ajv'; import betterAjvErrors from 'better-ajv-errors'; @@ -39,7 +39,7 @@ export class Validator { /** * JSON Schema Validator */ - private readonly ajv = Ajv({verbose: true, jsonPointers: true, extendRefs: true}); + private readonly ajv = new Ajv({verbose: true}); /** * Map of schema names to schemas */ @@ -134,7 +134,7 @@ function fromAjvResult( result: boolean | PromiseLike, schema: JSONSchema7, instance: unknown, - ajvInstance: Ajv.Ajv, + ajvInstance: Ajv, ): ValidationResult { // tslint:disable-next-line // @ts-ignore function can return void, which at runtime will be undefined. TS doesn't allow to assign void to undefined From f4bf7abc895f87a57fa34b2269311809f2a9413d Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Tue, 6 Jul 2021 10:51:05 +0200 Subject: [PATCH 148/215] feat: replace route markdown with openapi --- .gitignore | 11 +- .gitlab-ci.yml | 8 +- README.md | 6 +- package-lock.json | 33 ++++- package.json | 1 + src/cli.ts | 62 +++++++-- src/common.ts | 41 +++++- src/resources/openapi-303-template.ts | 41 ++++++ src/routes.ts | 188 ++++++++++++-------------- 9 files changed, 262 insertions(+), 129 deletions(-) create mode 100644 src/resources/openapi-303-template.ts diff --git a/.gitignore b/.gitignore index 7d3c8b2a..50d2fc77 100644 --- a/.gitignore +++ b/.gitignore @@ -87,8 +87,11 @@ typings/ .idea .vscode -# ignore lib -lib +# ignore lib directory +lib/ -# ignore docs -docs +# ignore docs directory +docs/ + +# ignore openapi resources +openapi/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 701ab0f6..fe446b28 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -44,18 +44,18 @@ scheduled-audit: only: - schedules -routes: +openapi: dependencies: - build stage: test script: - npm install @openstapps/core - - node lib/cli.js routes node_modules/@openstapps/core/lib routes.md - - NUMBER_OF_LINES=$(cat routes.md | wc -l) + - node lib/cli.js openapi node_modules/@openstapps/core/lib openapi + - NUMBER_OF_LINES=$(cat openapi/openapi.json | wc -l) - if [ "$NUMBER_OF_LINES" -lt 100 ]; then exit 1; fi artifacts: paths: - - routes.md + - openapi/openapi.json mapping: dependencies: diff --git a/README.md b/README.md index bcc0dcfc..1d314e65 100644 --- a/README.md +++ b/README.md @@ -127,12 +127,12 @@ Inside of a script in `package.json` or if the npm package is installed globally openstapps-core-tools validate lib/schema src/test/resources report.html ``` -## Generate documentation for routes +## Generate openapi JSON file for routes -To generate a documentation for the routes use the following command. +To generate a openapi JSON file that represents the routes according to openapi version 3.0.3 use the following command. ```shell -openstapps-core-tools routes PATH/TO/CORE/lib PATH/TO/ROUTES.md +openstapps-core-tools openapi PATH/TO/CORE/lib PATH/TO/PUT/FILES/TO ``` ## Pack definitions and implementations diff --git a/package-lock.json b/package-lock.json index ae3cefe6..fb7a8950 100644 --- a/package-lock.json +++ b/package-lock.json @@ -226,6 +226,14 @@ "integrity": "sha512-yd+9qKmJxm496BOV9CMNaey8TWsikaZOwMRwPHQIjcOJM9oV+fi9ZMNw3JsVnbEEbo2gRTDnGEBv8pjyn67hNg==", "dev": true }, + "@types/fs-extra": { + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.11.tgz", + "integrity": "sha512-mZsifGG4QeQ7hlkhO56u7zt/ycBgGxSVsFI/6lGTU34VtwkiqrrSDgw0+ygs8kFGWcXnFQWMrzF2h7TtDFNixA==", + "requires": { + "@types/node": "*" + } + }, "@types/glob": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", @@ -1181,11 +1189,10 @@ "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==" }, "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", "requires": { - "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" @@ -2275,6 +2282,11 @@ "wrappy": "1" } }, + "openapi-types": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-9.0.3.tgz", + "integrity": "sha512-c4C1xAKZOvOxeSWvRY0d2XsoaZoF8M7rifxfZZCIH2mqPEQxOz8qfFx4oEpLFaE+DfDGe08HcIA/p1Bu93keLQ==" + }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -3085,6 +3097,19 @@ "progress": "^2.0.3", "shelljs": "^0.8.4", "typedoc-default-themes": "^0.10.2" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } } }, "typedoc-default-themes": { diff --git a/package.json b/package.json index 60de003e..173c5c54 100644 --- a/package.json +++ b/package.json @@ -62,6 +62,7 @@ "humanize-string": "2.1.0", "json-schema": "0.3.0", "mustache": "4.2.0", + "openapi-types": "9.0.3", "plantuml-encoder": "1.4.0", "toposort": "2.0.2", "ts-json-schema-generator": "0.70.2", diff --git a/src/cli.ts b/src/cli.ts index c935c76e..112c2a62 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -15,10 +15,12 @@ import {Logger} from '@openstapps/logger'; import {Command} from 'commander'; import {existsSync, readFileSync, writeFileSync} from 'fs'; +import {copy} from 'fs-extra'; import got from 'got'; -import {join, resolve} from 'path'; +import {join, relative, resolve} from 'path'; import {exit} from 'process'; import { + capitalize, getProjectReflection, mkdirPromisified, readFilePromisified, @@ -26,9 +28,10 @@ import { } from './common'; import {generateTemplate} from './mapping'; import {pack} from './pack'; +import {openapi3Template} from './resources/openapi-303-template'; import { gatherRouteInformation, - generateDocumentationForRoute, + generateOpenAPIForRoute, getNodeMetaInformationMap, } from './routes'; import {Converter, getValidatableTypesFromReflection} from './schema'; @@ -55,33 +58,68 @@ commander ).version); commander - .command('routes ') - .action(async (relativeSrcPath, relativeMdPath) => { + .command('openapi ') + .action(async (relativeSrcPath, relativeOutDirPath) => { // get absolute paths const srcPath = resolve(relativeSrcPath); - const mdPath = resolve(relativeMdPath); + const outDirPath = resolve(relativeOutDirPath); + const outDirSchemasPath = join(outDirPath, 'schemas'); // get project reflection const projectReflection = getProjectReflection(srcPath); // get information about routes const routes = await gatherRouteInformation(projectReflection); + routes.sort((a, b) => a.route.urlFragment.localeCompare(b.route.urlFragment)); - // initialize markdown output - let output = '# Routes\n\n'; + // change url path parameters to openapi notation + routes.forEach((routeWithMetaInformation) => { + routeWithMetaInformation.route.urlFragment = routeWithMetaInformation.route.urlFragment.replace(/:\w+/g, (match) => `{${match.replace(':','')}}`); + }); + + // keep openapi tags for routes that actually share url fragments + let tagsToKeep = routes.map((routeWithMetaInformation) => capitalize(routeWithMetaInformation.route.urlFragment.split('/')[1])); + tagsToKeep = tagsToKeep.filter((element, i, array) => array.indexOf(element) === i && array.lastIndexOf(element) !== i); + + // initialize json output + const output = openapi3Template; + + // names of the schemas to copy + const schemasToCopy: string[] = []; // generate documentation for all routes routes.forEach((routeWithMetaInformation) => { - output += generateDocumentationForRoute( + routeWithMetaInformation.tags = [capitalize(routeWithMetaInformation.route.urlFragment.split('/')[1])]; + + output.paths[routeWithMetaInformation.route.urlFragment] = generateOpenAPIForRoute( routeWithMetaInformation, - getNodeMetaInformationMap(projectReflection), + relative(relativeOutDirPath,outDirSchemasPath), + schemasToCopy, + tagsToKeep, ); }); - // write documentation to file - writeFileSync(mdPath, output); + // copy schema json schema files + try { + if (!existsSync(outDirSchemasPath)){ + await mkdirPromisified(outDirSchemasPath, { + recursive: true, + }); + } + for (const fileName of schemasToCopy) { + await copy(join(srcPath, 'schema', `${fileName}.json`), join(outDirSchemasPath, `${fileName}.json`)); + } + } catch (error) { + await Logger.error(error); + // tslint:disable-next-line: no-magic-numbers + process.exit(-2); + } - Logger.ok(`Route documentation written to ${mdPath}.`); + // write openapi object to file (prettified) + // tslint:disable-next-line: no-magic-numbers + writeFileSync(join(outDirPath, 'openapi.json'), JSON.stringify(output, null, 2)); + + Logger.ok(`OpenAPI representation resources written to ${outDirPath} .`); }); commander diff --git a/src/common.ts b/src/common.ts index 73323b80..f63609bf 100644 --- a/src/common.ts +++ b/src/common.ts @@ -56,9 +56,9 @@ export interface RouteWithMetaInformation { */ route: { /** - * Error names of a route + * Possible errors on a route */ - errorNames: Error[]; + errors: SCErrorResponse[]; /** * Method of the route */ @@ -69,10 +69,18 @@ export interface RouteWithMetaInformation { obligatoryParameters: { [k: string]: string; }; + /** + * Description of the request body + */ + requestBodyDescription: string; /** * Name of the request body */ requestBodyName: string; + /** + * Description of the response body + */ + responseBodyDescription: string; /** * Name of the response body */ @@ -86,6 +94,10 @@ export interface RouteWithMetaInformation { */ urlFragment: string; }; + /** + * Possible tags/keywords the route can be associated with + */ + tags?: [string]; } /** @@ -102,6 +114,21 @@ export interface NodeWithMetaInformation { type: string; } +/** + * A generic error that can be returned by the backend if somethings fails during the processing of a request + */ +export interface SCErrorResponse extends Error { + /** + * Additional data that describes the error + */ + additionalData?: unknown; + + /** + * HTTP status code to return this error with + */ + statusCode: number; +} + /** * A map of nodes indexed by their name */ @@ -345,3 +372,13 @@ export function getFullTypeName(type: LightweightType): string { return fullName; } + +/** + * Creates sentence cased string + * + * @param str The string to capitalize + */ +export function capitalize(str?: string): string { + // tslint:disable-next-line: newline-per-chained-call + return `${str?.charAt(0).toUpperCase()}${str?.slice(1).toLowerCase()}`; +} diff --git a/src/resources/openapi-303-template.ts b/src/resources/openapi-303-template.ts new file mode 100644 index 00000000..b27f32d9 --- /dev/null +++ b/src/resources/openapi-303-template.ts @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {OpenAPIV3} from 'openapi-types'; + +export const openapi3Template: OpenAPIV3.Document = { + openapi: '3.0.3', + info: { + title: 'Openstapps Backend', + description: `# Introduction +This is a human readable documentation of the backend OpenAPI representation.`, + contact: { + name: 'Openstapps Team', + url: 'https://gitlab.com/openstapps/backend', + email: 'app@uni-frankfurt.de', + }, + license: { + name: 'AGPL 3.0', + url: 'https://www.gnu.org/licenses/agpl-3.0.en.html', + }, + version: '2.0.0', + }, + servers: [ + { + url: 'https://mobile.server.uni-frankfurt.de:3000', + description: 'Production server', + }, + ], + paths: {}, + }; diff --git a/src/routes.ts b/src/routes.ts index 565fd01b..87893d4b 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -14,10 +14,11 @@ */ import {asyncPool} from '@krlwlfrt/async-pool/lib/async-pool'; import {Logger} from '@openstapps/logger'; +import {OpenAPIV3} from 'openapi-types'; import {basename, dirname, join} from 'path'; import {ProjectReflection} from 'typedoc'; import {Type} from 'typedoc/dist/lib/models'; -import {NodesWithMetaInformation, NodeWithMetaInformation, RouteWithMetaInformation} from './common'; +import {capitalize, NodeWithMetaInformation, RouteWithMetaInformation} from './common'; /** * Gather relevant information of routes @@ -55,6 +56,19 @@ export async function gatherRouteInformation(reflection: ProjectReflection): Pro const route = new importedModule[node.name](); + // tslint:disable-next-line: no-any + const errors = route.errorNames.map((error: any) => { + const scError = new importedModule[error.name](); + scError.name = error.name; + + return scError; + }); + + route.responseBodyDescription = module.children!.find(element => element.name === route.responseBodyName)?.comment?.shortText; + route.requestBodyDescription = module.children!.find(element => element.name === route.requestBodyName)?.comment?.shortText; + + route.errors = errors; + routes.push({description: node.comment!, name: node.name, route}); } } @@ -69,28 +83,6 @@ export async function gatherRouteInformation(reflection: ProjectReflection): Pro return routes; } -/** - * Get a linked name for a node - * - * @param name Name of the node - * @param node Node itself - * @param humanize Whether to humanize the name or not - */ -export function getLinkedNameForNode(name: string, node: NodeWithMetaInformation, humanize = false): string { - const humanizeString = require('humanize-string'); - - let printableName = name; - - if (humanize) { - printableName = humanizeString(name.substr('SC'.length)); - } - - let link = `[${printableName}]`; - link += `(${getLinkForNode(name, node)})`; - - return link; -} - /** * Get link for a node * @@ -128,89 +120,85 @@ export function getLinkForNode(name: string, node: NodeWithMetaInformation): str * Generate documentation snippet for one route * * @param routeWithInfo A route instance with its meta information - * @param nodes Nodes with meta information + * @param outDirSchemasPath Path to directory that will contain relevant schemas for the route + * @param schemasToCopy Schemas identified as relevant for this route + * @param tagsToKeep Tags / keywords that can be used for grouping routes */ -export function generateDocumentationForRoute(routeWithInfo: RouteWithMetaInformation, - nodes: NodesWithMetaInformation): string { - let output = ''; - + export function generateOpenAPIForRoute(routeWithInfo: RouteWithMetaInformation, + outDirSchemasPath: string, + schemasToCopy: string[], + tagsToKeep: string[]): OpenAPIV3.PathItemObject { const route = routeWithInfo.route; + const path: OpenAPIV3.PathItemObject = {}; - output += `## \`${route.method} ${route.urlFragment}\``; - output += ` ${getLinkedNameForNode(routeWithInfo.name, nodes[routeWithInfo.name], true)}\n\n`; + schemasToCopy.push(route.requestBodyName, route.responseBodyName); - if (typeof routeWithInfo.description.shortText === 'string') { - output += `**${routeWithInfo.description.shortText}**\n\n`; - } + path[(route.method.toLowerCase() as OpenAPIV3.HttpMethods)] = { + summary: capitalize(routeWithInfo.description.shortText?.replace(/(Route to |Route for )/gmi, '')), + description: routeWithInfo.description.text, + requestBody: { + description: route.responseBodyDescription ?? undefined, + content: { + 'application/json': { + schema: { + $ref: join(outDirSchemasPath, `${route.requestBodyName}.json`), + }, + }, + }, + }, + parameters: [{ + name: 'X-StApps-Version', + in: 'header', + schema: { + type: 'string', + example: '2.0.0', + }, + required: true, + }], + responses: {}, + tags: routeWithInfo.tags?.filter(value => tagsToKeep.includes(value)), + }; - if (typeof routeWithInfo.description.text === 'string') { - output += `${routeWithInfo.description.text.replace('\n', '
')}\n\n`; - } + path[(route.method.toLowerCase() as OpenAPIV3.HttpMethods)]!.responses![route.statusCodeSuccess] = { + description: route.responseBodyDescription, + content: { + 'application/json': { + schema: { + $ref: join(outDirSchemasPath, `${route.responseBodyName}.json`), + }, + }, + }, + }; - output += `### Definition - -| parameter | value | -| --- | --- | -| request | ${getLinkedNameForNode(route.requestBodyName, nodes[route.requestBodyName])} | -| response | ${getLinkedNameForNode(route.responseBodyName, nodes[route.responseBodyName])} | -| success code | ${route.statusCodeSuccess} | -| errors | ${route.errorNames - .map((error) => { - return getLinkedNameForNode(error.name, nodes[error.name]); - }) - .join('
')} | -`; - if (typeof route.obligatoryParameters === 'object' && Object.keys(route.obligatoryParameters).length > 0) { - let parameterTable = ''; - - for (const parameter in route.obligatoryParameters) { - if (!route.obligatoryParameters.hasOwnProperty(parameter)) { - continue; - } - - let type = route.obligatoryParameters![parameter]; - - if (typeof nodes[type] !== 'undefined') { - type = getLinkedNameForNode(type, nodes[type]); - } - - parameterTable += ``; - } - - parameterTable += '
parametertype
${parameter}${type}
'; - - output += `| obligatory parameters | ${parameterTable} |`; - } - output += '\n\n'; - - return output; -} - -/** - * Get a map of nodes with their meta information - * - * @param projectReflection Reflection to get information from - */ -export function getNodeMetaInformationMap(projectReflection: ProjectReflection): NodesWithMetaInformation { - const nodes: NodesWithMetaInformation = {}; - - if (typeof projectReflection.children === 'undefined') { - throw new Error('Project reflection doesn\'t contain any modules.'); - } - - // iterate over modules - projectReflection.children.forEach((module) => { - if (Array.isArray(module.children) && module.children.length > 0) { - // iterate over types - module.children.forEach((node) => { - // add node with module and type - nodes[node.name] = { - module: module.name.substring(1, module.name.length - 1), - type: node.kindString!, - }; - }); - } + route.errors.forEach(error => { + schemasToCopy.push(error.name); + path[(route.method.toLowerCase() as OpenAPIV3.HttpMethods)]!.responses![error.statusCode] = { + description: error.message ?? capitalize(error.name.replace(/([A-Z][a-z])/g,' $1') + .replace('SC ', '')), + content: { + 'application/json': { + schema: { + $ref: join(outDirSchemasPath, `${error.name}.json`), + }, + }, + }, + }; }); - return nodes; + if (typeof route.obligatoryParameters === 'object') { + for (const [parameter, schemaDefinition] of Object.entries(route.obligatoryParameters)) { + const openapiParam: OpenAPIV3.ParameterObject = { + in: 'path', + name: parameter, + required: true, + schema: { + // TODO make this less of a hack and search copied schemas for the first occurring definition + $ref: `schemas/SCSearchResponse.json#/definitions/${schemaDefinition}`, + }, + }; + path[(route.method.toLowerCase() as OpenAPIV3.HttpMethods)]?.parameters?.push(openapiParam); + } + } + + return path; } From c9dedf6a9fbb1a96d9db7eec84e89f2821841c78 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Wed, 14 Jul 2021 13:19:35 +0200 Subject: [PATCH 149/215] refactor: update dependencies --- package-lock.json | 135 ++++++++++++++++++++++++++-------------------- package.json | 8 +-- src/cli.ts | 1 - 3 files changed, 81 insertions(+), 63 deletions(-) diff --git a/package-lock.json b/package-lock.json index fb7a8950..d3a3da8f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -209,6 +209,26 @@ "@testdeck/core": "^0.1.2" } }, + "@tsconfig/node10": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", + "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" + }, + "@tsconfig/node12": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", + "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" + }, + "@tsconfig/node14": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", + "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" + }, + "@tsconfig/node16": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.1.tgz", + "integrity": "sha512-FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA==" + }, "@types/cacheable-request": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", @@ -227,9 +247,9 @@ "dev": true }, "@types/fs-extra": { - "version": "9.0.11", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.11.tgz", - "integrity": "sha512-mZsifGG4QeQ7hlkhO56u7zt/ycBgGxSVsFI/6lGTU34VtwkiqrrSDgw0+ygs8kFGWcXnFQWMrzF2h7TtDFNixA==", + "version": "9.0.12", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz", + "integrity": "sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==", "requires": { "@types/node": "*" } @@ -625,19 +645,19 @@ "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" }, "chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", "dev": true, "requires": { - "anymatch": "~3.1.1", + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.3.1", - "glob-parent": "~5.1.0", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" + "readdirp": "~3.6.0" } }, "clean-stack": { @@ -1704,6 +1724,12 @@ "text-extensions": "^1.0.0" } }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -1888,12 +1914,13 @@ "dev": true }, "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "requires": { - "chalk": "^4.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" } }, "lowercase-keys": { @@ -2074,33 +2101,33 @@ } }, "mocha": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.3.2.tgz", - "integrity": "sha512-UdmISwr/5w+uXLPKspgoV7/RXZwKRTiTjJ2/AC5ZiEztIoOYdfKb19+9jNmEInzx5pBsCyJQzarAxqIGBNYJhg==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.0.2.tgz", + "integrity": "sha512-FpspiWU+UT9Sixx/wKimvnpkeW0mh6ROAKkIaPokj3xZgxeRhcna/k5X57jJghEr8X+Cgu/Vegf8zCX5ugSuTA==", "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.5.1", + "chokidar": "3.5.2", "debug": "4.3.1", "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "7.1.6", + "glob": "7.1.7", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "4.0.0", - "log-symbols": "4.0.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", "minimatch": "3.0.4", "ms": "2.1.3", - "nanoid": "3.1.20", - "serialize-javascript": "5.0.1", + "nanoid": "3.1.23", + "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", "which": "2.0.2", "wide-align": "1.1.3", - "workerpool": "6.1.0", + "workerpool": "6.1.5", "yargs": "16.2.0", "yargs-parser": "20.2.4", "yargs-unparser": "2.0.0" @@ -2134,24 +2161,10 @@ "path-exists": "^4.0.0" } }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, "js-yaml": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", - "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "requires": { "argparse": "^2.0.1" @@ -2224,9 +2237,9 @@ "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==" }, "nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "version": "3.1.23", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", + "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", "dev": true }, "neo-async": { @@ -2283,9 +2296,9 @@ } }, "openapi-types": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-9.0.3.tgz", - "integrity": "sha512-c4C1xAKZOvOxeSWvRY0d2XsoaZoF8M7rifxfZZCIH2mqPEQxOz8qfFx4oEpLFaE+DfDGe08HcIA/p1Bu93keLQ==" + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-9.1.0.tgz", + "integrity": "sha512-mhXh8QN8sbErlxfxBeZ/pzgvmDn443p8CXlxwGSi2bWANZAFvjLPI0PoGjqHW+JdBbXg6uvmvM81WXaweh/SVA==" }, "os-tmpdir": { "version": "1.0.2", @@ -2584,9 +2597,9 @@ } }, "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "requires": { "picomatch": "^2.2.1" @@ -2685,9 +2698,9 @@ } }, "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -2931,10 +2944,14 @@ } }, "ts-node": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", - "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.1.0.tgz", + "integrity": "sha512-6szn3+J9WyG2hE+5W8e0ruZrzyk1uFLYye6IGMBadnOzDh8aP7t8CbFpsfCiEx2+wMixAhjFt7lOZC4+l+WbEA==", "requires": { + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.1", "arg": "^4.1.0", "create-require": "^1.1.0", "diff": "^4.0.1", @@ -3190,9 +3207,9 @@ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" }, "workerpool": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", - "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==", + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz", + "integrity": "sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==", "dev": true }, "wrap-ansi": { diff --git a/package.json b/package.json index 173c5c54..40fa1f20 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "dependencies": { "@krlwlfrt/async-pool": "0.6.0", "@openstapps/logger": "0.7.0", + "@types/fs-extra": "9.0.12", "@types/glob": "7.1.4", "@types/json-schema": "7.0.8", "@types/mustache": "4.1.2", @@ -57,16 +58,17 @@ "deepmerge": "4.2.2", "del": "6.0.0", "flatted": "3.2.1", + "fs-extra": "10.0.0", "glob": "7.1.7", "got": "11.8.2", "humanize-string": "2.1.0", "json-schema": "0.3.0", "mustache": "4.2.0", - "openapi-types": "9.0.3", + "openapi-types": "9.1.0", "plantuml-encoder": "1.4.0", "toposort": "2.0.2", "ts-json-schema-generator": "0.70.2", - "ts-node": "9.1.1", + "ts-node": "10.1.0", "typedoc": "0.18.0", "typescript": "3.8.3" }, @@ -77,7 +79,7 @@ "@types/mocha": "8.2.3", "@types/rimraf": "3.0.1", "conventional-changelog-cli": "2.1.1", - "mocha": "8.3.2", + "mocha": "9.0.2", "nock": "13.1.1", "prepend-file-cli": "1.0.6", "rimraf": "3.0.2", diff --git a/src/cli.ts b/src/cli.ts index 112c2a62..fba554de 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -32,7 +32,6 @@ import {openapi3Template} from './resources/openapi-303-template'; import { gatherRouteInformation, generateOpenAPIForRoute, - getNodeMetaInformationMap, } from './routes'; import {Converter, getValidatableTypesFromReflection} from './schema'; import {createDiagram, createDiagramFromString} from './uml/create-diagram'; From efedaba94db83cdf99dd5f52b17f3ed0a9f03920 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Wed, 21 Jul 2021 16:17:02 +0200 Subject: [PATCH 150/215] 0.23.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index d3a3da8f..9542c194 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.22.0", + "version": "0.23.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 40fa1f20..96a5fa02 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.22.0", + "version": "0.23.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 364edff8b78176cc5a4cbdade47b054dc5852039 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Wed, 21 Jul 2021 16:17:06 +0200 Subject: [PATCH 151/215] docs: update changelog --- CHANGELOG.md | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6bedbb02..670da142 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,13 @@ -# [0.22.0](https://gitlab.com/openstapps/core-tools/compare/v0.20.0...v0.22.0) (2021-07-07) +# [0.23.0](https://gitlab.com/openstapps/core-tools/compare/v0.22.0...v0.23.0) (2021-07-21) + + +### Features + +* replace route markdown with openapi ([f4bf7ab](https://gitlab.com/openstapps/core-tools/commit/f4bf7abc895f87a57fa34b2269311809f2a9413d)) + + + +# [0.22.0](https://gitlab.com/openstapps/core-tools/compare/v0.21.0...v0.22.0) (2021-07-07) ### Bug Fixes @@ -6,6 +15,10 @@ * fix inherited properties not working correctly ([f20038c](https://gitlab.com/openstapps/core-tools/commit/f20038c8f9a37424fd7a95484e744e0c672f5cfb)) + +# [0.21.0](https://gitlab.com/openstapps/core-tools/compare/v0.20.0...v0.21.0) (2021-05-12) + + ### Features * add support for non-external premaps ([7429806](https://gitlab.com/openstapps/core-tools/commit/74298065e0386c8e4646e565e5e383b5ae08dfaa)) @@ -25,14 +38,22 @@ -# [0.18.0](https://gitlab.com/openstapps/core-tools/compare/v0.16.0...v0.18.0) (2021-03-24) +# [0.18.0](https://gitlab.com/openstapps/core-tools/compare/v0.17.0...v0.18.0) (2021-03-24) + + +### Features + +* make Point type sortable in Elasticsearch ([724a686](https://gitlab.com/openstapps/core-tools/commit/724a6866c80a544dec4ce11d70d648bd724f9aba)) + + + +# [0.17.0](https://gitlab.com/openstapps/core-tools/compare/v0.16.0...v0.17.0) (2020-12-02) ### Features * add support for [@inherit](https://gitlab.com/inherit)Tags ([485430b](https://gitlab.com/openstapps/core-tools/commit/485430b7f27fb9c751a6f5697e74eb5531ac7889)) * add support for date mapping ([a09be1d](https://gitlab.com/openstapps/core-tools/commit/a09be1d941df88826ccaa8aa468680ece29d35a5)) -* make Point type sortable in Elasticsearch ([724a686](https://gitlab.com/openstapps/core-tools/commit/724a6866c80a544dec4ce11d70d648bd724f9aba)) From 7a5d2bb1e98b41d1143fbfe21b29e3aef2133c8f Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Thu, 22 Jul 2021 12:45:40 +0200 Subject: [PATCH 152/215] fix: rollback ajv version to 6.12.6 --- package-lock.json | 44 ++++++++++++++++++++++---------------------- package.json | 2 +- src/schema.ts | 2 +- src/validate.ts | 4 ++-- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9542c194..bdd25a67 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,9 +13,9 @@ } }, "@babel/helper-validator-identifier": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", - "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==" + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz", + "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==" }, "@babel/highlight": { "version": "7.14.5", @@ -74,9 +74,9 @@ } }, "@babel/runtime": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.6.tgz", - "integrity": "sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==", + "version": "7.14.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.8.tgz", + "integrity": "sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg==", "requires": { "regenerator-runtime": "^0.13.4" } @@ -225,9 +225,9 @@ "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" }, "@tsconfig/node16": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.1.tgz", - "integrity": "sha512-FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" }, "@types/cacheable-request": { "version": "6.0.2", @@ -387,13 +387,13 @@ } }, "ajv": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.1.1.tgz", - "integrity": "sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "requires": { "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, @@ -1171,6 +1171,11 @@ "micromatch": "^4.0.4" } }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, "fastq": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", @@ -1780,9 +1785,9 @@ "integrity": "sha512-TYfxx36xfl52Rf1LU9HyWSLGPdYLL+SQ8/E/0yVyKG8wCCDaSrhPap0vEdlsZWRaS6tnKKLPGiEJGiREVC8kxQ==" }, "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stable-stringify": { "version": "1.0.1", @@ -2634,11 +2639,6 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, "resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", diff --git a/package.json b/package.json index 96a5fa02..10973ff9 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "@types/json-schema": "7.0.8", "@types/mustache": "4.1.2", "@types/node": "14.17.5", - "ajv": "7.1.1", + "ajv": "6.12.6", "better-ajv-errors": "0.7.0", "chai": "4.3.4", "commander": "7.2.0", diff --git a/src/schema.ts b/src/schema.ts index bb3160b6..de5be27d 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -36,7 +36,7 @@ export class Converter { /** * Schema validator instance */ - private readonly schemaValidator: Ajv; + private readonly schemaValidator: Ajv.Ajv; /** * Create a new converter diff --git a/src/validate.ts b/src/validate.ts index f8ab90c2..c2a055d5 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -39,7 +39,7 @@ export class Validator { /** * JSON Schema Validator */ - private readonly ajv = new Ajv({verbose: true}); + private readonly ajv = Ajv({verbose: true, jsonPointers: true, extendRefs: true}); /** * Map of schema names to schemas */ @@ -134,7 +134,7 @@ function fromAjvResult( result: boolean | PromiseLike, schema: JSONSchema7, instance: unknown, - ajvInstance: Ajv, + ajvInstance: Ajv.Ajv, ): ValidationResult { // tslint:disable-next-line // @ts-ignore function can return void, which at runtime will be undefined. TS doesn't allow to assign void to undefined From 79943bc6870f7ee56de0db5a1ac7788764d38278 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Thu, 22 Jul 2021 12:55:00 +0200 Subject: [PATCH 153/215] 0.23.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index bdd25a67..c0b2f130 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.23.0", + "version": "0.23.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 10973ff9..468862fb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.23.0", + "version": "0.23.1", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From d804085c5450ee27693c312819561f6cb4337c9d Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Thu, 22 Jul 2021 12:55:02 +0200 Subject: [PATCH 154/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 670da142..dc42d8e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## [0.23.1](https://gitlab.com/openstapps/core-tools/compare/v0.23.0...v0.23.1) (2021-07-22) + + +### Bug Fixes + +* rollback ajv version to 6.12.6 ([21c797e](https://gitlab.com/openstapps/core-tools/commit/21c797e39fb9f75223ed79d2786303d0a1078f8f)) + + + # [0.23.0](https://gitlab.com/openstapps/core-tools/compare/v0.22.0...v0.23.0) (2021-07-21) From 6e9e57d251630c60a35a50fa90bffece802bf198 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 2 Aug 2021 12:59:35 +0200 Subject: [PATCH 155/215] 0.23.2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index c0b2f130..ffc3d741 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.23.1", + "version": "0.23.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 468862fb..20acc442 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.23.1", + "version": "0.23.2", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 106dd26f89ebe9d9311c58738bfe0a374590b402 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 2 Aug 2021 12:59:36 +0200 Subject: [PATCH 156/215] docs: update changelog --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc42d8e5..c0171cda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,9 @@ -## [0.23.1](https://gitlab.com/openstapps/core-tools/compare/v0.23.0...v0.23.1) (2021-07-22) +## [0.23.2](https://gitlab.com/openstapps/core-tools/compare/v0.23.0...v0.23.2) (2021-08-02) ### Bug Fixes -* rollback ajv version to 6.12.6 ([21c797e](https://gitlab.com/openstapps/core-tools/commit/21c797e39fb9f75223ed79d2786303d0a1078f8f)) +* rollback ajv version to 6.12.6 ([7a5d2bb](https://gitlab.com/openstapps/core-tools/commit/7a5d2bb1e98b41d1143fbfe21b29e3aef2133c8f)) From fe59204b4210831b15445fa9aa7dbc20de75e96d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Wed, 25 Aug 2021 09:47:36 +0000 Subject: [PATCH 157/215] feat: modernize core-tools --- .eslintignore | 2 + .eslintrc.json | 102 ++ .gitlab-ci.yml | 11 - README.md | 54 +- package-lock.json | 1503 +++++++++++++++-- package.json | 42 +- src/cli.ts | 347 ++-- src/common.ts | 342 +--- src/easy-ast/ast-internal-util.ts | 143 ++ src/easy-ast/ast-util.ts | 83 + src/easy-ast/easy-ast.ts | 274 +++ .../types/lightweight-alias-definition.d.ts | 32 +- .../types/lightweight-class-definition.d.ts} | 44 +- .../easy-ast/types/lightweight-comment.d.ts | 47 +- .../types/lightweight-definition-kind.ts | 8 +- .../types/lightweight-definition.d.ts | 46 + src/easy-ast/types/lightweight-project.ts | 100 ++ .../types/lightweight-property.d.ts} | 41 +- src/easy-ast/types/lightweight-type.d.ts | 58 + src/mapping.ts | 812 --------- src/mappings/aggregation-definitions.ts | 81 - src/mappings/definitions/fieldmap.ts | 59 - src/mappings/definitions/premap.ts | 69 - src/mappings/definitions/settings.ts | 65 - src/mappings/definitions/typemap.ts | 70 - src/mappings/mapping-definitions.ts | 324 ---- src/pack.ts | 199 +-- src/resources/foo.ts | 8 +- src/routes.ts | 195 +-- src/schema.ts | 58 +- .../src/agg-global.ts => src/types/pack.d.ts | 35 +- src/types/routes.d.ts | 97 ++ .../schema.d.ts} | 18 +- src/types/validator.d.ts | 87 + src/uml/create-diagram.ts | 167 +- src/uml/model/lightweight-type.ts | 85 - src/uml/read-definitions.ts | 471 ------ src/uml/{uml-config.ts => uml-config.d.ts} | 2 +- src/util/collections.ts | 37 + src/util/guards.ts | 35 + src/util/io.ts | 38 + .../string.ts} | 16 +- src/validate.ts | 241 +-- test/aggregations.spec.ts | 71 - test/common.spec.ts | 6 +- test/create-diagram.spec.ts | 32 +- test/easy-ast.spec.ts | 37 + test/easy-ast/alias-like.ast-test.ts | 68 + test/easy-ast/array-like.ast-test.ts | 75 + test/easy-ast/class-like.ast-test.ts | 59 + test/easy-ast/comment.ast-test.ts | 161 ++ test/easy-ast/default-generics.ast-test.ts | 66 + .../easy-ast-spec-type.d.ts} | 14 +- .../easy-ast/enum-specified-value.ast-test.ts | 73 + test/easy-ast/generics.ast-test.ts | 80 + test/easy-ast/index-signature.ast-test.ts | 69 + test/easy-ast/ineritance.ast-test.ts | 82 + test/easy-ast/nested.ast-test.ts | 61 + test/easy-ast/primitive-types.ast-test.ts | 99 ++ test/easy-ast/stack-overflow.ast-test.ts | 61 + test/mapping-model/MapAggTest.ts | 135 -- test/mapping-model/MapAggTestOptions.ts | 36 - .../aggregations/src/agg-array.ts | 37 - .../aggregations/src/agg-global-nested.ts | 38 - .../aggregations/src/agg-inherited.ts | 39 - .../aggregations/src/agg-nested.ts | 38 - test/mapping-model/aggregations/tsconfig.json | 3 - .../mapping-model/mappings/src/any-unknown.ts | 44 - test/mapping-model/mappings/src/date.ts | 51 - .../mappings/src/default-generics.ts | 50 - .../mappings/src/double-type-conflict.ts | 55 - test/mapping-model/mappings/src/enum.ts | 55 - .../mappings/src/filterable-tag.ts | 89 - test/mapping-model/mappings/src/generics.ts | 60 - .../mappings/src/impossible-union.ts | 41 - .../mappings/src/incompatible-type.ts | 72 - .../mappings/src/index-signature.ts | 64 - .../mappings/src/inherit-tags.ts | 56 - .../mappings/src/inherited-property.ts | 56 - .../mapping-model/mappings/src/invalid-tag.ts | 44 - .../mappings/src/map-explicit-types.ts | 81 - .../mappings/src/missing-premap.ts | 44 - test/mapping-model/mappings/src/nested.ts | 70 - .../mappings/src/object-union.ts | 63 - .../mapping-model/mappings/src/paired-tags.ts | 67 - .../mappings/src/sensible-defaults.ts | 58 - .../mappings/src/sortable-tag.ts | 78 - .../mappings/src/tags-ignore-case.ts | 63 - test/mapping-model/mappings/src/type-alias.ts | 67 - .../mappings/src/type-overrides.ts | 42 - test/mapping-model/mappings/src/type-query.ts | 44 - .../mappings/src/type-wrapper-inheritance.ts | 66 - test/mapping-model/mappings/src/types.ts | 42 - test/mapping-model/mappings/tsconfig.json | 3 - test/mapping.spec.ts | 183 -- test/model/generated-model.ts | 492 ------ test/model/{ => src}/test-class.ts | 1 + test/model/{ => src}/test-enum.ts | 0 test/model/{ => src}/test-interface.ts | 2 +- test/model/{ => src}/test-union.ts | 4 +- test/model/tsconfig.json | 4 + test/read-definitions.spec.ts | 29 - test/schema.spec.ts | 80 +- test/validate.spec.ts | 30 +- tsconfig.json | 6 +- tslint.json | 3 - 106 files changed, 4131 insertions(+), 6216 deletions(-) create mode 100644 .eslintignore create mode 100644 .eslintrc.json create mode 100644 src/easy-ast/ast-internal-util.ts create mode 100644 src/easy-ast/ast-util.ts create mode 100644 src/easy-ast/easy-ast.ts rename test/mapping-model/aggregations/src/agg-inherited-overwritten.ts => src/easy-ast/types/lightweight-alias-definition.d.ts (57%) rename src/{uml/model/lightweight-class-definition.ts => easy-ast/types/lightweight-class-definition.d.ts} (54%) rename test/mapping-model/aggregations/src/agg-inherited-global.ts => src/easy-ast/types/lightweight-comment.d.ts (55%) rename test/model/test-function.ts => src/easy-ast/types/lightweight-definition-kind.ts (82%) create mode 100644 src/easy-ast/types/lightweight-definition.d.ts create mode 100644 src/easy-ast/types/lightweight-project.ts rename src/{uml/model/lightweight-property.ts => easy-ast/types/lightweight-property.d.ts} (59%) create mode 100644 src/easy-ast/types/lightweight-type.d.ts delete mode 100644 src/mapping.ts delete mode 100644 src/mappings/aggregation-definitions.ts delete mode 100644 src/mappings/definitions/fieldmap.ts delete mode 100644 src/mappings/definitions/premap.ts delete mode 100644 src/mappings/definitions/settings.ts delete mode 100644 src/mappings/definitions/typemap.ts delete mode 100644 src/mappings/mapping-definitions.ts rename test/mapping-model/aggregations/src/agg-global.ts => src/types/pack.d.ts (61%) create mode 100644 src/types/routes.d.ts rename src/{uml/model/lightweight-enum-definition.ts => types/schema.d.ts} (64%) create mode 100644 src/types/validator.d.ts delete mode 100644 src/uml/model/lightweight-type.ts delete mode 100644 src/uml/read-definitions.ts rename src/uml/{uml-config.ts => uml-config.d.ts} (97%) create mode 100644 src/util/collections.ts create mode 100644 src/util/guards.ts create mode 100644 src/util/io.ts rename src/{uml/model/lightweight-definition.ts => util/string.ts} (71%) delete mode 100644 test/aggregations.spec.ts create mode 100644 test/easy-ast.spec.ts create mode 100644 test/easy-ast/alias-like.ast-test.ts create mode 100644 test/easy-ast/array-like.ast-test.ts create mode 100644 test/easy-ast/class-like.ast-test.ts create mode 100644 test/easy-ast/comment.ast-test.ts create mode 100644 test/easy-ast/default-generics.ast-test.ts rename test/{mapping-model/aggregations/src/types.ts => easy-ast/easy-ast-spec-type.d.ts} (65%) create mode 100644 test/easy-ast/enum-specified-value.ast-test.ts create mode 100644 test/easy-ast/generics.ast-test.ts create mode 100644 test/easy-ast/index-signature.ast-test.ts create mode 100644 test/easy-ast/ineritance.ast-test.ts create mode 100644 test/easy-ast/nested.ast-test.ts create mode 100644 test/easy-ast/primitive-types.ast-test.ts create mode 100644 test/easy-ast/stack-overflow.ast-test.ts delete mode 100644 test/mapping-model/MapAggTest.ts delete mode 100644 test/mapping-model/MapAggTestOptions.ts delete mode 100644 test/mapping-model/aggregations/src/agg-array.ts delete mode 100644 test/mapping-model/aggregations/src/agg-global-nested.ts delete mode 100644 test/mapping-model/aggregations/src/agg-inherited.ts delete mode 100644 test/mapping-model/aggregations/src/agg-nested.ts delete mode 100644 test/mapping-model/aggregations/tsconfig.json delete mode 100644 test/mapping-model/mappings/src/any-unknown.ts delete mode 100644 test/mapping-model/mappings/src/date.ts delete mode 100644 test/mapping-model/mappings/src/default-generics.ts delete mode 100644 test/mapping-model/mappings/src/double-type-conflict.ts delete mode 100644 test/mapping-model/mappings/src/enum.ts delete mode 100644 test/mapping-model/mappings/src/filterable-tag.ts delete mode 100644 test/mapping-model/mappings/src/generics.ts delete mode 100644 test/mapping-model/mappings/src/impossible-union.ts delete mode 100644 test/mapping-model/mappings/src/incompatible-type.ts delete mode 100644 test/mapping-model/mappings/src/index-signature.ts delete mode 100644 test/mapping-model/mappings/src/inherit-tags.ts delete mode 100644 test/mapping-model/mappings/src/inherited-property.ts delete mode 100644 test/mapping-model/mappings/src/invalid-tag.ts delete mode 100644 test/mapping-model/mappings/src/map-explicit-types.ts delete mode 100644 test/mapping-model/mappings/src/missing-premap.ts delete mode 100644 test/mapping-model/mappings/src/nested.ts delete mode 100644 test/mapping-model/mappings/src/object-union.ts delete mode 100644 test/mapping-model/mappings/src/paired-tags.ts delete mode 100644 test/mapping-model/mappings/src/sensible-defaults.ts delete mode 100644 test/mapping-model/mappings/src/sortable-tag.ts delete mode 100644 test/mapping-model/mappings/src/tags-ignore-case.ts delete mode 100644 test/mapping-model/mappings/src/type-alias.ts delete mode 100644 test/mapping-model/mappings/src/type-overrides.ts delete mode 100644 test/mapping-model/mappings/src/type-query.ts delete mode 100644 test/mapping-model/mappings/src/type-wrapper-inheritance.ts delete mode 100644 test/mapping-model/mappings/src/types.ts delete mode 100644 test/mapping-model/mappings/tsconfig.json delete mode 100644 test/mapping.spec.ts delete mode 100644 test/model/generated-model.ts rename test/model/{ => src}/test-class.ts (99%) rename test/model/{ => src}/test-enum.ts (100%) rename test/model/{ => src}/test-interface.ts (95%) rename test/model/{ => src}/test-union.ts (94%) create mode 100644 test/model/tsconfig.json delete mode 100644 test/read-definitions.spec.ts delete mode 100644 tslint.json diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..3d0a9346 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +resources +openapi diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 00000000..3662786d --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,102 @@ +{ + "root": true, + "ignorePatterns": [ + "projects/**/*" + ], + "overrides": [ + { + "files": [ + "*.ts" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 2020, + "sourceType": "module", + "project": [ + "tsconfig.json" + ], + "createDefaultProgram": true + }, + "extends": [ + "plugin:@typescript-eslint/recommended", + "plugin:prettier/recommended", + "plugin:prettier/recommended", + "plugin:jsdoc/recommended", + "plugin:unicorn/recommended" + ], + "plugins": [ + "eslint-plugin-unicorn", + "eslint-plugin-jsdoc", + "prettier" + ], + "settings": { + "jsdoc": { + "mode": "typescript" + } + }, + "rules": { + "unicorn/filename-case": "error", + "unicorn/no-array-callback-reference": "off", + "unicorn/no-useless-undefined": "off", + "unicorn/prefer-node-protocol": "off", + "unicorn/no-process-exit": "off", + "unicorn/prevent-abbreviations": [ + "error", + { + "replacements": { + "ref": false, + "i": false + } + } + ], + "unicorn/no-nested-ternary": "off", + "unicorn/better-regex": "off", + + "jsdoc/no-types": "error", + "jsdoc/require-param": "off", + "jsdoc/require-param-description": "error", + "jsdoc/check-param-names": "error", + "jsdoc/require-returns": "off", + "jsdoc/require-param-type": "off", + "jsdoc/require-returns-type": "off", + "jsdoc/check-tag-names": [ + "error", + { + "definedTags": ["internal"] + } + ], + + "@typescript-eslint/explicit-module-boundary-types": "off", + "@typescript-eslint/no-unused-vars": [ + "error", + { + "args": "after-used", + "argsIgnorePattern": "^_" + } + ], + "@typescript-eslint/lines-between-class-members": [ + "error", + "always" + ], + "@typescript-eslint/no-explicit-any": "error", + "@typescript-eslint/no-non-null-assertion": "off", + + "prettier/prettier": [ + "error", + { + "tabWidth": 2, + "printWidth": 110, + "useTabs": false, + "semi": true, + "singleQuote": true, + "quoteProps": "consistent", + "trailingComma": "all", + "bracketSpacing": false, + "arrowParens": "avoid", + "endOfLine": "lf" + } + ] + } + } + ] +} diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fe446b28..e2c5234d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -57,17 +57,6 @@ openapi: paths: - openapi/openapi.json -mapping: - dependencies: - - build - stage: test - services: - - name: registry.gitlab.com/openstapps/database:master - alias: elasticsearch - script: - - npm install @openstapps/core - - node lib/cli.js put-es-templates ./node_modules/@openstapps/core/src http://elasticsearch:9200/ "pattern,see,minlength,tjs-format" - package: dependencies: - build diff --git a/README.md b/README.md index 1d314e65..a99b3e33 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,15 @@ Inside of a script in `package.json` or if the npm package is installed globally openstapps-core-tools schema src/core lib/schema ``` +## What is Easy AST? + +Easy [AST](https://en.wikipedia.org/wiki/Abstract_syntax_tree) is a "wrapper" around the TypeScript Compiler API. The TS Compiler API is built for many +much more complex things than just accessing type declarations, and thus comes with a ton of +bloat that makes it really difficult to work with. + +This is why we built the Easy AST, which converts the TS representation to a really easy and +lightweight structure, that removes a lot of the stuff you wouldn't really need. + ## How to use the validator? ### Using the validator programatically @@ -143,51 +152,6 @@ To pack all the different files into two distribution files - one for definition openstapps-core-tools pack ``` -## How to use the Elasticsearch Mapping generator - -The mapping generator is intended to be used by the backend directly, but it can also be used to generate these files -manually. - -### Generating the mapping files by hand - -To generate the mapping files by hand, you need a local copy of the core-tools and the core, both need to be built first. -After that you can run -``` -node lib/cli.js mapping path/to/core path/to/destination ignoredTag1,ignoredTag2,ignoredTag3 -``` -If you don't pass in any ignored tags, you will likely be prompted with errors, despite the core being absolutely correct. -This is because there are some tags that are not relevant to Elasticsearch, but the program has no direct way to tell -which ones simply lack an implementation and which ones can be ignored. Currently the ignored tags include -`minlength`, `pattern` and `see`. - -### Generating the mapping directly from another TypeScript program - -This is the more easy way, and it gives you direct access to the generated mapping as a (mostly typesafe) object. To -use it, call `generateTemplate`, However you will first need to generate a ProjectReflection of the core you are working -with. If you use the core as a dependency, you can for example use -```typescript -const map = generateTemplate(getProjectReflection(resolve('node_modules', '@openstapps', 'core', 'src')), - ignoredTags, false); -``` -to generate the mappings. Note that the result object contains both a list of errors in `map.errors` and the actual mapping -in `map.template`. You can also specify whether you want the generator to show any errors while generating the mappings -in the console in the last parameter, `true` (default) being show errors and `false` to suppress them. That said it is very -easy to replace all `type: "MISSING_PREMAP"`, `type: "PARSE_ERROR"`, `type: "TYPE_CONFLICT"` with `dynamic: true` (you -can take these exactly like written here and run a replace over the file). - -### Fixing a generated mapping by hand - -If you get errors when generating the mappings, the mappings might not work, however they will still be generated to the -programs best efforts. Most small issues can be fixed after the mapping was generated as a temporary solution and without -changing anything in the mapper's code. This however requires some understanding of how mappings work. - -The output of the program can easily reach 25.000 lines, but you can find errors quickly by searching for `MISSING_PREMAP`, -`PARSE_ERROR` and `TYPE_CONFLICT`. When you reach them you can then manually replace them with your code. - -As a last resort you can also replace all errors with dynamic types, this should get the mapping working, but it is NOT -RECOMMENDED as a fix other than using it locally. - - ## How to use the UML generator The UML Generator generates PlantUML from the project reflection of the source files. By default it will include externals, which will take considerably longer to execute, you can disable this behaviour via an option. It can help you to visually explore the data model or document a specific part. diff --git a/package-lock.json b/package-lock.json index ffc3d741..8c22ae29 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,10 +12,230 @@ "@babel/highlight": "^7.14.5" } }, - "@babel/helper-validator-identifier": { + "@babel/compat-data": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", + "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", + "dev": true + }, + "@babel/core": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", + "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.0", + "@babel/helper-compilation-targets": "^7.15.0", + "@babel/helper-module-transforms": "^7.15.0", + "@babel/helpers": "^7.14.8", + "@babel/parser": "^7.15.0", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/eslint-parser": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.15.0.tgz", + "integrity": "sha512-+gSPtjSBxOZz4Uh8Ggqu7HbfpB8cT1LwW0DnVVLZEJvzXauiD0Di3zszcBkRmfGGrLdYeHUwcflG7i3tr9kQlw==", + "dev": true, + "requires": { + "eslint-scope": "^5.1.1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", + "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", + "dev": true, + "requires": { + "@babel/types": "^7.15.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", + "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.15.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", + "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", + "dev": true, + "requires": { + "@babel/types": "^7.15.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", + "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", + "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.15.0", + "@babel/helper-simple-access": "^7.14.8", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.9", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-replace-supers": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", + "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.15.0", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" + } + }, + "@babel/helper-simple-access": { "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz", - "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==" + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", + "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", + "dev": true, + "requires": { + "@babel/types": "^7.14.8" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", + "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==" + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true + }, + "@babel/helpers": { + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz", + "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==", + "dev": true, + "requires": { + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.15.0", + "@babel/types": "^7.15.0" + } }, "@babel/highlight": { "version": "7.14.5", @@ -73,6 +293,12 @@ } } }, + "@babel/parser": { + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", + "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==", + "dev": true + }, "@babel/runtime": { "version": "7.14.8", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.8.tgz", @@ -81,17 +307,128 @@ "regenerator-runtime": "^0.13.4" } }, + "@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/traverse": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", + "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.15.0", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.15.0", + "@babel/types": "^7.15.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", + "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + }, + "@cspotcode/source-map-consumer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==" + }, + "@cspotcode/source-map-support": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.6.1.tgz", + "integrity": "sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg==", + "requires": { + "@cspotcode/source-map-consumer": "0.8.0" + } + }, + "@es-joy/jsdoccomment": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.8.0.tgz", + "integrity": "sha512-Xd3GzYsL2sz2pcdtYt5Q0Wz1ol/o9Nt2UQL4nFPDcaEomvPmwjJsbjkKx1SKhl2h3TgwazNBLdcNr2m0UiGiFA==", + "dev": true, + "requires": { + "comment-parser": "^1.1.5", + "esquery": "^1.4.0", + "jsdoc-type-pratt-parser": "1.0.4" + }, + "dependencies": { + "jsdoc-type-pratt-parser": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.0.4.tgz", + "integrity": "sha512-jzmW9gokeq9+bHPDR1nCeidMyFUikdZlbOhKzh9+/nJqB75XhpNKec1/UuxW5c4+O+Pi31Gc/dCboyfSm/pSpQ==", + "dev": true + } + } + }, + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + } + } + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==" + }, "@hutson/parse-repository-url": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", "dev": true }, - "@krlwlfrt/async-pool": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@krlwlfrt/async-pool/-/async-pool-0.6.0.tgz", - "integrity": "sha512-xP4sfGMDUU+sb+m6swwO7Wr8MGRzJyd7IuUFQpC/Qqq30IoMeP7YtHmC/C235kIWZhQVtrcmuVgDY9pXuKueEw==" - }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -250,6 +587,7 @@ "version": "9.0.12", "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz", "integrity": "sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==", + "dev": true, "requires": { "@types/node": "*" } @@ -258,6 +596,7 @@ "version": "7.1.4", "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", + "dev": true, "requires": { "@types/minimatch": "*", "@types/node": "*" @@ -269,9 +608,9 @@ "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" }, "@types/json-schema": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz", - "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==" + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" }, "@types/keyv": { "version": "3.1.2", @@ -281,10 +620,17 @@ "@types/node": "*" } }, + "@types/lodash": { + "version": "4.14.172", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.172.tgz", + "integrity": "sha512-/BHF5HAx3em7/KkzVKm3LrsD6HZAXuXO1AJZQ3cRRBZj4oHZDviWPYu0aEplAqDFNHZPW6d3G7KN+ONcCCC7pw==", + "dev": true + }, "@types/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true }, "@types/minimist": { "version": "1.2.2", @@ -301,12 +647,13 @@ "@types/mustache": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-4.1.2.tgz", - "integrity": "sha512-c4OVMMcyodKQ9dpwBwh3ofK9P6U9ZktKU9S+p33UqwMNN1vlv2P0zJZUScTshnx7OEoIIRcCFNQ904sYxZz8kg==" + "integrity": "sha512-c4OVMMcyodKQ9dpwBwh3ofK9P6U9ZktKU9S+p33UqwMNN1vlv2P0zJZUScTshnx7OEoIIRcCFNQ904sYxZz8kg==", + "dev": true }, "@types/node": { - "version": "14.17.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.5.tgz", - "integrity": "sha512-bjqH2cX/O33jXT/UmReo2pM7DIJREPMnarixbQ57DOOzzFaI6D2+IcwaJQaJpv0M1E9TIhPCYVxrkcityLjlqA==" + "version": "14.17.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.9.tgz", + "integrity": "sha512-CMjgRNsks27IDwI785YMY0KLt3co/c0cQ5foxHYv/shC2w8oOnVwz5Ubq1QG5KzrcW+AXk6gzdnxIkDnTvzu3g==" }, "@types/nodemailer": { "version": "6.4.1", @@ -355,6 +702,111 @@ "yaml": "*" } }, + "@typescript-eslint/eslint-plugin": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.3.0.tgz", + "integrity": "sha512-RqEcaHuEKnn3oPFislZ6TNzsBLqpZjN93G69SS+laav/I8w/iGMuMq97P0D2/2/kW4SCebHggqhbcCfbDaaX+g==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.3.0", + "@typescript-eslint/scope-manager": "4.3.0", + "debug": "^4.1.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + } + } + }, + "@typescript-eslint/experimental-utils": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.3.0.tgz", + "integrity": "sha512-cmmIK8shn3mxmhpKfzMMywqiEheyfXLV/+yPDnOTvQX/ztngx7Lg/OD26J8gTZfkLKUmaEBxO2jYP3keV7h2OQ==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/scope-manager": "4.3.0", + "@typescript-eslint/types": "4.3.0", + "@typescript-eslint/typescript-estree": "4.3.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.3.0.tgz", + "integrity": "sha512-JyfRnd72qRuUwItDZ00JNowsSlpQGeKfl9jxwO0FHK1qQ7FbYdoy5S7P+5wh1ISkT2QyAvr2pc9dAemDxzt75g==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "4.3.0", + "@typescript-eslint/types": "4.3.0", + "@typescript-eslint/typescript-estree": "4.3.0", + "debug": "^4.1.1" + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.3.0.tgz", + "integrity": "sha512-cTeyP5SCNE8QBRfc+Lgh4Xpzje46kNUhXYfc3pQWmJif92sjrFuHT9hH4rtOkDTo/si9Klw53yIr+djqGZS1ig==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.3.0", + "@typescript-eslint/visitor-keys": "4.3.0" + } + }, + "@typescript-eslint/types": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.3.0.tgz", + "integrity": "sha512-Cx9TpRvlRjOppGsU6Y6KcJnUDOelja2NNCX6AZwtVHRzaJkdytJWMuYiqi8mS35MRNA3cJSwDzXePfmhU6TANw==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.3.0.tgz", + "integrity": "sha512-ZAI7xjkl+oFdLV/COEz2tAbQbR3XfgqHEGy0rlUXzfGQic6EBCR4s2+WS3cmTPG69aaZckEucBoTxW9PhzHxxw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.3.0", + "@typescript-eslint/visitor-keys": "4.3.0", + "debug": "^4.1.1", + "globby": "^11.0.1", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.3.0.tgz", + "integrity": "sha512-xZxkuR7XLM6RhvLkgv9yYlTcBHnTULzfnw4i6+z2TGBLy9yljAypQaZl9c3zFvy7PNI7fYWyvKYtohyF8au3cw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.3.0", + "eslint-visitor-keys": "^2.0.0" + } + }, "@ungap/promise-all-settled": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", @@ -371,6 +823,21 @@ "through": ">=2.2.7 <3" } }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" + }, + "acorn-walk": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz", + "integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==" + }, "add-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", @@ -400,8 +867,7 @@ "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" }, "ansi-regex": { "version": "3.0.0", @@ -436,7 +902,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -463,10 +928,10 @@ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" }, "balanced-match": { "version": "1.0.2", @@ -562,10 +1027,18 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "browserslist": { + "version": "4.16.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz", + "integrity": "sha512-7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001248", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.793", + "escalade": "^3.1.1", + "node-releases": "^1.1.73" + } }, "builtin-modules": { "version": "1.1.1", @@ -592,6 +1065,11 @@ "responselike": "^2.0.0" } }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -617,6 +1095,12 @@ } } }, + "caniuse-lite": { + "version": "1.0.30001249", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001249.tgz", + "integrity": "sha512-vcX4U8lwVXPdqzPWi6cAJ3FnQaqXbBqy/GZseKNQzRj37J7qZdGcBtxq/QLFNLLlfsoXLUdHw8Iwenri86Tagw==", + "dev": true + }, "chai": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", @@ -660,6 +1144,21 @@ "readdirp": "~3.6.0" } }, + "ci-info": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", + "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "dev": true + }, + "clean-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", + "integrity": "sha1-jffHquUf02h06PjQW5GAvBGj/tc=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -736,10 +1235,22 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "colorette": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", + "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==", + "dev": true + }, "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.1.0.tgz", + "integrity": "sha512-mf45ldcuHSYShkplHHGKWb4TrmwQadxOn7v4WuhDJy0ZVoY5JFajaRDKD0PNe5qXzBX0rhovjTnP6Kz9LETcuA==" + }, + "comment-parser": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.1.5.tgz", + "integrity": "sha512-RePCE4leIhBlmrqiYTvaqEeGYg7qpSl4etaIabKtdOQVi+mSTIBBklGUwIr79GXYnl3LpMwmDw4KeR2stNc6FA==", + "dev": true }, "compare-func": { "version": "2.0.0", @@ -951,6 +1462,23 @@ "trim-off-newlines": "^1.0.0" } }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, "core-js": { "version": "3.15.2", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.15.2.tgz", @@ -967,6 +1495,16 @@ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, "dargs": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", @@ -983,7 +1521,6 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, "requires": { "ms": "2.1.2" }, @@ -991,8 +1528,7 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -1051,6 +1587,11 @@ "type-detect": "^4.0.0" } }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, "deepmerge": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", @@ -1108,11 +1649,16 @@ "is-obj": "^2.0.0" } }, + "electron-to-chromium": { + "version": "1.3.802", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.802.tgz", + "integrity": "sha512-dXB0SGSypfm3iEDxrb5n/IVKeX4uuTnFHdve7v+yKJqNpEP0D4mjFJ8e1znmSR+OOVlVC+kDO6f2kAkTFXvJBg==", + "dev": true + }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "end-of-stream": { "version": "1.4.4", @@ -1122,6 +1668,14 @@ "once": "^1.4.0" } }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "requires": { + "ansi-colors": "^4.1.1" + } + }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -1142,11 +1696,343 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, + "eslint": { + "version": "7.30.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.30.0.tgz", + "integrity": "sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==", + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.2", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "eslint-config-prettier": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", + "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", + "dev": true + }, + "eslint-plugin-jsdoc": { + "version": "35.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-35.4.1.tgz", + "integrity": "sha512-lnpu2Bj+ta2eAqwCWnb6f3Xjc78TWKo/oMCpDH5NfpPhYnePNtGZJzoAMgU5uo9BQqmXJ8pql8aiodOhg82ofw==", + "dev": true, + "requires": { + "@es-joy/jsdoccomment": "^0.8.0", + "comment-parser": "1.1.5", + "debug": "^4.3.1", + "esquery": "^1.4.0", + "jsdoc-type-pratt-parser": "^1.0.4", + "lodash": "^4.17.21", + "regextras": "^0.8.0", + "semver": "^7.3.5", + "spdx-expression-parse": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "eslint-plugin-prettier": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.0.tgz", + "integrity": "sha512-UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-unicorn": { + "version": "34.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-34.0.1.tgz", + "integrity": "sha512-GUBtRYRhPVOW/GDu6QtOjrneSZxY/MulOT8puJU+47VKCzNmMgS/iHO2gZqoQ7KPMrpNYlebUlvCWy3IR1USVQ==", + "dev": true, + "requires": { + "ci-info": "^3.2.0", + "clean-regexp": "^1.0.0", + "eslint-template-visitor": "^2.3.2", + "eslint-utils": "^3.0.0", + "is-builtin-module": "^3.1.0", + "lodash": "^4.17.21", + "pluralize": "^8.0.0", + "read-pkg-up": "^7.0.1", + "regexp-tree": "^0.1.23", + "reserved-words": "^0.1.2", + "safe-regex": "^2.1.1", + "semver": "^7.3.5" + }, + "dependencies": { + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-template-visitor": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/eslint-template-visitor/-/eslint-template-visitor-2.3.2.tgz", + "integrity": "sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA==", + "dev": true, + "requires": { + "@babel/core": "^7.12.16", + "@babel/eslint-parser": "^7.12.16", + "eslint-visitor-keys": "^2.0.0", + "esquery": "^1.3.1", + "multimap": "^1.1.0" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + } + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + } + } + }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" }, "esutils": { "version": "1.1.6", @@ -1159,6 +2045,12 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, "fast-glob": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", @@ -1176,6 +2068,11 @@ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, "fastq": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", @@ -1184,6 +2081,14 @@ "reusify": "^1.0.4" } }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "requires": { + "flat-cache": "^3.0.4" + } + }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -1208,10 +2113,19 @@ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, "flatted": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.1.tgz", - "integrity": "sha512-OMQjaErSFHmHqZe+PSidH5n8j3O0F2DdnVh8JB4j4eUQ2k6KvB0qGfrKIhapvez5JerBbmWkaLYUYWISaESoXg==" + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==" }, "fs-extra": { "version": "10.0.0", @@ -1238,7 +2152,19 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true }, "get-caller-file": { "version": "2.0.5", @@ -1496,6 +2422,21 @@ "is-glob": "^4.0.1" } }, + "globals": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", + "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", + "requires": { + "type-fest": "^0.20.2" + }, + "dependencies": { + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + } + } + }, "globby": { "version": "11.0.4", "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", @@ -1547,6 +2488,7 @@ "version": "4.7.7", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, "requires": { "minimist": "^1.2.5", "neo-async": "^2.6.0", @@ -1565,6 +2507,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -1580,11 +2523,6 @@ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, - "highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==" - }, "hosted-git-info": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", @@ -1621,6 +2559,20 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, "indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", @@ -1646,11 +2598,6 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -1666,10 +2613,28 @@ "binary-extensions": "^2.0.0" } }, + "is-builtin-module": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz", + "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==", + "dev": true, + "requires": { + "builtin-modules": "^3.0.0" + }, + "dependencies": { + "builtin-modules": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", + "dev": true + } + } + }, "is-core-module": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", + "dev": true, "requires": { "has": "^1.0.3" } @@ -1744,8 +2709,7 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "js-tokens": { "version": "4.0.0", @@ -1756,12 +2720,23 @@ "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" } }, + "jsdoc-type-pratt-parser": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.1.1.tgz", + "integrity": "sha512-uelRmpghNwPBuZScwgBG/OzodaFk5RbO5xaivBdsAY70icWfShwZ7PCMO0x1zSkOa8T1FzHThmrdoyg/0AwV5g==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, "json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -1797,6 +2772,11 @@ "jsonify": "~0.0.0" } }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -1812,6 +2792,14 @@ "grapheme-splitter": "^1.0.4" } }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "requires": { + "minimist": "^1.2.5" + } + }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -1856,6 +2844,15 @@ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, "lines-and-columns": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", @@ -1906,18 +2903,33 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + }, "lodash.ismatch": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", "dev": true }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, "lodash.set": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", "dev": true }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=" + }, "log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -1937,16 +2949,10 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, "requires": { "yallist": "^4.0.0" } }, - "lunr": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", - "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" - }, "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -1958,11 +2964,6 @@ "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", "dev": true }, - "marked": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.9.tgz", - "integrity": "sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw==" - }, "meow": { "version": "8.1.2", "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", @@ -2106,9 +3107,9 @@ } }, "mocha": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.0.2.tgz", - "integrity": "sha512-FpspiWU+UT9Sixx/wKimvnpkeW0mh6ROAKkIaPokj3xZgxeRhcna/k5X57jJghEr8X+Cgu/Vegf8zCX5ugSuTA==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.0.3.tgz", + "integrity": "sha512-hnYFrSefHxYS2XFGtN01x8un0EwNu2bzKvhpRFhgoybIvMaOkkL60IVPmkb5h6XDmUl4IMSB+rT5cIO4/4bJgg==", "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", @@ -2236,6 +3237,12 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, + "multimap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multimap/-/multimap-1.1.0.tgz", + "integrity": "sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw==", + "dev": true + }, "mustache": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", @@ -2247,10 +3254,16 @@ "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", "dev": true }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true }, "nock": { "version": "13.1.1", @@ -2264,6 +3277,12 @@ "propagate": "^2.0.0" } }, + "node-releases": { + "version": "1.1.74", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.74.tgz", + "integrity": "sha512-caJBVempXZPepZoZAPCWRTNxYQ+xtG/KAi4ozTA5A+nJ7IU+kLQCbqaUjb5Rwy14M9upBWiQ4NutcmW04LJSRw==", + "dev": true + }, "nodemailer": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.6.0.tgz", @@ -2305,6 +3324,19 @@ "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-9.1.0.tgz", "integrity": "sha512-mhXh8QN8sbErlxfxBeZ/pzgvmDn443p8CXlxwGSi2bWANZAFvjLPI0PoGjqHW+JdBbXg6uvmvM81WXaweh/SVA==" }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -2348,6 +3380,14 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -2371,10 +3411,16 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, "path-type": { "version": "4.0.0", @@ -2402,6 +3448,17 @@ "resolved": "https://registry.npmjs.org/plantuml-encoder/-/plantuml-encoder-1.4.0.tgz", "integrity": "sha512-sxMwpDw/ySY1WB2CE3+IdMuEcWibJ72DDOsXLkSmEaSzwEUaYBT6DWgOfBiHGCux4q433X6+OEFWjlVqp7gL6g==" }, + "pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + }, "prepend-file": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/prepend-file/-/prepend-file-1.3.1.tgz", @@ -2421,6 +3478,21 @@ "prepend-file": "1.3.1" } }, + "prettier": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -2610,14 +3682,6 @@ "picomatch": "^2.2.1" } }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "requires": { - "resolve": "^1.1.6" - } - }, "redent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", @@ -2633,16 +3697,45 @@ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" }, + "regexp-tree": { + "version": "0.1.23", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.23.tgz", + "integrity": "sha512-+7HWfb4Bvu8Rs2eQTUIpX9I/PlQkYOuTNbRpKLJlQpSgwSkzFYh+pUj0gtvglnOZLKB6YgnIgRuJ2/IlpL48qw==", + "dev": true + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" + }, + "regextras": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.8.0.tgz", + "integrity": "sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==", + "dev": true + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "reserved-words": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz", + "integrity": "sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE=", + "dev": true + }, "resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, "requires": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" @@ -2653,6 +3746,11 @@ "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.1.2.tgz", "integrity": "sha512-8OyfzhAtA32LVUsJSke3auIyINcwdh5l3cvYKdKO0nvsYSKuiLfTM5i78PJswFPT8y6cPW+L1v6/hE95chcpDA==" }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, "responselike": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", @@ -2688,11 +3786,19 @@ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, + "safe-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz", + "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==", + "dev": true, + "requires": { + "regexp-tree": "~0.1.1" + } + }, "semver": { "version": "7.3.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, "requires": { "lru-cache": "^6.0.0" } @@ -2706,34 +3812,46 @@ "randombytes": "^2.1.0" } }, - "shelljs": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", - "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" + "shebang-regex": "^3.0.0" } }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + } + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "spdx-correct": { "version": "3.1.1", @@ -2788,8 +3906,7 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "string-width": { "version": "2.1.1", @@ -2837,8 +3954,7 @@ "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" }, "supports-color": { "version": "7.2.0", @@ -2848,6 +3964,65 @@ "has-flag": "^4.0.0" } }, + "table": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", + "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", + "requires": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", + "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, "temp-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", @@ -2870,6 +4045,11 @@ "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", "dev": true }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -2894,6 +4074,12 @@ "os-tmpdir": "~1.0.1" } }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -2920,44 +4106,43 @@ "dev": true }, "ts-json-schema-generator": { - "version": "0.70.2", - "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.70.2.tgz", - "integrity": "sha512-4miuxRyxYvwzCGGzxGvN39fwlY7HDlj1KRpZq8Hi3IegeAnguc9q4gDvcqMaDKoRiNNnV5fwplRWZFhRrtvr4Q==", + "version": "0.95.0", + "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.95.0.tgz", + "integrity": "sha512-qyArLCOmy0UnnGeCewpZgaGglPMmawAhsuYDRDa1BeZiyE+M/I2dH+dSMtFj8kVbWSEayfVmQIF9UBINBfeKSg==", "requires": { - "@types/json-schema": "^7.0.5", - "commander": "~5.1.0", - "glob": "~7.1.6", + "@types/json-schema": "^7.0.7", + "commander": "^8.0.0", + "fast-json-stable-stringify": "^2.1.0", + "glob": "^7.1.7", "json-stable-stringify": "^1.0.1", - "typescript": "~3.9.5" - }, - "dependencies": { - "commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" - }, - "typescript": { - "version": "3.9.10", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", - "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==" - } + "json5": "^2.2.0", + "typescript": "~4.3.4" } }, "ts-node": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.1.0.tgz", - "integrity": "sha512-6szn3+J9WyG2hE+5W8e0ruZrzyk1uFLYye6IGMBadnOzDh8aP7t8CbFpsfCiEx2+wMixAhjFt7lOZC4+l+WbEA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.2.0.tgz", + "integrity": "sha512-FstYHtQz6isj8rBtYMN4bZdnXN1vq4HCbqn9vdNQcInRqtB86PePJQIxE6es0PhxKWhj2PHuwbG40H+bxkZPmg==", "requires": { + "@cspotcode/source-map-support": "0.6.1", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.1", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", "arg": "^4.1.0", "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "source-map-support": "^0.5.17", "yn": "3.1.1" + }, + "dependencies": { + "acorn": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", + "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==" + } } }, "tslib": { @@ -3088,6 +4273,14 @@ "tslib": "^1.8.1" } }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "requires": { + "prelude-ls": "^1.2.1" + } + }, "type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -3099,53 +4292,16 @@ "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "dev": true }, - "typedoc": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.18.0.tgz", - "integrity": "sha512-UgDQwapCGQCCdYhEQzQ+kGutmcedklilgUGf62Vw6RdI29u6FcfAXFQfRTiJEbf16aK3YnkB20ctQK1JusCRbA==", - "requires": { - "fs-extra": "^9.0.1", - "handlebars": "^4.7.6", - "highlight.js": "^10.0.0", - "lodash": "^4.17.15", - "lunr": "^2.3.8", - "marked": "^1.1.1", - "minimatch": "^3.0.0", - "progress": "^2.0.3", - "shelljs": "^0.8.4", - "typedoc-default-themes": "^0.10.2" - }, - "dependencies": { - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - } - } - }, - "typedoc-default-themes": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.10.2.tgz", - "integrity": "sha512-zo09yRj+xwLFE3hyhJeVHWRSPuKEIAsFK5r2u47KL/HBKqpwdUSanoaz5L34IKiSATFrjG5ywmIu98hPVMfxZg==", - "requires": { - "lunr": "^2.3.8" - } - }, "typescript": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", - "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==" + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", + "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==" }, "uglify-js": { "version": "3.13.10", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.10.tgz", "integrity": "sha512-57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg==", + "dev": true, "optional": true }, "universalify": { @@ -3173,6 +4329,11 @@ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "dev": true }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" + }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -3187,7 +4348,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "requires": { "isexe": "^2.0.0" } @@ -3201,10 +4361,16 @@ "string-width": "^1.0.2 || 2" } }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true }, "workerpool": { "version": "6.1.5", @@ -3282,8 +4448,7 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { "version": "1.10.0", diff --git a/package.json b/package.json index 20acc442..a3fddbe8 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "Wieland Schöbl" ], "scripts": { - "build": "npm run tslint && npm run compile", + "build": "npm run lint && npm run compile", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md && git commit -m 'docs: update changelog'", "check-configuration": "openstapps-configuration", "compile": "rimraf lib && tsc && prepend lib/cli.js '#!/usr/bin/env node\n'", @@ -41,48 +41,56 @@ "preversion": "npm run prepublishOnly", "push": "git push && git push origin \"v$npm_package_version\"", "test": "mocha --require ts-node/register test/*.spec.ts", - "tslint": "tslint -p tsconfig.json -c tslint.json 'src/**/*.ts'" + "lint:fix": "eslint --fix -c .eslintrc.json --ignore-path .eslintignore --ext .ts src/", + "lint": "eslint -c .eslintrc.json --ignore-path .eslintignore --ext .ts src/" }, "dependencies": { - "@krlwlfrt/async-pool": "0.6.0", "@openstapps/logger": "0.7.0", - "@types/fs-extra": "9.0.12", - "@types/glob": "7.1.4", - "@types/json-schema": "7.0.8", - "@types/mustache": "4.1.2", - "@types/node": "14.17.5", "ajv": "6.12.6", "better-ajv-errors": "0.7.0", "chai": "4.3.4", - "commander": "7.2.0", + "commander": "8.1.0", "deepmerge": "4.2.2", "del": "6.0.0", - "flatted": "3.2.1", + "eslint": "7.30.0", + "flatted": "3.2.2", "fs-extra": "10.0.0", "glob": "7.1.7", "got": "11.8.2", "humanize-string": "2.1.0", "json-schema": "0.3.0", + "lodash": "4.17.21", "mustache": "4.2.0", "openapi-types": "9.1.0", "plantuml-encoder": "1.4.0", "toposort": "2.0.2", - "ts-json-schema-generator": "0.70.2", - "ts-node": "10.1.0", - "typedoc": "0.18.0", - "typescript": "3.8.3" + "ts-json-schema-generator": "0.95.0", + "ts-node": "10.2.0", + "typescript": "4.3.5" }, "devDependencies": { "@openstapps/configuration": "0.27.0", "@testdeck/mocha": "0.1.2", "@types/chai": "4.2.21", + "@types/fs-extra": "9.0.12", + "@types/glob": "7.1.4", + "@types/json-schema": "7.0.9", + "@types/lodash": "4.14.172", "@types/mocha": "8.2.3", + "@types/mustache": "4.1.2", + "@types/node": "14.17.9", "@types/rimraf": "3.0.1", + "@typescript-eslint/eslint-plugin": "4.3.0", + "@typescript-eslint/parser": "4.3.0", "conventional-changelog-cli": "2.1.1", - "mocha": "9.0.2", + "eslint-config-prettier": "8.3.0", + "eslint-plugin-jsdoc": "35.4.1", + "eslint-plugin-prettier": "3.4.0", + "eslint-plugin-unicorn": "34.0.1", + "mocha": "9.0.3", "nock": "13.1.1", "prepend-file-cli": "1.0.6", - "rimraf": "3.0.2", - "tslint": "6.1.3" + "prettier": "2.3.2", + "rimraf": "3.0.2" } } diff --git a/src/cli.ts b/src/cli.ts index fba554de..3ac8a560 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018-2019 StApps + * Copyright (C) 2018-2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -16,27 +16,16 @@ import {Logger} from '@openstapps/logger'; import {Command} from 'commander'; import {existsSync, readFileSync, writeFileSync} from 'fs'; import {copy} from 'fs-extra'; -import got from 'got'; -import {join, relative, resolve} from 'path'; -import {exit} from 'process'; -import { - capitalize, - getProjectReflection, - mkdirPromisified, - readFilePromisified, - toArray, -} from './common'; -import {generateTemplate} from './mapping'; +import path from 'path'; +import {mkdirPromisified, readFilePromisified} from './common'; +import {lightweightDefinitionsFromPath, lightweightProjectFromPath} from './easy-ast/easy-ast'; import {pack} from './pack'; import {openapi3Template} from './resources/openapi-303-template'; -import { - gatherRouteInformation, - generateOpenAPIForRoute, -} from './routes'; -import {Converter, getValidatableTypesFromReflection} from './schema'; +import {gatherRouteInformation, generateOpenAPIForRoute} from './routes'; +import {Converter, getValidatableTypesInPath} from './schema'; import {createDiagram, createDiagramFromString} from './uml/create-diagram'; -import {readDefinitions} from './uml/read-definitions'; import {UMLConfig} from './uml/uml-config'; +import {capitalize} from './util/string'; import {validateFiles, writeReport} from './validate'; // handle unhandled promise rejections @@ -50,35 +39,41 @@ process.on('unhandledRejection', async (reason: unknown) => { const commander = new Command('openstapps-core-tools'); -commander - .version(JSON.parse( - readFileSync(resolve(__dirname, '..', 'package.json')) - .toString(), - ).version); +// eslint-disable-next-line unicorn/prefer-module +commander.version(JSON.parse(readFileSync(path.resolve(__dirname, '..', 'package.json')).toString()).version); + +commander.command('prototype ').action(async (sourcePath, out) => { + const files = lightweightProjectFromPath(sourcePath); + writeFileSync(path.resolve(out), JSON.stringify(files, undefined, 2)); +}); commander .command('openapi ') - .action(async (relativeSrcPath, relativeOutDirPath) => { + .action(async (relativeSourceBundlePath, relativeOutDirectoryPath) => { // get absolute paths - const srcPath = resolve(relativeSrcPath); - const outDirPath = resolve(relativeOutDirPath); - const outDirSchemasPath = join(outDirPath, 'schemas'); - - // get project reflection - const projectReflection = getProjectReflection(srcPath); + const sourcePath = path.resolve(relativeSourceBundlePath); + const outDirectoryPath = path.resolve(relativeOutDirectoryPath); + const outDirectorySchemasPath = path.join(outDirectoryPath, 'schemas'); // get information about routes - const routes = await gatherRouteInformation(projectReflection); + const routes = await gatherRouteInformation(sourcePath); routes.sort((a, b) => a.route.urlFragment.localeCompare(b.route.urlFragment)); // change url path parameters to openapi notation - routes.forEach((routeWithMetaInformation) => { - routeWithMetaInformation.route.urlFragment = routeWithMetaInformation.route.urlFragment.replace(/:\w+/g, (match) => `{${match.replace(':','')}}`); - }); + for (const routeWithMetaInformation of routes) { + routeWithMetaInformation.route.urlFragment = routeWithMetaInformation.route.urlFragment.replace( + /:\w+/g, + (match: string) => `{${match.replace(':', '')}}`, + ); + } // keep openapi tags for routes that actually share url fragments - let tagsToKeep = routes.map((routeWithMetaInformation) => capitalize(routeWithMetaInformation.route.urlFragment.split('/')[1])); - tagsToKeep = tagsToKeep.filter((element, i, array) => array.indexOf(element) === i && array.lastIndexOf(element) !== i); + let tagsToKeep = routes.map(routeWithMetaInformation => + capitalize(routeWithMetaInformation.route.urlFragment.split('/')[1]), + ); + tagsToKeep = tagsToKeep.filter( + (element, i, array) => array.indexOf(element) === i && array.lastIndexOf(element) !== i, + ); // initialize json output const output = openapi3Template; @@ -87,194 +82,99 @@ commander const schemasToCopy: string[] = []; // generate documentation for all routes - routes.forEach((routeWithMetaInformation) => { + for (const routeWithMetaInformation of routes) { routeWithMetaInformation.tags = [capitalize(routeWithMetaInformation.route.urlFragment.split('/')[1])]; output.paths[routeWithMetaInformation.route.urlFragment] = generateOpenAPIForRoute( routeWithMetaInformation, - relative(relativeOutDirPath,outDirSchemasPath), + path.relative(relativeOutDirectoryPath, outDirectorySchemasPath), schemasToCopy, tagsToKeep, ); - }); + } // copy schema json schema files try { - if (!existsSync(outDirSchemasPath)){ - await mkdirPromisified(outDirSchemasPath, { + if (!existsSync(outDirectorySchemasPath)) { + await mkdirPromisified(outDirectorySchemasPath, { recursive: true, }); } for (const fileName of schemasToCopy) { - await copy(join(srcPath, 'schema', `${fileName}.json`), join(outDirSchemasPath, `${fileName}.json`)); + await copy( + path.join(sourcePath, 'schema', `${fileName}.json`), + path.join(outDirectorySchemasPath, `${fileName}.json`), + ); } } catch (error) { await Logger.error(error); - // tslint:disable-next-line: no-magic-numbers process.exit(-2); } // write openapi object to file (prettified) - // tslint:disable-next-line: no-magic-numbers - writeFileSync(join(outDirPath, 'openapi.json'), JSON.stringify(output, null, 2)); + writeFileSync(path.join(outDirectoryPath, 'openapi.json'), JSON.stringify(output, undefined, 2)); - Logger.ok(`OpenAPI representation resources written to ${outDirPath} .`); + Logger.ok(`OpenAPI representation resources written to ${outDirectoryPath} .`); }); -commander - .command('mapping ') - .option('-m, --mappingPath ', 'Mapping Path') - .option('-i, --ignoredTags ', 'Ignored Tags (comma-separated)') - .option('-a, --aggPath ', 'Aggregations Path') - .option('-e, --errorPath ', 'Error Path') - .action(async (relativeSrcPath, options) => { - // get absolute paths - const srcPath = resolve(relativeSrcPath); +commander.command('schema ').action(async (relativeSourcePath, relativeSchemaPath) => { + // get absolute paths + const absoluteSourcePath = path.resolve(relativeSourcePath); + const schemaPath = path.resolve(relativeSchemaPath); - let ignoredTagsList: string[] = []; - if (typeof options.ignoredTags === 'string') { - ignoredTagsList = options.ignoredTags.split(','); - } + // initialize new core converter + const coreConverter = new Converter(absoluteSourcePath); - // get project reflection - const projectReflection = getProjectReflection(srcPath); + // get validatable types + const validatableTypes = getValidatableTypesInPath(absoluteSourcePath); - const result = generateTemplate(projectReflection, ignoredTagsList, true); - if (result.errors.length !== 0) { - await Logger.error('Mapping generated with errors!'); - } else { - Logger.ok('Mapping generated without errors!'); - } + Logger.info(`Found ${validatableTypes.length} type(s) to generate schemas for.`); - // write documentation to file - if (typeof options.aggPath !== 'undefined') { - const aggPath = resolve(options.aggPath); - // tslint:disable-next-line:no-magic-numbers - writeFileSync(aggPath, JSON.stringify(result.aggregations, null, 2)); - Logger.ok(`Elasticsearch aggregations written to ${aggPath}.`); - } - if (typeof options.mappingPath !== 'undefined') { - const mappingPath = resolve(options.mappingPath); - // tslint:disable-next-line:no-magic-numbers - writeFileSync(mappingPath, JSON.stringify(result.mappings, null, 2)); - Logger.ok(`Elasticsearch mappings written to ${mappingPath}.`); - } - if (typeof options.errorPath !== 'undefined') { - const errPath = resolve(options.errorPath); - // tslint:disable-next-line:no-magic-numbers - writeFileSync(errPath, JSON.stringify(result.errors, null, 2)); - Logger.ok(`Mapping errors written to ${errPath}.`); - } + await mkdirPromisified(schemaPath, { + recursive: true, }); -commander - .command('put-es-templates [ignoredTags]') - .action(async (relativeSrcPath, esAddress, ignoredTags) => { - // get absolute paths - const srcPath = resolve(relativeSrcPath); + Logger.info(`Trying to find a package.json for ${absoluteSourcePath}.`); - let ignoredTagsList: string[] = []; - if (typeof ignoredTags === 'string') { - ignoredTagsList = ignoredTags.split(','); - } + let packagePath = absoluteSourcePath; + // TODO: this check should be less ugly! --- What is this doing anyway? + while (!existsSync(path.join(packagePath, 'package.json')) && packagePath.length > 5) { + packagePath = path.resolve(packagePath, '..'); + } - // get project reflection - const projectReflection = getProjectReflection(srcPath); + const corePackageJsonPath = path.join(packagePath, 'package.json'); - const result = generateTemplate(projectReflection, ignoredTagsList, true); - if (result.errors.length !== 0) { - await Logger.error(`Mapping generated with errors:\n${JSON.stringify(result.errors)}`); - exit(-1); - } else { - Logger.ok('Mapping generated without errors!'); - } + Logger.info(`Using ${corePackageJsonPath} to determine version for schemas.`); - for (const template in result.mappings) { - if (!result.mappings.hasOwnProperty(template)) { - continue; - } + const buffer = await readFilePromisified(corePackageJsonPath); + const corePackageJson = JSON.parse(buffer.toString()); + const coreVersion = corePackageJson.version; - const response = await got.put(`${esAddress}_template/${template}`, { - json: result.mappings[template], - }); + Logger.log(`Using ${coreVersion} as version for schemas.`); - const HTTP_STATUS_OK = 200; - if (response.statusCode !== HTTP_STATUS_OK) { - await Logger.error(`Template for "${template}" failed in Elasticsearch:\n${JSON.stringify(response.body)}`); - exit(-1); - } - } + // generate and write JSONSchema files for validatable types + for (const type of validatableTypes) { + const schema = coreConverter.getSchema(type, coreVersion); - Logger.ok(`Templates accepted by Elasticsearch.`); - }); + const stringifiedSchema = JSON.stringify(schema, undefined, 2); -commander - .command('schema ') - .action(async (relativeSrcPath, relativeSchemaPath) => { - // get absolute paths - const srcPath = resolve(relativeSrcPath); - const schemaPath = resolve(relativeSchemaPath); + const file = path.join(schemaPath, `${type}.json`); - // initialize new core converter - const coreConverter = new Converter(srcPath); + // write schema to file + writeFileSync(file, stringifiedSchema); - // get project reflection - const projectReflection = getProjectReflection(srcPath); + Logger.info(`Generated schema for ${type} and saved to ${file}.`); + } - // get validatable types - const validatableTypes = getValidatableTypesFromReflection( - projectReflection, - ); - - Logger.info(`Found ${validatableTypes.length} type(s) to generate schemas for.`); - - await mkdirPromisified(schemaPath, { - recursive: true, - }); - - Logger.info(`Trying to find a package.json for ${srcPath}.`); - - let path = srcPath; - // TODO: this check should be less ugly! --- What is this doing anyway? - // tslint:disable-next-line:no-magic-numbers - while (!existsSync(join(path, 'package.json')) && path.length > 5) { - path = resolve(path, '..'); - } - - const corePackageJsonPath = join(path, 'package.json'); - - Logger.info(`Using ${corePackageJsonPath} to determine version for schemas.`); - - const buffer = await readFilePromisified(corePackageJsonPath); - const corePackageJson = JSON.parse(buffer.toString()); - const coreVersion = corePackageJson.version; - - Logger.log(`Using ${coreVersion} as version for schemas.`); - - // generate and write JSONSchema files for validatable types - validatableTypes.forEach((type) => { - const schema = coreConverter.getSchema(type, coreVersion); - - // tslint:disable-next-line:no-magic-numbers - const stringifiedSchema = JSON.stringify(schema, null, 2); - - const file = join(schemaPath, `${type}.json`); - - // write schema to file - writeFileSync(file, stringifiedSchema); - - Logger.info(`Generated schema for ${type} and saved to ${file}.`); - }); - - Logger.ok(`Generated schemas for ${validatableTypes.length} type(s).`); - }); + Logger.ok(`Generated schemas for ${validatableTypes.length} type(s).`); +}); commander .command('validate [reportPath]') .action(async (relativeSchemaPath, relativeTestPath, relativeReportPath) => { // get absolute paths - const schemaPath = resolve(relativeSchemaPath); - const testPath = resolve(relativeTestPath); + const schemaPath = path.resolve(relativeSchemaPath); + const testPath = path.resolve(relativeTestPath); const errorsPerFile = await validateFiles(schemaPath, testPath); @@ -284,11 +184,11 @@ commander continue; } - unexpected = unexpected || errorsPerFile[file].some((error) => !error.expected); + unexpected = unexpected || errorsPerFile[file].some(error => !error.expected); } if (typeof relativeReportPath !== 'undefined') { - const reportPath = resolve(relativeReportPath); + const reportPath = path.resolve(relativeReportPath); await writeReport(reportPath, errorsPerFile); } @@ -300,70 +200,34 @@ commander } }); -commander - .command('pack') - .action(async () => { - await pack(); - }); +commander.command('pack').action(async () => { + await pack(); +}); commander .command('plantuml ') - .option( - '--definitions ', - 'Shows these specific definitions (class, interface or enum)', - toArray, + .option('--definitions ', 'Shows these specific definitions (class, interface or enum)', it => + it.split(','), ) .option('--showAssociations', 'Shows associations of definitions') - .option( - '--showInheritance', - 'Shows extensions and implementations of definitions', - ) + .option('--showInheritance', 'Shows extensions and implementations of definitions') .option('--showEnumValues', 'Show enum values') .option('--showProperties', 'Show attributes') - .option( - '--showInheritedProperties', - 'Shows inherited attributes, needs --showProperties', - ) - .option( - '--showOptionalProperties', - 'Shows optional attributes and relations, needs --showProperties', - ) - .option( - '--excludeExternals', - 'Exclude external definitions', - ) - .option( - '--outputFileName ', - 'Defines the filename of the output', - ) - .action(async (relativeSrcPath, plantumlserver, options) => { + .option('--showInheritedProperties', 'Shows inherited attributes, needs --showProperties') + .option('--showOptionalProperties', 'Shows optional attributes and relations, needs --showProperties') + .option('--excludeExternals', 'Exclude external definitions') + .option('--outputFileName ', 'Defines the filename of the output') + .action(async (relativeSourcePath, plantumlServer, options) => { const plantUmlConfig: UMLConfig = { - definitions: - typeof options.definitions !== 'undefined' ? options.definitions : [], - showAssociations: - typeof options.showAssociations !== 'undefined' - ? options.showAssociations - : false, - showEnumValues: - typeof options.showEnumValues !== 'undefined' - ? options.showEnumValues - : false, - showInheritance: - typeof options.showInheritance !== 'undefined' - ? options.showInheritance - : false, + definitions: typeof options.definitions !== 'undefined' ? options.definitions : [], + showAssociations: typeof options.showAssociations !== 'undefined' ? options.showAssociations : false, + showEnumValues: typeof options.showEnumValues !== 'undefined' ? options.showEnumValues : false, + showInheritance: typeof options.showInheritance !== 'undefined' ? options.showInheritance : false, showInheritedProperties: - typeof options.showInheritedProperties !== 'undefined' - ? options.showInheritedProperties - : false, + typeof options.showInheritedProperties !== 'undefined' ? options.showInheritedProperties : false, showOptionalProperties: - typeof options.showOptionalProperties !== 'undefined' - ? options.showOptionalProperties - : false, - showProperties: - typeof options.showProperties !== 'undefined' - ? options.showProperties - : false, + typeof options.showOptionalProperties !== 'undefined' ? options.showOptionalProperties : false, + showProperties: typeof options.showProperties !== 'undefined' ? options.showProperties : false, }; if (typeof options.outputFileName !== 'undefined') { plantUmlConfig.outputFileName = options.outputFileName; @@ -371,21 +235,14 @@ commander Logger.log(`PlantUML options: ${JSON.stringify(plantUmlConfig)}`); - const srcPath = resolve(relativeSrcPath); - - const projectReflection = getProjectReflection(srcPath, !options.excludeExternals ? false : true); - - const definitions = readDefinitions(projectReflection); - - await createDiagram(definitions, plantUmlConfig, plantumlserver); + await createDiagram(lightweightDefinitionsFromPath(relativeSourcePath), plantUmlConfig, plantumlServer); }); commander .command('plantuml-file [outputFile]') - .action(async (file: string, plantumlserver: string, outputFile: string) => { - const fileContent = readFileSync(resolve(file)) - .toString(); - await createDiagramFromString(fileContent, plantumlserver, outputFile); + .action(async (file: string, plantumlServer: string, outputFile: string) => { + const fileContent = readFileSync(path.resolve(file)).toString(); + await createDiagramFromString(fileContent, plantumlServer, outputFile); }); commander.parse(process.argv); diff --git a/src/common.ts b/src/common.ts index f63609bf..91844ffb 100644 --- a/src/common.ts +++ b/src/common.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018-2019 StApps + * Copyright (C) 2018-2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -13,16 +13,11 @@ * this program. If not, see . */ import {Logger} from '@openstapps/logger'; -import {existsSync, mkdir, PathLike, readFile, unlink, writeFile} from 'fs'; +import {existsSync, mkdir, readFile, unlink, writeFile} from 'fs'; import {Glob} from 'glob'; -import {JSONSchema7 as JSONSchema} from 'json-schema'; import {platform} from 'os'; -import {join, sep} from 'path'; -import {Definition} from 'ts-json-schema-generator'; -import {Application, ProjectReflection} from 'typedoc'; -import {ModuleKind, ScriptTarget} from 'typescript'; import {promisify} from 'util'; -import {LightweightType} from './uml/model/lightweight-type'; +import path from 'path'; export const globPromisified = promisify(Glob); export const mkdirPromisified = promisify(mkdir); @@ -30,267 +25,6 @@ export const readFilePromisified = promisify(readFile); export const writeFilePromisified = promisify(writeFile); export const unlinkPromisified = promisify(unlink); -/** - * A route instance with its relevant meta information - */ -export interface RouteWithMetaInformation { - /** - * Description of the route - */ - description: { - /** - * Short text of the description - title - */ - shortText?: string; - /** - * Text of the description - */ - text?: string; - }; - /** - * Name of the route - */ - name: string; - /** - * Instance of the route - */ - route: { - /** - * Possible errors on a route - */ - errors: SCErrorResponse[]; - /** - * Method of the route - */ - method: string; - /** - * Obligatory parameters of the route - */ - obligatoryParameters: { - [k: string]: string; - }; - /** - * Description of the request body - */ - requestBodyDescription: string; - /** - * Name of the request body - */ - requestBodyName: string; - /** - * Description of the response body - */ - responseBodyDescription: string; - /** - * Name of the response body - */ - responseBodyName: string; - /** - * Status code on success - */ - statusCodeSuccess: number; - /** - * URL fragment - */ - urlFragment: string; - }; - /** - * Possible tags/keywords the route can be associated with - */ - tags?: [string]; -} - -/** - * A node with its relevant meta information - */ -export interface NodeWithMetaInformation { - /** - * Module the node belongs to - */ - module: string; - /** - * Type of the node - */ - type: string; -} - -/** - * A generic error that can be returned by the backend if somethings fails during the processing of a request - */ -export interface SCErrorResponse extends Error { - /** - * Additional data that describes the error - */ - additionalData?: unknown; - - /** - * HTTP status code to return this error with - */ - statusCode: number; -} - -/** - * A map of nodes indexed by their name - */ -export interface NodesWithMetaInformation { - /** - * Index signature - */ - [k: string]: NodeWithMetaInformation; -} - -/** - * A schema with definitions - */ -interface SchemaWithDefinitions extends JSONSchema { - /** - * Definitions of the schema - */ - definitions: { [name: string]: Definition; }; -} - -/** - * The validation result - */ -export interface ValidationResult { - /** - * A list of errors that occurred - */ - errors: ValidationError[]; - - /** - * whether the validation was successful - */ - valid: boolean; -} - -/** - * An error that occurred while validating - * - * This is a duplicate of the ValidationError in core/protocol/errors/validation because of incompatibilities - * between TypeDoc and TypeScript - */ -export interface ValidationError { - /** - * JSON schema path - */ - dataPath: string; - - /** - * The instance - */ - instance: unknown; - - /** - * The message - * - * Provided by https://www.npmjs.com/package/better-ajv-errors - */ - message: string; - - /** - * Name of the error - */ - name: string; - - /** - * Path within the Schema - */ - schemaPath: string; - - /** - * Suggestion to fix the occurring error - * - * Provided by https://www.npmjs.com/package/better-ajv-errors - */ - suggestion?: string; - -} - -/** - * An expected error - */ -export interface ExpectedValidationError extends ValidationError { - /** - * Whether or not the error is expected - */ - expected: boolean; -} - -/** - * A map of files and their expected validation errors - */ -export interface ExpectedValidationErrors { - [fileName: string]: ExpectedValidationError[]; -} - -/** - * Get a project reflection from a path - * - * @param srcPath Path to get reflection from - * @param excludeExternals Exclude external dependencies - */ -export function getProjectReflection(srcPath: PathLike, excludeExternals = true): ProjectReflection { - Logger.info(`Generating project reflection for ${srcPath.toString()}.`); - - const tsconfigPath = getTsconfigPath(srcPath.toString()); - - // initialize new Typedoc application - const app = new Application(); - - app.options.setValues({ - excludeExternals: excludeExternals, - ignoreCompilerErrors: false, // TODO: true - includeDeclarations: true, - module: ModuleKind.CommonJS, - target: ScriptTarget.Latest, - tsconfig: join(tsconfigPath, 'tsconfig.json'), - }); - - let inputFilePath = srcPath; - if (inputFilePath === tsconfigPath) { - inputFilePath = join(tsconfigPath, 'src'); - } - - // get input files - const inputFiles = app.expandInputFiles([inputFilePath.toString()]); - - // get project reflection from input files - const result = app.convert(inputFiles); - - if (typeof result === 'undefined') { - throw new Error('Project reflection could not be generated.'); - } - - return result; -} - -/** - * Guard method for checking if a schema has definitions - * - * @param schema Schema to check - */ -export function isSchemaWithDefinitions( - schema: JSONSchema, -): schema is SchemaWithDefinitions { - return typeof schema.definitions !== 'undefined'; -} - -// tslint:disable: completed-docs -/** - * Guard method for determining if an object (a thing) has a type property with a type of string - * - * @param thing An object (thing) - */ -export function isThingWithType(thing: unknown): thing is { type: string; } { - return typeof thing === 'object' && - thing !== null && - 'type' in thing && - typeof (thing as { type: unknown; }).type === 'string'; -} - -// tslint:enable: completed-docs - /** * Get path that contains a tsconfig.json * @@ -300,12 +34,10 @@ export function getTsconfigPath(startPath: string): string { let tsconfigPath = startPath; // see https://stackoverflow.com/questions/9652043/identifying-the-file-system-root-with-node-js - const root = (platform() === 'win32') ? process - .cwd() - .split(sep)[0] : '/'; + const root = platform() === 'win32' ? process.cwd().split(path.sep)[0] : '/'; // repeat until a tsconfig.json is found - while (!existsSync(join(tsconfigPath, 'tsconfig.json'))) { + while (!existsSync(path.join(tsconfigPath, 'tsconfig.json'))) { if (tsconfigPath === root) { throw new Error( `Reached file system root ${root} while searching for 'tsconfig.json' in ${startPath}!`, @@ -313,72 +45,12 @@ export function getTsconfigPath(startPath: string): string { } // pop last directory - const tsconfigPathParts = tsconfigPath.split(sep); + const tsconfigPathParts = tsconfigPath.split(path.sep); tsconfigPathParts.pop(); - tsconfigPath = tsconfigPathParts.join(sep); + tsconfigPath = tsconfigPathParts.join(path.sep); } Logger.info(`Using 'tsconfig.json' from ${tsconfigPath}.`); return tsconfigPath; } - -/** - * Converts a comma separated string into a string array - * - * @param val Comma separated string - */ -export function toArray(val: string): string[] { - return val.split(','); -} - -/** - * Creates the full name of a lightweight type recursively - * - * @param type Type to get the full name of - */ -export function getFullTypeName(type: LightweightType): string { - // init name - let fullName: string = type.name; - if (type.isTypeParameter) { - // type parameters are a sink - return fullName; - } - if (type.isLiteral) { - // literals are a sink - return `'${fullName}'`; - } - if (type.isUnion && type.specificationTypes.length > 0) { - const tempNames: string[] = []; - for (const easyType of type.specificationTypes) { - tempNames.push(getFullTypeName(easyType)); - } - - // since unions can't be applied to other types, it is a sink. - return tempNames.join(' | '); - } - // check if type is generic and has a type attached - if (type.isTyped && type.genericsTypes.length > 0) { - const tempNames: string[] = []; - for (const easyType of type.genericsTypes) { - tempNames.push(getFullTypeName(easyType)); - } - fullName = `${fullName}<${tempNames.join(', ')}>`; - } - // check if type is array - if (type.isArray) { - fullName += '[]'; - } - - return fullName; -} - -/** - * Creates sentence cased string - * - * @param str The string to capitalize - */ -export function capitalize(str?: string): string { - // tslint:disable-next-line: newline-per-chained-call - return `${str?.charAt(0).toUpperCase()}${str?.slice(1).toLowerCase()}`; -} diff --git a/src/easy-ast/ast-internal-util.ts b/src/easy-ast/ast-internal-util.ts new file mode 100644 index 00000000..e4cb22b4 --- /dev/null +++ b/src/easy-ast/ast-internal-util.ts @@ -0,0 +1,143 @@ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {first, last, tail, filter} from 'lodash'; +import { + ArrayTypeNode, + ClassDeclaration, + ClassElement, + EnumDeclaration, + Identifier, + InterfaceDeclaration, + isArrayTypeNode, + isClassDeclaration, + isComputedPropertyName, + isEnumDeclaration, + isInterfaceDeclaration, + isPropertyDeclaration, + isPropertySignature, + isTypeAliasDeclaration, + isTypeReferenceNode, + NodeArray, + PropertyDeclaration, + PropertyName, + PropertySignature, + TypeAliasDeclaration, + TypeElement, + TypeNode, + TypeReferenceNode, +} from 'typescript'; +import * as ts from 'typescript'; +import {cleanupEmpty} from '../util/collections'; +import {LightweightComment} from './types/lightweight-comment'; + +/** @internal */ +export function extractComment(node: ts.Node): LightweightComment | undefined { + const jsDocument = last( + // @ts-expect-error jsDoc exists in reality + node.jsDoc as + | Array<{ + comment?: string; + tags?: Array<{comment?: string; tagName?: {escapedText?: string}}>; + }> + | undefined, + ); + const comment = jsDocument?.comment?.split('\n\n'); + + return typeof jsDocument === 'undefined' + ? undefined + : cleanupEmpty({ + shortSummary: first(comment), + description: tail(comment)?.join('\n\n'), + tags: jsDocument?.tags?.map(tag => + cleanupEmpty({ + name: tag.tagName?.escapedText ?? 'UNRESOLVED_NAME', + parameters: tag.comment?.split(' '), + }), + ), + }); +} + +/** @internal */ +export function isProperty( + node: ClassElement | TypeElement, +): node is PropertyDeclaration | PropertySignature { + return isPropertyDeclaration(node) || isPropertySignature(node); +} + +/** @internal */ +export function filterNodeTo( + node: NodeArray, + check: (node: T) => node is S, +): S[] { + return filter(node, check); +} + +/** @internal */ +export function filterChildrenTo(node: ts.Node, check: (node: ts.Node) => node is T): T[] { + const out: T[] = []; + node.forEachChild(child => { + if (check(child)) { + out.push(child); + } + }); + + return out; +} + +/** @internal */ +export function getModifiers(text: string, kind: string): string[] { + return [ + ...text + .split(kind)[0] + .split(/\s+/) + .filter(it => it !== ''), + kind, + ]; +} + +/** @internal */ +export function resolvePropertyName(name?: PropertyName): string | undefined { + return typeof name !== 'undefined' + ? isComputedPropertyName(name) + ? 'UNSUPPORTED_IDENTIFIER_TYPE' + : name.getText() + : undefined; +} + +/** @internal */ +export function resolveTypeName(type?: TypeNode): string | undefined { + // @ts-expect-error typeName exists in reality + return type?.typeName?.escapedText ?? type?.typeName?.right?.escapedText; +} + +/** @internal */ +export function isArrayLikeType(typeNode?: TypeNode): typeNode is ArrayTypeNode | TypeReferenceNode { + return typeof typeNode !== 'undefined' && (isArrayTypeNode(typeNode) || isArrayReference(typeNode)); +} + +/** @internal */ +export function isArrayReference(typeNode: TypeNode): boolean { + return isTypeReferenceNode(typeNode) && (typeNode.typeName as Identifier).escapedText === 'Array'; +} + +/** @internal */ +export function isClassLikeNode(node: ts.Node): node is ClassDeclaration | InterfaceDeclaration { + return isClassDeclaration(node) || isInterfaceDeclaration(node); +} + +/** @internal */ +export function isEnumLikeNode(node: ts.Node): node is EnumDeclaration | TypeAliasDeclaration { + return isEnumDeclaration(node) || isTypeAliasDeclaration(node); +} diff --git a/src/easy-ast/ast-util.ts b/src/easy-ast/ast-util.ts new file mode 100644 index 00000000..a458ad19 --- /dev/null +++ b/src/easy-ast/ast-util.ts @@ -0,0 +1,83 @@ +/* eslint-disable jsdoc/require-jsdoc */ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {flatMap, keyBy, isEmpty} from 'lodash'; +import {TypeFlags} from 'typescript'; +import {LightweightAliasDefinition} from './types/lightweight-alias-definition'; +import {LightweightClassDefinition} from './types/lightweight-class-definition'; +import {LightweightDefinition} from './types/lightweight-definition'; +import {LightweightDefinitionKind} from './types/lightweight-definition-kind'; +import {LightweightProject} from './types/lightweight-project'; +import {LightweightType} from './types/lightweight-type'; + +/** + * Creates a printable name of a type + */ +export function expandTypeValue(type: LightweightType): string | undefined { + if (type.isArray) { + return `${type.value}[]`; + } + if (isStringLiteralType(type)) { + return `'${type.value}'`; + } + if (isUnionOrIntersectionType(type)) { + return type.specificationTypes?.map(expandTypeValue).join(isUnionType(type) ? ' | ' : ' & '); + } + if (isEmpty(type.genericsTypes)) { + return `${type.value}<${type.genericsTypes?.map(expandTypeValue).join(', ')}>`; + } + + return type.value?.toString(); +} + +export function definitionsOf(project: LightweightProject): Record { + return keyBy(flatMap(project, Object.values), 'name'); +} + +export function isPrimitiveType(type: {flags: TypeFlags}): boolean { + return (type.flags & TypeFlags.NonPrimitive) === 0; +} + +export function isLiteralType(type: {flags: TypeFlags}): boolean { + return (type.flags & TypeFlags.Literal) !== 0; +} + +export function isEnumLiteralType(type: {flags: TypeFlags}): boolean { + return (type.flags & TypeFlags.EnumLiteral) !== 0; +} + +export function isStringLiteralType(type: {flags: TypeFlags}): boolean { + return (type.flags & TypeFlags.StringLiteral) !== 0; +} + +export function isUnionOrIntersectionType(type: {flags: TypeFlags}): boolean { + return (type.flags & TypeFlags.UnionOrIntersection) !== 0; +} + +export function isUnionType(type: {flags: TypeFlags}): boolean { + return (type.flags & TypeFlags.Union) !== 0; +} + +export function isLightweightClass(node?: LightweightDefinition): node is LightweightClassDefinition { + return node?.kind === LightweightDefinitionKind.CLASS_LIKE; +} + +export function isLightweightEnum(node?: LightweightDefinition): node is LightweightAliasDefinition { + return node?.kind === LightweightDefinitionKind.ALIAS_LIKE; +} + +export function isTypeVariable(type: {flags: TypeFlags}): boolean { + return (type.flags & TypeFlags.TypeVariable) !== 0; +} diff --git a/src/easy-ast/easy-ast.ts b/src/easy-ast/easy-ast.ts new file mode 100644 index 00000000..732b8a2e --- /dev/null +++ b/src/easy-ast/easy-ast.ts @@ -0,0 +1,274 @@ +/* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {flatMap, groupBy, keyBy, mapValues} from 'lodash'; +import * as ts from 'typescript'; +import { + ClassDeclaration, + ClassElement, + EnumDeclaration, + InterfaceDeclaration, + isArrayTypeNode, + isClassDeclaration, + isEnumDeclaration, + isIndexSignatureDeclaration, + isPropertyDeclaration, + isTypeLiteralNode, + isTypeReferenceNode, + NodeArray, + Program, + SourceFile, + SyntaxKind, + Type, + TypeAliasDeclaration, + TypeChecker, + TypeElement, + TypeFlags, + TypeLiteralNode, + TypeNode, +} from 'typescript'; +import {cleanupEmpty, mapNotNil, rejectNil} from '../util/collections'; +import {expandPathToFilesSync} from '../util/io'; +import { + extractComment, + filterChildrenTo, + filterNodeTo, + getModifiers, + isArrayLikeType, + isClassLikeNode, + isEnumLikeNode, + isProperty, + resolvePropertyName, + resolveTypeName, +} from './ast-internal-util'; +import {isEnumLiteralType, isTypeVariable} from './ast-util'; +import {LightweightAliasDefinition} from './types/lightweight-alias-definition'; +import {LightweightClassDefinition} from './types/lightweight-class-definition'; +import {LightweightDefinition} from './types/lightweight-definition'; +import {LightweightDefinitionKind} from './types/lightweight-definition-kind'; +import {LightweightProject} from './types/lightweight-project'; +import {LightweightType} from './types/lightweight-type'; +import path from 'path'; +import {LightweightProperty} from './types/lightweight-property'; + +/** + * Convert a TypeScript project to a lightweight Type-AST representation of the project + * + * @param sourcePath either a directory or a set of input files + * @param includeComments if comments should be included (default true) + */ +export function lightweightProjectFromPath( + sourcePath: string | string[], + includeComments = true, +): LightweightProject { + return new LightweightDefinitionBuilder(sourcePath, includeComments).convert(); +} + +/** + * Convert a TypeScript project to a set of lightweight definition ASTs + * + * @param sourcePath either a directory or a set of input files + * @param includeComments if comments should be included (default true) + */ +export function lightweightDefinitionsFromPath( + sourcePath: string | string[], + includeComments = true, +): LightweightDefinition[] { + return rejectNil(new LightweightDefinitionBuilder(sourcePath, includeComments).convertToList()); +} + +/** + * Reads the reflection model and converts it into a flatter, easier to handle model + */ +class LightweightDefinitionBuilder { + readonly program: Program; + + readonly sourceFiles: readonly SourceFile[]; + + readonly typeChecker: TypeChecker; + + constructor(sourcePath: string | string[], readonly includeComments: boolean) { + const rootNames = Array.isArray(sourcePath) + ? sourcePath + : expandPathToFilesSync(path.resolve(sourcePath), file => file.endsWith('ts')); + + this.program = ts.createProgram({ + rootNames: rootNames, + options: { + alwaysStrict: true, + charset: 'utf8', + declaration: true, + esModuleInterop: true, + experimentalDecorators: true, + inlineSourceMap: true, + module: ts.ModuleKind.CommonJS, + strict: true, + target: ts.ScriptTarget.ES2015, + }, + }); + + this.typeChecker = this.program.getTypeChecker(); + this.sourceFiles = mapNotNil(this.program.getRootFileNames(), it => this.program.getSourceFile(it)); + } + + private convertAliasLike(enumLike: EnumDeclaration | TypeAliasDeclaration): LightweightAliasDefinition { + return cleanupEmpty({ + comment: this.includeComments ? extractComment(enumLike) : undefined, + name: enumLike.name.getText() ?? 'ERROR', + kind: LightweightDefinitionKind.ALIAS_LIKE, + modifiers: getModifiers(enumLike.getText(), isEnumDeclaration(enumLike) ? 'enum' : 'type'), + type: isEnumDeclaration(enumLike) + ? enumLike.members.length > 0 + ? { + flags: 1_048_576, + specificationTypes: enumLike.members.map(it => this.lightweightTypeAtNode(it)), + } + : undefined + : this.lightweightTypeFromType(this.typeChecker.getTypeFromTypeNode(enumLike.type), enumLike.type), + }); + } + + private convertClassLike(classLike: ClassDeclaration | InterfaceDeclaration): LightweightClassDefinition { + const heritages = mapValues( + groupBy(classLike.heritageClauses, it => it.token), + heritages => flatMap(heritages, it => it.types), + ); + + return cleanupEmpty({ + comment: this.includeComments ? extractComment(classLike) : undefined, + name: classLike.name?.escapedText ?? 'ERROR', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: getModifiers(classLike.getText(), isClassDeclaration(classLike) ? 'class' : 'interface'), + extendedDefinitions: heritages[ts.SyntaxKind.ExtendsKeyword]?.map(it => this.lightweightTypeAtNode(it)), + implementedDefinitions: heritages[ts.SyntaxKind.ImplementsKeyword]?.map(it => + this.lightweightTypeAtNode(it), + ), + indexSignatures: keyBy( + filterNodeTo( + classLike.members as NodeArray, + isIndexSignatureDeclaration, + ).map(indexSignature => + cleanupEmpty({ + name: + this.typeChecker.getSignatureFromDeclaration(indexSignature)?.parameters?.[0]?.escapedName ?? + 'UNRESOLVED_INDEX_SIGNATURE', + type: this.lightweightTypeFromType( + this.typeChecker.getTypeFromTypeNode(indexSignature.type), + indexSignature.type, + ), + indexSignatureType: this.lightweightTypeFromType( + this.typeChecker.getTypeFromTypeNode(indexSignature.parameters[0].type!), + indexSignature.parameters[0].type!, + ), + }), + ), + it => it.name, + ), + typeParameters: classLike.typeParameters?.map(it => it.name.getText()), + properties: this.collectProperties(classLike.members), + }); + } + + collectProperties(members: NodeArray): Record { + return keyBy( + filterNodeTo(members as NodeArray, isProperty).map(property => + cleanupEmpty({ + comment: this.includeComments ? extractComment(property) : undefined, + name: resolvePropertyName(property.name) ?? property.getText(), + type: this.lightweightTypeAtNode(property), + properties: this.collectProperties((property.type as TypeLiteralNode)?.members), + optional: isPropertyDeclaration(property) + ? typeof property.questionToken !== 'undefined' + ? true + : undefined + : undefined, + }), + ), + it => it.name, + ); + } + + private lightweightTypeAtNode(node: ts.Node): LightweightType { + const type = this.typeChecker.getTypeAtLocation(node); + + return this.lightweightTypeFromType(type, this.typeChecker.typeToTypeNode(type, node, undefined)); + } + + private lightweightTypeFromType(type: ts.Type, typeNode?: TypeNode): LightweightType { + if (typeNode?.kind === SyntaxKind.ConditionalType) { + return {value: 'UNSUPPORTED_CONDITIONAL_TYPE', flags: TypeFlags.Unknown}; + } + if (isArrayLikeType(typeNode)) { + const elementType = isArrayTypeNode(typeNode) ? typeNode.elementType : typeNode.typeArguments?.[0]!; + const out = this.lightweightTypeFromType( + this.typeChecker.getTypeFromTypeNode(elementType), + elementType, + ); + out.isArray = true; + + return out; + } + const isReference = + typeof typeNode !== 'undefined' && isTypeReferenceNode(typeNode) && !isEnumLiteralType(type); + const isTypeLiteral = typeof typeNode !== 'undefined' && isTypeLiteralNode(typeNode); + // @ts-expect-error intrinsic name & value exist + const intrinsicName = (type.intrinsicName ?? type.value) as string | undefined; + + return cleanupEmpty({ + value: intrinsicName, + referenceName: isTypeLiteral + ? undefined + : resolveTypeName(typeNode) ?? (type.symbol?.escapedName as string | undefined), + flags: type.flags, + genericsTypes: isTypeVariable(type) + ? undefined + : this.typeChecker + .getApparentType(type) + // @ts-expect-error resolvedTypeArguments exits + ?.resolvedTypeArguments?.filter(it => !it.isThisType) + ?.map((it: Type) => this.lightweightTypeFromType(it)), + specificationTypes: + type.isUnionOrIntersection() && !isReference + ? type.types.map(it => + this.lightweightTypeFromType(it, this.typeChecker.typeToTypeNode(it, undefined, undefined)), + ) + : undefined, + }); + } + + /** + * Start the conversion process + */ + convert(): LightweightProject { + return mapValues( + keyBy(this.sourceFiles, it => it.fileName), + file => + keyBy( + [ + ...filterChildrenTo(file, isClassLikeNode).map(it => this.convertClassLike(it)), + ...filterChildrenTo(file, isEnumLikeNode).map(it => this.convertAliasLike(it)), + ], + it => it.name, + ), + ); + } + + /** + * Same as conversion, but generates a simple list of all definitions. + */ + convertToList(): LightweightDefinition[] { + return flatMap(this.convert(), it => it.values); + } +} diff --git a/test/mapping-model/aggregations/src/agg-inherited-overwritten.ts b/src/easy-ast/types/lightweight-alias-definition.d.ts similarity index 57% rename from test/mapping-model/aggregations/src/agg-inherited-overwritten.ts rename to src/easy-ast/types/lightweight-alias-definition.d.ts index f103e67f..31ede813 100644 --- a/test/mapping-model/aggregations/src/agg-inherited-overwritten.ts +++ b/src/easy-ast/types/lightweight-alias-definition.d.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020 StApps + * Copyright (C) 2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -13,32 +13,20 @@ * this program. If not, see . */ -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; - +import {LightweightDefinitionBase} from './lightweight-definition'; +import {LightweightDefinitionKind} from './lightweight-definition-kind'; +import {LightweightType} from './lightweight-type'; /** - * @indexable + * Represents an enum definition */ -export interface AggInherited extends Foo { +export interface LightweightAliasDefinition extends LightweightDefinitionBase { /** - * No tag here :) + * Kind */ - bar: 'some thing'; + kind: LightweightDefinitionKind.ALIAS_LIKE; - type: ThingType.AggInheritedOverwritten; -} - - -interface Foo { /** - * @aggregatable + * Enumeration or union values */ - bar: string; + type?: LightweightType; } - -export const aggInheritedOverwrittenTest: MapAggTestOptions = { - name: ThingType.AggInherited, - agg: { - fields: ['bar'], - }, -}; diff --git a/src/uml/model/lightweight-class-definition.ts b/src/easy-ast/types/lightweight-class-definition.d.ts similarity index 54% rename from src/uml/model/lightweight-class-definition.ts rename to src/easy-ast/types/lightweight-class-definition.d.ts index b6746a70..33b5b8b8 100644 --- a/src/uml/model/lightweight-class-definition.ts +++ b/src/easy-ast/types/lightweight-class-definition.d.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 StApps + * Copyright (C) 2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -13,44 +13,42 @@ * this program. If not, see . */ -import {LightweightDefinition} from './lightweight-definition'; -import {LightweightProperty} from './lightweight-property'; +import {LightweightDefinitionBase} from './lightweight-definition'; +import {LightweightDefinitionKind} from './lightweight-definition-kind'; +import {LightweightIndexSignature, LightweightProperty} from './lightweight-property'; +import {LightweightType} from './lightweight-type'; + /** * Represents a class definition */ -export class LightweightClassDefinition extends LightweightDefinition { +export interface LightweightClassDefinition extends LightweightDefinitionBase { /** * String values of the extended definitions */ - public extendedDefinitions: string[]; + extendedDefinitions?: LightweightType[]; /** * String values of the implemented definitions */ - public implementedDefinitions: string[]; + implementedDefinitions?: LightweightType[]; + + /** + * Index signatures + */ + indexSignatures?: Record; + + /** + * Kind + */ + kind: LightweightDefinitionKind.CLASS_LIKE; /** * Properties of the definition */ - public properties: LightweightProperty[]; - - /** - * The definition type - * e.g. `interface`/[`abstract`] `class` - */ - public type: string; + properties?: Record; /** * Generic type parameters of this class */ - public typeParameters: string[]; - - constructor(name: string, type: string) { - super(name); - this.type = type; - this.properties = []; - this.extendedDefinitions = []; - this.implementedDefinitions = []; - this.typeParameters = []; - } + typeParameters?: string[]; } diff --git a/test/mapping-model/aggregations/src/agg-inherited-global.ts b/src/easy-ast/types/lightweight-comment.d.ts similarity index 55% rename from test/mapping-model/aggregations/src/agg-inherited-global.ts rename to src/easy-ast/types/lightweight-comment.d.ts index d131ccc9..44a0a2ca 100644 --- a/test/mapping-model/aggregations/src/agg-inherited-global.ts +++ b/src/easy-ast/types/lightweight-comment.d.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020 StApps + * Copyright (C) 2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -12,28 +12,37 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ +/** + * Represents a Comment + */ +export interface LightweightComment { + /** + * Description of the comment + */ + description?: string; -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; + /** + * Short summary of the comment + */ + shortSummary?: string; + + /** + * Tags of the comment + */ + tags?: LightweightCommentTag[]; +} /** - * @indexable + * Lightweight comment tag */ -export interface AggInheritedGlobal extends Foo { - type: ThingType.AggInheritedGlobal; -} - - -interface Foo { +export interface LightweightCommentTag { /** - * @aggregatable global + * The name of the tag */ - bar: string; -} + name: string; -export const aggInheritedGlobalTest: MapAggTestOptions = { - name: ThingType.AggInheritedGlobal, - agg: { - globals: ['bar'], - }, -}; + /** + * The parameters of the tag + */ + parameters?: string[]; +} diff --git a/test/model/test-function.ts b/src/easy-ast/types/lightweight-definition-kind.ts similarity index 82% rename from test/model/test-function.ts rename to src/easy-ast/types/lightweight-definition-kind.ts index 0508ad94..459c6d6e 100644 --- a/test/model/test-function.ts +++ b/src/easy-ast/types/lightweight-definition-kind.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018-2019 StApps + * Copyright (C) 2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -12,6 +12,8 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -export function testFunction(): boolean { - return true; + +export enum LightweightDefinitionKind { + CLASS_LIKE = 'class-like', + ALIAS_LIKE = 'alias-like', } diff --git a/src/easy-ast/types/lightweight-definition.d.ts b/src/easy-ast/types/lightweight-definition.d.ts new file mode 100644 index 00000000..5092a29c --- /dev/null +++ b/src/easy-ast/types/lightweight-definition.d.ts @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {LightweightDefinitionKind} from './lightweight-definition-kind'; +import {LightweightComment} from './lightweight-comment'; +import {LightweightClassDefinition} from './lightweight-class-definition'; +import {LightweightAliasDefinition} from './lightweight-alias-definition'; + +export type LightweightDefinition = LightweightClassDefinition | LightweightAliasDefinition; + +/** + * Represents any definition without specifics + */ +export interface LightweightDefinitionBase { + /** + * The comment of the definition + */ + comment?: LightweightComment; + + /** + * Kind of the definition + */ + kind: LightweightDefinitionKind; + + /** + * The definition type + * e.g. [`abstract`, `class`] or [`enum`] or [`export`, `type`] + */ + modifiers?: string[]; + + /** + * Name of the definition + */ + name: string; +} diff --git a/src/easy-ast/types/lightweight-project.ts b/src/easy-ast/types/lightweight-project.ts new file mode 100644 index 00000000..4cc3ac73 --- /dev/null +++ b/src/easy-ast/types/lightweight-project.ts @@ -0,0 +1,100 @@ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {assign, cloneDeep, flatMap, fromPairs, trimEnd} from 'lodash'; +import {mapNotNil} from '../../util/collections'; +import {definitionsOf, isLightweightClass} from '../ast-util'; +import {lightweightProjectFromPath} from '../easy-ast'; +import {LightweightClassDefinition} from './lightweight-class-definition'; +import {LightweightDefinition} from './lightweight-definition'; + +/** + * Build an index for a lightweight project + */ +function buildIndex(project: LightweightProject): Record { + return fromPairs( + flatMap(project, (definitions, file) => Object.keys(definitions).map(definition => [definition, file])), + ); +} + +/** + * A lightweight definition class for more advanced use cases + */ +export class LightweightProjectWithIndex { + /** + * All definitions + */ + readonly definitions: Record; + + /** + * Project + */ + readonly files: LightweightProject; + + /** + * Index of all definitions to their respective files + */ + readonly index: { + [definitionName: string]: string; + }; + + constructor(project: LightweightProject | string) { + this.files = typeof project === 'string' ? lightweightProjectFromPath(project) : project; + this.index = buildIndex(this.files); + this.definitions = definitionsOf(this.files); + } + + /** + * Apply inherited classes; default deeply + */ + applyInheritance(classLike: LightweightClassDefinition, deep?: boolean): LightweightDefinition { + return assign( + mapNotNil( + [...(classLike.implementedDefinitions ?? []), ...(classLike.extendedDefinitions ?? [])], + extension => { + const object = this.definitions[extension.referenceName ?? '']; + + return (deep ?? true) && isLightweightClass(object) + ? this.applyInheritance(object) + : cloneDeep(object); + }, + ), + cloneDeep(classLike), + ); + } + + /** + * Instantiate a definition + * + * Requires the program to be run with `--require ts-node/register` + */ + async instantiateDefinitionByName(name: string, findCompiledModule = true): Promise { + const fsPath = this.index[name]; + if (typeof fsPath === 'undefined') { + return undefined; + } + + const module = await import(findCompiledModule ? `${trimEnd(fsPath, 'd.ts')}.js` : fsPath); + + return new module[name]() as T; + } +} + +export interface LightweightFile { + [definitionName: string]: LightweightDefinition; +} + +export interface LightweightProject { + [sourcePath: string]: LightweightFile; +} diff --git a/src/uml/model/lightweight-property.ts b/src/easy-ast/types/lightweight-property.d.ts similarity index 59% rename from src/uml/model/lightweight-property.ts rename to src/easy-ast/types/lightweight-property.d.ts index 5f8a12fb..fa6bd4bb 100644 --- a/src/uml/model/lightweight-property.ts +++ b/src/easy-ast/types/lightweight-property.d.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 StApps + * Copyright (C) 2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -12,43 +12,42 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ +import {LightweightComment} from './lightweight-comment'; import {LightweightType} from './lightweight-type'; /** * Represents a property definition */ -export class LightweightProperty { +export interface LightweightProperty { /** - * Is the property inherited from another definition + * The comment of the property */ - public inherited: boolean; + comment?: LightweightComment; /** * Name of the property */ - public name: string; + name: string; /** * Is the property marked as optional */ - public optional: boolean; + optional?: true; + + /** + * A record of properties if the property happens to be a type literal + */ + properties?: Record; /** * Type of the property */ - public type: LightweightType; - - /** - * Constructor for LightweightProperty - * - * @param name Name of the property - * @param type Type of the property - * @param optional Is the property optional - */ - constructor(name: string, type: LightweightType, optional = true) { - this.name = name; - this.optional = optional; - this.inherited = false; - this.type = type; - } + type: LightweightType; +} + +export interface LightweightIndexSignature extends LightweightProperty { + /** + * Type of the index signature, if it is an index signature + */ + indexSignatureType: LightweightType; } diff --git a/src/easy-ast/types/lightweight-type.d.ts b/src/easy-ast/types/lightweight-type.d.ts new file mode 100644 index 00000000..21498981 --- /dev/null +++ b/src/easy-ast/types/lightweight-type.d.ts @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +import {TypeFlags} from 'typescript'; + +/** + * Describes an easy to use type definition. + */ +export interface LightweightType { + /** + * Type Flags + */ + flags: TypeFlags; + + /** + * Contains all types inside of <> brackets + */ + genericsTypes?: LightweightType[]; + + /** + * If it is an array(-like) type + */ + isArray?: true; + + /** + * If it is a type parameter + */ + isTypeParameter?: true; + + /** + * The name of the type that is referenced. Enum members have reference names that lead no where. + */ + referenceName?: string; + + /** + * Type specifications, if the type is combined by either an array, union or a typeOperator + */ + specificationTypes?: LightweightType[]; + + /** + * Value of the type + * + * Literal types have their value here, non-literals their type name (for example 'string') + */ + value?: string | number | boolean; +} diff --git a/src/mapping.ts b/src/mapping.ts deleted file mode 100644 index d3ff16a2..00000000 --- a/src/mapping.ts +++ /dev/null @@ -1,812 +0,0 @@ -/* - * Copyright (C) 2019 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ -import {Logger} from '@openstapps/logger'; -import merge from 'deepmerge'; -import {stringify} from 'flatted'; -import {DeclarationReflection, ProjectReflection, SignatureReflection} from 'typedoc'; -import { - ArrayType, - Comment, - CommentTag, - IntrinsicType, - ReferenceType, - ReflectionType, - StringLiteralType, - Type, - TypeParameterType, - UnionType, -} from 'typedoc/dist/lib/models'; -import {AggregationSchema, ESNestedAggregation} from './mappings/aggregation-definitions'; -import {fieldmap, filterableMap, filterableTagName} from './mappings/definitions/fieldmap'; -import {premaps} from './mappings/definitions/premap'; -import {settings} from './mappings/definitions/settings'; -import {dynamicTypes, ElasticsearchDataType, typemap} from './mappings/definitions/typemap'; -import { - ElasticsearchDynamicTemplate, - ElasticsearchObject, - ElasticsearchTemplateCollection, - ElasticsearchType, - ElasticsearchValue, -} from './mappings/mapping-definitions'; - -let dynamicTemplates: ElasticsearchDynamicTemplate[] = []; -let errors: string[] = []; -let showErrors = true; - -let aggregations: AggregationSchema = {}; - -const indexableTag = 'indexable'; -const aggregatableTag = 'aggregatable'; -const aggregatableTagParameterGlobal = 'global'; -const inheritTagsName = 'inherittags'; - -// clamp printed object to 1000 chars to keep error messages readable -const maxErrorObjectChars = 1000; - -let ignoredTagsList = ['indexable', 'validatable', inheritTagsName]; -let inheritTagsMap: { [path: string]: CommentTag[]; } = {}; - -/** - * Gets all interfaces that have an @indexable tag - * - * @param projectReflection the project reflection from which to extract the indexable interfaces - */ -export function getAllIndexableInterfaces(projectReflection: ProjectReflection): DeclarationReflection[] { - - let indexableInterfaces: DeclarationReflection[] = []; - - if (!Array.isArray(projectReflection.children) || projectReflection.children.length === 0) { - throw new Error('No DeclarationReflections found. Please check your input path'); - } - - // push all declaration reflections into one array - projectReflection.children.forEach((declarationReflection) => { - if (Array.isArray(declarationReflection.children)) { - indexableInterfaces = indexableInterfaces.concat(declarationReflection.children); - } - }); - - // filter all declaration reflections with an @indexable tag - indexableInterfaces = indexableInterfaces.filter((declarationReflection) => { - if ( - typeof declarationReflection.comment === 'undefined' || - typeof declarationReflection.comment.tags === 'undefined' - ) { - return false; - } - - return typeof declarationReflection.comment.tags.find((commentTag) => { - return commentTag.tagName === indexableTag; - }) !== 'undefined'; - }); - - return indexableInterfaces; -} - -/** - * Composes error messages, that are readable and contain a certain minimum of information - * - * @param path the path where the error took place - * @param topTypeName the name of the SCThingType - * @param typeName the name of the object, with which something went wrong - * @param object the object or name - * @param message the error message - */ -function composeErrorMessage(path: string, topTypeName: string, typeName: string, object: string, message: string) { - const error = `At "${topTypeName}::${path.substr(0, path.length - 1)}" for ${typeName} "${trimString(object, maxErrorObjectChars)}": ${message}`; - errors.push(error); - if (showErrors) { - // tslint:disable-next-line:no-floating-promises - void Logger.error(error); - } -} - -/** - * Trims a string to a readable size and appends "..." - * - * @param value the string to trim - * @param maxLength the maximum allowed length before it is clamped - */ -function trimString(value: string, maxLength: number): string { - return value.length > maxLength ? - `${value.substring(0, maxLength)}...` : - value; -} - -/** - * Gets the Reflections and names for Generics in a ReferenceType of a DeclarationReflection - * - * Warning to future maintainers: The code for generics doesn't account for depth. when there is a new generic, it will - * override the previous one, if there isn't, it will just continue passing it down. - * - * @param type the ReferenceType of a DeclarationReflection - * @param out the previous reflection, it then overrides all parameters or keeps old ones - * @param topTypeName the name of the object, with which something went wrong - * @param path the current path to the object we are in - * @param tags any tags attached to the type - */ -function getReflectionGeneric(type: ReferenceType, - out: Map, - topTypeName: string, - path: string, - tags: CommentTag[]): Map { - if (typeof type.typeArguments !== 'undefined' - && type.reflection instanceof DeclarationReflection - && typeof type.reflection.typeParameters !== 'undefined') { - for (let i = 0; i < type.reflection.typeParameters.length; i++) { - if (i < type.typeArguments.length) { - out - .set(type.reflection.typeParameters[i].name, handleType(type.typeArguments[i], out, topTypeName, path, tags)); - } else { - // this can happen due to a bug in TypeDoc https://github.com/TypeStrong/typedoc/issues/1061 - // we have no way to know the type here, so we have to use this. - out.set(type.reflection.typeParameters[i].name, { - dynamic: true, - properties: {}, - }); - - Logger.warn(`Type "${type.name}": Defaults of generics (Foo) currently don't work due to a bug` + - ` in TypeDoc. It has been replaced by a dynamic type.`); - } - } - } - - return out; -} - -/** - * Handles a ReferenceType that has no value - * - * Most of the times that is an external type. - * - * @param ref the ReferenceType - * @param generics the generics from levels above, so we can use them without having access to the parent - * @param path the current path to the object we are in - * @param topTypeName the name of the SCThingType - * @param tags any tags attached to the type - */ -function handleExternalType(ref: ReferenceType, generics: Map, - path: string, topTypeName: string, tags: CommentTag[]): ElasticsearchValue { - for (const premap of Object.keys(premaps)) { - if (premap === ref.name) { - return readFieldTags(premaps[premap], path, topTypeName, tags); - } - } - - if (ref.name === 'Array') { // basically an external type, but Array is quite common, especially with generics - if (typeof ref.typeArguments === 'undefined' || typeof ref.typeArguments[0] === 'undefined') { - composeErrorMessage(path, topTypeName, 'Array with generics', 'array', 'Failed to parse'); - - return {type: ElasticsearchDataType.parse_error}; - } - - return readFieldTags( - handleType( - ref.typeArguments[0], getReflectionGeneric( - ref, new Map(generics), path, topTypeName, tags), - path, topTypeName, tags), - path, topTypeName, tags); - } - if (ref.name === '__type') { // empty object - return { - dynamic: 'strict', - properties: {}, - }; - } - - composeErrorMessage(path, topTypeName, 'external type', ref.name, 'Missing pre-map'); - - return readFieldTags({type: ElasticsearchDataType.missing_premap}, path, topTypeName, tags); -} - -/** - * Handles an object - * - * @param decl the DeclarationReflection of the object - * @param generics the generics from levels above, so we can use them without having access to the parent - * @param path the current path to the object we are in - * @param topTypeName the name of the SCThingType - * @param inheritedTags the inherited tags - */ -function handleDeclarationReflection(decl: DeclarationReflection, - generics: Map, - path: string, - topTypeName: string, - inheritedTags?: CommentTag[]): - ElasticsearchValue { - // check if we have an object referencing a generic - if (generics.has(decl.name)) { // if the object name is the same as the generic name - return readFieldTags(generics.get(decl.name) as ElasticsearchObject | ElasticsearchType, path, topTypeName, - decl.comment?.tags ?? []); - // use the value defined by the generic - - } - - // start the actual handling process - const out: ElasticsearchObject = { - dynamic: 'strict', - properties: {}, - }; - - let empty = true; - // first check if there are any index signatures, so for example `[name: string]: Foo` - if (typeof decl.indexSignature !== 'undefined') { - out.dynamic = true; - - if (typeof decl.indexSignature.type !== 'undefined') { - empty = false; - const template: ElasticsearchDynamicTemplate = {}; - template[decl.name] = { - mapping: handleType( - decl.indexSignature.type, - new Map(generics), path, topTypeName, - getCommentTags(decl.indexSignature, path, topTypeName), - ), - match: '*', - match_mapping_type: '*', - path_match: `${path}*`, - }; - dynamicTemplates.push(template); - } - } - - if (decl.kindString === 'Enumeration') { - return readTypeTags('string', path, topTypeName, getCommentTags(decl, path, topTypeName, inheritedTags)); - } - - // check all the children, so in this case we are dealing with an OBJECT - if (typeof decl.children !== 'undefined' && decl.children.length > 0) { - for (const child of decl.children) { - empty = false; - out.properties[child.name] = - handleDeclarationReflection(child, new Map(generics), `${path}${child.name}.`, topTypeName); - } - } else if (decl.type instanceof Type) { // if the object is a type, so we are dealing with a PROPERTY - // get inherited tags - const tags = (inheritedTags ?? []).length > 0 ? inheritedTags! : getCommentTags(decl, path, topTypeName); - - return handleType(decl.type, new Map(generics), path, topTypeName, tags); - } else if (decl.kindString === 'Enumeration member') { - return readTypeTags(typeof decl.defaultValue, path, topTypeName, - getCommentTags(decl, path, topTypeName, inheritedTags)); - } - - if (empty) { - composeErrorMessage(path, topTypeName, 'object', decl.name, 'Empty object'); - } - - return readFieldTags(out, path, topTypeName, getCommentTags(decl, path, topTypeName)); -} - -/** - * Reads all comment tags, including inherited ones - * - * @param decl the DeclarationReflection to read the tags from - * @param path the path on which the comments lie - * @param topTypeName the name of the SCThingType - * @param inheritedTags any tags that might have been inherited by a parent - * @param breakId the id of the previous reflection to prevent infinite recursion in some cases - */ -function getCommentTags( - decl: DeclarationReflection | SignatureReflection, - path: string, - topTypeName: string, - inheritedTags: CommentTag[] = [], - // tslint:disable-next-line:no-unnecessary-initializer - breakId: number | undefined = undefined, -): CommentTag[] { - if (decl.id === breakId) { - return []; - } - - let out: CommentTag[] = decl.comment instanceof Comment ? - typeof decl.comment.tags !== 'undefined' ? decl.comment.tags : inheritedTags : inheritedTags; - if (decl.overwrites instanceof ReferenceType && decl.overwrites.reflection instanceof DeclarationReflection) { - out = arrayPriorityJoin( - getCommentTags(decl.overwrites.reflection, path, topTypeName, inheritedTags, decl.id), out); - } - if (decl.inheritedFrom instanceof ReferenceType && decl.inheritedFrom.reflection instanceof DeclarationReflection) { - out = arrayPriorityJoin( - getCommentTags(decl.inheritedFrom.reflection, path, topTypeName, inheritedTags, decl.id), out); - } - - saveCommentTags(out, path, topTypeName); - const inheritTag = out.find(((value) => value.tagName === inheritTagsName)); - if (typeof inheritTag !== 'undefined') { - out = arrayPriorityJoin(out, retrieveCommentTags(inheritTag.text.trim(), path, topTypeName)); - } - - return out; -} - -/** - * Saves all comment tags to the map - * - * @param tags all tags to be saved (@see and @[inheritTags] will be stripped) - * @param path the path of field - * @param topTypeName the name of the SCThingType - */ -function saveCommentTags(tags: CommentTag[], path: string, topTypeName: string) { - inheritTagsMap[`${topTypeName}::${path.substr(0, path.length - 1)}`] = - tags.filter(((value) => value.tagName !== 'see' && value.tagName !== inheritTagsName)); -} - -/** - * Retrieves any saved tags - * - * @param path the path to the original field - * @param currentPath the current path to the object we are in - * @param topTypeName the name of the SCThingType - */ -function retrieveCommentTags(path: string, currentPath: string, topTypeName: string): CommentTag[] { - if (!(path in inheritTagsMap)) { - composeErrorMessage(currentPath, topTypeName, path, 'Comment', 'Referenced path to tags does not exist!'); - - return []; - } - - return inheritTagsMap[path]; -} - -/** - * Joins two arrays of CommentTags, but overrides all original CommentTags with the same tagName - * - * @param originals the original array - * @param overrider the array that should be appended and provide the override values - */ -function arrayPriorityJoin(originals: CommentTag[], overrider: CommentTag[]): CommentTag[] { - const out: CommentTag[] = overrider; - - originals.forEach((original) => { - const result = overrider.find((element) => original.tagName === element.tagName); - - // no support for multiple tags with the same name - if (!(result instanceof CommentTag)) { - out.push(original); - } - }); - - return out; -} - -/** - * Handles UnionTypes - * - * Put into a separate function as it is a little bit more complex - * Works fairly reliable, although there are issues with primitive union types, which don't work at all (And never will) - * - * @param type the type object - * @param generics the generics from levels above, so we can use them without having access to the parent - * @param path the current path to the object we are in - * @param topTypeName the name of the SCThingType - * @param tags any tags attached to the type - */ -function handleUnionType(type: UnionType, - generics: Map, - path: string, - topTypeName: string, - tags: CommentTag[]): ElasticsearchValue { - const list: ElasticsearchValue[] = []; - - for (const subType of type.types) { - if (subType instanceof IntrinsicType && subType.name === 'undefined') { - continue; - } - list.push(handleType(subType, new Map(generics), path, topTypeName, tags)); - } - - if (list.length > 0) { - let out = list[0]; - - for (const item of list) { - out = merge(out, item); - } - - return out; - } - - composeErrorMessage(path, topTypeName, 'Union Type', stringify(list), - 'Empty union type. This is likely not a user error.'); - - return {type: ElasticsearchDataType.parse_error}; -} - -/** - * Serves as a kind of distributor for the different types, should not contain any specific code - * - * @param type the type object - * @param generics the generics from levels above, so we can use them without having access to the parent - * @param path the current path to the object we are in - * @param topTypeName the name of the SCThingType - * @param tags any tags attached to the type - */ -function handleType(type: Type, generics: Map, path: string, topTypeName: string, - tags: CommentTag[]): - ElasticsearchValue { - // logger.log((type as any).name); - if (type instanceof ArrayType) { // array is irrelevant in Elasticsearch, so just go with the element type - const esType = handleType(type.elementType, new Map(generics), path, topTypeName, tags); - // also merge tags of the array to the element type - // filter out the type tags lazily, this can lead to double messages for "Not implemented tag" - let newTags = tags; - if ('type' in esType) { - newTags = tags.filter((tag) => { - return !(tag.tagName === esType.type); - }); - } - - return readFieldTags(esType, path, topTypeName, newTags); - } - if (type.type === 'stringLiteral') { // a string literal, usually for type - return readTypeTags(type.type, path, topTypeName, tags); - } - if (type instanceof IntrinsicType) { // the absolute default type, like strings - return readTypeTags(type.name, path, topTypeName, tags); - } - if (type instanceof UnionType) { // the union type... - return handleUnionType(type, new Map(generics), path, topTypeName, tags); - } - if (type instanceof ReferenceType) { - if (typeof premaps[type.name] === 'undefined' && typeof type.reflection !== 'undefined') { - // there is really no way to make this typesafe, every element in DeclarationReflection is optional. - return handleDeclarationReflection(type.reflection as DeclarationReflection, - getReflectionGeneric(type, new Map(generics), path, topTypeName, tags), path, topTypeName, tags); - } - - return handleExternalType(type, new Map(generics), path, topTypeName, tags); - } - if (type instanceof TypeParameterType) { - // check if we have an object referencing a generic - if (generics.has(type.name)) { - return generics.get(type.name) as ElasticsearchObject | ElasticsearchType; - } - composeErrorMessage(path, topTypeName, 'Generic', type.name, 'Missing reflection, please report!'); - - return {type: ElasticsearchDataType.parse_error}; - - } - if (type instanceof ReflectionType) { - return readFieldTags(handleDeclarationReflection(type.declaration, new Map(generics), path, topTypeName), - path, topTypeName, tags); - } - - composeErrorMessage(path, topTypeName, 'type', stringify(type), 'Not implemented type'); - - return {type: ElasticsearchDataType.parse_error}; -} - -/** - * Adds an aggregatable to the aggregations list - * - * @param path the current path - * @param topTypeName the name of the top type - * @param global whether the topTypeName will be used - */ -function addAggregatable(path: string, topTypeName: string, global: boolean) { - // push type.path and remove the '.' at the end of the path - - if (global) { - const prop = path.slice(0, -1) - .split('.') - .pop() as string; // cannot be undefined - - return (aggregations['@all'] as ESNestedAggregation).aggs[prop.split('.') - .pop() as string] = { - terms: { - field: `${prop}.raw`, - size: 1000, - }, - }; - } - - const property = path.slice(0, -1); - - return (aggregations[topTypeName] as ESNestedAggregation).aggs[property] = { - terms: { - field: `${property}.raw`, - size: 1000, - }, - }; -} - -/** - * Reads all tags related to Elasticsearch fields from the fieldMap - * - * @param prev the previous ElasticsearchValue, for example and object - * @param path the current path to the object we are in - * @param topTypeName the name of the SCThingType - * @param tags tags attached to the value - * @param dataType the ElasticsearchDataType, for checking if a tag is a type tag - */ -function readFieldTags(prev: ElasticsearchValue, - path: string, - topTypeName: string, - tags: CommentTag[], - dataType?: string): ElasticsearchValue { - for (const tag of tags) { - if (tag.tagName === aggregatableTag) { - addAggregatable(path, topTypeName, tag.text.trim() === aggregatableTagParameterGlobal); - } - - if (!ignoredTagsList.includes(tag.tagName)) { - if (typeof fieldmap[tag.tagName] !== 'undefined') { - if (typeof prev.fields === 'undefined') { - // create in case it doesn't exist - prev.fields = {}; - } - if (tag.text.trim() === '') { - // merge fields - prev.fields = {...prev.fields, ...fieldmap[tag.tagName].default}; - } else if (typeof fieldmap[tag.tagName][tag.text.trim()] !== 'undefined') { - // merge fields - prev.fields = {...prev.fields, ...fieldmap[tag.tagName][tag.text.trim()]}; - } else if (!fieldmap[tag.tagName].ignore.includes(tag.text.trim())) { - // when there is an unidentified tag - composeErrorMessage(path, topTypeName, 'tag', tag.tagName, `Not implemented tag param "${tag.text.trim()}"`); - } - } else if (tag.tagName === filterableTagName) { - if (typeof prev.fields === 'undefined') { - prev.fields = {}; - } - if ('type' in prev) { - const type = filterableMap[prev.type]; - if (typeof type !== 'undefined') { - // merge fields - prev.fields = {...prev.fields, ...{raw: {type: type}}}; - } else { - composeErrorMessage(path, topTypeName, 'tag', tag.tagName, `Not implemented for ${prev.type}`); - } - } else { - composeErrorMessage(path, topTypeName, 'tag', tag.tagName, 'Not applicable for object types'); - } - } else if (typeof dataType === 'undefined' || typeof typemap[dataType][tag.tagName] === 'undefined') { - composeErrorMessage(path, topTypeName, 'tag', tag.tagName, `Not implemented tag`); - } - } - } - - return prev; -} - -/** - * Reads all types related to Elasticsearch fields from the fieldMap - * - * @param type the type of the value - * @param path the current path to the object we are in - * @param topTypeName the name of the SCThingType - * @param tags tags attached to the value - */ -function readTypeTags(type: string, path: string, topTypeName: string, tags: CommentTag[]): ElasticsearchValue { - let out: ElasticsearchValue = {type: ElasticsearchDataType.parse_error}; - - if (typeof typemap[type] !== 'undefined') { // first look if the value has a definition in the typemap - for (let i = tags.length - 1; i >= 0; i--) { - if (!ignoredTagsList.includes(tags[i].tagName) && typeof typemap[type][tags[i].tagName] !== 'undefined') { - // if we have a tag that indicates a type - if (out.type !== ElasticsearchDataType.parse_error) { - composeErrorMessage(path, topTypeName, 'type', type, - `Type conflict; "${typemap[type][tags[i].tagName]}" would override "${out.type}"`); - out.type = ElasticsearchDataType.type_conflict; - continue; - } - out.type = typemap[type][tags[i].tagName]; - } - } - - if (out.type === ElasticsearchDataType.parse_error) { - out.type = typemap[type].default; - } - - out = readFieldTags(out, path, topTypeName, tags, type); - - return out; - } - if (dynamicTypes.includes(type)) { // Elasticsearch dynamic type TODO: doesn't work for direct types - return { - dynamic: true, - properties: {}, - }; - } - - composeErrorMessage(path, topTypeName, 'type', type, 'Not implemented type'); - - return out; -} - -/** - * Reset the state - * - * This is kind of a suboptimal solution and should be changed in the future. - * https://gitlab.com/openstapps/core-tools/-/issues/49 - * - * @param resetInheritTags whether inherited tags should be reset as well - */ -function reset(resetInheritTags = true) { - errors = []; - dynamicTemplates = []; - aggregations = { - '@all': { - aggs: {}, - filter: { - match_all: {}, - }, - }, - }; - - if (resetInheritTags) { - inheritTagsMap = {}; - } -} - -/** - * Takes a project reflection and generates an ElasticsearchTemplate from it - * - * Serves as the entry point for getting the mapping, so if you just want to get the mapping files for Elasticsearch, - * you can do so by calling this function, `RETURNED_VALUE.template` contains the mapping in a fashion that is directly - * readable by Elasticsearch. - * - * @param projectReflection a reflection of the project you want to get the ES Mappings from - * @param ignoredTags the tag names for which the error output should be suppressed - * @param showErrorOutput whether to print all errors in the command line or not - * @param interfaceFilter only parse specific interfaces, this is for testing purposes - */ -export function generateTemplate(projectReflection: ProjectReflection, - ignoredTags: string[], - showErrorOutput = true, - interfaceFilter: string[] = []): -// tslint:disable-next-line:completed-docs - { aggregations: AggregationSchema; errors: string[]; mappings: ElasticsearchTemplateCollection; } { - reset(); - - showErrors = showErrorOutput; - - ignoredTagsList = ['indexable', 'validatable', inheritTagsName]; - ignoredTagsList.push.apply(ignoredTagsList, ignoredTags); - - const indexableInterfaces = getAllIndexableInterfaces(projectReflection); - - const out: ElasticsearchTemplateCollection = {}; - - for (const _interface of indexableInterfaces) { - // TODO: lots of duplicate code, this all needs to be changed https://gitlab.com/openstapps/core-tools/-/issues/49 - if (!Array.isArray(_interface.children) || _interface.children.length === 0) { - throw new Error('Interface needs at least some properties to be indexable'); - } - - const typeObject = _interface.children.find((declarationReflection) => { - return declarationReflection.name === 'type'; - }); - - if (typeof typeObject === 'undefined' || typeof typeObject.type === 'undefined') { - throw new Error('Interface needs a type to be indexable'); - } - - let typeName = 'INVALID_TYPE'; - if (typeObject.type instanceof ReferenceType) { - if (typeObject.type.reflection instanceof DeclarationReflection - && typeof typeObject.type.reflection.defaultValue === 'string') { - typeName = typeObject.type.reflection.defaultValue.replace('"', '') - .replace('"', ''); - } else { - // tslint:disable-next-line:no-floating-promises - void Logger.error('Your input files seem to be incorrect, or there is a major bug in the mapping generator.'); - } - } else if (typeObject.type instanceof StringLiteralType) { - Logger.warn(`The interface ${_interface.name} uses a string literal as type, please use SCThingType.`); - typeName = typeObject.type.value; - } else { - // tslint:disable-next-line:no-floating-promises - void Logger.error(`The interface ${_interface.name} is required to use an SCThingType as a type, please do so.`); - } - // init aggregation schema for type - aggregations[typeName] = { - aggs: {}, - filter: { - type: { - value: typeName, - }, - }, - }; - handleDeclarationReflection(_interface, new Map(), '', typeName); - } - - // second traversal - reset(false); - - for (const _interface of indexableInterfaces) { - if (!Array.isArray(_interface.children) || _interface.children.length === 0) { - throw new Error('Interface needs at least some properties to be indexable'); - } - - const typeObject = _interface.children.find((declarationReflection) => { - return declarationReflection.name === 'type'; - }); - - if (typeof typeObject === 'undefined' || typeof typeObject.type === 'undefined') { - throw new Error('Interface needs a type to be indexable'); - } - - let typeName = 'INVALID_TYPE'; - if (typeObject.type instanceof ReferenceType) { - if (typeObject.type.reflection instanceof DeclarationReflection - && typeof typeObject.type.reflection.defaultValue === 'string') { - typeName = typeObject.type.reflection.defaultValue.replace('"', '') - .replace('"', ''); - } else { - // tslint:disable-next-line:no-floating-promises - void Logger.error('Your input files seem to be incorrect, or there is a major bug in the mapping generator.'); - } - } else if (typeObject.type instanceof StringLiteralType) { - Logger.warn(`The interface ${_interface.name} uses a string literal as type, please use SCThingType.`); - typeName = typeObject.type.value; - } else { - // tslint:disable-next-line:no-floating-promises - void Logger.error(`The interface ${_interface.name} is required to use an SCThingType as a type, please do so.`); - } - - // filter out - if (interfaceFilter.length !== 0) { - if (typeof interfaceFilter.find((it) => it === typeName) === 'undefined') { - continue; - } - } - - // init aggregation schema for type - aggregations[typeName] = { - aggs: {}, - filter: { - type: { - value: typeName, - }, - }, - }; - - let typeNameWithoutSpaces = typeName.toLowerCase(); - while (typeNameWithoutSpaces.includes(' ')) { - typeNameWithoutSpaces = typeNameWithoutSpaces.replace(' ', '_'); - } - const templateName = `template_${typeNameWithoutSpaces}`; - - out[templateName] = { - mappings: { - [typeName]: handleDeclarationReflection(_interface, new Map(), '', typeName) as ElasticsearchObject, - }, - settings: settings, - template: `stapps_${typeNameWithoutSpaces}*`, - } - ; - out[templateName].mappings[typeName].properties.creation_date = { - type: ElasticsearchDataType.date, - }; - - out[templateName].mappings[typeName].dynamic_templates = dynamicTemplates; - - // Set some properties - out[templateName].mappings[typeName]._source = { - excludes: [ - 'creation_date', - ], - }; - out[templateName].mappings[typeName].date_detection = false; - - dynamicTemplates = []; - - if (Object.keys((aggregations[typeName] as ESNestedAggregation).aggs).length === 0) { - delete aggregations[typeName]; - } - } - - return {aggregations, mappings: out, errors}; -} diff --git a/src/mappings/aggregation-definitions.ts b/src/mappings/aggregation-definitions.ts deleted file mode 100644 index f7911a92..00000000 --- a/src/mappings/aggregation-definitions.ts +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (C) 2019 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -/** - * An elasticsearch bucket aggregation - * @see https://www.elastic.co/guide/en/elasticsearch/reference/5.6/search-aggregations-bucket.html - */ -export interface AggregationSchema { - [aggregationName: string]: ESTermsFilter | ESNestedAggregation; -} - -/** - * An elasticsearch terms filter - */ -export interface ESTermsFilter { - /** - * Terms filter definition - */ - terms: { - /** - * Field to apply filter to - */ - field: string; - - /** - * Number of results - */ - size?: number; - }; -} - -/** - * Filter that filters by name of the the field type - */ -export interface ESAggTypeFilter { - /** - * The type of the object to find - */ - type: { - /** - * The name of the type - */ - value: string; - }; -} - -/** - * Filter that matches everything - */ -export interface ESAggMatchAllFilter { - /** - * Filter that matches everything - */ - match_all: {}; -} - -/** - * For nested aggregations - */ -export interface ESNestedAggregation { - /** - * Possible nested Aggregations - */ - aggs: AggregationSchema; - /** - * Possible filter for types - */ - filter: ESAggTypeFilter | ESAggMatchAllFilter; -} diff --git a/src/mappings/definitions/fieldmap.ts b/src/mappings/definitions/fieldmap.ts deleted file mode 100644 index d7a5a976..00000000 --- a/src/mappings/definitions/fieldmap.ts +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (C) 2019-2021 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ -import {ElasticsearchFieldmap, ElasticsearchFilterableMap} from '../mapping-definitions'; -import {ElasticsearchDataType} from './typemap'; - -export enum analyzers { - ducet_sort = 'ducet_sort', - search_german = 'search_german', -} - -export const fieldmap: ElasticsearchFieldmap = { - aggregatable: { - default: { - raw: { - ignore_above: 10000, - type: ElasticsearchDataType.keyword, - }, - }, - ignore: ['global'], - }, - sortable: { - default: { - sort: { - analyzer: analyzers.ducet_sort, - fielddata: true, - type: ElasticsearchDataType.text, - }, - }, - ducet: { - sort: { - analyzer: analyzers.ducet_sort, - fielddata: true, - type: ElasticsearchDataType.text, - }, - }, - ignore: ['price'], - }, -}; - -export const filterableTagName = 'filterable'; - -export const filterableMap: ElasticsearchFilterableMap = { - date: ElasticsearchDataType.keyword, - keyword: ElasticsearchDataType.keyword, - text: ElasticsearchDataType.keyword, - integer: ElasticsearchDataType.integer, -}; diff --git a/src/mappings/definitions/premap.ts b/src/mappings/definitions/premap.ts deleted file mode 100644 index f0708a9d..00000000 --- a/src/mappings/definitions/premap.ts +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (C) 2019 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ -import {ElasticsearchPremap} from '../mapping-definitions'; -import {ElasticsearchDataType} from './typemap'; - -export const premaps: ElasticsearchPremap = { - CoordinateReferenceSystem: { - dynamic: true, - properties: { - type: { - type: ElasticsearchDataType.keyword, - }, - }, - }, - LineString: { - precision: '1m', - tree: 'quadtree', - type: ElasticsearchDataType.geo_shape, - }, - Point: { - properties: { - type: { - type: ElasticsearchDataType.keyword, - }, - coordinates: { - type: ElasticsearchDataType.geo_point, - }, - }, - dynamic: 'strict', - }, - Polygon: { - precision: '1m', - tree: 'quadtree', - type: ElasticsearchDataType.geo_shape, - }, - SCISO8601DateRange: { - type: ElasticsearchDataType.date_range, - }, - 'jsonpatch.OpPatch': { - dynamic: 'strict', - properties: { - from: { - type: ElasticsearchDataType.keyword, - }, - op: { - type: ElasticsearchDataType.keyword, - }, - path: { - type: ElasticsearchDataType.keyword, - }, - value: { - // this is actually an 'any' type, however ES does not really support that. - type: ElasticsearchDataType.keyword, - }, - }, - }, -}; diff --git a/src/mappings/definitions/settings.ts b/src/mappings/definitions/settings.ts deleted file mode 100644 index fd442bd7..00000000 --- a/src/mappings/definitions/settings.ts +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2019 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ -import {ElasticsearchSettings} from '../mapping-definitions'; - -export const settings: ElasticsearchSettings = { - analysis: { - analyzer: { - ducet_sort: { - filter: [ - 'german_phonebook', - ], - tokenizer: 'keyword', - type: 'custom', - }, - search_german: { - filter: [ - 'lowercase', - 'german_stop', - 'german_stemmer', - ], - tokenizer: 'stapps_ngram', - type: 'custom', - }, - }, - filter: { - german_phonebook: { - country: 'DE', - language: 'de', - type: 'icu_collation', - variant: '@collation=phonebook', - }, - german_stemmer: { - language: 'german', - type: 'stemmer', - }, - german_stop: { - stopwords: '_german_', - type: 'stop', - }, - }, - tokenizer: { - stapps_ngram: { - max_gram: 7, - min_gram: 4, - type: 'ngram', - }, - }, - }, - 'mapping.total_fields.limit': 10000, - max_result_window: 30000, - number_of_replicas: 0, - number_of_shards: 1, -}; diff --git a/src/mappings/definitions/typemap.ts b/src/mappings/definitions/typemap.ts deleted file mode 100644 index 1e8845e0..00000000 --- a/src/mappings/definitions/typemap.ts +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (C) 2019 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ -import {ElasticsearchTypemap} from '../mapping-definitions'; - -export enum ElasticsearchDataType { - missing_premap = 'MISSING_PREMAP', - parse_error = 'PARSE_ERROR', - type_conflict = 'TYPE_CONFLICT', - text = 'text', - keyword = 'keyword', - date = 'date', - // long = 'long', - // double = 'double', - float = 'float', - boolean = 'boolean', - ip = 'ip', - integer = 'integer', - object = 'object', - nested = 'nested', - geo_point = 'geo_point', - geo_shape = 'geo_shape', - completion = 'completion', - date_range = 'date_range', - // integer_range = 'integer_range', - // float_range = 'float_range', - // long_range = 'long_range', - // double_range = 'double_range', - // ip_range = 'ip_range', -} - -export const typemap: ElasticsearchTypemap = { - boolean: { - default: ElasticsearchDataType.boolean, - }, - false: { - default: ElasticsearchDataType.boolean, - }, - number: { - default: ElasticsearchDataType.integer, - float: ElasticsearchDataType.float, - integer: ElasticsearchDataType.integer, - date: ElasticsearchDataType.date, - }, - string: { - default: ElasticsearchDataType.text, - keyword: ElasticsearchDataType.keyword, - text: ElasticsearchDataType.text, - date: ElasticsearchDataType.date, - }, - stringLiteral: { - default: ElasticsearchDataType.keyword, - }, - true: { - default: ElasticsearchDataType.boolean, - }, -}; - -export const dynamicTypes = ['any', 'unknown']; diff --git a/src/mappings/mapping-definitions.ts b/src/mappings/mapping-definitions.ts deleted file mode 100644 index e7c0f626..00000000 --- a/src/mappings/mapping-definitions.ts +++ /dev/null @@ -1,324 +0,0 @@ -/* - * Copyright (C) 2019 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ -import {ElasticsearchDataType} from './definitions/typemap'; - -// tslint:disable:no-any - -/** - * ElasticsearchValue can be either a type or an object. - * - * Both are composed similarly, and can be the value of a propery - * of an Elasticsearch Object. - */ -export type ElasticsearchValue = ElasticsearchType | ElasticsearchObject | ElasticsearchGeoShape; - -/** - * The Typemap is used to get the corresponding ElasicsearchDataType for a name provided by the ProjectReflection - */ -export interface ElasticsearchTypemap { - /** - * The `stringLiteral` type must always be provided - */ - stringLiteral: { - /** - * The default can be chosen freely, but must be provided - */ - default: ElasticsearchDataType; - }; - - /** - * The name of the JS type, so for `number` it would be number - */ - [name: string]: { - /** - * The default ElasticsearchDataType that should be used, if no tag or only not implemented tags are found - */ - default: ElasticsearchDataType; - - /** - * The name of the tag, so for `@integer` it would be `integer` - */ - [name: string]: ElasticsearchDataType; - }; -} - -/** - * The representation of a `DynamicTemplate` in Elasticsearch - * - * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/dynamic-templates.html - */ -export interface ElasticsearchDynamicTemplate { - /** - * The name of the dynamicTemplate - */ - [name: string]: { - /** - * The mapping of the template - */ - mapping: ElasticsearchValue; - - /** - * With automatic mapping, we use `path_match` more or less out of convenience and because it is least error-prone - * - * This also means that match should match all ("*") interface names (because we provide the exact path of the - * interface) - */ - match: '*'; - - /** - * With automatic mapping, we use `path_match` more or less out of convenience and because it is least error-prone - * - * This also means that match_mapping_type should match all ("*") names (because we provide the exact path of the - * interface) - */ - match_mapping_type: '*'; - - /** - * With automatic mapping, we use `path_match` more or less out of convenience and because it is least error-prone - */ - path_match: string; - }; -} - -export interface ElasticsearchFilterableMap { - [name: string]: ElasticsearchDataType; -} - -/** - * The Fieldmap contains all tag names for fields and the corresponding fields - * - * The Fieldmap works in a similar fashion to the Typemap - */ -export interface ElasticsearchFieldmap { - /** - * The name of the tag, so for `@sortable` it would be `sortable` - */ - [name: string]: { - /** - * The default value if no parameter is provided - */ - default: { - /** - * To allow the usage of `prev.fields = {...prev.fields, ...fieldmap[tag.tagName].default}` - * - * We could also have used `default: any`, but this adds slightly more improved type-safety. - */ - [name: string]: any; - }; - - /** - * The tag parameters that will be ignored - * - * Some tag parameters might not be important for your implementation, so you can add their names here to not get - * any errors. The `default` will be used in that case. - */ - ignore: string[]; - - /** - * The parameters of the tag, so for `@sortable ducet` it would be `ducet` - */ - [name: string]: { - /** - * To allow the usage of `prev.fields = {...prev.fields, ...fieldmap[tag.tagName][tag.text.trim()]}` - * - * We could also have used `default: any`, but this adds slightly more improved type-safety. - */ - [name: string]: any; - }; - }; -} - -/** - * A primitive data type - * - * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/mapping-types.html - */ -export interface ElasticsearchType { - /** - * Fields for a type - * - * The fields are optional, they are used for things like sorting, which is not needed for every single type. - */ - fields?: { - [name: string]: any; - }; - - /** - * The type as an ElasticsearchDataType - */ - type: ElasticsearchDataType; -} - -/** - * A GeoShape data type - * - * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/geo-shape.html - */ -export interface ElasticsearchGeoShape { - /** - * Does not exist; here for TypeScript compiler - */ - fields?: undefined; - - /** - * This parameter may be used instead of tree_levels to set an appropriate value for the tree_levels parameter. - * - * The value specifies the desired precision and Elasticsearch will calculate the best tree_levels value to honor - * this precision. The value should be a number followed by an optional distance unit. Valid distance units include: - * in, inch, yd, yard, mi, miles, km, kilometers, m,meters, cm,centimeters, mm, millimeters. - */ - precision: string; - - /** - * Name of the PrefixTree implementation to be used: geohash for GeohashPrefixTree and quadtree for QuadPrefixTree. - */ - tree: 'quadtree' | 'geohash'; - - /** - * The type of the object, obviously geo_shape - */ - type: ElasticsearchDataType.geo_shape; -} - -/** - * An object data type - * - * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/object.html - */ -export interface ElasticsearchObject { - - /** - * Only for the top type - */ - _source?: { - /** - * Fields that should be excluded in the _source field - */ - excludes: [ - 'creation_date' - ]; - }; - - /** - * Whether the creation date should be set automatically - */ - date_detection?: boolean; - - /** - * If the object is a dynamic - * - * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/dynamic.html - * The default should be `'strict'` - */ - dynamic: true | false | 'strict'; - - /** - * dynamic_templates for an object - * - * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/dynamic-templates.html - * This is a more complex topic, before touching this you should really know what you are doing. - */ - dynamic_templates?: ElasticsearchDynamicTemplate[]; - - /** - * Fields for a type - * - * The fields are optional, they are used for things like sorting, which is not needed for every single type. - */ - fields?: { - [name: string]: any; - }; - - /** - * Any properties of the object - * - * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/properties.html - */ - properties: { - /** - * Each property can be any Elasticsearch value - * - * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/mapping-types.html - */ - [name: string]: ElasticsearchValue; - }; -} - -/** - * A collection of Elasticsearch Templates - */ -export interface ElasticsearchTemplateCollection { - [indexName: string]: ElasticsearchTemplate; -} - -/** - * An Elasticsearch template - * - * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/mapping.html - * This is what you pass to Elasticsearch - */ -export interface ElasticsearchTemplate { - /** - * This is a pre-defined structure you should use for your mapping - */ - mappings: { - [typeName: string]: ElasticsearchObject; - }; - - /** - * The settings for Elasticsearch - */ - settings: ElasticsearchSettings; - - /** - * The name of the template, for referencing in Elasticsearch - */ - template: string; -} - -/** - * A representation of ElasticsearchSettings used in Mappings - */ -export interface ElasticsearchSettings { - /** - * The settings - */ - [name: string]: any; - - /** - * This is where any analyzers go - * - * https://www.elastic.co/guide/en/elasticsearch/reference/5.6/analysis-analyzers.html - */ - analysis: { - [name: string]: any; - }; -} - -/** - * A premap for a specific value in a ProjectReflection - * - * This is meant to be used for external types. To aid performance, you usually should not include external libs in the - * ProjectReflection. This means that there is no way the generator can generate a mapping for it, so you can use the - * premaps to map out a type manually. - */ -export interface ElasticsearchPremap { - /** - * The name of the type with the corresponding map - * - * So for `const a: B` the name would be `B` - */ - [name: string]: ElasticsearchValue; -} diff --git a/src/pack.ts b/src/pack.ts index b5e45530..dcd51f35 100644 --- a/src/pack.ts +++ b/src/pack.ts @@ -1,5 +1,6 @@ +/* eslint-disable unicorn/error-message */ /* - * Copyright (C) 2019 StApps + * Copyright (C) 2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -15,37 +16,13 @@ import {Logger} from '@openstapps/logger'; import del from 'del'; import {existsSync} from 'fs'; -import {basename, dirname, join} from 'path'; import {cwd} from 'process'; import {globPromisified, readFilePromisified, unlinkPromisified, writeFilePromisified} from './common'; +import {JavaScriptModule} from './types/pack'; +import path from 'path'; const PACK_IDENTIFIER = '/* PACKED BY @openstapps/pack */'; -/** - * A JavaScript module representation to sort a list of them by dependencies - */ -interface JavaScriptModule { - /** - * Content of the module - */ - content: string; - - /** - * List of names of dependencies - */ - dependencies: string[]; - - /** - * Directory the module is in - */ - directory: string; - - /** - * The name of the module - */ - name: string; -} - /** * Pack cli.js * @@ -55,32 +32,30 @@ interface JavaScriptModule { * Furthermore it checks that no shebang line is present and that it does not export anything. */ async function packCliJs(): Promise { - const path = join(cwd(), 'lib', 'cli.js'); + const cliPath = path.join(cwd(), 'lib', 'cli.js'); - if (!existsSync(path)) { + if (!existsSync(cliPath)) { return; } Logger.info('Adjusting JavaScript CLI...'); - const buffer = await readFilePromisified(path); + const buffer = await readFilePromisified(cliPath); const content = buffer.toString(); if (content.indexOf('#!/') === 0) { throw new Error('`cli.js` must not contain a shebang line! It is added by this script.'); } - let internalRequire: string | null = null; + let internalRequire: string | undefined; const adjustedContent = content .split('\n') .map((line, lineNumber) => { - // check for exports (cli.js is not allowed to export anything) if (Array.isArray(line.match(/^\s*((exports)|(module\.exports))/))) { - throw new Error( - `Line '${lineNumber}' in 'cli.js' exports something. cli.js is not for exporting. Line was: -${line}`, + throw new TypeError( + `Line '${lineNumber}' in 'cli.js' exports something. cli.js is not for exporting. Line was:\n${line}`, ); } @@ -89,16 +64,14 @@ ${line}`, const match = line.match(/^(\s*)(const|var) ([a-z0-9_]*) = require\(("[^"]+"|'[^']+')\);$/i); if (match !== null) { - // tslint:disable-next-line:no-magic-numbers const importedName = match[3]; - // tslint:disable-next-line:no-magic-numbers + // eslint-disable-next-line unicorn/prefer-string-slice const moduleName = match[4].substring(1, match[4].length - 1); // if it begins with '.' and not ends with json if (/^[.]{1,2}\/(?!.*\.json$).*$/i.test(moduleName)) { - // is the first internal require - if (internalRequire !== null) { + if (internalRequire) { return `const ${importedName} = ${internalRequire};`; } @@ -113,20 +86,18 @@ ${line}`, }) .join('\n'); - return writeFilePromisified(path, `#!/usr/bin/env node - -${adjustedContent}`); + return writeFilePromisified(cliPath, `#!/usr/bin/env node\n\n${adjustedContent}`); } /** * Get a list containing the contents of all type definition files */ async function getAllTypeDefinitions(): Promise { - const fileNames = await globPromisified(join(cwd(), '*(lib|src)', '**', '*.d.ts'), { + const fileNames = await globPromisified(path.join(cwd(), '*(lib|src)', '**', '*.d.ts'), { ignore: [ - join(cwd(), 'lib', 'doc', '**', '*.d.ts'), - join(cwd(), 'lib', 'test', '**', '*.d.ts'), - join(cwd(), 'lib', 'cli.d.ts'), + path.join(cwd(), 'lib', 'doc', '**', '*.d.ts'), + path.join(cwd(), 'lib', 'test', '**', '*.d.ts'), + path.join(cwd(), 'lib', 'cli.d.ts'), ], }); @@ -143,24 +114,24 @@ async function getAllTypeDefinitions(): Promise { async function packTypeDefinitions(): Promise { Logger.info('Packing TypeScript definition files...'); - const path = join(cwd(), 'lib', 'index.d.ts'); + const indexPath = path.join(cwd(), 'lib', 'index.d.ts'); - await deleteFileIfExistingAndPacked(path); + await deleteFileIfExistingAndPacked(indexPath); const typeDefinitions = await getAllTypeDefinitions(); // pack TypeScript definition files - const imports: { [k: string]: string[]; } = {}; + const imports: {[k: string]: string[]} = {}; const referenceLines: string[] = []; let allDefinitions = typeDefinitions - // concat them separated by new lines + // concat them separated by new lines .join('\n\n\n\n\n') // split all lines .split('\n') - .map((line) => { - if (line.indexOf('export =') !== -1) { + .map(line => { + if (line.includes('export =')) { throw new Error('`export =` is not allowed by pack. Use named imports instead.'); } @@ -174,15 +145,12 @@ async function packTypeDefinitions(): Promise { const match = line.match(/^import {([^}].*)} from '([^'].*)';$/); if (match !== null) { - // tslint:disable-next-line:no-magic-numbers - extract module const module = match[2]; // extract imported objects - const importedObjects = match[1] - .split(',') - .map((object) => { - return object.trim(); - }); + const importedObjects = match[1].split(',').map(object => { + return object.trim(); + }); // add list of already imported objects for module if (typeof imports[module] === 'undefined') { @@ -191,12 +159,12 @@ async function packTypeDefinitions(): Promise { // count already imported objects and objects to import now const objectsToImport: string[] = []; - importedObjects.forEach((object) => { - if (imports[module].indexOf(object) === -1) { + for (const object of importedObjects) { + if (!imports[module].includes(object)) { imports[module].push(object); objectsToImport.push(object); } - }); + } // replace import line if (objectsToImport.length === 0) { @@ -209,7 +177,7 @@ async function packTypeDefinitions(): Promise { return line; }) // filter lines which contain "local" imports - .filter((line) => { + .filter(line => { return line.match(/^import .* from '\./) === null; }) // concat all lines separated by new lines @@ -223,9 +191,12 @@ ${allDefinitions}`; } // write packed TypeScript definition files - return writeFilePromisified(path, `${PACK_IDENTIFIER} + return writeFilePromisified( + indexPath, + `${PACK_IDENTIFIER} -${allDefinitions}`); +${allDefinitions}`, + ); } } @@ -233,18 +204,17 @@ ${allDefinitions}`); * Get all JavaScript modules */ async function getAllJavaScriptModules(): Promise { - const fileNames = await globPromisified(join(cwd(), 'lib', '**', '*.js'), { + const fileNames = await globPromisified(path.join(cwd(), 'lib', '**', '*.js'), { ignore: [ - join(cwd(), 'lib', 'doc', '**', '*.js'), - join(cwd(), 'lib', 'test', '*.js'), - join(cwd(), 'lib', 'cli.js'), + path.join(cwd(), 'lib', 'doc', '**', '*.js'), + path.join(cwd(), 'lib', 'test', '*.js'), + path.join(cwd(), 'lib', 'cli.js'), ], }); const promises = fileNames.map(async (fileName: string) => { const fileContent = await readFilePromisified(fileName, 'utf8'); - const directory = dirname(fileName) - .replace(new RegExp(`^${join(cwd(), 'lib')}`), ''); + const directory = path.dirname(fileName).replace(new RegExp(`^${path.join(cwd(), 'lib')}`), ''); return { content: `(function() { @@ -253,7 +223,7 @@ ${fileContent} `, dependencies: getAllInternalDependencies(fileContent), directory: directory, - name: basename(fileName, '.js'), + name: path.basename(fileName, '.js'), }; }); @@ -264,37 +234,33 @@ ${fileContent} * Pack all javascript files */ async function packJavaScriptFiles(): Promise { - const path = join(cwd(), 'lib', 'index.js'); + const indexPath = path.join(cwd(), 'lib', 'index.js'); Logger.info('Packing JavaScript files...'); - await deleteFileIfExistingAndPacked(path); + await deleteFileIfExistingAndPacked(indexPath); // topologically sort the modules (sort by dependencies) const jsModules = topologicalSort(await getAllJavaScriptModules()); let wholeCode = jsModules - // convert modules to strings - .map((module) => { + // convert modules to strings + .map(module => { module.content = module.content .split('\n') - .map((line) => { + .map(line => { const match = line.match( /^(\s*)(const|var) ([a-z0-9_]*) = ((require\("([^"]+)"\))|(require\('([^']+)'\)));$/i, ); // replace lines with internal requires if (match !== null) { - // tslint:disable-next-line:no-magic-numbers - match[6] or match[8] contain the modulePath if (typeof match[6] === 'undefined') { - // tslint:disable-next-line:no-magic-numbers match[6] = match[8]; } - const whiteSpace = (typeof match[1] === 'string' && match[1].length > 0) ? match[1] : ''; - // tslint:disable-next-line:no-magic-numbers + const whiteSpace = typeof match[1] === 'string' && match[1].length > 0 ? match[1] : ''; const importedName = match[3]; - // tslint:disable-next-line:no-magic-numbers const modulePath = match[6]; // leave line unchanged if it is a "global" import @@ -303,11 +269,11 @@ async function packJavaScriptFiles(): Promise { } // replace internal requires with `module.exports` - if (existsSync(join(cwd(), 'lib', module.directory, `${modulePath}.js`))) { + if (existsSync(path.join(cwd(), 'lib', module.directory, `${modulePath}.js`))) { return `${whiteSpace}const ${importedName} = module.exports;`; } - if (existsSync(join(cwd(), 'src', module.directory, modulePath))) { + if (existsSync(path.join(cwd(), 'src', module.directory, modulePath))) { return `${whiteSpace} const ${importedName} = require(../src/${modulePath});`; } @@ -326,7 +292,7 @@ ${module.content}`; // split all lines .split('\n') // filter lines - .filter((line) => { + .filter(line => { // remove strict usage if (line === '"use strict";') { return false; @@ -356,9 +322,12 @@ Object.defineProperty(exports, "__esModule", { value: true }); ${wholeCode}`; // write packed JavaScript files - return writeFilePromisified(path, `${PACK_IDENTIFIER} + return writeFilePromisified( + indexPath, + `${PACK_IDENTIFIER} -${wholeCode}`); +${wholeCode}`, + ); } } @@ -378,8 +347,8 @@ async function deleteFileIfExistingAndPacked(path: string): Promise { return unlinkPromisified(path); } - } catch (err) { - if (err.code === 'ENOENT') { + } catch (error) { + if (error.code === 'ENOENT') { return; } } @@ -392,12 +361,13 @@ async function deleteFileIfExistingAndPacked(path: string): Promise { */ function getAllInternalDependencies(moduleContent: string): string[] { // match all const = require(); - const requireLines = - moduleContent.match(/^\s*(const|var) [a-z0-9_]* = require\("([^"]+)"\)|require\('([^']+)'\);$/gmi); + const requireLines = moduleContent.match( + /^\s*(const|var) [a-z0-9_]* = require\("([^"]+)"\)|require\('([^']+)'\);$/gim, + ); if (Array.isArray(requireLines)) { return requireLines - .map((requireLine) => { + .map(requireLine => { const matches = requireLine.match(/require\("([^"]+)"\)|require\('([^']+)'\);$/i); // previously matched require line does not contain a require?! @@ -408,13 +378,13 @@ function getAllInternalDependencies(moduleContent: string): string[] { // return only the moduleName return matches[1]; }) - .filter((moduleName) => { + .filter(moduleName => { // filter out internal modules beginning with './' and not ending with '.json' return /^[.]{1,2}\/(?!.*\.json$).*$/i.test(moduleName); }) - .map((internalModuleName) => { + .map(internalModuleName => { // cut './' from the name - return internalModuleName.substring('./'.length); + return internalModuleName.slice('./'.length); }); } @@ -427,6 +397,7 @@ function getAllInternalDependencies(moduleContent: string): string[] { * @param modules Modules to sort */ function topologicalSort(modules: JavaScriptModule[]): JavaScriptModule[] { + // eslint-disable-next-line unicorn/prefer-module,@typescript-eslint/no-var-requires const topoSort = require('toposort'); // vertices are modules, an edge from a to b means that b depends on a @@ -434,23 +405,21 @@ function topologicalSort(modules: JavaScriptModule[]): JavaScriptModule[] { const nodes: string[] = []; // add all edges - modules.forEach((module) => { - module.dependencies.forEach((dependencyPath) => { + for (const module of modules) { + for (const dependencyPath of module.dependencies) { // add edge from dependency to our module - edges.push([basename(dependencyPath), module.name]); - }); + edges.push([path.basename(dependencyPath), module.name]); + } nodes.push(module.name); - }); + } // sort graph and return as an array of sorted modules - return topoSort - .array(nodes, edges) - .map((moduleName: string) => { - return modules.find((module) => { - return module.name === moduleName; - }); + return topoSort.array(nodes, edges).map((moduleName: string) => { + return modules.find(module => { + return module.name === moduleName; }); + }); } /** @@ -460,11 +429,7 @@ export async function pack() { Logger.log(`Packing project in ${process.cwd()}...`); // run all tasks in parallel - const promises: Array> = [ - packCliJs(), - packTypeDefinitions(), - packJavaScriptFiles(), - ]; + const promises: Array> = [packCliJs(), packTypeDefinitions(), packJavaScriptFiles()]; await Promise.all(promises); @@ -476,18 +441,24 @@ export async function pack() { 'lib/*', // keep packed files - '!lib/index.d.ts', '!lib/index.js', + '!lib/index.d.ts', + '!lib/index.js', // keep converted schema files - '!lib/schema', '!lib/schema/*.json', + '!lib/schema', + '!lib/schema/*.json', // keep documentation - '!lib/doc', '!lib/doc/*', '!lib/doc/**/*', + '!lib/doc', + '!lib/doc/*', + '!lib/doc/**/*', // keep cli '!lib/cli.js', // keep tests - '!lib/test', '!lib/test/*', '!lib/test/**/*', + '!lib/test', + '!lib/test/*', + '!lib/test/**/*', ]); } diff --git a/src/resources/foo.ts b/src/resources/foo.ts index b2d5357c..36c2484c 100644 --- a/src/resources/foo.ts +++ b/src/resources/foo.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 StApps + * Copyright (C) 2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -16,14 +16,14 @@ /** * This is a simple interface declaration for * testing the schema generation and validation. - * + * * @validatable */ export interface Foo { /** * Dummy parameter */ - lorem: 'ipsum'; + lorem: 'lorem' | 'ipsum'; /** * String literal type property @@ -33,6 +33,6 @@ export interface Foo { /** * This is a simple type declaration for - * usage in the Foo interace. + * usage in the Foo interface. */ export type FooType = 'Foo'; diff --git a/src/routes.ts b/src/routes.ts index 87893d4b..88c4d9ed 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018-2019 StApps + * Copyright (C) 2018-2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -12,182 +12,139 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {asyncPool} from '@krlwlfrt/async-pool/lib/async-pool'; -import {Logger} from '@openstapps/logger'; +import {assign, filter, map} from 'lodash'; import {OpenAPIV3} from 'openapi-types'; -import {basename, dirname, join} from 'path'; -import {ProjectReflection} from 'typedoc'; -import {Type} from 'typedoc/dist/lib/models'; -import {capitalize, NodeWithMetaInformation, RouteWithMetaInformation} from './common'; +import {isLightweightClass} from './easy-ast/ast-util'; +import {LightweightProjectWithIndex} from './easy-ast/types/lightweight-project'; +import {RouteInstanceWithMeta, RouteWithMetaInformation} from './types/routes'; +import {rejectNil} from './util/collections'; +import {capitalize} from './util/string'; +import path from 'path'; +import {lightweightProjectFromPath} from './easy-ast/easy-ast'; /** * Gather relevant information of routes * * This gathers the information for all routes that implement the abstract class SCAbstractRoute. * Furthermore it instantiates every route and adds it to the information. - * - * @param reflection Contents of the JSON representation which Typedoc generates */ -export async function gatherRouteInformation(reflection: ProjectReflection): Promise { - const routes: RouteWithMetaInformation[] = []; +export async function gatherRouteInformation(path: string): Promise { + const project = new LightweightProjectWithIndex(lightweightProjectFromPath(path)); - if (!Array.isArray(reflection.children)) { - throw new Error('Project reflection doesn\'t contain any modules.'); - } - - // tslint:disable-next-line:no-magic-numbers - await asyncPool(2, reflection.children, async (module) => { - if (Array.isArray(module.children) && module.children.length > 0) { - // tslint:disable-next-line:no-magic-numbers - await asyncPool(2, module.children, (async (node) => { - if (Array.isArray(node.extendedTypes) && node.extendedTypes.length > 0) { - if (node.extendedTypes.some((extendedType) => { - // tslint:disable-next-line:completed-docs - return (extendedType as (Type & { name: string; })).name === 'SCAbstractRoute'; - })) { - Logger.info(`Found ${node.name} in ${module.originalName}.`); - - if (Array.isArray(module.originalName.match(/\.d\.ts$/))) { - module.originalName = join(dirname(module.originalName), basename(module.originalName, '.d.ts')); - Logger.info(`Using compiled version of module in ${module.originalName}.`); - } - - const importedModule = await import(module.originalName); - - const route = new importedModule[node.name](); - - // tslint:disable-next-line: no-any - const errors = route.errorNames.map((error: any) => { - const scError = new importedModule[error.name](); - scError.name = error.name; - - return scError; - }); - - route.responseBodyDescription = module.children!.find(element => element.name === route.responseBodyName)?.comment?.shortText; - route.requestBodyDescription = module.children!.find(element => element.name === route.requestBodyName)?.comment?.shortText; - - route.errors = errors; - - routes.push({description: node.comment!, name: node.name, route}); - } + // find all classes that implement the SCAbstractRoute + return rejectNil( + await Promise.all( + map(filter(project.definitions, isLightweightClass), async node => { + if (!node.extendedDefinitions?.some(it => it.referenceName === 'SCAbstractRoute')) { + return undefined; } - })); - } - }); - if (routes.length === 0) { - throw new Error('No route information found.'); - } + const instantiatedRoute = (await project.instantiateDefinitionByName( + node.name, + )) as RouteInstanceWithMeta; + // instantiate all errors + instantiatedRoute.errors = await Promise.all( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + instantiatedRoute.errorNames.map(async (error: any) => + // eslint-disable-next-line @typescript-eslint/ban-types + assign((await project.instantiateDefinitionByName(error.name)) as object, {name: error.name}), + ), + ); + instantiatedRoute.responseBodyDescription = + // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain + project.definitions[instantiatedRoute.responseBodyName]?.comment?.shortSummary!; + instantiatedRoute.requestBodyDescription = + // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain + project.definitions[instantiatedRoute.requestBodyName]?.comment?.shortSummary!; - return routes; -} - -/** - * Get link for a node - * - * @param name Name of the node - * @param node Node itself - */ -export function getLinkForNode(name: string, node: NodeWithMetaInformation): string { - let link = 'https://openstapps.gitlab.io/core/'; - const module = node.module - .toLowerCase() - .split('/') - .join('_'); - - if (node.type === 'Type alias') { - link += 'modules/'; - link += `_${module}_`; - link += `.html#${name.toLowerCase()}`; - - return link; - } - - let type = 'classes'; - if (node.type !== 'Class') { - type = `${node.type.toLowerCase()}s`; - } - - link += `${type}/`; - link += `_${module}_`; - link += `.${name.toLowerCase()}.html`; - - return link; + return { + description: { + shortText: node.comment?.shortSummary, + text: node.comment?.description, + }, + name: node.name!, + route: instantiatedRoute, + }; + }), + ), + ); } /** * Generate documentation snippet for one route * * @param routeWithInfo A route instance with its meta information - * @param outDirSchemasPath Path to directory that will contain relevant schemas for the route + * @param outDirectorySchemasPath Path to directory that will contain relevant schemas for the route * @param schemasToCopy Schemas identified as relevant for this route * @param tagsToKeep Tags / keywords that can be used for grouping routes */ - export function generateOpenAPIForRoute(routeWithInfo: RouteWithMetaInformation, - outDirSchemasPath: string, - schemasToCopy: string[], - tagsToKeep: string[]): OpenAPIV3.PathItemObject { +export function generateOpenAPIForRoute( + routeWithInfo: RouteWithMetaInformation, + outDirectorySchemasPath: string, + schemasToCopy: string[], + tagsToKeep: string[], +): OpenAPIV3.PathItemObject { const route = routeWithInfo.route; - const path: OpenAPIV3.PathItemObject = {}; + const openapiPath: OpenAPIV3.PathItemObject = {}; schemasToCopy.push(route.requestBodyName, route.responseBodyName); - path[(route.method.toLowerCase() as OpenAPIV3.HttpMethods)] = { - summary: capitalize(routeWithInfo.description.shortText?.replace(/(Route to |Route for )/gmi, '')), + openapiPath[route.method.toLowerCase() as OpenAPIV3.HttpMethods] = { + summary: capitalize(routeWithInfo.description.shortText?.replace(/(Route to |Route for )/gim, '')), description: routeWithInfo.description.text, requestBody: { description: route.responseBodyDescription ?? undefined, content: { 'application/json': { schema: { - $ref: join(outDirSchemasPath, `${route.requestBodyName}.json`), + $ref: path.join(outDirectorySchemasPath, `${route.requestBodyName}.json`), }, }, }, }, - parameters: [{ - name: 'X-StApps-Version', - in: 'header', - schema: { - type: 'string', - example: '2.0.0', + parameters: [ + { + name: 'X-StApps-Version', + in: 'header', + schema: { + type: 'string', + example: '2.0.0', + }, + required: true, }, - required: true, - }], + ], responses: {}, tags: routeWithInfo.tags?.filter(value => tagsToKeep.includes(value)), }; - path[(route.method.toLowerCase() as OpenAPIV3.HttpMethods)]!.responses![route.statusCodeSuccess] = { + openapiPath[route.method.toLowerCase() as OpenAPIV3.HttpMethods]!.responses![route.statusCodeSuccess] = { description: route.responseBodyDescription, content: { 'application/json': { schema: { - $ref: join(outDirSchemasPath, `${route.responseBodyName}.json`), + $ref: path.join(outDirectorySchemasPath, `${route.responseBodyName}.json`), }, }, }, }; - route.errors.forEach(error => { + for (const error of route.errors) { schemasToCopy.push(error.name); - path[(route.method.toLowerCase() as OpenAPIV3.HttpMethods)]!.responses![error.statusCode] = { - description: error.message ?? capitalize(error.name.replace(/([A-Z][a-z])/g,' $1') - .replace('SC ', '')), + openapiPath[route.method.toLowerCase() as OpenAPIV3.HttpMethods]!.responses![error.statusCode] = { + description: error.message ?? capitalize(error.name.replace(/([A-Z][a-z])/g, ' $1').replace('SC ', '')), content: { 'application/json': { schema: { - $ref: join(outDirSchemasPath, `${error.name}.json`), + $ref: path.join(outDirectorySchemasPath, `${error.name}.json`), }, }, }, }; - }); + } if (typeof route.obligatoryParameters === 'object') { for (const [parameter, schemaDefinition] of Object.entries(route.obligatoryParameters)) { - const openapiParam: OpenAPIV3.ParameterObject = { + const openapiParameter: OpenAPIV3.ParameterObject = { in: 'path', name: parameter, required: true, @@ -196,9 +153,9 @@ export function getLinkForNode(name: string, node: NodeWithMetaInformation): str $ref: `schemas/SCSearchResponse.json#/definitions/${schemaDefinition}`, }, }; - path[(route.method.toLowerCase() as OpenAPIV3.HttpMethods)]?.parameters?.push(openapiParam); + openapiPath[route.method.toLowerCase() as OpenAPIV3.HttpMethods]?.parameters?.push(openapiParameter); } } - return path; + return openapiPath; } diff --git a/src/schema.ts b/src/schema.ts index de5be27d..32ca8ba7 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -14,13 +14,16 @@ */ import Ajv from 'ajv'; import {JSONSchema7 as JSONSchema} from 'json-schema'; -import {join} from 'path'; +import {filter} from 'lodash'; import {Config, DEFAULT_CONFIG, Definition, SchemaGenerator} from 'ts-json-schema-generator'; import {createFormatter} from 'ts-json-schema-generator/dist/factory/formatter'; import {createParser} from 'ts-json-schema-generator/dist/factory/parser'; import {createProgram} from 'ts-json-schema-generator/dist/factory/program'; -import {ProjectReflection} from 'typedoc'; -import {getTsconfigPath, isSchemaWithDefinitions} from './common'; +import {getTsconfigPath} from './common'; +import {definitionsOf, isLightweightClass} from './easy-ast/ast-util'; +import {lightweightProjectFromPath} from './easy-ast/easy-ast'; +import {isSchemaWithDefinitions} from './util/guards'; +import path from 'path'; /** * StAppsCore converter @@ -41,15 +44,15 @@ export class Converter { /** * Create a new converter * - * @param path Path to the project + * @param projectPath Path to the project */ - constructor(path: string) { + constructor(projectPath: string) { // set config for schema generator const config: Config = { ...DEFAULT_CONFIG, sortProps: true, topRef: false, - tsconfig: join(getTsconfigPath(path), 'tsconfig.json'), + tsconfig: path.join(getTsconfigPath(projectPath), 'tsconfig.json'), type: 'SC', }; @@ -57,14 +60,11 @@ export class Converter { const program = createProgram(config); // create generator - this.generator = new SchemaGenerator( - program, - createParser(program, config), - createFormatter(config), - ); + this.generator = new SchemaGenerator(program, createParser(program, config), createFormatter(config)); // create Ajv instance this.schemaValidator = new Ajv(); + // eslint-disable-next-line @typescript-eslint/no-var-requires,unicorn/prefer-module this.schemaValidator.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json')); } @@ -93,9 +93,9 @@ export class Converter { delete selfReference.$id; // add self reference to definitions - schema.definitions[`SC${type}`] = { + schema.definitions![`SC${type}`] = { ...{}, - ...selfReference as unknown as Definition, + ...(selfReference as unknown as Definition), }; } @@ -108,32 +108,10 @@ export class Converter { } /** - * Get a list of validatable types from a reflection - * - * @param projectReflection Reflection to get validatable types from + * Get a list of validatable types from an API extractor file */ -export function getValidatableTypesFromReflection(projectReflection: ProjectReflection): string[] { - const validatableTypes: string[] = []; - - if (typeof projectReflection.children === 'undefined') { - throw new Error('Project reflection doesn\'t contain any modules.'); - } - - // iterate over modules - projectReflection.children.forEach((module) => { - if (Array.isArray(module.children) && module.children.length > 0) { - // iterate over types - module.children.forEach((type) => { - // check if type has annotation @validatable - if (typeof type.comment === 'object' - && Array.isArray(type.comment.tags) - && type.comment.tags.findIndex((tag) => tag.tagName === 'validatable') >= 0) { - // add type to list - validatableTypes.push(type.name); - } - }); - } - }); - - return validatableTypes; +export function getValidatableTypesInPath(path: string): string[] { + return filter(definitionsOf(lightweightProjectFromPath(path)), isLightweightClass) + .filter(type => type.comment?.tags?.find(it => it.name === 'validatable')) + .map(type => type.name); } diff --git a/test/mapping-model/aggregations/src/agg-global.ts b/src/types/pack.d.ts similarity index 61% rename from test/mapping-model/aggregations/src/agg-global.ts rename to src/types/pack.d.ts index f09093ef..06c5d834 100644 --- a/test/mapping-model/aggregations/src/agg-global.ts +++ b/src/types/pack.d.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020 StApps + * Copyright (C) 2018-2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -13,24 +13,27 @@ * this program. If not, see . */ -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; - /** - * @indexable + * A JavaScript module representation to sort a list of them by dependencies */ -export interface AggGlobal { +export interface JavaScriptModule { /** - * @aggregatable global + * Content of the module */ - foo: string; + content: string; - type: ThingType.AggGlobal; + /** + * List of names of dependencies + */ + dependencies: string[]; + + /** + * Directory the module is in + */ + directory: string; + + /** + * The name of the module + */ + name: string; } - -export const aggGlobalTest: MapAggTestOptions = { - name: ThingType.AggGlobal, - agg: { - globals: ['foo'], - }, -}; diff --git a/src/types/routes.d.ts b/src/types/routes.d.ts new file mode 100644 index 00000000..48ada965 --- /dev/null +++ b/src/types/routes.d.ts @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2018-2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type SCRoute = any; + +export interface RouteInstanceWithMeta extends SCRoute { + /** + * Possible errors on a route + */ + errors: SCErrorResponse[]; + + /** + * Description of the request body + */ + requestBodyDescription: string; + + /** + * Description of the response body + */ + responseBodyDescription: string; +} + +/** + * A route instance with its relevant meta information + */ +export interface RouteWithMetaInformation { + /** + * Description of the route + */ + description: { + /** + * Short text of the description - title + */ + shortText?: string; + /** + * Text of the description + */ + text?: string; + }; + /** + * Name of the route + */ + name: string; + + /** + * Instance of the route + */ + route: RouteInstanceWithMeta; + + /** + * Possible tags/keywords the route can be associated with + */ + tags?: [string]; +} + +/** + * A node with its relevant meta information + */ +export interface NodeWithMetaInformation { + /** + * Module the node belongs to + */ + module: string; + + /** + * Type of the node + */ + type: string; +} + +/** + * A generic error that can be returned by the backend if somethings fails during the processing of a request + */ +export interface SCErrorResponse extends Error { + /** + * Additional data that describes the error + */ + additionalData?: unknown; + + /** + * HTTP status code to return this error with + */ + statusCode: number; +} diff --git a/src/uml/model/lightweight-enum-definition.ts b/src/types/schema.d.ts similarity index 64% rename from src/uml/model/lightweight-enum-definition.ts rename to src/types/schema.d.ts index 4ce22cd2..1e08337e 100644 --- a/src/uml/model/lightweight-enum-definition.ts +++ b/src/types/schema.d.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 StApps + * Copyright (C) 2018-2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -12,19 +12,15 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ +import {JSONSchema7 as JSONSchema} from 'json-schema'; +import {Definition} from 'ts-json-schema-generator'; -import {LightweightDefinition} from './lightweight-definition'; /** - * Represents an enum definition + * A schema with definitions */ -export class LightweightEnumDefinition extends LightweightDefinition { +interface SchemaWithDefinitions extends JSONSchema { /** - * Enumeration or union values + * Definitions of the schema */ - public values: string[]; - - constructor(name: string) { - super(name); - this.values = []; - } + definitions?: {[name: string]: Definition}; } diff --git a/src/types/validator.d.ts b/src/types/validator.d.ts new file mode 100644 index 00000000..499c5c0e --- /dev/null +++ b/src/types/validator.d.ts @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2018-2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +/** + * The validation result + */ +export interface ValidationResult { + /** + * A list of errors that occurred + */ + errors: ValidationError[]; + + /** + * whether the validation was successful + */ + valid: boolean; +} + +/** + * An error that occurred while validating + * + * This is a duplicate of the ValidationError in core/protocol/errors/validation because of incompatibilities + * between TypeDoc and TypeScript + */ +export interface ValidationError { + /** + * JSON schema path + */ + dataPath: string; + + /** + * The instance + */ + instance: unknown; + + /** + * The message + * + * Provided by https://www.npmjs.com/package/better-ajv-errors + */ + message: string; + + /** + * Name of the error + */ + name: string; + + /** + * Path within the Schema + */ + schemaPath: string; + + /** + * Suggestion to fix the occurring error + * + * Provided by https://www.npmjs.com/package/better-ajv-errors + */ + suggestion?: string; +} + +/** + * An expected error + */ +export interface ExpectedValidationError extends ValidationError { + /** + * Whether or not the error is expected + */ + expected: boolean; +} + +/** + * A map of files and their expected validation errors + */ +export interface ExpectedValidationErrors { + [fileName: string]: ExpectedValidationError[]; +} diff --git a/src/uml/create-diagram.ts b/src/uml/create-diagram.ts index 1f626634..65727497 100644 --- a/src/uml/create-diagram.ts +++ b/src/uml/create-diagram.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 StApps + * Copyright (C) 2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -15,12 +15,13 @@ import {Logger} from '@openstapps/logger'; import {createWriteStream} from 'fs'; import * as request from 'got'; -import {getFullTypeName} from '../common'; -import {LightweightClassDefinition} from './model/lightweight-class-definition'; -import {LightweightDefinition} from './model/lightweight-definition'; -import {LightweightEnumDefinition} from './model/lightweight-enum-definition'; -import {LightweightProperty} from './model/lightweight-property'; -import {LightweightType} from './model/lightweight-type'; +import {forEach, map, isEmpty} from 'lodash'; +import {expandTypeValue, isLightweightClass, isUnionOrIntersectionType} from '../easy-ast/ast-util'; +import {LightweightAliasDefinition} from '../easy-ast/types/lightweight-alias-definition'; +import {LightweightClassDefinition} from '../easy-ast/types/lightweight-class-definition'; +import {LightweightDefinition} from '../easy-ast/types/lightweight-definition'; +import {LightweightProperty} from '../easy-ast/types/lightweight-property'; +import {LightweightType} from '../easy-ast/types/lightweight-type'; import {UMLConfig} from './uml-config'; /** @@ -28,7 +29,7 @@ import {UMLConfig} from './uml-config'; * to valid PlantUML Code, which will then be encoded, converted by the plantuml server * and saved as a .svg file in directory, in which this method was called * - * @param definitions all type definitons of the project + * @param definitions all type definitions of the project * @param config contains information on how the PlantUML should be generated * @param plantUmlBaseURL Hostname of the PlantUML-Server */ @@ -37,49 +38,29 @@ export async function createDiagram( config: UMLConfig, plantUmlBaseURL: string, ): Promise { - // when non definitions were specified use all - if (config.definitions.length === 0) { - config.definitions = []; - definitions.forEach((definition) => { - config.definitions.push(definition.name); - }); - } + config.definitions = map(definitions, 'name'); // when providing definitions and either showing associations or inheritance the // inherited definitions will be added automatically if (config.showInheritance) { - const inheritedDefinitions = gatherTypeAssociations( + // TODO: showInheritance + /*const inheritedDefinitions = gatherTypeAssociations( definitions, config.definitions, - ); - - config.definitions = config.definitions.concat(inheritedDefinitions); + );*/ + // config.definitions = config.definitions.concat(inheritedDefinitions); } - let modelPlantUMLCode = ''; // creates a UML definition for every specified definition name // however if no definitions were provided all definitions will be transformed - for (const definition of definitions) { - if ( - config.definitions.length > 0 && - !config.definitions.includes(definition.name) - ) { - // current definition not specified - continue; - } - // either the definitions are empty or the definition was specified, proceed - - let definitionPlantUMLCode = ''; - if (definition instanceof LightweightClassDefinition) { - definitionPlantUMLCode = createPlantUMLCodeForClass(config, definition); - } else if (definition instanceof LightweightEnumDefinition) { - definitionPlantUMLCode = createPlantUMLCodeForEnum(config, definition); - } else { - continue; - } - modelPlantUMLCode += definitionPlantUMLCode; - } + const modelPlantUMLCode = map( + definitions.filter(it => !config.definitions.includes(it.name)), + definition => + isLightweightClass(definition) + ? createPlantUMLCodeForClass(config, definition) + : createPlantUMLCodeForEnum(config, definition), + ).join(''); return createDiagramFromString(modelPlantUMLCode, plantUmlBaseURL, config.outputFileName); } @@ -97,6 +78,7 @@ export async function createDiagramFromString( plantUmlBaseURL: string, outputFile = `Diagram-${new Date().toISOString()}`, ) { + // eslint-disable-next-line @typescript-eslint/no-var-requires,unicorn/prefer-module const plantumlEncoder = require('plantuml-encoder'); const plantUMLCode = plantumlEncoder.encode(`@startuml\n${modelPlantUMLCode}\n@enduml`); const url = `${plantUmlBaseURL}/svg/${plantUMLCode}`; @@ -108,17 +90,18 @@ export async function createDiagramFromString( await Logger.error(`Plantuml Server responded with an error.\n${response.statusMessage}`); throw new Error('Response not okay'); } - } catch (e) { - Logger.log(`Please try using the public plantuml server:\nhttp://www.plantuml.com/plantuml/svg/${plantUMLCode}`); - throw e; + } catch (error) { + Logger.log( + `Please try using the public plantuml server:\nhttp://www.plantuml.com/plantuml/svg/${plantUMLCode}`, + ); + throw error; } // attach file extension const fileName = `${outputFile}.svg`; try { - createWriteStream(fileName) - .write(response.body); + createWriteStream(fileName).write(response.body); Logger.log(`Writen data to file: ${fileName}`); - } catch (e) { + } catch { throw new Error('Could not write file. Are you missing permissions?'); } @@ -126,12 +109,13 @@ export async function createDiagramFromString( } /** - * Recursivly iterates over all types, to find implemented generic types and parents + * Recursively iterates over all types, to find implemented generic types and parents * - * @param definitions all type definitons of the project + * @param definitions all type definitions of the project * @param abstractionNames currently known string values of inherited classes */ -function gatherTypeAssociations( + +/*function gatherTypeAssociations( definitions: LightweightDefinition[], abstractionNames: string[], ): string[] { @@ -140,7 +124,7 @@ function gatherTypeAssociations( const declaration = definitions.find( (definition) => definition.name === name, ); - if (declaration instanceof LightweightClassDefinition) { + if (isLightweightClass(declaration)) { const currentAbstractions: string[] = declaration.extendedDefinitions.concat( declaration.implementedDefinitions, ); @@ -153,7 +137,7 @@ function gatherTypeAssociations( } return abstractions; -} +}*/ /** * Collects all reference information of this type. @@ -164,25 +148,22 @@ function gatherTypeAssociations( */ function getReferenceTypes(type: LightweightType): string[] { const types: string[] = []; - if (type.isReference) { - types.push(type.name); + if (typeof type.referenceName !== 'undefined') { + types.push(type.referenceName); } - if (type.isTyped && type.genericsTypes.length > 0) { - for (const specificType of type.genericsTypes) { + + forEach(type.genericsTypes, specificType => { + for (const value of getReferenceTypes(specificType)) { + types.push(value); + } + }); + + if ((isUnionOrIntersectionType(type) && isEmpty(type.specificationTypes)) || type.isArray) { + forEach(type.specificationTypes, specificType => { for (const value of getReferenceTypes(specificType)) { types.push(value); } - } - } - if ( - (type.isUnion && type.specificationTypes.length > 0) || - (type.isArray && type.specificationTypes.length > 0) - ) { - for (const specificType of type.specificationTypes) { - for (const value of getReferenceTypes(specificType)) { - types.push(value); - } - } + }); } return types; @@ -194,57 +175,54 @@ function getReferenceTypes(type: LightweightType): string[] { * @param config Configuration for how the UML should be tweaked * @param readerClass Class or interface representation */ -function createPlantUMLCodeForClass( - config: UMLConfig, - readerClass: LightweightClassDefinition, -): string { +function createPlantUMLCodeForClass(config: UMLConfig, readerClass: LightweightClassDefinition): string { // create the definition header, what type the definition is, it's name and it's inheritance - let model = `${readerClass.type} ${readerClass.name}`; + let model = `${readerClass.modifiers} ${readerClass.name}`; - if (readerClass.typeParameters.length > 0) { - model += `<${readerClass.typeParameters.join(', ')}>`; + if (readerClass.typeParameters?.length ?? 0 > 0) { + model += `<${readerClass.typeParameters!.join(', ')}>`; } - if (config.showInheritance && readerClass.extendedDefinitions.length > 0) { + if (config.showInheritance && (readerClass.extendedDefinitions?.length ?? 0 > 0)) { // PlantUML will automatically create links, when using extends - model += ` extends ${readerClass.extendedDefinitions.join(', ')}`; + model += ` extends ${readerClass.extendedDefinitions!.join(', ')}`; } - if (config.showInheritance && readerClass.implementedDefinitions.length > 0) { - // PlantUML will automatically create links, when using implenents - model += ` implements ${readerClass.implementedDefinitions.join(', ')}`; + if (config.showInheritance && (readerClass.implementedDefinitions?.length ?? 0 > 0)) { + // PlantUML will automatically create links, when using implements + model += ` implements ${readerClass.implementedDefinitions!.join(', ')}`; } model += '{'; // add the properties to the definition body if (config.showProperties) { - for (const property of readerClass.properties) { + forEach(readerClass.properties, property => { if (property.optional && !config.showOptionalProperties) { // don't show optional attributes - continue; + return; } - if (property.inherited && !config.showInheritedProperties) { + /*if (property.inherited && !config.showInheritedProperties) { // don't show inherited properties continue; - } + }*/ model += `\n\t${createPropertyLine(property)}`; - } + }); } // close the definition body model += '\n}\n'; // add associations from properties with references - for (const property of readerClass.properties) { + forEach(readerClass.properties, property => { const types: string[] = getReferenceTypes(property.type); for (const type of types) { - if ( config.showAssociations) { - if (property.inherited && !config.showInheritedProperties) { + if (config.showAssociations) { + /*if (property.inherited && !config.showInheritedProperties) { continue; - } + }*/ model += `${readerClass.name} -up-> ${type} : ${property.name} >\n`; } } - } + }); return model; } @@ -255,17 +233,14 @@ function createPlantUMLCodeForClass( * @param config Configuration for how the UML should be tweaked * @param readerEnum Enum/-like representation */ -function createPlantUMLCodeForEnum( - config: UMLConfig, - readerEnum: LightweightEnumDefinition, -): string { +function createPlantUMLCodeForEnum(config: UMLConfig, readerEnum: LightweightAliasDefinition): string { // create enum header let model = `enum ${readerEnum.name} {`; // add values if (config.showEnumValues) { - for (const value of readerEnum.values) { + forEach(readerEnum.type?.specificationTypes, value => { model += `\n\t${value.toString()}`; - } + }); } model += '\n}\n'; @@ -276,7 +251,7 @@ function createPlantUMLCodeForEnum( * Creates a property PlantUML Line */ function createPropertyLine(property: LightweightProperty): string { - const prefix = `${(property.inherited ? '/ ' : '')}${(property.optional ? '? ' : '')}`; + const prefix = `${/*(property.inherited ? '/ ' : */ ''}${property.optional ? '? ' : ''}`; - return `${prefix}${property.name} : ${getFullTypeName(property.type)}`; + return `${prefix}${property.name} : ${expandTypeValue(property.type)}`; } diff --git a/src/uml/model/lightweight-type.ts b/src/uml/model/lightweight-type.ts deleted file mode 100644 index c4467b00..00000000 --- a/src/uml/model/lightweight-type.ts +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (C) 2019 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -/** - * Describes an easy to use type definition. - */ -export class LightweightType { - /** - * Contains all types inside of <> brackets - */ - genericsTypes: LightweightType[]; - - /** - * Does the type have generic-parameters - */ - hasTypeInformation = false; - - /** - * Does the type represent an array type - */ - isArray = false; - - /** - * Does the type represent a literal type - */ - isLiteral = false; - - /** - * Does the type represent a primitive type - */ - isPrimitive = false; - - /** - * Does the type contain a reference to - */ - isReference = false; - - /** - * Is the type a reflection and not avaiblabe at compile time - */ - isReflection = false; - - /** - * Does the type have type parameters - */ - isTyped = false; - - /** - * Is the type a typed parameter - */ - isTypeParameter = false; - - /** - * Is the type a union type - */ - isUnion = false; - - /** - * Name of the type - */ - name: string; - - /** - * Type specifications, if the type is combined by either an array, union or a typeOperator - */ - specificationTypes: LightweightType[]; - - constructor() { - this.specificationTypes = []; - this.genericsTypes = []; - this.name = ''; - } -} diff --git a/src/uml/read-definitions.ts b/src/uml/read-definitions.ts deleted file mode 100644 index 0d8e6102..00000000 --- a/src/uml/read-definitions.ts +++ /dev/null @@ -1,471 +0,0 @@ -/* - * Copyright (C) 2019 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ -import {Logger} from '@openstapps/logger'; -import { - ArrayType, - ConditionalType, - DeclarationReflection, - IntrinsicType, - ProjectReflection, - QueryType, - ReferenceType, - ReflectionKind, - ReflectionType, - StringLiteralType, - Type, - TypeOperatorType, - TypeParameterType, - UnionType, -} from 'typedoc/dist/lib/models'; -import {getFullTypeName} from '../common'; -import {LightweightClassDefinition} from './model/lightweight-class-definition'; -import {LightweightDefinition} from './model/lightweight-definition'; -import {LightweightEnumDefinition} from './model/lightweight-enum-definition'; -import {LightweightProperty} from './model/lightweight-property'; -import {LightweightType} from './model/lightweight-type'; - -/** - * Reads the reflection model from typedoc and converts it into a flatter, easier to handle model - * - * @param srcPath Path to source file directory - */ -export function readDefinitions(projectReflection: ProjectReflection): LightweightDefinition[] { - - const definitions: LightweightDefinition[] = []; - - // define known types and categorize them - const enumLike: string[] = ['Type alias', 'Enumeration']; - const classLike: string[] = ['Class', 'Interface']; - const unused: string[] = ['Function', 'Object literal', 'Variable']; - - // children need to be not undefined, if they are return empty - if (typeof projectReflection.children === 'undefined') { - return []; - } - - for (const module of projectReflection.children) { - if (Array.isArray(module.children) && module.children.length > 0) { - // iterate over class and enum declarations - for (const type of module.children) { - // only if kindString is set - if (typeof type.kindString !== 'undefined') { - // check if declaration is enum - if (classLike.includes(type.kindString)) { - definitions.push(readAsClassDefinition(type)); - } else if (enumLike.includes(type.kindString)) { - definitions.push(readAsEnumDefinition(type)); - } else if (unused.includes(type.kindString)) { - Logger.info(`Unconverted ${type.kindString} : ${type.name}`); - } else { - Logger.log( - `Uncaught declaration type (${type.kindString}) : ${type.name}`, - ); - } - } - } - } - } - - return definitions; -} - -/** - * Transforms the declaration into a `LightweightClassDefinition` - * - * @param declaration declaration - */ -export function readAsEnumDefinition( - declaration: DeclarationReflection, -): LightweightEnumDefinition { - // init enum definition - const enumDefinition: LightweightEnumDefinition = new LightweightEnumDefinition( - declaration.name, - ); - - // get enum values according to type - if (declaration.kindString === 'Enumeration' && typeof declaration.children !== 'undefined') { - // standard enumeration - for (const child of declaration.children) { - if (child.kindString === 'Enumeration member') { - let value = child.name; - if (typeof child.defaultValue !== 'undefined') { - value = `${value} = ${child.defaultValue}`; - } - enumDefinition.values.push(value); - } else { - Logger.log( - "Every enumeration member should be an 'EnumerationMemberType'", - ); - } - } - } else if ( - declaration.kindString === 'Type alias' && - typeof declaration.type !== 'undefined' - ) { - // enum like declaration - try { - const a = readTypeInformation(declaration.type); - enumDefinition.values = enumDefinition.values.concat( - getTypeInformation(a), - ); - } catch (e) { - Logger.warn( - `Could not read the light type for ${declaration.name}. ${e}`, - ); - } - } - - return enumDefinition; -} - -/** - * Used for enumrations to get the type value - */ -function getTypeInformation(type: LightweightType): string[] { - const values: string[] = []; - if (!type.hasTypeInformation) { - for (const specificType of type.specificationTypes) { - for (const value of getTypeInformation(specificType)) { - values.push(value); - } - } - } else { - values.push(type.name); - } - - return values; -} - -/** - * Transforms the declaration into a `LightweightClassDefinition` - * - * @param declaration declaration - */ -export function readAsClassDefinition( - declaration: DeclarationReflection, -): LightweightClassDefinition { - let type = typeof declaration.kindString !== 'undefined' ? declaration.kindString.toLowerCase() : ''; - type = (declaration.flags.isAbstract ? 'abstract ' : '') + type; - - const classDefinition: LightweightClassDefinition = new LightweightClassDefinition( - declaration.name, - type, - ); - - // get generic types - if (typeof declaration.typeParameters !== 'undefined') { - const typeParameters: string[] = []; - declaration.typeParameters.forEach((typeParameter) => - typeParameters.push(typeParameter.name), - ); - classDefinition.typeParameters = typeParameters; - } - - // extracts extended types of the declaration - if (typeof declaration.extendedTypes !== 'undefined') { - for (const extType of declaration.extendedTypes) { - classDefinition.extendedDefinitions.push((extType as ReferenceType).name); - } - } - - // extracts implemented types of the declaration - // HINT: typedoc automatically adds inherited interfaces to the declaration directly - if (typeof declaration.implementedTypes !== 'undefined') { - for (const implType of declaration.implementedTypes) { - classDefinition.implementedDefinitions.push( - (implType as ReferenceType).name, - ); - } - } - - if (typeof declaration.children !== 'undefined') { - for (const child of declaration.getChildrenByKind( - ReflectionKind.Property, - )) { - try { - if (typeof child.type === 'undefined') { - throw new Error(); - } - - const myType: LightweightType = readTypeInformation(child.type); - const property = new LightweightProperty(child.name, myType); - - const flags = child.flags; - if (flags.isOptional !== undefined) { - property.optional = flags.isOptional as boolean; - property.inherited = !( - child.inheritedFrom === undefined || child.inheritedFrom === null - ); - } - classDefinition.properties.push(property); - } catch (e) { - Logger.warn(e); - } - } - } - - return classDefinition; -} - -/** - * The structure of reflection type has a huge overhead - * This method and all submethods will convert these types in easier to process Types - * - * @param declarationType Type to be converted - */ -function readTypeInformation(declarationType: Type): LightweightType { - if (declarationType instanceof ReflectionType) { - return readAsReflectionType(declarationType); - } - if (declarationType instanceof TypeOperatorType) { - return readAsTypeOperatorType(declarationType); - } - if (declarationType instanceof TypeParameterType) { - return readAsTypeParameterType(declarationType); - } - if (declarationType instanceof IntrinsicType) { - return readAsIntrinsicType(declarationType); - } - if (declarationType instanceof StringLiteralType) { - return readAsStringLiteralType(declarationType); - } - if (declarationType instanceof ReferenceType) { - return readAsReferenceType(declarationType); - } - if (declarationType instanceof ArrayType) { - return readAsArrayType(declarationType); - } - if (declarationType instanceof UnionType) { - return readAsUnionType(declarationType); - } - if (declarationType instanceof QueryType) { - return readAsQueryType(declarationType); - } - if (declarationType instanceof ConditionalType) { - return readAsConditionalType(declarationType); - } - - throw new Error(`Could not read type ${declarationType.type}`); -} - -/** - * Conversion method for ConditionalTypes - * - * @param _type Type to be converted - */ -function readAsConditionalType(_type: ConditionalType): LightweightType { - const returnType: LightweightType = new LightweightType(); - - returnType.specificationTypes = []; - returnType.name = getFullTypeName(returnType); - returnType.isUnion = true; - - return returnType; -} - -/** - * Conversion method for QueryTypes - * - * @param type Type to be converted - */ -function readAsQueryType(type: QueryType): LightweightType { - const out = readAsReferenceType(type.queryType); - out.isReference = true; - - return out; -} - -/** - * Conversion method for IntrinsicType's - * - * e.g. remainingAttendeeCapacity?: number; - * - * @param type Type to be converted - */ -function readAsIntrinsicType(type: IntrinsicType): LightweightType { - const easyType: LightweightType = new LightweightType(); - easyType.name = type.name; - easyType.isPrimitive = true; - easyType.hasTypeInformation = true; - - return easyType; -} - -/** - * Conversion method for StringLiteralType's - * - * e.g. inputType: 'multipleChoice'; - * - * @param type Type to be converted - */ -function readAsStringLiteralType(type: StringLiteralType): LightweightType { - const returnType: LightweightType = new LightweightType(); - returnType.name = type.value; - returnType.isLiteral = true; - returnType.hasTypeInformation = true; - - return returnType; -} - -/** - * Conversion method for ReferenceType's - * - * Everything that is a user or API designed definition and not a primitive type or core-language feature. - * - * e.g. publishers?: Array; - * - * Array, SCPersonWithoutReferences and SCOrganizationWithoutReferences will be recognized as reference types! - * - * @param type Type to be converted - */ -function readAsReferenceType(type: ReferenceType): LightweightType { - const returnType: LightweightType = new LightweightType(); - returnType.name = type.name; - - if (type.typeArguments !== undefined && type.typeArguments.length > 0) { - const typeArguments: LightweightType[] = []; - - for (const value of type.typeArguments) { - typeArguments.push(readTypeInformation(value)); - } - - returnType.isTyped = true; - returnType.genericsTypes = typeArguments; - } - - if (type.reflection !== undefined && type.reflection !== null) { - const tempTypeReflection = type.reflection as DeclarationReflection; - // interfaces and classes in a type are a sink, since their declaration are defined elsewhere - if ( - typeof tempTypeReflection.kindString !== 'undefined' && - ['Interface', 'Class', 'Enumeration', 'Type alias'].includes( - tempTypeReflection.kindString)) { - returnType.isReference = true; - } - } - - returnType.hasTypeInformation = true; - - return returnType; -} - -/** - * Conversion method for ArrayType's - * - * The actual type of the array is stored in the first element of specificationTypes. - * - * e.g. articleBody?: string[]; - * - * @param type Type to be converted - */ -function readAsArrayType(type: ArrayType): LightweightType { - const returnType: LightweightType = new LightweightType(); - const typeOfArray: LightweightType = readTypeInformation(type.elementType); - returnType.name = getFullTypeName(typeOfArray); - returnType.specificationTypes = [typeOfArray]; - returnType.isArray = true; - - return returnType; -} - -/** - * Conversion method for UnionType's - * - * The Union-LightType store the single types of the union inside a - * separate LightType inside specificationTypes. - * - * e.g. maintainer?: SCPerson | SCOrganization; - * - * @param type Type to be converted - */ -function readAsUnionType(type: UnionType): LightweightType { - const returnType: LightweightType = new LightweightType(); - const typesOfUnion: LightweightType[] = []; - for (const value of type.types) { - typesOfUnion.push(readTypeInformation(value)); - } - returnType.specificationTypes = typesOfUnion; - returnType.name = getFullTypeName(returnType); - returnType.isUnion = true; - - return returnType; -} - -/** - * Conversion method for ReflectionType's - * - * The explicit type is not contained in reflection! - * It might be possible to get the structure of type by reading tempType.decoration.children, - * but this structure is currently not supported in the data-model. - * - * e.g. categorySpecificValues?: { [s: string]: U }; - * - * @param type Type to be converted - */ -function readAsReflectionType(type: ReflectionType): LightweightType { - const returnType: LightweightType = new LightweightType(); - if (typeof type.declaration.sources !== 'undefined') { - const src = type.declaration.sources[0]; - Logger.warn( - `${src.line} : ${src.fileName}: Reflection Type not recognized. Refactoring to explicit class is advised.`, - ); - } - returnType.name = 'object'; - returnType.isReflection = true; - - return returnType; -} - -/** - * Conversion method for TypeOperatorType's - * - * This type is similar to reflection, that the actual type can only be evaluated at runtime. - * - * e.g. universityRole: keyof SCSportCoursePriceGroup; - * - * @param type Type to be converted - */ -function readAsTypeOperatorType(type: TypeOperatorType): LightweightType { - const returnType: LightweightType = new LightweightType(); - const typeOf: LightweightType = readTypeInformation(type.target); - returnType.name = `keyof ${getFullTypeName(typeOf)}`; - returnType.specificationTypes = [typeOf]; - // can't be traced deeper! so might as well be a primitive - returnType.isPrimitive = true; - returnType.hasTypeInformation = true; - - return returnType; -} - -/** - * Conversion method for TypeParameterType's - * - * Should only be called in generic classes/interfaces, when a property is - * referencing the generic-type. - * - * e.g. prices?: T; - * - * Does not match on Arrays of the generic type. Those will be matched with ArrayType. - * - * @param type Needs to be a TypeParameterType - */ -function readAsTypeParameterType(type: TypeParameterType): LightweightType { - const returnType: LightweightType = new LightweightType(); - returnType.name = type.name; - returnType.isTypeParameter = true; - returnType.hasTypeInformation = true; - - return returnType; -} diff --git a/src/uml/uml-config.ts b/src/uml/uml-config.d.ts similarity index 97% rename from src/uml/uml-config.ts rename to src/uml/uml-config.d.ts index f7e895cf..c0c1e57c 100644 --- a/src/uml/uml-config.ts +++ b/src/uml/uml-config.d.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 StApps + * Copyright (C) 2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. diff --git a/src/util/collections.ts b/src/util/collections.ts new file mode 100644 index 00000000..1b18c05a --- /dev/null +++ b/src/util/collections.ts @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {omitBy, isNil, reject, isEmpty, isArray, isObject} from 'lodash'; + +/** + * Filters only defined elements + */ +export function rejectNil(array: Array): T[] { + return reject(array, isNil) as T[]; +} + +/** + * Map elements that are not null + */ +export function mapNotNil(array: readonly T[], transform: (element: T) => S | undefined | null): S[] { + return rejectNil(array.map(transform)); +} + +/** + * Deletes all properties with the value 'undefined', [] or {} + */ +// eslint-disable-next-line @typescript-eslint/ban-types +export function cleanupEmpty(object: T): T { + return omitBy(object, it => isNil(it) || ((isObject(it) || isArray(it)) && isEmpty(it))) as T; +} diff --git a/src/util/guards.ts b/src/util/guards.ts new file mode 100644 index 00000000..b403ba17 --- /dev/null +++ b/src/util/guards.ts @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {JSONSchema7 as JSONSchema} from 'json-schema'; +import {SchemaWithDefinitions} from '../types/schema'; + +/** + * Guard for if a JSON schema is in fact a schema with definitions + */ +export function isSchemaWithDefinitions(schema: JSONSchema): schema is SchemaWithDefinitions { + return typeof schema.definitions !== 'undefined'; +} + +/** + * Guard method for determining if an object (a thing) has a type property with a type of string + */ +export function isThingWithType(thing: unknown): thing is {type: string} { + return ( + typeof thing === 'object' && + thing !== null && + 'type' in thing && + typeof (thing as {type: unknown}).type === 'string' + ); +} diff --git a/src/util/io.ts b/src/util/io.ts new file mode 100644 index 00000000..07b2b6d2 --- /dev/null +++ b/src/util/io.ts @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {readdirSync, statSync} from 'fs'; +import {flatMap} from 'lodash'; +import path from 'path'; + +/** + * Expand a path to a list of all files deeply contained in it + */ +export function expandPathToFilesSync(sourcePath: string, accept: (fileName: string) => boolean): string[] { + const fullPath = path.resolve(sourcePath); + const directory = statSync(fullPath); + + return directory.isDirectory() + ? flatMap(readdirSync(fullPath), fragment => + expandPathToFilesSync(path.resolve(sourcePath, fragment), accept), + ) + : [fullPath].filter(accept); +} + +/** + * Take a Windows path and make a Unix path out of it + */ +export function toUnixPath(pathString: string): string { + return pathString.replace(/\\/g, '/'); +} diff --git a/src/uml/model/lightweight-definition.ts b/src/util/string.ts similarity index 71% rename from src/uml/model/lightweight-definition.ts rename to src/util/string.ts index b4318cc1..c9a726e4 100644 --- a/src/uml/model/lightweight-definition.ts +++ b/src/util/string.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 StApps + * Copyright (C) 2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -12,17 +12,9 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ - /** - * Represents any definition without specifics + * Creates sentence cased string */ -export abstract class LightweightDefinition { - /** - * Name of the definiton - */ - public name: string; - - constructor(name: string) { - this.name = name; - } +export function capitalize(string?: string): string { + return `${string?.charAt(0).toUpperCase()}${string?.slice(1).toLowerCase()}`; } diff --git a/src/validate.ts b/src/validate.ts index c2a055d5..f25cb156 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018-2019 StApps + * Copyright (C) 2018-2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -12,38 +12,31 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ -import {asyncPool} from '@krlwlfrt/async-pool/lib/async-pool'; import {Logger} from '@openstapps/logger'; import Ajv from 'ajv'; import betterAjvErrors from 'better-ajv-errors'; import {PathLike} from 'fs'; import {JSONSchema7} from 'json-schema'; import * as mustache from 'mustache'; -import {basename, join, resolve} from 'path'; import {Schema} from 'ts-json-schema-generator'; -import { - ExpectedValidationErrors, - globPromisified, - isThingWithType, - readFilePromisified, - ValidationError, - ValidationResult, - writeFilePromisified, -} from './common'; +import {globPromisified, readFilePromisified, writeFilePromisified} from './common'; +import {ExpectedValidationErrors, ValidationError, ValidationResult} from './types/validator'; +import {isThingWithType} from './util/guards'; +import path from 'path'; /** * StAppsCore validator */ export class Validator { - /** * JSON Schema Validator */ private readonly ajv = Ajv({verbose: true, jsonPointers: true, extendRefs: true}); + /** * Map of schema names to schemas */ - private readonly schemas: { [type: string]: Schema; } = {}; + private readonly schemas: {[type: string]: Schema} = {}; /** * A wrapper function for Ajv that transforms the error into the compatible old error @@ -58,27 +51,28 @@ export class Validator { /** * Feed the schema files to the validator * - * @param schemaDir Path to directory that contains schema files + * @param schemaDirectory Path to directory that contains schema files */ - public async addSchemas(schemaDir: PathLike): Promise { - const schemaFiles = await globPromisified(join(schemaDir.toString(), '*.json')); + public async addSchemas(schemaDirectory: PathLike): Promise { + const schemaFiles = await globPromisified(path.join(schemaDirectory.toString(), '*.json')); if (schemaFiles.length === 0) { - throw new Error(`No schema files in ${schemaDir.toString()}!`); + throw new Error(`No schema files in ${schemaDirectory.toString()}!`); } - Logger.log(`Adding schemas from ${schemaDir} to validator.`); + Logger.log(`Adding schemas from ${schemaDirectory} to validator.`); - // tslint:disable-next-line:no-magic-numbers - iterate over schema files - await asyncPool(2, schemaFiles, async (file: string) => { - // read schema file - const buffer = await readFilePromisified(file); + await Promise.all( + schemaFiles.map(async (file: string) => { + // read schema file + const buffer = await readFilePromisified(file); - // add schema to map - this.schemas[basename(file, '.json')] = JSON.parse(buffer.toString()); + // add schema to map + this.schemas[path.basename(file, '.json')] = JSON.parse(buffer.toString()); - Logger.info(`Added ${file} to validator.`); - }); + Logger.info(`Added ${file} to validator.`); + }), + ); return schemaFiles; } @@ -93,11 +87,10 @@ export class Validator { if (typeof schema === 'undefined') { if (isThingWithType(instance)) { // schema name can be inferred from type string - // tslint:disable-next-line: completed-docs - const schemaSuffix = (instance as { type: string; }).type.split(' ') + const schemaSuffix = (instance as {type: string}).type + .split(' ') .map((part: string) => { - return part.substr(0, 1) - .toUpperCase() + part.substr(1); + return part.slice(0, 1).toUpperCase() + part.slice(1); }) .join(''); const schemaName = `SC${schemaSuffix}`; @@ -109,7 +102,7 @@ export class Validator { if (typeof schema === 'string') { // if you want to access a schema that is contained in the validator object if (typeof this.schemas[schema] !== 'object') { - throw new Error(`No schema available for ${schema}.`); + throw new TypeError(`No schema available for ${schema}.`); } // schema will be cached @@ -136,26 +129,31 @@ function fromAjvResult( instance: unknown, ajvInstance: Ajv.Ajv, ): ValidationResult { - // tslint:disable-next-line - // @ts-ignore function can return void, which at runtime will be undefined. TS doesn't allow to assign void to undefined - const betterErrorObject: betterAjvErrors.IOutputError[] | undefined = - betterAjvErrors(schema, instance, ajvInstance.errors, {format: 'js', indent: null}); + // @ts-expect-error function can return void, which at runtime will be undefined. TS doesn't allow to assign void to undefined + const betterErrorObject: betterAjvErrors.IOutputError[] | undefined = betterAjvErrors( + schema, + instance, + ajvInstance.errors, + // eslint-disable-next-line unicorn/no-null + {format: 'js', indent: null}, + ); return { - errors: ajvInstance.errors?.map((ajvError, index) => { + errors: + ajvInstance.errors?.map((ajvError, index) => { + const error: ValidationError = { + dataPath: ajvError.dataPath, + instance: instance, + // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain + message: betterErrorObject?.[index].error!, + name: ajvError.keyword, + schemaPath: ajvError.schemaPath, + suggestion: betterErrorObject?.[index].suggestion, + }; + // (validationError as ValidationError).humanReadableError = betterErrorCLI?.[index] as unknown as string; - const error: ValidationError = { - dataPath: ajvError.dataPath, - instance: instance, - message: betterErrorObject?.[index].error!, - name: ajvError.keyword, - schemaPath: ajvError.schemaPath, - suggestion: betterErrorObject?.[index].suggestion, - }; - // (validationError as ValidationError).humanReadableError = betterErrorCLI?.[index] as unknown as string; - - return error; - }) ?? [], + return error; + }) ?? [], valid: typeof result === 'boolean' ? result : false, }; } @@ -163,19 +161,22 @@ function fromAjvResult( /** * Validate all test files in the given resources directory against schema files in the given (schema) directory * - * @param schemaDir The directory where the JSON schema files are - * @param resourcesDir The directory where the test files are + * @param schemaDirectory The directory where the JSON schema files are + * @param resourcesDirectory The directory where the test files are */ -export async function validateFiles(schemaDir: string, resourcesDir: string): Promise { +export async function validateFiles( + schemaDirectory: string, + resourcesDirectory: string, +): Promise { // instantiate new validator const v = new Validator(); - await v.addSchemas(schemaDir); + await v.addSchemas(schemaDirectory); // get list of files to test - const testFiles = await globPromisified(join(resourcesDir, '*.json')); + const testFiles = await globPromisified(path.join(resourcesDirectory, '*.json')); if (testFiles.length === 0) { - throw new Error(`No test files in ${resourcesDir}!`); + throw new Error(`No test files in ${resourcesDirectory}!`); } Logger.log(`Found ${testFiles.length} file(s) to test.`); @@ -183,68 +184,68 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr // map of errors per file const errors: ExpectedValidationErrors = {}; - // tslint:disable-next-line:no-magic-numbers - iterate over files to test - await asyncPool(2, testFiles, async (testFile: string) => { - const testFileName = basename(testFile); + await Promise.all( + testFiles.map(async (testFile: string) => { + const testFileName = path.basename(testFile); - const buffer = await readFilePromisified(join(resourcesDir, testFileName)); + const buffer = await readFilePromisified(path.join(resourcesDirectory, testFileName)); - // read test description from file - const testDescription = JSON.parse(buffer.toString()); + // read test description from file + const testDescription = JSON.parse(buffer.toString()); - // validate instance from test description - const result = v.validate(testDescription.instance, testDescription.schema); + // validate instance from test description + const result = v.validate(testDescription.instance, testDescription.schema); - // list of expected errors for this test description - const expectedErrors: string[] = []; - expectedErrors.push.apply(expectedErrors, testDescription.errorNames); + // list of expected errors for this test description + const expectedErrors: string[] = [...testDescription.errorNames]; - // number of unexpected errors - let unexpectedErrors = 0; + // number of unexpected errors + let unexpectedErrors = 0; - if (result.errors.length > 0) { - errors[testFileName] = []; + if (result.errors.length > 0) { + errors[testFileName] = []; - // iterate over errors - for (const error of result.errors) { - const errorIndex = expectedErrors.indexOf(error.name); - let expected = false; + // iterate over errors + for (const error of result.errors) { + const errorIndex = expectedErrors.indexOf(error.name); + let expected = false; - if (errorIndex >= 0) { - expectedErrors.splice(errorIndex, 1); - expected = true; - } else { - unexpectedErrors++; - await Logger.error(`Unexpected error ${error.name} in ${testFile}`); + if (errorIndex >= 0) { + expectedErrors.splice(errorIndex, 1); + expected = true; + } else { + unexpectedErrors++; + await Logger.error(`Unexpected error ${error.name} in ${testFile}`); + } + + // add error to list of errors + errors[testFileName].push({ + ...error, + expected, + }); } - - // add error to list of errors - errors[testFileName].push({ - ...error, - expected, - }); } - } - if (expectedErrors.length > 0) { - for (const error of expectedErrors) { - await Logger.error(`Extraneous expected error '${error}' in ${testFile}.`); + if (expectedErrors.length > 0) { + for (const error of expectedErrors) { + await Logger.error(`Extraneous expected error '${error}' in ${testFile}.`); - errors[testFileName].push({ - dataPath: 'undefined', - expected: false, - instance: undefined, - // instance: testDescription.instance, - message: 'undefined', - name: `expected ${error}`, - schemaPath: 'undefined', - suggestion: 'undefined', - }); + errors[testFileName].push({ + dataPath: 'undefined', + expected: false, + instance: undefined, + // instance: testDescription.instance, + message: 'undefined', + name: `expected ${error}`, + schemaPath: 'undefined', + suggestion: 'undefined', + }); + } + } else if (unexpectedErrors === 0) { + Logger.info(`Successfully validated ${testFile}.`); } - } else if (unexpectedErrors === 0) { - Logger.info(`Successfully validated ${testFile}.`); - } - }); + }), + ); return errors; } @@ -256,10 +257,12 @@ export async function validateFiles(schemaDir: string, resourcesDir: string): Pr * @param errors Errors that occurred in validation */ export async function writeReport(reportPath: PathLike, errors: ExpectedValidationErrors): Promise { - let buffer = await readFilePromisified(resolve(__dirname, '..', 'resources', 'file.html.mustache')); + // eslint-disable-next-line unicorn/prefer-module + let buffer = await readFilePromisified(path.resolve(__dirname, '..', 'resources', 'file.html.mustache')); const fileTemplate = buffer.toString(); - buffer = await readFilePromisified(resolve(__dirname, '..', 'resources', 'error.html.mustache')); + // eslint-disable-next-line unicorn/prefer-module + buffer = await readFilePromisified(path.resolve(__dirname, '..', 'resources', 'error.html.mustache')); const errorTemplate = buffer.toString(); let output = ''; @@ -271,19 +274,17 @@ export async function writeReport(reportPath: PathLike, errors: ExpectedValidati let fileOutput = ''; - errors[fileName].forEach((error, idx) => { - + for (const [index, error] of errors[fileName].entries()) { fileOutput += mustache.render(errorTemplate, { - idx: idx + 1, - // tslint:disable-next-line:no-magic-numbers - instance: JSON.stringify(error.instance, null, 2), + idx: index + 1, + instance: JSON.stringify(error.instance, undefined, 2), message: error.message, name: error.name, schemaPath: error.schemaPath, - status: (error.expected) ? 'alert-success' : 'alert-danger', + status: error.expected ? 'alert-success' : 'alert-danger', suggestion: error.suggestion, }); - }); + } output += mustache.render(fileTemplate, { errors: fileOutput, @@ -291,13 +292,17 @@ export async function writeReport(reportPath: PathLike, errors: ExpectedValidati }); } - buffer = await readFilePromisified(resolve(__dirname, '..', 'resources', 'report.html.mustache')); + // eslint-disable-next-line unicorn/prefer-module + buffer = await readFilePromisified(path.resolve(__dirname, '..', 'resources', 'report.html.mustache')); const reportTemplate = buffer.toString(); - await writeFilePromisified(reportPath, mustache.render(reportTemplate, { - report: output, - timestamp: (new Date()).toISOString(), - })); + await writeFilePromisified( + reportPath, + mustache.render(reportTemplate, { + report: output, + timestamp: new Date().toISOString(), + }), + ); Logger.ok(`Wrote report to ${reportPath}.`); } diff --git a/test/aggregations.spec.ts b/test/aggregations.spec.ts deleted file mode 100644 index 026c38e2..00000000 --- a/test/aggregations.spec.ts +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ -import {Logger} from '@openstapps/logger'; -import {slow, suite, test, timeout} from '@testdeck/mocha'; -import {MapAggTest} from './mapping-model/MapAggTest'; -import {aggArrayTest} from './mapping-model/aggregations/src/agg-array'; -import {aggNestedTest} from './mapping-model/aggregations/src/agg-nested'; -import {aggGlobalTest} from './mapping-model/aggregations/src/agg-global'; -import {aggGlobalNestedTest} from './mapping-model/aggregations/src/agg-global-nested'; -import {aggInheritedTest} from './mapping-model/aggregations/src/agg-inherited'; -import {aggInheritedGlobalTest} from './mapping-model/aggregations/src/agg-inherited-global'; -import {aggInheritedOverwrittenTest} from './mapping-model/aggregations/src/agg-inherited-overwritten'; - -process.on('unhandledRejection', (error: unknown) => { - if (error instanceof Error) { - void Logger.error('UNHANDLED REJECTION', error.stack); - } - process.exit(1); -}); - -const magAppInstance = new MapAggTest('aggregations'); - -@suite(timeout(20000), slow(10000)) -export class AggregationsSpec { - @test - async 'Aggregation tag should propagate on arrays'() { - magAppInstance.testInterfaceAgainstPath(aggArrayTest); - } - - @test - async 'Should work on nested properties'() { - magAppInstance.testInterfaceAgainstPath(aggNestedTest); - } - - @test - async 'Global option should work'() { - magAppInstance.testInterfaceAgainstPath(aggGlobalTest); - } - - @test - async 'Global aggregations when nested'() { - magAppInstance.testInterfaceAgainstPath(aggGlobalNestedTest); - } - - @test - async 'Inherited aggregations should work'() { - magAppInstance.testInterfaceAgainstPath(aggInheritedTest); - } - - @test - async 'Inherited global aggregations should work'() { - magAppInstance.testInterfaceAgainstPath(aggInheritedGlobalTest); - } - - @test - async 'Inherited aggregations should work when overwritten'() { - magAppInstance.testInterfaceAgainstPath(aggInheritedOverwrittenTest); - } -} diff --git a/test/common.spec.ts b/test/common.spec.ts index b7fde89a..88ffa845 100644 --- a/test/common.spec.ts +++ b/test/common.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/prefer-module */ /* * Copyright (C) 2018-2019 StApps * This program is free software: you can redistribute it and/or modify it @@ -20,16 +21,15 @@ import {getTsconfigPath} from '../src/common'; process.on('unhandledRejection', (reason: unknown): void => { if (reason instanceof Error) { - Logger.error('UNHANDLED REJECTION', reason.stack); + void Logger.error('UNHANDLED REJECTION', reason.stack); } process.exit(1); }); -@suite(timeout(20000), slow(10000)) +@suite(timeout(20_000), slow(10_000)) export class CommonSpec { @test async getTsconfigPath() { expect(getTsconfigPath(__dirname)).to.be.equal(cwd()); } - } diff --git a/test/create-diagram.spec.ts b/test/create-diagram.spec.ts index 5958d668..7fe5fbe3 100644 --- a/test/create-diagram.spec.ts +++ b/test/create-diagram.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/prefer-module */ /* * Copyright (C) 2018-2019 StApps * This program is free software: you can redistribute it and/or modify it @@ -13,19 +14,19 @@ * this program. If not, see . */ import {expect} from 'chai'; -import {resolve} from 'path'; import {existsSync, unlinkSync} from 'fs'; import {slow, suite, test, timeout} from '@testdeck/mocha'; -import {getProjectReflection} from '../src/common'; import {createDiagram, createDiagramFromString} from '../src/uml/create-diagram'; import {UMLConfig} from '../src/uml/uml-config'; -import {readDefinitions} from '../src/uml/read-definitions'; -import {LightweightDefinition} from '../src/uml/model/lightweight-definition'; +import {LightweightDefinition} from '../src/easy-ast/types/lightweight-definition'; import nock = require('nock'); +import {lightweightDefinitionsFromPath} from '../src/easy-ast/easy-ast'; +import path from 'path'; -@suite(timeout(15000), slow(5000)) +@suite(timeout(15_000), slow(5000)) export class CreateDiagramSpec { plantUmlConfig: UMLConfig; + definitions: LightweightDefinition[]; constructor() { @@ -39,21 +40,20 @@ export class CreateDiagramSpec { showProperties: true, }; - const projectReflection = getProjectReflection('./test/model', true); - this.definitions = readDefinitions(projectReflection); + this.definitions = lightweightDefinitionsFromPath('./test/model'); } @test async shouldRefuseRequest() { - const testPlantUmlCode: string = 'class Test{\n}'; + const testPlantUmlCode = 'class Test{\n}'; try { - await createDiagramFromString(testPlantUmlCode, "http://plantuml:8080"); - } catch (e) { + await createDiagramFromString(testPlantUmlCode, 'http://plantuml:8080'); + } catch (error) { expect([ new Error('getaddrinfo ENOTFOUND plantuml plantuml:8080').message, new Error('getaddrinfo EAI_AGAIN plantuml plantuml:8080').message, new Error('getaddrinfo ENOTFOUND plantuml').message, - ]).to.include(e.message); + ]).to.include(error.message); } } @@ -69,18 +69,18 @@ export class CreateDiagramSpec { nock('http://plantuml:8080') .persist() .get(() => true) - .reply(200, 'This will be the file content') + .reply(200, 'This will be the file content'); - let fileName = await createDiagram(this.definitions, this.plantUmlConfig, "http://plantuml:8080"); - let filePath = resolve(__dirname, '..', fileName); + let fileName = await createDiagram(this.definitions, this.plantUmlConfig, 'http://plantuml:8080'); + let filePath = path.resolve(__dirname, '..', fileName); expect(await existsSync(filePath)).to.equal(true); await unlinkSync(fileName); this.plantUmlConfig.showAssociations = false; this.plantUmlConfig.showInheritance = false; - fileName = await createDiagram(this.definitions, this.plantUmlConfig, "http://plantuml:8080"); - filePath = resolve(__dirname, '..', fileName); + fileName = await createDiagram(this.definitions, this.plantUmlConfig, 'http://plantuml:8080'); + filePath = path.resolve(__dirname, '..', fileName); expect(await existsSync(filePath)).to.equal(true); await unlinkSync(fileName); diff --git a/test/easy-ast.spec.ts b/test/easy-ast.spec.ts new file mode 100644 index 00000000..345f5453 --- /dev/null +++ b/test/easy-ast.spec.ts @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {expandPathToFilesSync, toUnixPath} from '../src/util/io'; +import {EasyAstSpecType} from './easy-ast/easy-ast-spec-type'; +import {lightweightProjectFromPath} from '../src/easy-ast/easy-ast'; +import {expect} from 'chai'; +import {omitBy} from 'lodash'; + +describe('Easy AST', async () => { + for (const file of expandPathToFilesSync('./test/easy-ast', file => file.endsWith('ast-test.ts'))) { + try { + const test = (await import(file))['testConfig'] as EasyAstSpecType; + + it(test.testName, () => { + const project = omitBy(lightweightProjectFromPath(file, true)[toUnixPath(file)], (_value, key) => + key.startsWith('$'), + ); + + expect(project).to.be.deep.equal(test.expected); + }); + } catch (error) { + console.error(error); + } + } +}); diff --git a/test/easy-ast/alias-like.ast-test.ts b/test/easy-ast/alias-like.ast-test.ts new file mode 100644 index 00000000..7d740cec --- /dev/null +++ b/test/easy-ast/alias-like.ast-test.ts @@ -0,0 +1,68 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {EasyAstSpecType} from './easy-ast-spec-type'; +import {LightweightDefinitionKind} from '../../src/easy-ast/types/lightweight-definition-kind'; + +type TestTypeAlias = number | string; + +enum TestEnum { + Foo, + Bar, +} + +export const testConfig: EasyAstSpecType = { + testName: `should resolve alias-likes`, + expected: { + TestTypeAlias: { + name: 'TestTypeAlias', + kind: LightweightDefinitionKind.ALIAS_LIKE, + modifiers: ['type'], + type: { + flags: 1_048_576, + specificationTypes: [ + { + value: 'string', + flags: 4, + }, + { + value: 'number', + flags: 8, + }, + ], + }, + }, + TestEnum: { + name: 'TestEnum', + kind: LightweightDefinitionKind.ALIAS_LIKE, + modifiers: ['enum'], + type: { + flags: 1_048_576, + specificationTypes: [ + { + referenceName: 'Foo', + value: 0, + flags: 1280, + }, + { + referenceName: 'Bar', + value: 1, + flags: 1280, + }, + ], + }, + }, + }, +}; diff --git a/test/easy-ast/array-like.ast-test.ts b/test/easy-ast/array-like.ast-test.ts new file mode 100644 index 00000000..fcb1ab28 --- /dev/null +++ b/test/easy-ast/array-like.ast-test.ts @@ -0,0 +1,75 @@ +/* eslint-disable @typescript-eslint/no-unused-vars,@typescript-eslint/no-empty-interface */ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {EasyAstSpecType} from './easy-ast-spec-type'; +import {LightweightDefinitionKind} from '../../src/easy-ast/types/lightweight-definition-kind'; + +interface Random {} + +type TestArrayGeneric = Array; +type TestArrayLiteral = number[]; +type TestArrayReferenceGeneric = Array; +type TestArrayReferenceLiteral = Random[]; + +export const testConfig: EasyAstSpecType = { + testName: `should resolve array-likes`, + expected: { + TestArrayGeneric: { + name: 'TestArrayGeneric', + kind: LightweightDefinitionKind.ALIAS_LIKE, + modifiers: ['type'], + type: { + value: 'string', + flags: 4, + isArray: true, + }, + }, + TestArrayLiteral: { + name: 'TestArrayLiteral', + kind: LightweightDefinitionKind.ALIAS_LIKE, + modifiers: ['type'], + type: { + value: 'number', + flags: 8, + isArray: true, + }, + }, + TestArrayReferenceGeneric: { + name: 'TestArrayReferenceGeneric', + kind: LightweightDefinitionKind.ALIAS_LIKE, + modifiers: ['type'], + type: { + referenceName: 'Random', + flags: 524_288, + isArray: true, + }, + }, + TestArrayReferenceLiteral: { + name: 'TestArrayReferenceLiteral', + kind: LightweightDefinitionKind.ALIAS_LIKE, + modifiers: ['type'], + type: { + referenceName: 'Random', + flags: 524_288, + isArray: true, + }, + }, + Random: { + name: 'Random', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: ['interface'], + }, + }, +}; diff --git a/test/easy-ast/class-like.ast-test.ts b/test/easy-ast/class-like.ast-test.ts new file mode 100644 index 00000000..71404197 --- /dev/null +++ b/test/easy-ast/class-like.ast-test.ts @@ -0,0 +1,59 @@ +/* eslint-disable @typescript-eslint/no-unused-vars,@typescript-eslint/no-inferrable-types */ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {EasyAstSpecType} from './easy-ast-spec-type'; +import {LightweightDefinitionKind} from '../../src/easy-ast/types/lightweight-definition-kind'; + +interface TestInterface { + foo: number; +} + +class TestClass { + bar: string = 'test'; +} + +export const testConfig: EasyAstSpecType = { + testName: `should resolve class-likes`, + expected: { + TestInterface: { + name: 'TestInterface', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: ['interface'], + properties: { + foo: { + name: 'foo', + type: { + value: 'number', + flags: 8, + }, + }, + }, + }, + TestClass: { + name: 'TestClass', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: ['class'], + properties: { + bar: { + name: 'bar', + type: { + value: 'string', + flags: 4, + }, + }, + }, + }, + }, +}; diff --git a/test/easy-ast/comment.ast-test.ts b/test/easy-ast/comment.ast-test.ts new file mode 100644 index 00000000..c93b3d99 --- /dev/null +++ b/test/easy-ast/comment.ast-test.ts @@ -0,0 +1,161 @@ +/* eslint-disable @typescript-eslint/no-unused-vars,jsdoc/check-tag-names */ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {EasyAstSpecType} from './easy-ast-spec-type'; +import {LightweightDefinitionKind} from '../../src/easy-ast/types/lightweight-definition-kind'; + +/** + * Class comment + * + * Class description + * + * More description + * + * @classTag classParameter1 classParameter2 + */ +interface TestInterface { + /** + * Property comment + * + * Property description + * + * More description + * + * @propertyTag propertyParameter1 propertyParameter2 + */ + foo: string; +} + +/** + * Class comment + * + * Class description + * + * More description + * + * @classTag classParameter1 classParameter2 + */ +class TestClass { + /** + * Property comment + * + * Property description + * + * More description + * + * @propertyTag propertyParameter1 propertyParameter2 + */ + foo = 1; +} + +/** + * Enum comment + * + * Enum description + * + * More description + * + * @enumTag enumParameter1 + */ +enum TestAlias {} + +export const testConfig: EasyAstSpecType = { + testName: `should resolve comments`, + expected: { + TestInterface: { + comment: { + shortSummary: 'Class comment', + description: 'Class description\n\nMore description', + tags: [ + { + name: 'classTag', + parameters: ['classParameter1', 'classParameter2'], + }, + ], + }, + name: 'TestInterface', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: ['interface'], + properties: { + foo: { + comment: { + shortSummary: 'Property comment', + description: 'Property description\n\nMore description', + tags: [ + { + name: 'propertyTag', + parameters: ['propertyParameter1', 'propertyParameter2'], + }, + ], + }, + name: 'foo', + type: { + value: 'string', + flags: 4, + }, + }, + }, + }, + TestClass: { + comment: { + shortSummary: 'Class comment', + description: 'Class description\n\nMore description', + tags: [ + { + name: 'classTag', + parameters: ['classParameter1', 'classParameter2'], + }, + ], + }, + name: 'TestClass', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: ['class'], + properties: { + foo: { + comment: { + shortSummary: 'Property comment', + description: 'Property description\n\nMore description', + tags: [ + { + name: 'propertyTag', + parameters: ['propertyParameter1', 'propertyParameter2'], + }, + ], + }, + name: 'foo', + type: { + value: 'number', + flags: 8, + }, + }, + }, + }, + TestAlias: { + comment: { + shortSummary: 'Enum comment', + description: 'Enum description\n\nMore description', + tags: [ + { + name: 'enumTag', + parameters: ['enumParameter1'], + }, + ], + }, + name: 'TestAlias', + kind: LightweightDefinitionKind.ALIAS_LIKE, + modifiers: ['enum'], + }, + }, +}; diff --git a/test/easy-ast/default-generics.ast-test.ts b/test/easy-ast/default-generics.ast-test.ts new file mode 100644 index 00000000..2dc63fe3 --- /dev/null +++ b/test/easy-ast/default-generics.ast-test.ts @@ -0,0 +1,66 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {EasyAstSpecType} from './easy-ast-spec-type'; +import {LightweightDefinitionKind} from '../../src/easy-ast/types/lightweight-definition-kind'; + +interface Test1 { + foo: T; +} + +interface Test2 { + bar: Test1; +} + +export const testConfig: EasyAstSpecType = { + testName: `should resolve default generics`, + expected: { + Test1: { + name: 'Test1', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: ['interface'], + typeParameters: ['T'], + properties: { + foo: { + name: 'foo', + type: { + referenceName: 'T', + flags: 262_144, + }, + }, + }, + }, + Test2: { + name: 'Test2', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: ['interface'], + properties: { + bar: { + name: 'bar', + type: { + referenceName: 'Test1', + flags: 524_288, + genericsTypes: [ + { + value: 'number', + flags: 8, + }, + ], + }, + }, + }, + }, + }, +}; diff --git a/test/mapping-model/aggregations/src/types.ts b/test/easy-ast/easy-ast-spec-type.d.ts similarity index 65% rename from test/mapping-model/aggregations/src/types.ts rename to test/easy-ast/easy-ast-spec-type.d.ts index 1582345e..80e5628c 100644 --- a/test/mapping-model/aggregations/src/types.ts +++ b/test/easy-ast/easy-ast-spec-type.d.ts @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020 StApps + * Copyright (C) 2021 StApps * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation, version 3. @@ -12,13 +12,9 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ +import {LightweightFile} from '../../src/easy-ast/types/lightweight-project'; -export enum ThingType { - AggArray = 'agg array', - AggGlobal = 'agg global', - AggGlobalNested = 'agg global nested', - AggNested = 'agg nested', - AggInherited = 'agg inherited', - AggInheritedGlobal = 'agg inherited global', - AggInheritedOverwritten = 'agg inherited overwritten', +interface EasyAstSpecType { + testName: string; + expected: LightweightFile; } diff --git a/test/easy-ast/enum-specified-value.ast-test.ts b/test/easy-ast/enum-specified-value.ast-test.ts new file mode 100644 index 00000000..34288fdd --- /dev/null +++ b/test/easy-ast/enum-specified-value.ast-test.ts @@ -0,0 +1,73 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {EasyAstSpecType} from './easy-ast-spec-type'; +import {LightweightDefinitionKind} from '../../src/easy-ast/types/lightweight-definition-kind'; + +enum TestAuto { + Foo, + Bar, +} + +enum TestSpecified { + YES = 'yes', + NO = 'no', +} + +export const testConfig: EasyAstSpecType = { + testName: `should resolve auto and specified enums`, + expected: { + TestAuto: { + name: 'TestAuto', + kind: LightweightDefinitionKind.ALIAS_LIKE, + modifiers: ['enum'], + type: { + flags: 1_048_576, + specificationTypes: [ + { + referenceName: 'Foo', + value: 0, + flags: 1280, + }, + { + referenceName: 'Bar', + value: 1, + flags: 1280, + }, + ], + }, + }, + TestSpecified: { + name: 'TestSpecified', + kind: LightweightDefinitionKind.ALIAS_LIKE, + modifiers: ['enum'], + type: { + flags: 1_048_576, + specificationTypes: [ + { + referenceName: 'YES', + value: 'yes', + flags: 1152, + }, + { + referenceName: 'NO', + value: 'no', + flags: 1152, + }, + ], + }, + }, + }, +}; diff --git a/test/easy-ast/generics.ast-test.ts b/test/easy-ast/generics.ast-test.ts new file mode 100644 index 00000000..38416c83 --- /dev/null +++ b/test/easy-ast/generics.ast-test.ts @@ -0,0 +1,80 @@ +/* eslint-disable @typescript-eslint/no-empty-interface,@typescript-eslint/no-unused-vars */ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {EasyAstSpecType} from './easy-ast-spec-type'; +import {LightweightDefinitionKind} from '../../src/easy-ast/types/lightweight-definition-kind'; + +interface $Random {} + +interface Generics { + baz: Foo; +} + +interface Foo { + foo: T; + bar: S; +} + +export const testConfig: EasyAstSpecType = { + testName: `should resolve generics`, + expected: { + Generics: { + name: 'Generics', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: ['interface'], + properties: { + baz: { + name: 'baz', + type: { + referenceName: 'Foo', + flags: 524_288, + genericsTypes: [ + { + value: 'number', + flags: 8, + }, + { + referenceName: '$Random', + flags: 524_288, + }, + ], + }, + }, + }, + }, + Foo: { + name: 'Foo', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: ['interface'], + typeParameters: ['T', 'S'], + properties: { + foo: { + name: 'foo', + type: { + referenceName: 'T', + flags: 262_144, + }, + }, + bar: { + name: 'bar', + type: { + referenceName: 'S', + flags: 262_144, + }, + }, + }, + }, + }, +}; diff --git a/test/easy-ast/index-signature.ast-test.ts b/test/easy-ast/index-signature.ast-test.ts new file mode 100644 index 00000000..bd393599 --- /dev/null +++ b/test/easy-ast/index-signature.ast-test.ts @@ -0,0 +1,69 @@ +/* eslint-disable @typescript-eslint/no-empty-interface,@typescript-eslint/no-unused-vars */ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {EasyAstSpecType} from './easy-ast-spec-type'; +import {LightweightDefinitionKind} from '../../src/easy-ast/types/lightweight-definition-kind'; + +interface $Random {} + +interface IndexSignatureObject { + [key: string]: $Random; +} + +interface IndexSignaturePrimitive { + [key: string]: number; +} + +export const testConfig: EasyAstSpecType = { + testName: `should resolve index signatures`, + expected: { + IndexSignatureObject: { + name: 'IndexSignatureObject', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: ['interface'], + indexSignatures: { + key: { + name: 'key', + indexSignatureType: { + value: 'string', + flags: 4, + }, + type: { + referenceName: '$Random', + flags: 524_288, + }, + }, + }, + }, + IndexSignaturePrimitive: { + name: 'IndexSignaturePrimitive', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: ['interface'], + indexSignatures: { + key: { + name: 'key', + indexSignatureType: { + value: 'string', + flags: 4, + }, + type: { + value: 'number', + flags: 8, + }, + }, + }, + }, + }, +}; diff --git a/test/easy-ast/ineritance.ast-test.ts b/test/easy-ast/ineritance.ast-test.ts new file mode 100644 index 00000000..b96a9385 --- /dev/null +++ b/test/easy-ast/ineritance.ast-test.ts @@ -0,0 +1,82 @@ +/* eslint-disable @typescript-eslint/no-unused-vars,@typescript-eslint/no-inferrable-types */ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {EasyAstSpecType} from './easy-ast-spec-type'; +import {LightweightDefinitionKind} from '../../src/easy-ast/types/lightweight-definition-kind'; + +interface $BaseInterface { + foo: T; +} + +interface $BaseInterface2 { + bar: string; +} + +class $BaseClass {} + +class InheritingClass extends $BaseClass implements $BaseInterface, $BaseInterface2 { + bar: string = ''; + + foo: number = 1; +} + +export const testConfig: EasyAstSpecType = { + testName: `inheritance`, + expected: { + InheritingClass: { + name: 'InheritingClass', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: ['class'], + implementedDefinitions: [ + { + referenceName: '$BaseInterface', + genericsTypes: [ + { + value: 'number', + flags: 8, + }, + ], + flags: 524_288, + }, + { + referenceName: '$BaseInterface2', + flags: 524_288, + }, + ], + extendedDefinitions: [ + { + referenceName: '$BaseClass', + flags: 524_288, + }, + ], + properties: { + foo: { + name: 'foo', + type: { + value: 'number', + flags: 8, + }, + }, + bar: { + name: 'bar', + type: { + value: 'string', + flags: 4, + }, + }, + }, + }, + }, +}; diff --git a/test/easy-ast/nested.ast-test.ts b/test/easy-ast/nested.ast-test.ts new file mode 100644 index 00000000..e9f1a334 --- /dev/null +++ b/test/easy-ast/nested.ast-test.ts @@ -0,0 +1,61 @@ +/* eslint-disable @typescript-eslint/no-empty-interface,@typescript-eslint/no-unused-vars */ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {EasyAstSpecType} from './easy-ast-spec-type'; +import {LightweightDefinitionKind} from '../../src/easy-ast/types/lightweight-definition-kind'; + +interface NestedObject { + nested: { + deeplyNested: { + aNumber: number; + }; + }; +} + +export const testConfig: EasyAstSpecType = { + testName: `should handle nested/type literals`, + expected: { + NestedObject: { + name: 'NestedObject', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: ['interface'], + properties: { + nested: { + name: 'nested', + type: { + flags: 524_288, + }, + properties: { + deeplyNested: { + name: 'deeplyNested', + type: { + flags: 524_288, + }, + properties: { + aNumber: { + name: 'aNumber', + type: { + flags: 8, + value: 'number', + }, + }, + }, + }, + }, + }, + }, + }, + }, +}; diff --git a/test/easy-ast/primitive-types.ast-test.ts b/test/easy-ast/primitive-types.ast-test.ts new file mode 100644 index 00000000..a29992ce --- /dev/null +++ b/test/easy-ast/primitive-types.ast-test.ts @@ -0,0 +1,99 @@ +/* eslint-disable @typescript-eslint/no-unused-vars,@typescript-eslint/no-explicit-any */ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {EasyAstSpecType} from './easy-ast-spec-type'; +import {LightweightDefinitionKind} from '../../src/easy-ast/types/lightweight-definition-kind'; + +interface Test { + number_type: number; + string_type: string; + boolean_type: boolean; + any_type: any; + unknown_type: unknown; + null_type: null; + undefined_type: undefined; +} + +export const testConfig: EasyAstSpecType = { + testName: `should interpret primitive types correctly`, + expected: { + Test: { + name: 'Test', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: ['interface'], + properties: { + number_type: { + name: 'number_type', + type: { + value: 'number', + flags: 8, + }, + }, + string_type: { + name: 'string_type', + type: { + value: 'string', + flags: 4, + }, + }, + boolean_type: { + name: 'boolean_type', + type: { + value: 'boolean', + flags: 1_048_592, + specificationTypes: [ + { + value: 'false', + flags: 512, + }, + { + value: 'true', + flags: 512, + }, + ], + }, + }, + any_type: { + name: 'any_type', + type: { + value: 'any', + flags: 1, + }, + }, + unknown_type: { + name: 'unknown_type', + type: { + value: 'unknown', + flags: 2, + }, + }, + null_type: { + name: 'null_type', + type: { + value: 'null', + flags: 65_536, + }, + }, + undefined_type: { + name: 'undefined_type', + type: { + value: 'undefined', + flags: 32_768, + }, + }, + }, + }, + }, +}; diff --git a/test/easy-ast/stack-overflow.ast-test.ts b/test/easy-ast/stack-overflow.ast-test.ts new file mode 100644 index 00000000..2bb5708d --- /dev/null +++ b/test/easy-ast/stack-overflow.ast-test.ts @@ -0,0 +1,61 @@ +/* eslint-disable @typescript-eslint/no-unused-vars,@typescript-eslint/no-explicit-any */ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {EasyAstSpecType} from './easy-ast-spec-type'; +import {LightweightDefinitionKind} from '../../src/easy-ast/types/lightweight-definition-kind'; + +interface Foo> { + bar: T; +} + +interface Bar { + foo: T; +} + +export const testConfig: EasyAstSpecType = { + testName: `should ignore type constraints`, + expected: { + Foo: { + name: 'Foo', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: ['interface'], + typeParameters: ['T'], + properties: { + bar: { + name: 'bar', + type: { + referenceName: 'T', + flags: 262_144, + }, + }, + }, + }, + Bar: { + name: 'Bar', + kind: LightweightDefinitionKind.CLASS_LIKE, + modifiers: ['interface'], + typeParameters: ['T'], + properties: { + foo: { + name: 'foo', + type: { + referenceName: 'T', + flags: 262_144, + }, + }, + }, + }, + }, +}; diff --git a/test/mapping-model/MapAggTest.ts b/test/mapping-model/MapAggTest.ts deleted file mode 100644 index 1052f3ad..00000000 --- a/test/mapping-model/MapAggTest.ts +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ -import {generateTemplate} from '../../src/mapping'; -import {resolve} from "path"; -import {expect} from "chai"; -import {ProjectReflection} from 'typedoc'; -import {getProjectReflection} from '../../src/common'; -import {AggregationSchema, ESNestedAggregation} from '../../src/mappings/aggregation-definitions'; -import {MapAggTestOptions, MinimalMappingDescription} from './MapAggTestOptions'; -import {ElasticsearchTemplateCollection} from '../../src/mappings/mapping-definitions'; -import {settings} from '../../src/mappings/definitions/settings'; -import {ElasticsearchDataType} from '../../src/mappings/definitions/typemap'; - -export class MapAggTest { - mapping_model_path!: string; - reflection!: ProjectReflection; - - constructor(dir: string) { - this.mapping_model_path = resolve(__dirname, dir); - this.reflection = getProjectReflection(this.mapping_model_path); - } - - testInterfaceAgainstPath(options: MapAggTestOptions) { - const template = generateTemplate(this.reflection, options.ignoredTags ?? [], false, [options.name]); - - if (typeof options.err !== 'undefined') { - for (const error of template.errors) { - expect(options.err).to.include(error, "Unexpected Error!") - } - } else { - expect(template.errors).to.be.deep.equal([], 'Unexpected Error!'); - } - - if (typeof options.agg !== 'undefined') { - const expectedAggSchema = MapAggTest.buildAggregation(options.name, options.agg.fields, options.agg.globals) - expect(template.aggregations).to.be.deep.equal(expectedAggSchema, 'Aggregation schema not equal!'); - } - - if (typeof options.map !== 'undefined') { - const expectedMappingSchema = MapAggTest.buildMapping(options.name, options.map); - expect(template.mappings).to.be.deep.equal(expectedMappingSchema, 'Mapping schema not equal!'); - } - } - - static buildAggregation(name: string, fields?: string[], globals?: string[]): AggregationSchema { - const out: AggregationSchema = { - '@all': { - aggs: {}, - filter: { - match_all: {} - } - }, - }; - - for (const global of globals ?? []) { - (out['@all']! as ESNestedAggregation).aggs[global] = { - terms: { - field: `${global}.raw`, - size: 1000, - } - } - } - - if (typeof fields === 'undefined' || fields.length === 0) { - return out; - } - - out[name] = { - aggs: {}, - filter: { - type: { - value: name, - } - } - } - - for (const field of fields) { - (out[name]! as ESNestedAggregation).aggs[field] = { - terms: { - field: `${field}.raw`, - size: 1000, - } - } - } - - return out; - } - - static buildMapping(name: string, map: MinimalMappingDescription): ElasticsearchTemplateCollection { - let typeNameWithoutSpaces = name.toLowerCase(); - while (typeNameWithoutSpaces.includes(' ')) { - typeNameWithoutSpaces = typeNameWithoutSpaces.replace(' ', '_'); - } - - const out: ElasticsearchTemplateCollection = {}; - const templateName = `template_${typeNameWithoutSpaces}`; - out[templateName] = { - mappings: {}, - settings: settings, - template: `stapps_${typeNameWithoutSpaces}*`, - } - const maps = map.maps ?? {}; - maps.type = { - type: ElasticsearchDataType.text - } - maps.creation_date = { - type: ElasticsearchDataType.date - } - out[templateName].mappings[name] = { - _source: { - excludes: [ - 'creation_date' - ] - }, - date_detection: false, - dynamic: 'strict', - properties: maps, - dynamic_templates: map.dynamicTemplates ?? [], - } - - return out; - } -} diff --git a/test/mapping-model/MapAggTestOptions.ts b/test/mapping-model/MapAggTestOptions.ts deleted file mode 100644 index 4b3ab13f..00000000 --- a/test/mapping-model/MapAggTestOptions.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ -import { - ElasticsearchDynamicTemplate, - ElasticsearchValue -} from '../../src/mappings/mapping-definitions'; - -export interface MapAggTestOptions { - name: string; - agg?: { - fields?: string[]; - globals?: string[]; - } - map?: MinimalMappingDescription; - err?: string[]; - ignoredTags?: string[]; -} - -export interface MinimalMappingDescription { - maps?: { - [name: string]: ElasticsearchValue; - }; - dynamicTemplates?: ElasticsearchDynamicTemplate[]; -} diff --git a/test/mapping-model/aggregations/src/agg-array.ts b/test/mapping-model/aggregations/src/agg-array.ts deleted file mode 100644 index ea3085e8..00000000 --- a/test/mapping-model/aggregations/src/agg-array.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; - -/** - * @indexable - */ -export interface AggArray { - /** - * @aggregatable - */ - array: Foo[]; - - type: ThingType.AggArray; -} -type Foo = 'A' | 'B' | 'C'; - -export const aggArrayTest: MapAggTestOptions = { - name: ThingType.AggArray, - agg: { - fields: ['array'], - }, -}; diff --git a/test/mapping-model/aggregations/src/agg-global-nested.ts b/test/mapping-model/aggregations/src/agg-global-nested.ts deleted file mode 100644 index cc956902..00000000 --- a/test/mapping-model/aggregations/src/agg-global-nested.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; - -/** - * @indexable - */ -export interface AggGlobalNested { - nested: { - /** - * @aggregatable global - */ - foo: string; - }; - - type: ThingType.AggGlobalNested; -} - -export const aggGlobalNestedTest: MapAggTestOptions = { - name: ThingType.AggGlobalNested, - agg: { - globals: ['foo'], - }, -}; diff --git a/test/mapping-model/aggregations/src/agg-inherited.ts b/test/mapping-model/aggregations/src/agg-inherited.ts deleted file mode 100644 index 2d1a8af7..00000000 --- a/test/mapping-model/aggregations/src/agg-inherited.ts +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; - -/** - * @indexable - */ -export interface AggInherited extends Foo { - type: ThingType.AggInherited; -} - - -interface Foo { - /** - * @aggregatable - */ - bar: string; -} - -export const aggInheritedTest: MapAggTestOptions = { - name: ThingType.AggInherited, - agg: { - fields: ['bar'], - }, -}; diff --git a/test/mapping-model/aggregations/src/agg-nested.ts b/test/mapping-model/aggregations/src/agg-nested.ts deleted file mode 100644 index 2b64d6fc..00000000 --- a/test/mapping-model/aggregations/src/agg-nested.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; - -/** - * @indexable - */ -export interface AggNested { - nested: { - /** - * @aggregatable - */ - foo: string; - }; - - type: ThingType.AggNested; -} - -export const aggNestedTest: MapAggTestOptions = { - name: ThingType.AggNested, - agg: { - fields: ['nested.foo'], - }, -}; diff --git a/test/mapping-model/aggregations/tsconfig.json b/test/mapping-model/aggregations/tsconfig.json deleted file mode 100644 index c7a33719..00000000 --- a/test/mapping-model/aggregations/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../../node_modules/@openstapps/configuration/tsconfig.json" -} diff --git a/test/mapping-model/mappings/src/any-unknown.ts b/test/mapping-model/mappings/src/any-unknown.ts deleted file mode 100644 index 6fd86060..00000000 --- a/test/mapping-model/mappings/src/any-unknown.ts +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; - -/** - * @indexable - */ -export interface AnyUnknown { - foo: any; - - bar: unknown; - - type: ThingType.AnyUnknown -} - -export const anyUnknownTest: MapAggTestOptions = { - name: ThingType.AnyUnknown, - map: { - maps: { - foo: { - dynamic: true, - properties: {} - }, - bar: { - dynamic: true, - properties: {} - } - } - } -}; diff --git a/test/mapping-model/mappings/src/date.ts b/test/mapping-model/mappings/src/date.ts deleted file mode 100644 index 060cfb3f..00000000 --- a/test/mapping-model/mappings/src/date.ts +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @date - */ -export type SCISO8601Date = string - -/** - * @indexable - */ -export interface DateAndRange { - /** - * @date - */ - directDate: string; - - dateAlias: SCISO8601Date; - - type: ThingType.Date -} - -export const dateAndRangeTest: MapAggTestOptions = { - name: ThingType.Date, - map: { - maps: { - directDate: { - type: ElasticsearchDataType.date, - }, - dateAlias: { - type: ElasticsearchDataType.date, - }, - } - } -}; diff --git a/test/mapping-model/mappings/src/default-generics.ts b/test/mapping-model/mappings/src/default-generics.ts deleted file mode 100644 index cc84ba4d..00000000 --- a/test/mapping-model/mappings/src/default-generics.ts +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface DefaultGeneric { - foo: InterfaceWithDefaultGeneric; - - type: ThingType.DefaultGeneric; -} - -interface InterfaceWithDefaultGeneric { - bar: T; -} - -export const defaultGenericTest: MapAggTestOptions = { - name: ThingType.DefaultGeneric, - map: { - maps: { - foo: { - dynamic: 'strict', - properties: { - bar: { - type: ElasticsearchDataType.parse_error - } - } - } - } - }, - err: [ - `At "${ThingType.DefaultGeneric}::foo.bar" for Generic "T": Missing reflection, please report!` - ] -}; diff --git a/test/mapping-model/mappings/src/double-type-conflict.ts b/test/mapping-model/mappings/src/double-type-conflict.ts deleted file mode 100644 index cbcdc71e..00000000 --- a/test/mapping-model/mappings/src/double-type-conflict.ts +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface DoubleTypeConflict { - /** - * @keyword - * @text - */ - stringDoubleTypeConflict: string; - - /** - * @integer - * @float - */ - numberDoubleTypeConflict: number; - - type: ThingType.DoubleTypeConflict; -} - -export const doubleTypeConflictTest: MapAggTestOptions = { - name: ThingType.DoubleTypeConflict, - map: { - maps: { - stringDoubleTypeConflict: { - type: ElasticsearchDataType.type_conflict - }, - numberDoubleTypeConflict: { - type: ElasticsearchDataType.type_conflict - } - } - }, - err: [ - `At "${ThingType.DoubleTypeConflict}::stringDoubleTypeConflict" for type "string": Type conflict; "keyword" would override "text"`, - `At "${ThingType.DoubleTypeConflict}::numberDoubleTypeConflict" for type "number": Type conflict; "integer" would override "float"` - ] -}; diff --git a/test/mapping-model/mappings/src/enum.ts b/test/mapping-model/mappings/src/enum.ts deleted file mode 100644 index dde5dfa8..00000000 --- a/test/mapping-model/mappings/src/enum.ts +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface Enum { - foo: Bar, - - bar: Baz, - - type: ThingType.Enum; -} - -enum Bar { - a, - b, - c, -} - -enum Baz { - d = 'd', - e = 'e', - f = 'f', -} - -export const enumTest: MapAggTestOptions = { - name: ThingType.Enum, - map: { - maps: { - foo: { - type: ElasticsearchDataType.text - }, - bar: { - type: ElasticsearchDataType.text - } - } - } -}; diff --git a/test/mapping-model/mappings/src/filterable-tag.ts b/test/mapping-model/mappings/src/filterable-tag.ts deleted file mode 100644 index 9d3e1cb5..00000000 --- a/test/mapping-model/mappings/src/filterable-tag.ts +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -export type FilterableEnumType = 'a' | 'b' | 'c'; - -/** - * @indexable - */ -export interface FilterableTag { - /** - * @text - * @filterable - */ - foo: string; - - /** - * @keyword - * @filterable - */ - bar: string; - - /** - * @filterable - */ - baz: 'some literal' - - /** - * @filterable - */ - buz: FilterableEnumType - - type: ThingType.FilterableTag -} - -export const filterableTagTest: MapAggTestOptions = { - name: ThingType.FilterableTag, - map: { - maps: { - foo: { - type: ElasticsearchDataType.text, - fields: { - raw: { - type: ElasticsearchDataType.keyword - } - } - }, - bar: { - type: ElasticsearchDataType.keyword, - fields: { - raw: { - type: ElasticsearchDataType.keyword - } - } - }, - baz: { - type: ElasticsearchDataType.keyword, - fields: { - raw: { - type: ElasticsearchDataType.keyword - } - } - }, - buz: { - type: ElasticsearchDataType.keyword, - fields: { - raw: { - type: ElasticsearchDataType.keyword - } - } - } - } - } -}; diff --git a/test/mapping-model/mappings/src/generics.ts b/test/mapping-model/mappings/src/generics.ts deleted file mode 100644 index 7c41cf1c..00000000 --- a/test/mapping-model/mappings/src/generics.ts +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface Generics { - foo: InterfaceWithDefaultGeneric; - baz: InterfaceWithStringGeneric - - type: ThingType.Generics; -} - -interface InterfaceWithDefaultGeneric { - bar: T; -} - -interface InterfaceWithStringGeneric { - bar: T; -} - -export const genericTest: MapAggTestOptions = { - name: ThingType.Generics, - map: { - maps: { - foo: { - dynamic: 'strict', - properties: { - bar: { - type: ElasticsearchDataType.integer - } - } - }, - baz: { - dynamic: 'strict', - properties: { - bar: { - type: ElasticsearchDataType.text - } - } - } - } - } -}; diff --git a/test/mapping-model/mappings/src/impossible-union.ts b/test/mapping-model/mappings/src/impossible-union.ts deleted file mode 100644 index 4312207c..00000000 --- a/test/mapping-model/mappings/src/impossible-union.ts +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface ImpossibleUnion { - foo: 'a' | 1 | boolean; - - type: ThingType.ImpossibleUnion -} - -export const impossibleUnionTest: MapAggTestOptions = { - name: ThingType.ImpossibleUnion, - map: { - maps: { - foo: { - type: ElasticsearchDataType.boolean - } - } - }, - err: [ - `At "${ThingType.ImpossibleUnion}::foo" for type "[{"type":"1","name":"2"},"unknown","1"]": Not implemented type` - ] -}; diff --git a/test/mapping-model/mappings/src/incompatible-type.ts b/test/mapping-model/mappings/src/incompatible-type.ts deleted file mode 100644 index 0e57ed5c..00000000 --- a/test/mapping-model/mappings/src/incompatible-type.ts +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface DoubleTypeConflict { - /** - * @keyword - */ - keywordNumber: number; - - /** - * @text - */ - textNumber: number; - - /** - * @integer - */ - integerString: string; - - /** - * @float - */ - floatString: string; - - - type: ThingType.IncompatibleType; -} - -export const incompatibleTypeTest: MapAggTestOptions = { - name: ThingType.IncompatibleType, - map: { - maps: { - keywordNumber: { - type: ElasticsearchDataType.integer - }, - textNumber: { - type: ElasticsearchDataType.integer - }, - integerString: { - type: ElasticsearchDataType.text - }, - floatString: { - type: ElasticsearchDataType.text - } - } - }, - err: [ - `At "${ThingType.IncompatibleType}::keywordNumber" for tag "keyword": Not implemented tag`, - `At "${ThingType.IncompatibleType}::textNumber" for tag "text": Not implemented tag`, - `At "${ThingType.IncompatibleType}::floatString" for tag "float": Not implemented tag`, - `At "${ThingType.IncompatibleType}::integerString" for tag "integer": Not implemented tag`, - ] -}; diff --git a/test/mapping-model/mappings/src/index-signature.ts b/test/mapping-model/mappings/src/index-signature.ts deleted file mode 100644 index a733441e..00000000 --- a/test/mapping-model/mappings/src/index-signature.ts +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface IndexSignature { - foo: { - [key: string]: { - bar: number; - baz: string; - } - } - - type: ThingType.IndexSignature; -} - -export const indexSignatureTest: MapAggTestOptions = { - name: ThingType.IndexSignature, - map: { - maps: { - foo: { - dynamic: true, - properties: {} - } - }, - dynamicTemplates: [ - { - __type: { - mapping: { - dynamic: 'strict', - properties: { - bar: { - type: ElasticsearchDataType.integer - }, - baz: { - type: ElasticsearchDataType.text - } - } - }, - match: '*', - match_mapping_type: '*', - path_match: 'foo.*' - } - } - ] - } -}; diff --git a/test/mapping-model/mappings/src/inherit-tags.ts b/test/mapping-model/mappings/src/inherit-tags.ts deleted file mode 100644 index 16919dc1..00000000 --- a/test/mapping-model/mappings/src/inherit-tags.ts +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ThingType} from './types'; - -/** - * @indexable - */ -export interface InheritTags { - /** - * @inheritTags inherit tags::bar.baz - */ - foo: number, - - bar: { - /** - * @float - */ - baz: number - } - - type: ThingType.InheritTags; -} - -export const inheritTagsTest: MapAggTestOptions = { - name: ThingType.InheritTags, - map: { - maps: { - foo: { - type: ElasticsearchDataType.float - }, - bar: { - dynamic: 'strict', - properties: { - baz: { - type: ElasticsearchDataType.float - } - } - }, - } - } -}; diff --git a/test/mapping-model/mappings/src/inherited-property.ts b/test/mapping-model/mappings/src/inherited-property.ts deleted file mode 100644 index a795fbb6..00000000 --- a/test/mapping-model/mappings/src/inherited-property.ts +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface InheritedProperty extends Bar{ - foo: number, - - type: ThingType.InheritedProperty; -} - -interface Bar { - /** - * @keyword - */ - bar: string; - - /** - * @float - */ - baz: number; -} - -export const inheritedPropertyTest: MapAggTestOptions = { - name: ThingType.InheritedProperty, - map: { - maps: { - foo: { - type: ElasticsearchDataType.integer - }, - bar: { - type: ElasticsearchDataType.keyword - }, - baz: { - type: ElasticsearchDataType.float - } - } - } -}; diff --git a/test/mapping-model/mappings/src/invalid-tag.ts b/test/mapping-model/mappings/src/invalid-tag.ts deleted file mode 100644 index c7a96909..00000000 --- a/test/mapping-model/mappings/src/invalid-tag.ts +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface InvalidTag { - /** - * @anInvalidTag - */ - foo: string; - - type: ThingType.InvalidTag; -} - -export const invalidTagTest: MapAggTestOptions = { - name: ThingType.InvalidTag, - map: { - maps: { - foo: { - type: ElasticsearchDataType.text - } - } - }, - err: [ - `At "${ThingType.InvalidTag}::foo" for tag "aninvalidtag": Not implemented tag` - ] -}; diff --git a/test/mapping-model/mappings/src/map-explicit-types.ts b/test/mapping-model/mappings/src/map-explicit-types.ts deleted file mode 100644 index 92a1468c..00000000 --- a/test/mapping-model/mappings/src/map-explicit-types.ts +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface MapExplicitTypes { - /** - * @integer - */ - esInteger: number; - - /** - * @float - */ - esFloat: number; - - /** - * @keyword - */ - esKeyword: string; - - /** - * @text - */ - esText: string; - - /** - * @date - */ - esEpochMsDate: number - - /** - * @date - */ - esStringDate: string - - type: ThingType.MapExplicitTypes; -} - -export const mapExplicitTypesTest: MapAggTestOptions = { - name: ThingType.MapExplicitTypes, - map: { - maps: { - esInteger: { - type: ElasticsearchDataType.integer - }, - esFloat: { - type: ElasticsearchDataType.float - }, - esKeyword: { - type: ElasticsearchDataType.keyword - }, - esText: { - type: ElasticsearchDataType.text - }, - esEpochMsDate: { - type: ElasticsearchDataType.date - }, - esStringDate: { - type: ElasticsearchDataType.date - }, - } - } -}; diff --git a/test/mapping-model/mappings/src/missing-premap.ts b/test/mapping-model/mappings/src/missing-premap.ts deleted file mode 100644 index 3a06332c..00000000 --- a/test/mapping-model/mappings/src/missing-premap.ts +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface MissingPremap { - // it really doesn't matter what we use here, as long as it is an external dependency - // if you get an error here because you removed a dependency, feel free to change it around - // to your heart's content - foo: HTMLAllCollection; - - type: ThingType.MissingPremap; -} - -export const missingPremapTest: MapAggTestOptions = { - name: ThingType.MissingPremap, - map: { - maps: { - foo: { - type: ElasticsearchDataType.missing_premap - } - } - }, - err: [ - `At "${ThingType.MissingPremap}::foo" for external type "HTMLAllCollection": Missing pre-map` - ] -}; diff --git a/test/mapping-model/mappings/src/nested.ts b/test/mapping-model/mappings/src/nested.ts deleted file mode 100644 index f14afc31..00000000 --- a/test/mapping-model/mappings/src/nested.ts +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface Nested { - foo: { - depth1_1: { - depth2_1: { - depth3_1: number; - /** - * @keyword - */ - depth3_2: string; - } - depth2_2: boolean; - } - } - - type: ThingType.Nested; -} - -export const nestedTest: MapAggTestOptions = { - name: ThingType.Nested, - map: { - maps: { - foo: { - dynamic: 'strict', - properties: { - depth1_1: { - dynamic: 'strict', - properties: { - depth2_1: { - dynamic: 'strict', - properties: { - depth3_1: { - type: ElasticsearchDataType.integer - }, - depth3_2: { - type: ElasticsearchDataType.keyword - } - } - }, - depth2_2: { - type: ElasticsearchDataType.boolean - } - } - } - } - } - } - } -}; diff --git a/test/mapping-model/mappings/src/object-union.ts b/test/mapping-model/mappings/src/object-union.ts deleted file mode 100644 index b9703c34..00000000 --- a/test/mapping-model/mappings/src/object-union.ts +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface ObjectUnion { - foo: Boo | Buu; - - type: ThingType.ObjectUnion -} - -// we can't name them Bar or Baz, look here for more info: -// https://gitlab.com/openstapps/core-tools/-/issues/48 -// or here -// https://github.com/TypeStrong/typedoc/issues/1373 -interface Boo { - a: boolean; - intersection: string; -} - -interface Buu { - b: number; - intersection: string; -} - -export const objectUnionTest: MapAggTestOptions = { - name: ThingType.ObjectUnion, - map: { - maps: { - foo: { - dynamic: 'strict', - properties: { - a: { - type: ElasticsearchDataType.boolean - }, - b: { - type: ElasticsearchDataType.integer - }, - intersection: { - type: ElasticsearchDataType.text - } - } - } - } - } -}; diff --git a/test/mapping-model/mappings/src/paired-tags.ts b/test/mapping-model/mappings/src/paired-tags.ts deleted file mode 100644 index 1f857ad1..00000000 --- a/test/mapping-model/mappings/src/paired-tags.ts +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface PairedTags { - /** - * @keyword - * @filterable - */ - foo: string; - - /** - * @text - * @filterable - * @sortable - */ - bar: string; - - type: ThingType.PairedTags; -} - -export const pairedTagsTest: MapAggTestOptions = { - name: ThingType.PairedTags, - map: { - maps: { - foo: { - type: ElasticsearchDataType.keyword, - fields: { - raw: { - type: ElasticsearchDataType.keyword - } - } - }, - bar: { - type: ElasticsearchDataType.text, - fields: { - raw: { - type: ElasticsearchDataType.keyword - }, - sort: { - analyzer: 'ducet_sort', - fielddata: true, - type: ElasticsearchDataType.text - } - } - } - } - } -}; diff --git a/test/mapping-model/mappings/src/sensible-defaults.ts b/test/mapping-model/mappings/src/sensible-defaults.ts deleted file mode 100644 index deca22f1..00000000 --- a/test/mapping-model/mappings/src/sensible-defaults.ts +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface SensibleDefaults { - numberDefault: number; - stringDefault: string; - booleanDefault: boolean; - stringLiteralDefault: 'Hey there!'; - booleanTrueLiteralDefault: true; - booleanFalseLiteralDefault: false; - - type: ThingType.SensibleDefaultType; -} - -export const sensibleDefaultsTest: MapAggTestOptions = { - name: ThingType.SensibleDefaultType, - map: { - maps: { - numberDefault: { - type: ElasticsearchDataType.integer - }, - stringDefault: { - type: ElasticsearchDataType.text - }, - booleanDefault: { - type: ElasticsearchDataType.boolean - }, - stringLiteralDefault: { - type: ElasticsearchDataType.keyword - }, - booleanTrueLiteralDefault: { - type: ElasticsearchDataType.boolean - }, - booleanFalseLiteralDefault: { - type: ElasticsearchDataType.boolean - } - } - } -}; diff --git a/test/mapping-model/mappings/src/sortable-tag.ts b/test/mapping-model/mappings/src/sortable-tag.ts deleted file mode 100644 index e6458020..00000000 --- a/test/mapping-model/mappings/src/sortable-tag.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface SortableTag { - /** - * @sortable - */ - foo: string; - - /** - * @sortable ducet - */ - bar: string; - - /** - * @sortable - */ - baz: number; - - type: ThingType.SortableTag -} - -export const sortableTagTest: MapAggTestOptions = { - name: ThingType.SortableTag, - map: { - maps: { - foo: { - type: ElasticsearchDataType.text, - fields: { - sort: { - analyzer: 'ducet_sort', - fielddata: true, - type: 'text' - } - } - }, - bar: { - type: ElasticsearchDataType.text, - fields: { - sort: { - analyzer: 'ducet_sort', - fielddata: true, - type: 'text' - } - } - }, - baz: { - type: ElasticsearchDataType.integer, - fields: { - sort: { - analyzer: 'ducet_sort', - fielddata: true, - type: 'text' - } - } - } - } - } -}; diff --git a/test/mapping-model/mappings/src/tags-ignore-case.ts b/test/mapping-model/mappings/src/tags-ignore-case.ts deleted file mode 100644 index e53590c5..00000000 --- a/test/mapping-model/mappings/src/tags-ignore-case.ts +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface TagsIgnoreCase { - /** - * @inheritTags inherit tags::bar.baz - */ - camelCase: number, - - /** - * @inherittags inherit tags::bar.baz - */ - lowerCase: number, - - bar: { - /** - * @float - */ - baz: number - } - - type: ThingType.TagsIgnoreCase; -} - -export const tagsIgnoreCaseTest: MapAggTestOptions = { - name: ThingType.TagsIgnoreCase, - map: { - maps: { - camelCase: { - type: ElasticsearchDataType.float - }, - lowerCase: { - type: ElasticsearchDataType.float - }, - bar: { - dynamic: 'strict', - properties: { - baz: { - type: ElasticsearchDataType.float - } - } - }, - } - } -}; diff --git a/test/mapping-model/mappings/src/type-alias.ts b/test/mapping-model/mappings/src/type-alias.ts deleted file mode 100644 index c19d5ce7..00000000 --- a/test/mapping-model/mappings/src/type-alias.ts +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface TypeAlias { - /** - * - */ - textProperty: ATextAlias, - - /** - * - */ - keywordProperty: AKeywordAlias, - - /** - * @keyword - */ - overriddenTextAsKeyword: ATextAlias - - type: ThingType.TypeAlias; -} - -/** - * @text - */ -type ATextAlias = string; - -/** - * @keyword - */ -type AKeywordAlias = string; - -export const typeAliasTest: MapAggTestOptions = { - name: ThingType.TypeAlias, - map: { - maps: { - textProperty: { - type: ElasticsearchDataType.text, - }, - keywordProperty: { - type: ElasticsearchDataType.keyword, - }, - overriddenTextAsKeyword: { - type: ElasticsearchDataType.keyword, - }, - } - } -}; diff --git a/test/mapping-model/mappings/src/type-overrides.ts b/test/mapping-model/mappings/src/type-overrides.ts deleted file mode 100644 index 945faab3..00000000 --- a/test/mapping-model/mappings/src/type-overrides.ts +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2021 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -export interface SCISO8601DateRange { - bar: string; -} - -/** - * @indexable - */ -export interface TypeOverrides { - foo: SCISO8601DateRange; - - type: ThingType.TypeOverrides -} - -export const typeOverridesTest: MapAggTestOptions = { - name: ThingType.TypeOverrides, - map: { - maps: { - foo: { - type: ElasticsearchDataType.date_range, - }, - } - } -}; diff --git a/test/mapping-model/mappings/src/type-query.ts b/test/mapping-model/mappings/src/type-query.ts deleted file mode 100644 index f3d77621..00000000 --- a/test/mapping-model/mappings/src/type-query.ts +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface TypeQuery { - foo: typeof Bar; - - type: ThingType.TypeQuery; -} - -enum Bar { - 'a', - 'b', - 'c' -} - -export const typeQueryTest: MapAggTestOptions = { - name: ThingType.TypeQuery, - map: { - maps: { - foo: { - type: ElasticsearchDataType.text - } - } - } -}; diff --git a/test/mapping-model/mappings/src/type-wrapper-inheritance.ts b/test/mapping-model/mappings/src/type-wrapper-inheritance.ts deleted file mode 100644 index d2146dcf..00000000 --- a/test/mapping-model/mappings/src/type-wrapper-inheritance.ts +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (C) 2020 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -import {ThingType} from './types'; -import {MapAggTestOptions} from '../../MapAggTestOptions'; -import {ElasticsearchDataType} from '../../../../src/mappings/definitions/typemap'; - -/** - * @indexable - */ -export interface TypeWrapperInheritance { - /** - * @float - */ - numberWrapper: NumberWrapper; - - /** - * @keyword - */ - stringWrapper: StringWrapper; - - /** - * @text - */ - stringLiteralWrapper: StringLiteralWrapper; - - type: ThingType.TypeWrapperInheritance -} - -type NumberWrapper = number; -type StringWrapper = string; -type StringLiteralWrapper = 'foo'; - -export const typeWrapperInheritanceTest: MapAggTestOptions = { - name: ThingType.TypeWrapperInheritance, - map: { - maps: { - foo: { - dynamic: 'strict', - properties: { - numberWrapper: { - type: ElasticsearchDataType.float - }, - stringWrapper: { - type: ElasticsearchDataType.keyword - }, - stringLiteralWrapper: { - type: ElasticsearchDataType.text - } - } - } - } - } -}; diff --git a/test/mapping-model/mappings/src/types.ts b/test/mapping-model/mappings/src/types.ts deleted file mode 100644 index 514e141b..00000000 --- a/test/mapping-model/mappings/src/types.ts +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2020-2021 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -export enum ThingType { - MapExplicitTypes = 'map explicit types', - DoubleTypeConflict = 'double type conflict', - IncompatibleType = 'incompatible type', - SensibleDefaultType = 'sensible default', - InvalidTag = 'invalid tag', - MissingPremap = 'missing premap', - DefaultGeneric = 'default generic', - Generics = 'generics', - Nested = 'nested', - IndexSignature = 'index signature', - ImpossibleUnion = 'impossible union', - TypeQuery = 'type query', - ObjectUnion = 'object union', - TypeWrapperInheritance = 'type wrapper inheritance', - SortableTag = 'sortable tag', - Enum = 'enum', - InheritedProperty = 'inherited property', - PairedTags = 'paired tags', - FilterableTag = 'filterable tag', - AnyUnknown = 'any unknown', - Date = 'date', - InheritTags = 'inherit tags', - TagsIgnoreCase = 'tags ignore case', - TypeAlias = 'type alias', - TypeOverrides = 'type overrides', -} diff --git a/test/mapping-model/mappings/tsconfig.json b/test/mapping-model/mappings/tsconfig.json deleted file mode 100644 index c7a33719..00000000 --- a/test/mapping-model/mappings/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../../node_modules/@openstapps/configuration/tsconfig.json" -} diff --git a/test/mapping.spec.ts b/test/mapping.spec.ts deleted file mode 100644 index 9e5994b1..00000000 --- a/test/mapping.spec.ts +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Copyright (C) 2020-2021 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ -import {Logger} from '@openstapps/logger'; -import {slow, suite, test, timeout} from '@testdeck/mocha'; -import {MapAggTest} from './mapping-model/MapAggTest'; -import {inheritTagsTest} from './mapping-model/mappings/src/inherit-tags'; -import {mapExplicitTypesTest} from './mapping-model/mappings/src/map-explicit-types'; -import {doubleTypeConflictTest} from './mapping-model/mappings/src/double-type-conflict'; -import {incompatibleTypeTest} from './mapping-model/mappings/src/incompatible-type'; -import {sensibleDefaultsTest} from './mapping-model/mappings/src/sensible-defaults'; -import {invalidTagTest} from './mapping-model/mappings/src/invalid-tag'; -import {missingPremapTest} from './mapping-model/mappings/src/missing-premap'; -import {defaultGenericTest} from './mapping-model/mappings/src/default-generics'; -import {genericTest} from './mapping-model/mappings/src/generics'; -import {nestedTest} from './mapping-model/mappings/src/nested'; -import {indexSignatureTest} from './mapping-model/mappings/src/index-signature'; -import {impossibleUnionTest} from './mapping-model/mappings/src/impossible-union'; -import {objectUnionTest} from './mapping-model/mappings/src/object-union'; -import {sortableTagTest} from './mapping-model/mappings/src/sortable-tag'; -import {enumTest} from './mapping-model/mappings/src/enum'; -import {inheritedPropertyTest} from './mapping-model/mappings/src/inherited-property'; -import {pairedTagsTest} from './mapping-model/mappings/src/paired-tags'; -import {filterableTagTest} from './mapping-model/mappings/src/filterable-tag'; -import {anyUnknownTest} from './mapping-model/mappings/src/any-unknown'; -import {tagsIgnoreCaseTest} from './mapping-model/mappings/src/tags-ignore-case'; -import {typeAliasTest} from './mapping-model/mappings/src/type-alias'; -import {dateAndRangeTest} from './mapping-model/mappings/src/date'; -import {typeOverridesTest} from './mapping-model/mappings/src/type-overrides'; - -process.on('unhandledRejection', (error: unknown) => { - if (error instanceof Error) { - void Logger.error('UNHANDLED REJECTION', error.stack); - } - process.exit(1); -}); - -const magAppInstance = new MapAggTest('mappings'); - -@suite(timeout(20000), slow(10000)) -export class MappingSpec { - @test - async 'Any or unknown should create a dynamic field'() { - magAppInstance.testInterfaceAgainstPath(anyUnknownTest); - } - - @test - async 'Filterable tag should add raw field to strings'() { - magAppInstance.testInterfaceAgainstPath(filterableTagTest); - } - - @test - async 'Tags should be able to be paired'() { - magAppInstance.testInterfaceAgainstPath(pairedTagsTest); - } - - @test - async 'Inherited properties should inherit tags'() { - magAppInstance.testInterfaceAgainstPath(inheritedPropertyTest); - } - - @test - async 'Tags should ignore case'() { - magAppInstance.testInterfaceAgainstPath(tagsIgnoreCaseTest); - } - - @test - async 'Emums should work'() { - // Known issue: Enums only use text - // https://gitlab.com/openstapps/core-tools/-/issues/46 - magAppInstance.testInterfaceAgainstPath(enumTest); - } - - @test - async 'Sortable tag should work'() { - magAppInstance.testInterfaceAgainstPath(sortableTagTest); - } - - /* - https://gitlab.com/openstapps/core-tools/-/merge_requests/29 - @test - async 'Wrapper types should inherit tags'() { - this.testInterfaceAgainstPath(typeWrapperInheritanceTest); - }*/ - - @test - async 'Inherit tags tag should work'() { - magAppInstance.testInterfaceAgainstPath(inheritTagsTest); - } - - @test - async 'Object union types should work'() { - magAppInstance.testInterfaceAgainstPath(objectUnionTest); - } - - /* - https://gitlab.com/openstapps/core-tools/-/issues/47 - @test - async 'Type queries should work'() { - magAppInstance.testInterfaceAgainstPath(typeQueryTest); - }*/ - - @test - async 'Type alias annotations should work'(){ - magAppInstance.testInterfaceAgainstPath(typeAliasTest); - } - - @test - async 'Impossible union should cause an error'() { - magAppInstance.testInterfaceAgainstPath(impossibleUnionTest); - } - - @test - async 'Index Signatures should work'() { - magAppInstance.testInterfaceAgainstPath(indexSignatureTest); - } - - @test - async 'Nested properties should work'() { - magAppInstance.testInterfaceAgainstPath(nestedTest); - } - - @test - async 'Generics should work'() { - magAppInstance.testInterfaceAgainstPath(genericTest); - } - - @test - async 'Missing premap should cause an error'() { - magAppInstance.testInterfaceAgainstPath(missingPremapTest); - } - - @test - async 'Default generics should fail (if they don\'t that\'s actually brilliant)'() { - magAppInstance.testInterfaceAgainstPath(defaultGenericTest); - } - - @test - async 'Explicit type annotations should work'() { - magAppInstance.testInterfaceAgainstPath(mapExplicitTypesTest); - } - - @test - async 'Double type annotations should cause an error'() { - magAppInstance.testInterfaceAgainstPath(doubleTypeConflictTest); - } - - @test - async 'Incompatible type annotations should cause an error and use defaults'() { - magAppInstance.testInterfaceAgainstPath(incompatibleTypeTest); - } - - @test - async 'Primitive types should have sensible defaults'() { - magAppInstance.testInterfaceAgainstPath(sensibleDefaultsTest); - } - - @test - async 'Invalid tags should cause an error'() { - magAppInstance.testInterfaceAgainstPath(invalidTagTest); - } - - @test - async 'Dates and date ranges should have the correct type'() { - magAppInstance.testInterfaceAgainstPath(dateAndRangeTest); - } - - @test - async 'Premaps should support non-external types'() { - magAppInstance.testInterfaceAgainstPath(typeOverridesTest); - } -} diff --git a/test/model/generated-model.ts b/test/model/generated-model.ts deleted file mode 100644 index 7f2a5ae3..00000000 --- a/test/model/generated-model.ts +++ /dev/null @@ -1,492 +0,0 @@ -/* - * Copyright (C) 2019 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ -import {LightweightClassDefinition} from '../../src/uml/model/lightweight-class-definition'; -import {LightweightDefinition} from '../../src/uml/model/lightweight-definition'; -import {LightweightEnumDefinition} from '../../src/uml/model/lightweight-enum-definition'; - -export const generatedModel: Array = [ - { - name: 'TestClass', - type: 'class', - properties: [ - { - name: 'test2', - optional: false, - inherited: false, - type: { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: false, - isReference: false, - isReflection: false, - isTyped: false, - isTypeParameter: true, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'T', - }, - }, - { - name: 'test4', - optional: false, - inherited: false, - type: { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: false, - isReference: true, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'TestFirstUnion', - }, - }, - ], - extendedDefinitions: [], - implementedDefinitions: [], - typeParameters: ['T'], - }, - { - name: 'TestSecondClass', - type: 'class', - properties: [ - { - name: 'test2', - optional: false, - inherited: true, - type: { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: true, - isReference: false, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'string', - }, - }, - { - name: 'test4', - optional: false, - inherited: true, - type: { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: false, - isReference: true, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'TestFirstUnion', - }, - }, - ], - extendedDefinitions: ['TestClass'], - implementedDefinitions: [], - typeParameters: [], - }, - { - name: 'TestFirstEnum', - values: ['TEST1', 'TEST2', 'TEST3'], - }, - { - name: 'TestSecondEnum', - values: ['TEST1 = "one"', 'TEST2 = "two"', 'TEST3 = "three"'], - }, - { - name: 'TestInterface', - type: 'interface', - properties: [ - { - name: 'articleBody', - optional: false, - inherited: false, - type: { - hasTypeInformation: false, - isArray: true, - isLiteral: false, - isPrimitive: false, - isReference: false, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [ - { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: true, - isReference: false, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'string', - }, - ], - genericsTypes: [], - name: 'string', - }, - }, - { - name: 'categorySpecificValues', - optional: true, - inherited: false, - type: { - hasTypeInformation: false, - isArray: false, - isLiteral: false, - isPrimitive: false, - isReference: false, - isReflection: true, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'object', - }, - }, - { - name: 'inputType', - optional: false, - inherited: false, - type: { - hasTypeInformation: true, - isArray: false, - isLiteral: true, - isPrimitive: false, - isReference: false, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'multipleChoice', - }, - }, - { - name: 'maintainer', - optional: false, - inherited: false, - type: { - hasTypeInformation: false, - isArray: false, - isLiteral: false, - isPrimitive: false, - isReference: false, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: true, - specificationTypes: [ - { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: false, - isReference: true, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'TestThirdUnion', - }, - { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: false, - isReference: true, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'TestFirstEnum', - }, - ], - genericsTypes: [], - name: '', - }, - }, - { - name: 'remainingAttendeeCapacity', - optional: true, - inherited: false, - type: { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: true, - isReference: false, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'number', - }, - }, - { - name: 'test1', - optional: false, - inherited: false, - type: { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: false, - isReference: false, - isReflection: false, - isTyped: true, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [ - { - hasTypeInformation: false, - isArray: false, - isLiteral: false, - isPrimitive: false, - isReference: false, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: true, - specificationTypes: [ - { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: false, - isReference: true, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'TestThirdUnion', - }, - { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: false, - isReference: true, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'TestFirstEnum', - }, - ], - genericsTypes: [], - name: '', - }, - ], - name: 'Array', - }, - }, - { - name: 'test2', - optional: false, - inherited: false, - type: { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: false, - isReference: true, - isReflection: false, - isTyped: true, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [ - { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: true, - isReference: false, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'string', - }, - ], - name: 'TestClass', - }, - }, - { - name: 'test3', - optional: false, - inherited: false, - type: { - hasTypeInformation: false, - isArray: false, - isLiteral: false, - isPrimitive: false, - isReference: false, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: true, - specificationTypes: [ - { - hasTypeInformation: true, - isArray: false, - isLiteral: true, - isPrimitive: false, - isReference: false, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'test1', - }, - { - hasTypeInformation: true, - isArray: false, - isLiteral: true, - isPrimitive: false, - isReference: false, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'test2', - }, - ], - genericsTypes: [], - name: '', - }, - }, - { - name: 'test4', - optional: false, - inherited: false, - type: { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: false, - isReference: true, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'TestSecondClass', - }, - }, - { - name: 'universityRole', - optional: false, - inherited: false, - type: { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: true, - isReference: false, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [ - { - hasTypeInformation: true, - isArray: false, - isLiteral: false, - isPrimitive: false, - isReference: true, - isReflection: false, - isTyped: false, - isTypeParameter: false, - isUnion: false, - specificationTypes: [], - genericsTypes: [], - name: 'TestFirstEnum', - }, - ], - genericsTypes: [], - name: 'keyof TestFirstEnum', - }, - }, - ], - extendedDefinitions: [], - implementedDefinitions: [], - typeParameters: [], - }, - { - name: 'TestSecondInterface', - type: 'interface', - properties: [], - extendedDefinitions: [], - implementedDefinitions: [], - typeParameters: [], - }, - { - name: 'TestFirstUnion', - values: ['test1', 'test2'], - }, - { - name: 'TestFourthUnion', - values: [], - }, - { - name: 'TestSecondUnion', - values: ['test3'], - }, - { - name: 'TestThirdUnion', - values: ['TestFirstUnion', 'TestSecondUnion'], - }, -]; diff --git a/test/model/test-class.ts b/test/model/src/test-class.ts similarity index 99% rename from test/model/test-class.ts rename to test/model/src/test-class.ts index 27a29f69..f659086c 100644 --- a/test/model/test-class.ts +++ b/test/model/src/test-class.ts @@ -16,6 +16,7 @@ import {TestFirstUnion} from './test-union'; export class TestClass { test2: T; + test4: TestFirstUnion; constructor(type: T) { diff --git a/test/model/test-enum.ts b/test/model/src/test-enum.ts similarity index 100% rename from test/model/test-enum.ts rename to test/model/src/test-enum.ts diff --git a/test/model/test-interface.ts b/test/model/src/test-interface.ts similarity index 95% rename from test/model/test-interface.ts rename to test/model/src/test-interface.ts index 2e3ad1c0..e0647bab 100644 --- a/test/model/test-interface.ts +++ b/test/model/src/test-interface.ts @@ -18,7 +18,7 @@ import {TestThirdUnion} from './test-union'; export interface TestInterface { articleBody: string[]; - categorySpecificValues?: { [s: string]: string }; + categorySpecificValues?: {[s: string]: string}; inputType: 'multipleChoice'; maintainer: TestThirdUnion | TestFirstEnum; remainingAttendeeCapacity?: number; diff --git a/test/model/test-union.ts b/test/model/src/test-union.ts similarity index 94% rename from test/model/test-union.ts rename to test/model/src/test-union.ts index 1adfa426..4fa5524c 100644 --- a/test/model/test-union.ts +++ b/test/model/src/test-union.ts @@ -19,6 +19,4 @@ export type TestSecondUnion = 'test3'; export type TestThirdUnion = TestFirstUnion | TestSecondUnion; -export type TestFourthUnion = T extends TestFirstUnion - ? TestFirstUnion - : never; +export type TestFourthUnion = T extends TestFirstUnion ? TestFirstUnion : never; diff --git a/test/model/tsconfig.json b/test/model/tsconfig.json new file mode 100644 index 00000000..4730a9d3 --- /dev/null +++ b/test/model/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../../node_modules/@openstapps/configuration/tsconfig.json", + "exclude": [] +} diff --git a/test/read-definitions.spec.ts b/test/read-definitions.spec.ts deleted file mode 100644 index f2263703..00000000 --- a/test/read-definitions.spec.ts +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (C) 2018-2019 StApps - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation, version 3. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ -import {expect} from 'chai'; -import {slow, suite, test, timeout} from '@testdeck/mocha'; -import {getProjectReflection} from '../src/common'; -import {readDefinitions} from '../src/uml/read-definitions'; -import {generatedModel} from './model/generated-model'; - -@suite(timeout(10000), slow(5000)) -export class ReadDefinitionsSpec { - @test - async testReadDefinitions() { - const projectReflection = getProjectReflection('./test/model', true); - const definitions = readDefinitions(projectReflection); - expect(definitions).to.be.deep.equal(generatedModel); - } -} diff --git a/test/schema.spec.ts b/test/schema.spec.ts index f6c8328d..91624fdf 100644 --- a/test/schema.spec.ts +++ b/test/schema.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/prefer-module */ /* * Copyright (C) 2018-2019 StApps * This program is free software: you can redistribute it and/or modify it @@ -15,21 +16,21 @@ import {Logger} from '@openstapps/logger'; import {expect} from 'chai'; import {slow, suite, test, timeout} from '@testdeck/mocha'; -import {join} from 'path'; -import {Converter, getValidatableTypesFromReflection} from '../src/schema'; +import {Converter} from '../src/schema'; +import path from 'path'; process.on('unhandledRejection', (error: unknown) => { if (error instanceof Error) { - Logger.error('UNHANDLED REJECTION', error.stack); + void Logger.error('UNHANDLED REJECTION', error.stack); } process.exit(1); }); -@suite(timeout(40000), slow(10000)) +@suite(timeout(40_000), slow(10_000)) export class SchemaSpec { @test async getSchema() { - const converter = new Converter(join(__dirname, '..', 'src', 'resources')); + const converter = new Converter(path.join(__dirname, '..', 'src', 'resources')); const schema = converter.getSchema('Foo', '0.0.1'); expect(schema).to.be.deep.equal({ @@ -38,21 +39,18 @@ export class SchemaSpec { additionalProperties: false, definitions: { FooType: { - description: 'This is a simple type declaration for\nusage in the Foo interace.', - enum: [ - 'Foo', - ], - type: 'string', - }, + description: 'This is a simple type declaration for usage in the Foo interface.', + const: 'Foo', + type: 'string', + }, SCFoo: { additionalProperties: false, - description: 'This is a simple interface declaration for\ntesting the schema generation and validation.', + description: + 'This is a simple interface declaration for testing the schema generation and validation.', properties: { lorem: { description: 'Dummy parameter', - enum: [ - 'ipsum', - ], + enum: ['lorem', 'ipsum'], type: 'string', }, type: { @@ -60,20 +58,15 @@ export class SchemaSpec { description: 'String literal type property', }, }, - required: [ - 'lorem', - 'type', - ], + required: ['lorem', 'type'], type: 'object', }, }, - description: 'This is a simple interface declaration for\ntesting the schema generation and validation.', + description: 'This is a simple interface declaration for testing the schema generation and validation.', properties: { lorem: { description: 'Dummy parameter', - enum: [ - 'ipsum', - ], + enum: ['lorem', 'ipsum'], type: 'string', }, type: { @@ -81,47 +74,8 @@ export class SchemaSpec { description: 'String literal type property', }, }, - required: [ - 'lorem', - 'type', - ], + required: ['lorem', 'type'], type: 'object', }); } - - @test - async getValidatableTypesFromReflection() { - const reflection: any = { - children: [ - { - children: [ - { - comment: { - tags: [ - { - tagName: 'validatable', - }, - ], - }, - name: 'foo', - }, - { - name: 'bar', - }, - ], - }, - { - children: [ - { - name: 'foobar', - }, - ], - }, - ], - }; - - const validatableTypes = getValidatableTypesFromReflection(reflection as any); - - expect(validatableTypes).to.be.deep.equal(['foo']); - } } diff --git a/test/validate.spec.ts b/test/validate.spec.ts index ca9ea0bd..dc9cae32 100644 --- a/test/validate.spec.ts +++ b/test/validate.spec.ts @@ -1,3 +1,4 @@ +/* eslint-disable unicorn/prefer-module */ /* * Copyright (C) 2019 StApps * This program is free software: you can redistribute it and/or modify it @@ -17,37 +18,38 @@ import {expect} from 'chai'; import {existsSync, mkdirSync, writeFileSync} from 'fs'; import {JSONSchema7 as Schema} from 'json-schema'; import {slow, suite, test, timeout} from '@testdeck/mocha'; -import {join} from 'path'; import rimraf from 'rimraf'; import {Foo} from '../src/resources/foo'; import {Converter} from '../src/schema'; import {Validator} from '../src/validate'; +import path from 'path'; -process.on('unhandledRejection', (err: unknown) => { - if (err instanceof Error) { - Logger.error('UNHANDLED REJECTION', err.stack); +process.on('unhandledRejection', (error: unknown) => { + if (error instanceof Error) { + void Logger.error('UNHANDLED REJECTION', error.stack); } process.exit(1); }); -const tmpdir = join(__dirname, 'tmp'); +const tmpdir = path.join(__dirname, 'tmp'); const fooInstance: Foo = { lorem: 'ipsum', type: 'Foo', }; -@suite(timeout(40000), slow(5000)) -export class SchemaSpec { +@suite(timeout(40_000), slow(5000)) +export class ValidateSpec { static converter: Converter; + static schema: Schema; static before() { - this.converter = new Converter(join(__dirname, '..', 'src', 'resources')); + this.converter = new Converter(path.join(__dirname, '..', 'src', 'resources')); this.schema = this.converter.getSchema('Foo', '0.0.1'); if (!existsSync(tmpdir)) { mkdirSync(tmpdir); } - writeFileSync(join(tmpdir, 'SCFoo.json'), JSON.stringify(this.schema, null, 2)); + writeFileSync(path.join(tmpdir, 'SCFoo.json'), JSON.stringify(this.schema, undefined, 2)); } static after() { @@ -58,20 +60,20 @@ export class SchemaSpec { } @test - async validateBySchemaIdentifingString() { + async validateBySchemaIdentifyingString() { const validator = new Validator(); await validator.addSchemas(tmpdir); const validationResult = validator.validate(fooInstance, 'SCFoo'); // tslint:disable-next-line: no-unused-expression - expect(validationResult.errors, JSON.stringify(validationResult.errors, null, 2)).to.be.empty; + expect(validationResult.errors, JSON.stringify(validationResult.errors, undefined, 2)).to.be.empty; } @test async validateBySchemaInstance() { const validator = new Validator(); - const validationResult = validator.validate(fooInstance, SchemaSpec.schema); + const validationResult = validator.validate(fooInstance, ValidateSpec.schema); // tslint:disable-next-line: no-unused-expression - expect(validationResult.errors, JSON.stringify(validationResult.errors, null, 2)).to.be.empty; + expect(validationResult.errors, JSON.stringify(validationResult.errors, undefined, 2)).to.be.empty; } @test @@ -80,6 +82,6 @@ export class SchemaSpec { await validator.addSchemas(tmpdir); const validationResult = validator.validate(fooInstance); // tslint:disable-next-line: no-unused-expression - expect(validationResult.errors, JSON.stringify(validationResult.errors, null, 2)).to.be.empty; + expect(validationResult.errors, JSON.stringify(validationResult.errors, undefined, 2)).to.be.empty; } } diff --git a/tsconfig.json b/tsconfig.json index 066a5f38..bf9b151f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,3 +1,7 @@ { - "extends": "./node_modules/@openstapps/configuration/tsconfig.json" + "extends": "./node_modules/@openstapps/configuration/tsconfig.json", + "compilerOptions": { + "noUnusedLocals": false, + "stripInternal": true + } } diff --git a/tslint.json b/tslint.json deleted file mode 100644 index f125abb0..00000000 --- a/tslint.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./node_modules/@openstapps/configuration/tslint.json" -} From 074cc061f560c0f3cb9a3cfb7db9e01b57d85891 Mon Sep 17 00:00:00 2001 From: Wieland Schoebl Date: Wed, 25 Aug 2021 12:05:36 +0200 Subject: [PATCH 158/215] 0.24.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8c22ae29..0417c1ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.23.2", + "version": "0.24.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index a3fddbe8..607f0502 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.23.2", + "version": "0.24.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 7238c2f3334ad1a1efe4109fc4a55fba0555aef0 Mon Sep 17 00:00:00 2001 From: Wieland Schoebl Date: Wed, 25 Aug 2021 12:05:42 +0200 Subject: [PATCH 159/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c0171cda..877216e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [0.24.0](https://gitlab.com/openstapps/core-tools/compare/v0.23.2...v0.24.0) (2021-08-25) + + +### Features + +* modernize core-tools ([fe59204](https://gitlab.com/openstapps/core-tools/commit/fe59204b4210831b15445fa9aa7dbc20de75e96d)) + + + ## [0.23.2](https://gitlab.com/openstapps/core-tools/compare/v0.23.0...v0.23.2) (2021-08-02) From c5a8f7ebea8d80887706477ad99ad9c899ad4770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Wed, 25 Aug 2021 10:25:34 +0000 Subject: [PATCH 160/215] test: improve easy-ast test performance --- test/easy-ast.spec.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/test/easy-ast.spec.ts b/test/easy-ast.spec.ts index 345f5453..26a43468 100644 --- a/test/easy-ast.spec.ts +++ b/test/easy-ast.spec.ts @@ -19,16 +19,15 @@ import {expect} from 'chai'; import {omitBy} from 'lodash'; describe('Easy AST', async () => { + const project = lightweightProjectFromPath('./test/easy-ast', true); for (const file of expandPathToFilesSync('./test/easy-ast', file => file.endsWith('ast-test.ts'))) { try { const test = (await import(file))['testConfig'] as EasyAstSpecType; it(test.testName, () => { - const project = omitBy(lightweightProjectFromPath(file, true)[toUnixPath(file)], (_value, key) => - key.startsWith('$'), + expect(omitBy(project[toUnixPath(file)], (_value, key) => key.startsWith('$'))).to.be.deep.equal( + test.expected, ); - - expect(project).to.be.deep.equal(test.expected); }); } catch (error) { console.error(error); From 23cdf29fc574086d0ec42e2ebed1e4c1c034147d Mon Sep 17 00:00:00 2001 From: Wieland Schoebl Date: Wed, 25 Aug 2021 12:36:31 +0200 Subject: [PATCH 161/215] 0.24.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0417c1ad..6a0a3933 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.24.0", + "version": "0.24.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 607f0502..61b459f7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.24.0", + "version": "0.24.1", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 20f68ed581311b4f98895a013ef5cfad1569869d Mon Sep 17 00:00:00 2001 From: Wieland Schoebl Date: Wed, 25 Aug 2021 12:36:36 +0200 Subject: [PATCH 162/215] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 877216e6..6592c908 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [0.24.1](https://gitlab.com/openstapps/core-tools/compare/v0.24.0...v0.24.1) (2021-08-25) + + + # [0.24.0](https://gitlab.com/openstapps/core-tools/compare/v0.23.2...v0.24.0) (2021-08-25) From aa0ba51a34af3d422a5eabc51fbd13cdf01dc45a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Wed, 25 Aug 2021 13:16:21 +0200 Subject: [PATCH 163/215] refactor: rename `.d.ts` files to `.ts` --- ...ht-alias-definition.d.ts => lightweight-alias-definition.ts} | 0 ...ht-class-definition.d.ts => lightweight-class-definition.ts} | 0 .../types/{lightweight-comment.d.ts => lightweight-comment.ts} | 0 .../{lightweight-definition.d.ts => lightweight-definition.ts} | 0 .../{lightweight-property.d.ts => lightweight-property.ts} | 0 .../types/{lightweight-type.d.ts => lightweight-type.ts} | 0 src/types/{pack.d.ts => pack.ts} | 0 src/types/{routes.d.ts => routes.ts} | 0 src/types/{schema.d.ts => schema.ts} | 2 +- src/types/{validator.d.ts => validator.ts} | 0 src/uml/{uml-config.d.ts => uml-config.ts} | 0 .../easy-ast/{easy-ast-spec-type.d.ts => easy-ast-spec-type.ts} | 2 +- 12 files changed, 2 insertions(+), 2 deletions(-) rename src/easy-ast/types/{lightweight-alias-definition.d.ts => lightweight-alias-definition.ts} (100%) rename src/easy-ast/types/{lightweight-class-definition.d.ts => lightweight-class-definition.ts} (100%) rename src/easy-ast/types/{lightweight-comment.d.ts => lightweight-comment.ts} (100%) rename src/easy-ast/types/{lightweight-definition.d.ts => lightweight-definition.ts} (100%) rename src/easy-ast/types/{lightweight-property.d.ts => lightweight-property.ts} (100%) rename src/easy-ast/types/{lightweight-type.d.ts => lightweight-type.ts} (100%) rename src/types/{pack.d.ts => pack.ts} (100%) rename src/types/{routes.d.ts => routes.ts} (100%) rename src/types/{schema.d.ts => schema.ts} (93%) rename src/types/{validator.d.ts => validator.ts} (100%) rename src/uml/{uml-config.d.ts => uml-config.ts} (100%) rename test/easy-ast/{easy-ast-spec-type.d.ts => easy-ast-spec-type.ts} (95%) diff --git a/src/easy-ast/types/lightweight-alias-definition.d.ts b/src/easy-ast/types/lightweight-alias-definition.ts similarity index 100% rename from src/easy-ast/types/lightweight-alias-definition.d.ts rename to src/easy-ast/types/lightweight-alias-definition.ts diff --git a/src/easy-ast/types/lightweight-class-definition.d.ts b/src/easy-ast/types/lightweight-class-definition.ts similarity index 100% rename from src/easy-ast/types/lightweight-class-definition.d.ts rename to src/easy-ast/types/lightweight-class-definition.ts diff --git a/src/easy-ast/types/lightweight-comment.d.ts b/src/easy-ast/types/lightweight-comment.ts similarity index 100% rename from src/easy-ast/types/lightweight-comment.d.ts rename to src/easy-ast/types/lightweight-comment.ts diff --git a/src/easy-ast/types/lightweight-definition.d.ts b/src/easy-ast/types/lightweight-definition.ts similarity index 100% rename from src/easy-ast/types/lightweight-definition.d.ts rename to src/easy-ast/types/lightweight-definition.ts diff --git a/src/easy-ast/types/lightweight-property.d.ts b/src/easy-ast/types/lightweight-property.ts similarity index 100% rename from src/easy-ast/types/lightweight-property.d.ts rename to src/easy-ast/types/lightweight-property.ts diff --git a/src/easy-ast/types/lightweight-type.d.ts b/src/easy-ast/types/lightweight-type.ts similarity index 100% rename from src/easy-ast/types/lightweight-type.d.ts rename to src/easy-ast/types/lightweight-type.ts diff --git a/src/types/pack.d.ts b/src/types/pack.ts similarity index 100% rename from src/types/pack.d.ts rename to src/types/pack.ts diff --git a/src/types/routes.d.ts b/src/types/routes.ts similarity index 100% rename from src/types/routes.d.ts rename to src/types/routes.ts diff --git a/src/types/schema.d.ts b/src/types/schema.ts similarity index 93% rename from src/types/schema.d.ts rename to src/types/schema.ts index 1e08337e..d9099fe2 100644 --- a/src/types/schema.d.ts +++ b/src/types/schema.ts @@ -18,7 +18,7 @@ import {Definition} from 'ts-json-schema-generator'; /** * A schema with definitions */ -interface SchemaWithDefinitions extends JSONSchema { +export interface SchemaWithDefinitions extends JSONSchema { /** * Definitions of the schema */ diff --git a/src/types/validator.d.ts b/src/types/validator.ts similarity index 100% rename from src/types/validator.d.ts rename to src/types/validator.ts diff --git a/src/uml/uml-config.d.ts b/src/uml/uml-config.ts similarity index 100% rename from src/uml/uml-config.d.ts rename to src/uml/uml-config.ts diff --git a/test/easy-ast/easy-ast-spec-type.d.ts b/test/easy-ast/easy-ast-spec-type.ts similarity index 95% rename from test/easy-ast/easy-ast-spec-type.d.ts rename to test/easy-ast/easy-ast-spec-type.ts index 80e5628c..915488be 100644 --- a/test/easy-ast/easy-ast-spec-type.d.ts +++ b/test/easy-ast/easy-ast-spec-type.ts @@ -14,7 +14,7 @@ */ import {LightweightFile} from '../../src/easy-ast/types/lightweight-project'; -interface EasyAstSpecType { +export interface EasyAstSpecType { testName: string; expected: LightweightFile; } From 96bb8bbff3b1d3d4e89a79a0348110c3589e1fbe Mon Sep 17 00:00:00 2001 From: Wieland Schoebl Date: Wed, 25 Aug 2021 15:08:28 +0200 Subject: [PATCH 164/215] 0.24.2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6a0a3933..a2d262cd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.24.1", + "version": "0.24.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 61b459f7..859a7c35 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.24.1", + "version": "0.24.2", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 3fd23689c1a924f7a75576d62d626b6d636e1d2f Mon Sep 17 00:00:00 2001 From: Wieland Schoebl Date: Wed, 25 Aug 2021 15:08:33 +0200 Subject: [PATCH 165/215] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6592c908..b89c1986 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [0.24.2](https://gitlab.com/openstapps/core-tools/compare/v0.24.1...v0.24.2) (2021-08-25) + + + ## [0.24.1](https://gitlab.com/openstapps/core-tools/compare/v0.24.0...v0.24.1) (2021-08-25) From f82b4652637808abf68f1e72b1de0c76b228457a Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Fri, 27 Aug 2021 13:49:01 +0200 Subject: [PATCH 166/215] fix: add cruical Converter ceation option --- src/schema.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/schema.ts b/src/schema.ts index 32ca8ba7..28b39795 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -45,11 +45,13 @@ export class Converter { * Create a new converter * * @param projectPath Path to the project + * @param sourcePath Path to optionally point to a different directory of / or single source file */ - constructor(projectPath: string) { + constructor(projectPath: string, sourcePath?: string) { // set config for schema generator const config: Config = { ...DEFAULT_CONFIG, + path: sourcePath, sortProps: true, topRef: false, tsconfig: path.join(getTsconfigPath(projectPath), 'tsconfig.json'), From 2f9e1353a78f96a11a21d71417cf8fe62f0c4208 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Fri, 27 Aug 2021 13:49:38 +0200 Subject: [PATCH 167/215] 0.24.3 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index a2d262cd..a781cce6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.24.2", + "version": "0.24.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 859a7c35..4ba64f74 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.24.2", + "version": "0.24.3", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 32fc24f9866d73331167c01ca30bc4a32765fdd4 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Fri, 27 Aug 2021 13:49:40 +0200 Subject: [PATCH 168/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b89c1986..9453c470 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## [0.24.3](https://gitlab.com/openstapps/core-tools/compare/v0.24.2...v0.24.3) (2021-08-27) + + +### Bug Fixes + +* add cruical Converter ceation option ([f82b465](https://gitlab.com/openstapps/core-tools/commit/f82b4652637808abf68f1e72b1de0c76b228457a)) + + + ## [0.24.2](https://gitlab.com/openstapps/core-tools/compare/v0.24.1...v0.24.2) (2021-08-25) From 96e3acf9ba330c3414eb1e38b347ca9e597fee88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wieland=20Sch=C3=B6bl?= Date: Mon, 30 Aug 2021 15:23:19 +0200 Subject: [PATCH 169/215] fix: generate schemas for type aliases --- src/schema.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/schema.ts b/src/schema.ts index 28b39795..f96fd1de 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -14,13 +14,13 @@ */ import Ajv from 'ajv'; import {JSONSchema7 as JSONSchema} from 'json-schema'; -import {filter} from 'lodash'; +import {chain} from 'lodash'; import {Config, DEFAULT_CONFIG, Definition, SchemaGenerator} from 'ts-json-schema-generator'; import {createFormatter} from 'ts-json-schema-generator/dist/factory/formatter'; import {createParser} from 'ts-json-schema-generator/dist/factory/parser'; import {createProgram} from 'ts-json-schema-generator/dist/factory/program'; import {getTsconfigPath} from './common'; -import {definitionsOf, isLightweightClass} from './easy-ast/ast-util'; +import {definitionsOf} from './easy-ast/ast-util'; import {lightweightProjectFromPath} from './easy-ast/easy-ast'; import {isSchemaWithDefinitions} from './util/guards'; import path from 'path'; @@ -113,7 +113,8 @@ export class Converter { * Get a list of validatable types from an API extractor file */ export function getValidatableTypesInPath(path: string): string[] { - return filter(definitionsOf(lightweightProjectFromPath(path)), isLightweightClass) - .filter(type => type.comment?.tags?.find(it => it.name === 'validatable')) - .map(type => type.name); + return chain(definitionsOf(lightweightProjectFromPath(path))) + .filter(type => !!type.comment?.tags?.find(it => it.name === 'validatable')) + .map(type => type.name) + .value(); } From cb43171640b4989e052543e56b4e52095b749c73 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 30 Aug 2021 10:01:00 +0200 Subject: [PATCH 170/215] docs: reintroduce typedoc documentation --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 4ba64f74..bfd69d83 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md && git commit -m 'docs: update changelog'", "check-configuration": "openstapps-configuration", "compile": "rimraf lib && tsc && prepend lib/cli.js '#!/usr/bin/env node\n'", - "documentation": "typedoc --includeDeclarations --mode modules --out docs --readme README.md --listInvalidSymbolLinks src", + "documentation": "typedoc --out docs --readme README.md --includeVersion --listInvalidSymbolLinks src", "plantuml-start": "docker run --name plantuml-server -d -p 8080:8080 registry.gitlab.com/openstapps/core-tools:latest", "plantuml-restart": "docker restart plantuml-server", "plantuml-stop": "docker stop plantuml-server", @@ -91,6 +91,6 @@ "nock": "13.1.1", "prepend-file-cli": "1.0.6", "prettier": "2.3.2", - "rimraf": "3.0.2" + "typedoc": "0.21.9" } } From fe90cd098af1f6f84608a4f5b1c87e7cacb862f5 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 30 Aug 2021 10:01:14 +0200 Subject: [PATCH 171/215] refactor: update dependencies --- package-lock.json | 791 ++++++++++++++++++------------------ package.json | 29 +- src/pack.ts | 2 +- src/schema.ts | 2 - test/create-diagram.spec.ts | 2 +- test/validate.spec.ts | 2 +- 6 files changed, 409 insertions(+), 419 deletions(-) diff --git a/package-lock.json b/package-lock.json index a781cce6..43554aba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -300,9 +300,9 @@ "dev": true }, "@babel/runtime": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.8.tgz", - "integrity": "sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg==", + "version": "7.15.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz", + "integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==", "requires": { "regenerator-runtime": "^0.13.4" } @@ -367,22 +367,14 @@ } }, "@es-joy/jsdoccomment": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.8.0.tgz", - "integrity": "sha512-Xd3GzYsL2sz2pcdtYt5Q0Wz1ol/o9Nt2UQL4nFPDcaEomvPmwjJsbjkKx1SKhl2h3TgwazNBLdcNr2m0UiGiFA==", + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.10.8.tgz", + "integrity": "sha512-3P1JiGL4xaR9PoTKUHa2N/LKwa2/eUdRqGwijMWWgBqbFEqJUVpmaOi2TcjcemrsRMgFLBzQCK4ToPhrSVDiFQ==", "dev": true, "requires": { - "comment-parser": "^1.1.5", + "comment-parser": "1.2.4", "esquery": "^1.4.0", - "jsdoc-type-pratt-parser": "1.0.4" - }, - "dependencies": { - "jsdoc-type-pratt-parser": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.0.4.tgz", - "integrity": "sha512-jzmW9gokeq9+bHPDR1nCeidMyFUikdZlbOhKzh9+/nJqB75XhpNKec1/UuxW5c4+O+Pi31Gc/dCboyfSm/pSpQ==", - "dev": true - } + "jsdoc-type-pratt-parser": "1.1.1" } }, "@eslint/eslintrc": { @@ -490,6 +482,15 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz", "integrity": "sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==", "dev": true + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, @@ -575,6 +576,13 @@ "@types/keyv": "*", "@types/node": "*", "@types/responselike": "*" + }, + "dependencies": { + "@types/node": { + "version": "16.7.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", + "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==" + } } }, "@types/chai": { @@ -618,6 +626,13 @@ "integrity": "sha512-/FvAK2p4jQOaJ6CGDHJTqZcUtbZe820qIeTg7o0Shg7drB4JHeL+V/dhSaly7NXx6u8eSee+r7coT+yuJEvDLg==", "requires": { "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "16.7.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", + "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==" + } } }, "@types/lodash": { @@ -639,9 +654,9 @@ "dev": true }, "@types/mocha": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz", - "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.0.0.tgz", + "integrity": "sha512-scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA==", "dev": true }, "@types/mustache": { @@ -651,9 +666,10 @@ "dev": true }, "@types/node": { - "version": "14.17.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.9.tgz", - "integrity": "sha512-CMjgRNsks27IDwI785YMY0KLt3co/c0cQ5foxHYv/shC2w8oOnVwz5Ubq1QG5KzrcW+AXk6gzdnxIkDnTvzu3g==" + "version": "14.17.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.12.tgz", + "integrity": "sha512-vhUqgjJR1qxwTWV5Ps5txuy2XMdf7Fw+OrdChRboy8BmWUPkckOhphaohzFG6b8DW7CrxaBMdrdJ47SYFq1okw==", + "dev": true }, "@types/nodemailer": { "version": "6.4.1", @@ -661,6 +677,13 @@ "integrity": "sha512-8081UY/0XTTDpuGqCnDc8IY+Q3DSg604wB3dBH0CaZlj4nZWHWuxtZ3NRZ9c9WUrz1Vfm6wioAUnqL3bsh49uQ==", "requires": { "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "16.7.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", + "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==" + } } }, "@types/normalize-package-data": { @@ -675,12 +698,19 @@ "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", "requires": { "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "16.7.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", + "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==" + } } }, "@types/rimraf": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-3.0.1.tgz", - "integrity": "sha512-CAoSlbco40aKZ0CkelBF2g3JeN6aioRaTVnqSX5pWsn/WApm6IDxI4e4tD9D0dY/meCkyyleP1IQDVN13F4maA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==", "dev": true, "requires": { "@types/glob": "*", @@ -703,18 +733,18 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.3.0.tgz", - "integrity": "sha512-RqEcaHuEKnn3oPFislZ6TNzsBLqpZjN93G69SS+laav/I8w/iGMuMq97P0D2/2/kW4SCebHggqhbcCfbDaaX+g==", + "version": "4.29.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz", + "integrity": "sha512-tBgfA3K/3TsZY46ROGvoRxQr1wBkclbVqRQep97MjVHJzcRBURRY3sNFqLk0/Xr//BY5hM9H2p/kp+6qim85SA==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "4.3.0", - "@typescript-eslint/scope-manager": "4.3.0", - "debug": "^4.1.1", + "@typescript-eslint/experimental-utils": "4.29.3", + "@typescript-eslint/scope-manager": "4.29.3", + "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" }, "dependencies": { "tsutils": { @@ -729,61 +759,71 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.3.0.tgz", - "integrity": "sha512-cmmIK8shn3mxmhpKfzMMywqiEheyfXLV/+yPDnOTvQX/ztngx7Lg/OD26J8gTZfkLKUmaEBxO2jYP3keV7h2OQ==", + "version": "4.29.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.3.tgz", + "integrity": "sha512-ffIvbytTVWz+3keg+Sy94FG1QeOvmV9dP2YSdLFHw/ieLXWCa3U1TYu8IRCOpMv2/SPS8XqhM1+ou1YHsdzKrg==", "dev": true, "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.3.0", - "@typescript-eslint/types": "4.3.0", - "@typescript-eslint/typescript-estree": "4.3.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.29.3", + "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/typescript-estree": "4.29.3", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "dependencies": { + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + } } }, "@typescript-eslint/parser": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.3.0.tgz", - "integrity": "sha512-JyfRnd72qRuUwItDZ00JNowsSlpQGeKfl9jxwO0FHK1qQ7FbYdoy5S7P+5wh1ISkT2QyAvr2pc9dAemDxzt75g==", + "version": "4.29.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.3.tgz", + "integrity": "sha512-jrHOV5g2u8ROghmspKoW7pN8T/qUzk0+DITun0MELptvngtMrwUJ1tv5zMI04CYVEUsSrN4jV7AKSv+I0y0EfQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.3.0", - "@typescript-eslint/types": "4.3.0", - "@typescript-eslint/typescript-estree": "4.3.0", - "debug": "^4.1.1" + "@typescript-eslint/scope-manager": "4.29.3", + "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/typescript-estree": "4.29.3", + "debug": "^4.3.1" } }, "@typescript-eslint/scope-manager": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.3.0.tgz", - "integrity": "sha512-cTeyP5SCNE8QBRfc+Lgh4Xpzje46kNUhXYfc3pQWmJif92sjrFuHT9hH4rtOkDTo/si9Klw53yIr+djqGZS1ig==", + "version": "4.29.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.3.tgz", + "integrity": "sha512-x+w8BLXO7iWPkG5mEy9bA1iFRnk36p/goVlYobVWHyDw69YmaH9q6eA+Fgl7kYHmFvWlebUTUfhtIg4zbbl8PA==", "dev": true, "requires": { - "@typescript-eslint/types": "4.3.0", - "@typescript-eslint/visitor-keys": "4.3.0" + "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/visitor-keys": "4.29.3" } }, "@typescript-eslint/types": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.3.0.tgz", - "integrity": "sha512-Cx9TpRvlRjOppGsU6Y6KcJnUDOelja2NNCX6AZwtVHRzaJkdytJWMuYiqi8mS35MRNA3cJSwDzXePfmhU6TANw==", + "version": "4.29.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.3.tgz", + "integrity": "sha512-s1eV1lKNgoIYLAl1JUba8NhULmf+jOmmeFO1G5MN/RBCyyzg4TIOfIOICVNC06lor+Xmy4FypIIhFiJXOknhIg==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.3.0.tgz", - "integrity": "sha512-ZAI7xjkl+oFdLV/COEz2tAbQbR3XfgqHEGy0rlUXzfGQic6EBCR4s2+WS3cmTPG69aaZckEucBoTxW9PhzHxxw==", + "version": "4.29.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.3.tgz", + "integrity": "sha512-45oQJA0bxna4O5TMwz55/TpgjX1YrAPOI/rb6kPgmdnemRZx/dB0rsx+Ku8jpDvqTxcE1C/qEbVHbS3h0hflag==", "dev": true, "requires": { - "@typescript-eslint/types": "4.3.0", - "@typescript-eslint/visitor-keys": "4.3.0", - "debug": "^4.1.1", - "globby": "^11.0.1", + "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/visitor-keys": "4.29.3", + "debug": "^4.3.1", + "globby": "^11.0.3", "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "semver": "^7.3.5", + "tsutils": "^3.21.0" }, "dependencies": { "tsutils": { @@ -798,12 +838,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.3.0.tgz", - "integrity": "sha512-xZxkuR7XLM6RhvLkgv9yYlTcBHnTULzfnw4i6+z2TGBLy9yljAypQaZl9c3zFvy7PNI7fYWyvKYtohyF8au3cw==", + "version": "4.29.3", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.3.tgz", + "integrity": "sha512-MGGfJvXT4asUTeVs0Q2m+sY63UsfnA+C/FDgBKV3itLBmM9H0u+URcneePtkd0at1YELmZK6HSolCqM4Fzs6yA==", "dev": true, "requires": { - "@typescript-eslint/types": "4.3.0", + "@typescript-eslint/types": "4.29.3", "eslint-visitor-keys": "^2.0.0" } }, @@ -870,10 +910,9 @@ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" }, "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" }, "ansi-styles": { "version": "4.3.0", @@ -1028,16 +1067,16 @@ "dev": true }, "browserslist": { - "version": "4.16.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz", - "integrity": "sha512-7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==", + "version": "4.16.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz", + "integrity": "sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001248", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.793", + "caniuse-lite": "^1.0.30001251", + "colorette": "^1.3.0", + "electron-to-chromium": "^1.3.811", "escalade": "^3.1.1", - "node-releases": "^1.1.73" + "node-releases": "^1.1.75" } }, "builtin-modules": { @@ -1096,9 +1135,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001249", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001249.tgz", - "integrity": "sha512-vcX4U8lwVXPdqzPWi6cAJ3FnQaqXbBqy/GZseKNQzRj37J7qZdGcBtxq/QLFNLLlfsoXLUdHw8Iwenri86Tagw==", + "version": "1.0.30001252", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001252.tgz", + "integrity": "sha512-I56jhWDGMtdILQORdusxBOH+Nl/KgQSdDmpJezYddnAkVOmnoU8zwjTV9xAjMIYxr0iPreEAVylCGcmHCjfaOw==", "dev": true }, "chai": { @@ -1173,40 +1212,6 @@ "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } } }, "clone-response": { @@ -1247,9 +1252,9 @@ "integrity": "sha512-mf45ldcuHSYShkplHHGKWb4TrmwQadxOn7v4WuhDJy0ZVoY5JFajaRDKD0PNe5qXzBX0rhovjTnP6Kz9LETcuA==" }, "comment-parser": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.1.5.tgz", - "integrity": "sha512-RePCE4leIhBlmrqiYTvaqEeGYg7qpSl4etaIabKtdOQVi+mSTIBBklGUwIr79GXYnl3LpMwmDw4KeR2stNc6FA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.2.4.tgz", + "integrity": "sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==", "dev": true }, "compare-func": { @@ -1480,9 +1485,9 @@ } }, "core-js": { - "version": "3.15.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.15.2.tgz", - "integrity": "sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==" + "version": "3.16.4", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.4.tgz", + "integrity": "sha512-Tq4GVE6XCjE+hcyW6hPy0ofN3hwtLudz5ZRdrlCnsnD/xkm/PWQRudzYHiKgZKUcefV6Q57fhDHjZHJP5dpfSg==" }, "core-util-is": { "version": "1.0.2", @@ -1518,18 +1523,11 @@ "dev": true }, "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", "requires": { "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } } }, "decamelize": { @@ -1631,13 +1629,11 @@ } }, "doctrine": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", - "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "requires": { - "esutils": "^1.1.6", - "isarray": "0.0.1" + "esutils": "^2.0.2" } }, "dot-prop": { @@ -1650,9 +1646,9 @@ } }, "electron-to-chromium": { - "version": "1.3.802", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.802.tgz", - "integrity": "sha512-dXB0SGSypfm3iEDxrb5n/IVKeX4uuTnFHdve7v+yKJqNpEP0D4mjFJ8e1znmSR+OOVlVC+kDO6f2kAkTFXvJBg==", + "version": "1.3.822", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.822.tgz", + "integrity": "sha512-k7jG5oYYHxF4jx6PcqwHX3JVME/OjzolqOZiIogi9xtsfsmTjTdie4x88OakYFPEa8euciTgCCzvVNwvmjHb1Q==", "dev": true }, "emoji-regex": { @@ -1697,12 +1693,12 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "7.30.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.30.0.tgz", - "integrity": "sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==", + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", "requires": { "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.2", + "@eslint/eslintrc": "^0.4.3", "@humanwhocodes/config-array": "^0.5.0", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -1751,41 +1747,15 @@ "@babel/highlight": "^7.10.4" } }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "requires": { - "esutils": "^2.0.2" - } - }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } } } }, @@ -1796,48 +1766,38 @@ "dev": true }, "eslint-plugin-jsdoc": { - "version": "35.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-35.4.1.tgz", - "integrity": "sha512-lnpu2Bj+ta2eAqwCWnb6f3Xjc78TWKo/oMCpDH5NfpPhYnePNtGZJzoAMgU5uo9BQqmXJ8pql8aiodOhg82ofw==", + "version": "36.0.8", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-36.0.8.tgz", + "integrity": "sha512-brNjHvRuBy5CaV01mSp6WljrO/T8fHNj0DXG38odOGDnhI7HdcbLKX7DpSvg2Rfcifwh8GlnNFzx13sI05t3bg==", "dev": true, "requires": { - "@es-joy/jsdoccomment": "^0.8.0", - "comment-parser": "1.1.5", - "debug": "^4.3.1", + "@es-joy/jsdoccomment": "0.10.8", + "comment-parser": "1.2.4", + "debug": "^4.3.2", "esquery": "^1.4.0", - "jsdoc-type-pratt-parser": "^1.0.4", + "jsdoc-type-pratt-parser": "^1.1.1", "lodash": "^4.17.21", "regextras": "^0.8.0", "semver": "^7.3.5", "spdx-expression-parse": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } } }, "eslint-plugin-prettier": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.0.tgz", - "integrity": "sha512-UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" } }, "eslint-plugin-unicorn": { - "version": "34.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-34.0.1.tgz", - "integrity": "sha512-GUBtRYRhPVOW/GDu6QtOjrneSZxY/MulOT8puJU+47VKCzNmMgS/iHO2gZqoQ7KPMrpNYlebUlvCWy3IR1USVQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-35.0.0.tgz", + "integrity": "sha512-FHsaO68tDPQILfs/mGF8eSISJp8RswR4FpUuBDnueK2wyEHC6zmsc9WxjYyldXoIsBuVmru6jQyFCbCWPoW/KQ==", "dev": true, "requires": { + "@babel/helper-validator-identifier": "^7.14.9", "ci-info": "^3.2.0", "clean-regexp": "^1.0.0", "eslint-template-visitor": "^2.3.2", @@ -1847,7 +1807,6 @@ "pluralize": "^8.0.0", "read-pkg-up": "^7.0.1", "regexp-tree": "^0.1.23", - "reserved-words": "^0.1.2", "safe-regex": "^2.1.1", "semver": "^7.3.5" }, @@ -1918,15 +1877,6 @@ "type-fest": "^0.8.1" } }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, "type-fest": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", @@ -2035,10 +1985,9 @@ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" }, "esutils": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz", - "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=", - "dev": true + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "fast-deep-equal": { "version": "3.1.3", @@ -2074,9 +2023,9 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fastq": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", - "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz", + "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==", "requires": { "reusify": "^1.0.4" } @@ -2423,18 +2372,11 @@ } }, "globals": { - "version": "13.10.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz", - "integrity": "sha512-piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==", + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", + "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", "requires": { "type-fest": "^0.20.2" - }, - "dependencies": { - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - } } }, "globby": { @@ -2469,9 +2411,9 @@ } }, "graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, "grapheme-splitter": { "version": "1.0.4", @@ -2631,9 +2573,9 @@ } }, "is-core-module": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", - "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", + "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", "dev": true, "requires": { "has": "^1.0.3" @@ -2645,10 +2587,9 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-glob": { "version": "4.0.1", @@ -2953,6 +2894,12 @@ "yallist": "^4.0.0" } }, + "lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true + }, "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -2964,6 +2911,12 @@ "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", "dev": true }, + "marked": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-3.0.2.tgz", + "integrity": "sha512-TMJQQ79Z0e3rJYazY0tIoMsFzteUGw9fB3FD+gzuIT3zLuG9L9ckIvUfF51apdJkcqc208jJN2KbtPbOvXtbjA==", + "dev": true + }, "meow": { "version": "8.1.2", "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", @@ -3045,6 +2998,12 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true + }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true } } }, @@ -3107,9 +3066,9 @@ } }, "mocha": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.0.3.tgz", - "integrity": "sha512-hnYFrSefHxYS2XFGtN01x8un0EwNu2bzKvhpRFhgoybIvMaOkkL60IVPmkb5h6XDmUl4IMSB+rT5cIO4/4bJgg==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.1.tgz", + "integrity": "sha512-0wE74YMgOkCgBUj8VyIDwmLUjTsS13WV1Pg7l0SHea2qzZzlq7MDnfbPsHKcELBRk3+izEVkRofjmClpycudCA==", "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", @@ -3145,6 +3104,23 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, "diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -3185,6 +3161,12 @@ "p-locate": "^5.0.0" } }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -3232,10 +3214,9 @@ "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" }, "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "multimap": { "version": "1.1.0", @@ -3266,9 +3247,9 @@ "dev": true }, "nock": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.1.1.tgz", - "integrity": "sha512-YKTR9MjfK3kS9/l4nuTxyYm30cgOExRHzkLNhL8nhEUyU4f8Za/dRxOqjhVT1vGs0svWo3dDnJTUX1qxYeWy5w==", + "version": "13.1.3", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.1.3.tgz", + "integrity": "sha512-YKj0rKQWMGiiIO+Y65Ut8OEgYM3PplLU2+GAhnPmqZdBd6z5IskgdBqWmjzA6lH3RF0S2a3wiAlrMOF5Iv2Jeg==", "dev": true, "requires": { "debug": "^4.1.0", @@ -3278,9 +3259,9 @@ } }, "node-releases": { - "version": "1.1.74", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.74.tgz", - "integrity": "sha512-caJBVempXZPepZoZAPCWRTNxYQ+xtG/KAi4ozTA5A+nJ7IU+kLQCbqaUjb5Rwy14M9upBWiQ4NutcmW04LJSRw==", + "version": "1.1.75", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", + "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==", "dev": true }, "nodemailer": { @@ -3289,13 +3270,13 @@ "integrity": "sha512-ikSMDU1nZqpo2WUPE0wTTw/NGGImTkwpJKDIFPZT+YvvR9Sj+ze5wzu95JHkBMglQLoG2ITxU21WukCC/XsFkg==" }, "normalize-package-data": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", - "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, "requires": { "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", + "is-core-module": "^2.5.0", "semver": "^7.3.4", "validate-npm-package-license": "^3.0.1" } @@ -3319,10 +3300,36 @@ "wrappy": "1" } }, + "onigasm": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/onigasm/-/onigasm-2.2.5.tgz", + "integrity": "sha512-F+th54mPc0l1lp1ZcFMyL/jTs2Tlq4SqIHKIXGZOR/VkHkF9A7Fr5rRr5+ZG/lWeRsyrClLYRq7s/yFQ/XhWCA==", + "dev": true, + "requires": { + "lru-cache": "^5.1.1" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, "openapi-types": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-9.1.0.tgz", - "integrity": "sha512-mhXh8QN8sbErlxfxBeZ/pzgvmDn443p8CXlxwGSi2bWANZAFvjLPI0PoGjqHW+JdBbXg6uvmvM81WXaweh/SVA==" + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-9.2.0.tgz", + "integrity": "sha512-3x0gg8DxhpZ5MVki7AK6jmMdVIZASmVGo9CoUtD+nksLdkqz7EzWKdfS9Oxxq1J7idnZV0b3LjqcvizfKFySpQ==" }, "optionator": { "version": "0.9.1", @@ -3693,9 +3700,9 @@ } }, "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" }, "regexp-tree": { "version": "0.1.23", @@ -3725,12 +3732,6 @@ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" }, - "reserved-words": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz", - "integrity": "sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE=", - "dev": true - }, "resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", @@ -3742,9 +3743,9 @@ } }, "resolve-alpn": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.1.2.tgz", - "integrity": "sha512-8OyfzhAtA32LVUsJSke3auIyINcwdh5l3cvYKdKO0nvsYSKuiLfTM5i78PJswFPT8y6cPW+L1v6/hE95chcpDA==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.0.tgz", + "integrity": "sha512-e4FNQs+9cINYMO5NMFc6kOUCdohjqFPSgMuwuZAOUWqrfWsen+Yjy5qZFkV5K7VO7tFSLKcUL97olkED7sCBHA==" }, "resolve-from": { "version": "4.0.0", @@ -3796,9 +3797,9 @@ } }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "requires": { "lru-cache": "^6.0.0" } @@ -3825,6 +3826,17 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, + "shiki": { + "version": "0.9.8", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.9.8.tgz", + "integrity": "sha512-499zQUTjcNTVwwiaPrWldUTXIV3T9HZWxDwE82bY+9GE7P2uD6hpHUTXNbTof3iOG6WT+/062+OMbl0lDoG8WQ==", + "dev": true, + "requires": { + "json5": "^2.2.0", + "onigasm": "^2.2.5", + "vscode-textmate": "5.2.0" + } + }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -3838,13 +3850,6 @@ "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - } } }, "source-map": { @@ -3880,9 +3885,9 @@ } }, "spdx-license-ids": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", - "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz", + "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==", "dev": true }, "split": { @@ -3909,13 +3914,13 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, "string_decoder": { @@ -3928,12 +3933,11 @@ } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.0" } }, "strip-bom": { @@ -3988,38 +3992,10 @@ "uri-js": "^4.2.2" } }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } } } }, @@ -4117,12 +4093,19 @@ "json-stable-stringify": "^1.0.1", "json5": "^2.2.0", "typescript": "~4.3.4" + }, + "dependencies": { + "typescript": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", + "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==" + } } }, "ts-node": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.2.0.tgz", - "integrity": "sha512-FstYHtQz6isj8rBtYMN4bZdnXN1vq4HCbqn9vdNQcInRqtB86PePJQIxE6es0PhxKWhj2PHuwbG40H+bxkZPmg==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.2.1.tgz", + "integrity": "sha512-hCnyOyuGmD5wHleOQX6NIjJtYVIO8bPP8F2acWkB4W06wdlkgyvJtubO/I9NkI88hCFECbsEgoLc0VNkYmcSfw==", "requires": { "@cspotcode/source-map-support": "0.6.1", "@tsconfig/node10": "^1.0.7", @@ -4247,6 +4230,22 @@ "tsutils": "^3.0.0" }, "dependencies": { + "doctrine": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", + "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", + "dev": true, + "requires": { + "esutils": "^1.1.6", + "isarray": "0.0.1" + } + }, + "esutils": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz", + "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=", + "dev": true + }, "tslib": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz", @@ -4287,20 +4286,41 @@ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" }, "type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + }, + "typedoc": { + "version": "0.21.9", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.21.9.tgz", + "integrity": "sha512-VRo7aII4bnYaBBM1lhw4bQFmUcDQV8m8tqgjtc7oXl87jc1Slbhfw2X5MccfcR2YnEClHDWgsiQGgNB8KJXocA==", + "dev": true, + "requires": { + "glob": "^7.1.7", + "handlebars": "^4.7.7", + "lunr": "^2.3.9", + "marked": "^3.0.2", + "minimatch": "^3.0.0", + "progress": "^2.0.3", + "shiki": "^0.9.8", + "typedoc-default-themes": "^0.12.10" + } + }, + "typedoc-default-themes": { + "version": "0.12.10", + "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.12.10.tgz", + "integrity": "sha512-fIS001cAYHkyQPidWXmHuhs8usjP5XVJjWB8oZGqkTowZaz3v7g3KDZeeqE82FBrmkAnIBOY3jgy7lnPnqATbA==", "dev": true }, "typescript": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", - "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==" + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz", + "integrity": "sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==" }, "uglify-js": { - "version": "3.13.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.13.10.tgz", - "integrity": "sha512-57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.1.tgz", + "integrity": "sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==", "dev": true, "optional": true }, @@ -4344,6 +4364,12 @@ "spdx-expression-parse": "^3.0.0" } }, + "vscode-textmate": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz", + "integrity": "sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==", + "dev": true + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -4359,6 +4385,39 @@ "dev": true, "requires": { "string-width": "^1.0.2 || 2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } } }, "word-wrap": { @@ -4387,40 +4446,6 @@ "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } } }, "wrappy": { @@ -4469,40 +4494,6 @@ "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } } }, "yargs-parser": { diff --git a/package.json b/package.json index bfd69d83..c2872718 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "commander": "8.1.0", "deepmerge": "4.2.2", "del": "6.0.0", - "eslint": "7.30.0", + "eslint": "7.32.0", "flatted": "3.2.2", "fs-extra": "10.0.0", "glob": "7.1.7", @@ -61,12 +61,12 @@ "json-schema": "0.3.0", "lodash": "4.17.21", "mustache": "4.2.0", - "openapi-types": "9.1.0", + "openapi-types": "9.2.0", "plantuml-encoder": "1.4.0", "toposort": "2.0.2", "ts-json-schema-generator": "0.95.0", - "ts-node": "10.2.0", - "typescript": "4.3.5" + "ts-node": "10.2.1", + "typescript": "4.4.2" }, "devDependencies": { "@openstapps/configuration": "0.27.0", @@ -76,21 +76,22 @@ "@types/glob": "7.1.4", "@types/json-schema": "7.0.9", "@types/lodash": "4.14.172", - "@types/mocha": "8.2.3", + "@types/mocha": "9.0.0", "@types/mustache": "4.1.2", - "@types/node": "14.17.9", - "@types/rimraf": "3.0.1", - "@typescript-eslint/eslint-plugin": "4.3.0", - "@typescript-eslint/parser": "4.3.0", + "@types/node": "14.17.12", + "@types/rimraf": "3.0.2", + "@typescript-eslint/eslint-plugin": "4.29.3", + "@typescript-eslint/parser": "4.29.3", "conventional-changelog-cli": "2.1.1", "eslint-config-prettier": "8.3.0", - "eslint-plugin-jsdoc": "35.4.1", - "eslint-plugin-prettier": "3.4.0", - "eslint-plugin-unicorn": "34.0.1", - "mocha": "9.0.3", - "nock": "13.1.1", + "eslint-plugin-jsdoc": "36.0.8", + "eslint-plugin-prettier": "3.4.1", + "eslint-plugin-unicorn": "35.0.0", + "mocha": "9.1.1", + "nock": "13.1.3", "prepend-file-cli": "1.0.6", "prettier": "2.3.2", + "rimraf": "3.0.2", "typedoc": "0.21.9" } } diff --git a/src/pack.ts b/src/pack.ts index dcd51f35..7b1b71a8 100644 --- a/src/pack.ts +++ b/src/pack.ts @@ -348,7 +348,7 @@ async function deleteFileIfExistingAndPacked(path: string): Promise { return unlinkPromisified(path); } } catch (error) { - if (error.code === 'ENOENT') { + if ((error as NodeJS.ErrnoException).code === 'ENOENT') { return; } } diff --git a/src/schema.ts b/src/schema.ts index f96fd1de..a5c4a93b 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -86,7 +86,6 @@ export class Converter { if (isSchemaWithDefinitions(schema)) { const selfReference = { - ...{}, ...schema, }; @@ -96,7 +95,6 @@ export class Converter { // add self reference to definitions schema.definitions![`SC${type}`] = { - ...{}, ...(selfReference as unknown as Definition), }; } diff --git a/test/create-diagram.spec.ts b/test/create-diagram.spec.ts index 7fe5fbe3..99179d82 100644 --- a/test/create-diagram.spec.ts +++ b/test/create-diagram.spec.ts @@ -53,7 +53,7 @@ export class CreateDiagramSpec { new Error('getaddrinfo ENOTFOUND plantuml plantuml:8080').message, new Error('getaddrinfo EAI_AGAIN plantuml plantuml:8080').message, new Error('getaddrinfo ENOTFOUND plantuml').message, - ]).to.include(error.message); + ]).to.include((error as NodeJS.ErrnoException).message); } } diff --git a/test/validate.spec.ts b/test/validate.spec.ts index dc9cae32..cc8b3198 100644 --- a/test/validate.spec.ts +++ b/test/validate.spec.ts @@ -53,7 +53,7 @@ export class ValidateSpec { } static after() { - rimraf(tmpdir, (error: Error) => { + rimraf(tmpdir, error => { // tslint:disable-next-line: no-unused-expression expect(error, `Unable to remove temporary directory for tests at: ${tmpdir}`).to.be.null; }); From 863bd58cadc4075de5b0ae4729a071cd701ac1e9 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Tue, 31 Aug 2021 11:57:38 +0200 Subject: [PATCH 172/215] 0.25.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 43554aba..3484764f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.24.3", + "version": "0.25.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index c2872718..01af29e1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.24.3", + "version": "0.25.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 4f02d87f296634ce2de9835ee1e3d09051f87bfc Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Tue, 31 Aug 2021 11:57:43 +0200 Subject: [PATCH 173/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9453c470..fcaa8b93 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [0.25.0](https://gitlab.com/openstapps/core-tools/compare/v0.24.3...v0.25.0) (2021-08-31) + + +### Bug Fixes + +* generate schemas for type aliases ([96e3acf](https://gitlab.com/openstapps/core-tools/commit/96e3acf9ba330c3414eb1e38b347ca9e597fee88)) + + + ## [0.24.3](https://gitlab.com/openstapps/core-tools/compare/v0.24.2...v0.24.3) (2021-08-27) From 9ef14774d22aa2873fdffe232ef761b5112e7ba5 Mon Sep 17 00:00:00 2001 From: openstappsbot Date: Mon, 27 Sep 2021 07:11:47 +0000 Subject: [PATCH 174/215] refactor: update all --- package-lock.json | 248 +++++++++++++++++----------------------------- package.json | 26 ++--- 2 files changed, 105 insertions(+), 169 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3484764f..8e504c70 100644 --- a/package-lock.json +++ b/package-lock.json @@ -445,52 +445,37 @@ } }, "@openstapps/configuration": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.27.0.tgz", - "integrity": "sha512-akWzLtS42HKY7OmILfsCMui9GNGXiWxCk4MhArnNYJMTVN/xw68sjEQAr2wAVimPx/77xs0LC+lDAJUD0kzwUg==", + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.28.1.tgz", + "integrity": "sha512-HuM/NNjTqlsqaXuUQnU5UuPPq+/zNiW3/LxVsO90rGc15NDFGQoKJ0VtG6rOIdD0SNH5MFxRyjI+2434/WmMVg==", "dev": true, "requires": { - "@types/node": "14.14.37", - "@types/semver": "7.3.4", + "@types/node": "16.9.1", + "@types/semver": "7.3.8", "@types/yaml": "1.9.7", - "chalk": "4.1.0", - "commander": "6.2.0", - "semver": "7.3.4", + "chalk": "4.1.2", + "commander": "8.2.0", + "semver": "7.3.5", "tslint": "6.1.3", "tslint-eslint-rules": "5.4.0", - "yaml": "1.10.0" + "yaml": "1.10.2" }, "dependencies": { "@types/node": { - "version": "14.14.37", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", - "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==", + "version": "16.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", + "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==", "dev": true }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } - }, - "commander": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz", - "integrity": "sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==", - "dev": true - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } } } }, @@ -586,15 +571,15 @@ } }, "@types/chai": { - "version": "4.2.21", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.21.tgz", - "integrity": "sha512-yd+9qKmJxm496BOV9CMNaey8TWsikaZOwMRwPHQIjcOJM9oV+fi9ZMNw3JsVnbEEbo2gRTDnGEBv8pjyn67hNg==", + "version": "4.2.22", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.22.tgz", + "integrity": "sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ==", "dev": true }, "@types/fs-extra": { - "version": "9.0.12", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz", - "integrity": "sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==", + "version": "9.0.13", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", + "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", "dev": true, "requires": { "@types/node": "*" @@ -636,9 +621,9 @@ } }, "@types/lodash": { - "version": "4.14.172", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.172.tgz", - "integrity": "sha512-/BHF5HAx3em7/KkzVKm3LrsD6HZAXuXO1AJZQ3cRRBZj4oHZDviWPYu0aEplAqDFNHZPW6d3G7KN+ONcCCC7pw==", + "version": "4.14.174", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.174.tgz", + "integrity": "sha512-KMBLT6+g9qrGXpDt7ohjWPUD34WA/jasrtjTEHStF0NPdEwJ1N9SZ+4GaMVDeuk/y0+X5j9xFm6mNiXS7UoaLQ==", "dev": true }, "@types/minimatch": { @@ -666,9 +651,9 @@ "dev": true }, "@types/node": { - "version": "14.17.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.12.tgz", - "integrity": "sha512-vhUqgjJR1qxwTWV5Ps5txuy2XMdf7Fw+OrdChRboy8BmWUPkckOhphaohzFG6b8DW7CrxaBMdrdJ47SYFq1okw==", + "version": "14.17.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.19.tgz", + "integrity": "sha512-jjYI6NkyfXykucU6ELEoT64QyKOdvaA6enOqKtP4xUsGY0X0ZUZz29fUmrTRo+7v7c6TgDu82q3GHHaCEkqZwA==", "dev": true }, "@types/nodemailer": { @@ -718,9 +703,9 @@ } }, "@types/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-D/2EJvAlCEtYFEYmmlGwbGXuK886HzyCc3nZX/tkFTQdEU8jZDAgiv08P162yB17y4ZXZoq7yFAnW4GDBb9Now==", "dev": true }, "@types/yaml": { @@ -1247,9 +1232,9 @@ "dev": true }, "commander": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.1.0.tgz", - "integrity": "sha512-mf45ldcuHSYShkplHHGKWb4TrmwQadxOn7v4WuhDJy0ZVoY5JFajaRDKD0PNe5qXzBX0rhovjTnP6Kz9LETcuA==" + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.2.0.tgz", + "integrity": "sha512-LLKxDvHeL91/8MIyTAD5BFMNtoIwztGPMiM/7Bl8rIPmHCZXRxmSWr91h57dpOpnQ6jIUqEWdXE/uBYMfiVZDA==" }, "comment-parser": { "version": "1.2.4", @@ -1766,9 +1751,9 @@ "dev": true }, "eslint-plugin-jsdoc": { - "version": "36.0.8", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-36.0.8.tgz", - "integrity": "sha512-brNjHvRuBy5CaV01mSp6WljrO/T8fHNj0DXG38odOGDnhI7HdcbLKX7DpSvg2Rfcifwh8GlnNFzx13sI05t3bg==", + "version": "36.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-36.1.0.tgz", + "integrity": "sha512-Qpied2AJCQcScxfzTObLKRiP5QgLXjMU/ITjBagEV5p2Q/HpumD1EQtazdRYdjDSwPmXhwOl2yquwOGQ4HOJNw==", "dev": true, "requires": { "@es-joy/jsdoccomment": "0.10.8", @@ -2351,9 +2336,9 @@ } }, "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2741,6 +2726,12 @@ "minimist": "^1.2.5" } }, + "jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true + }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -2912,9 +2903,9 @@ "dev": true }, "marked": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-3.0.2.tgz", - "integrity": "sha512-TMJQQ79Z0e3rJYazY0tIoMsFzteUGw9fB3FD+gzuIT3zLuG9L9ckIvUfF51apdJkcqc208jJN2KbtPbOvXtbjA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/marked/-/marked-3.0.4.tgz", + "integrity": "sha512-jBo8AOayNaEcvBhNobg6/BLhdsK3NvnKWJg33MAAPbvTWiG4QBn9gpW1+7RssrKu4K1dKlN+0goVQwV41xEfOA==", "dev": true }, "meow": { @@ -3066,16 +3057,16 @@ } }, "mocha": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.1.tgz", - "integrity": "sha512-0wE74YMgOkCgBUj8VyIDwmLUjTsS13WV1Pg7l0SHea2qzZzlq7MDnfbPsHKcELBRk3+izEVkRofjmClpycudCA==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.2.tgz", + "integrity": "sha512-ta3LtJ+63RIBP03VBjMGtSqbe6cWXRejF9SyM9Zyli1CKZJZ+vfCTj3oW24V7wAphMJdpOFLoMI3hjJ1LWbs0w==", "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", "chokidar": "3.5.2", - "debug": "4.3.1", + "debug": "4.3.2", "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", @@ -3086,12 +3077,11 @@ "log-symbols": "4.1.0", "minimatch": "3.0.4", "ms": "2.1.3", - "nanoid": "3.1.23", + "nanoid": "3.1.25", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", "which": "2.0.2", - "wide-align": "1.1.3", "workerpool": "6.1.5", "yargs": "16.2.0", "yargs-parser": "20.2.4", @@ -3104,23 +3094,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, "diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -3143,6 +3116,20 @@ "path-exists": "^4.0.0" } }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -3230,9 +3217,9 @@ "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==" }, "nanoid": { - "version": "3.1.23", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", - "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", + "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", "dev": true }, "natural-compare": { @@ -3327,9 +3314,9 @@ } }, "openapi-types": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-9.2.0.tgz", - "integrity": "sha512-3x0gg8DxhpZ5MVki7AK6jmMdVIZASmVGo9CoUtD+nksLdkqz7EzWKdfS9Oxxq1J7idnZV0b3LjqcvizfKFySpQ==" + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-9.3.0.tgz", + "integrity": "sha512-sR23YjmuwDSMsQVZDHbV9mPgi0RyniQlqR0AQxTC2/F3cpSjRFMH3CFPjoWvNqhC4OxPkDYNb2l8Mc1Me6D/KQ==" }, "optionator": { "version": "0.9.1", @@ -3486,9 +3473,9 @@ } }, "prettier": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", - "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", + "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==", "dev": true }, "prettier-linter-helpers": { @@ -3827,12 +3814,12 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "shiki": { - "version": "0.9.8", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.9.8.tgz", - "integrity": "sha512-499zQUTjcNTVwwiaPrWldUTXIV3T9HZWxDwE82bY+9GE7P2uD6hpHUTXNbTof3iOG6WT+/062+OMbl0lDoG8WQ==", + "version": "0.9.11", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.9.11.tgz", + "integrity": "sha512-tjruNTLFhU0hruCPoJP0y+B9LKOmcqUhTpxn7pcJB3fa+04gFChuEmxmrUfOJ7ZO6Jd+HwMnDHgY3lv3Tqonuw==", "dev": true, "requires": { - "json5": "^2.2.0", + "jsonc-parser": "^3.0.0", "onigasm": "^2.2.5", "vscode-textmate": "5.2.0" } @@ -4291,31 +4278,22 @@ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" }, "typedoc": { - "version": "0.21.9", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.21.9.tgz", - "integrity": "sha512-VRo7aII4bnYaBBM1lhw4bQFmUcDQV8m8tqgjtc7oXl87jc1Slbhfw2X5MccfcR2YnEClHDWgsiQGgNB8KJXocA==", + "version": "0.22.4", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.4.tgz", + "integrity": "sha512-M/a8NnPxq3/iZNNVjzFCK5gu4m//HTJIPbSS0JQVbkHJPP9wyepR12agylWTSqeVZe0xsbidVtO26+PP7iD/jw==", "dev": true, "requires": { "glob": "^7.1.7", - "handlebars": "^4.7.7", "lunr": "^2.3.9", - "marked": "^3.0.2", - "minimatch": "^3.0.0", - "progress": "^2.0.3", - "shiki": "^0.9.8", - "typedoc-default-themes": "^0.12.10" + "marked": "^3.0.4", + "minimatch": "^3.0.4", + "shiki": "^0.9.11" } }, - "typedoc-default-themes": { - "version": "0.12.10", - "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.12.10.tgz", - "integrity": "sha512-fIS001cAYHkyQPidWXmHuhs8usjP5XVJjWB8oZGqkTowZaz3v7g3KDZeeqE82FBrmkAnIBOY3jgy7lnPnqATbA==", - "dev": true - }, "typescript": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.2.tgz", - "integrity": "sha512-gzP+t5W4hdy4c+68bfcv0t400HVJMMd2+H9B7gae1nQlBzCqvrXX+6GL/b3GAgyTH966pzrZ70/fRjwAtZksSQ==" + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz", + "integrity": "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==" }, "uglify-js": { "version": "3.14.1", @@ -4378,48 +4356,6 @@ "isexe": "^2.0.0" } }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -4476,9 +4412,9 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true }, "yargs": { diff --git a/package.json b/package.json index 01af29e1..37c5a028 100644 --- a/package.json +++ b/package.json @@ -49,49 +49,49 @@ "ajv": "6.12.6", "better-ajv-errors": "0.7.0", "chai": "4.3.4", - "commander": "8.1.0", + "commander": "8.2.0", "deepmerge": "4.2.2", "del": "6.0.0", "eslint": "7.32.0", "flatted": "3.2.2", "fs-extra": "10.0.0", - "glob": "7.1.7", + "glob": "7.2.0", "got": "11.8.2", "humanize-string": "2.1.0", "json-schema": "0.3.0", "lodash": "4.17.21", "mustache": "4.2.0", - "openapi-types": "9.2.0", + "openapi-types": "9.3.0", "plantuml-encoder": "1.4.0", "toposort": "2.0.2", "ts-json-schema-generator": "0.95.0", "ts-node": "10.2.1", - "typescript": "4.4.2" + "typescript": "4.4.3" }, "devDependencies": { - "@openstapps/configuration": "0.27.0", + "@openstapps/configuration": "0.28.1", "@testdeck/mocha": "0.1.2", - "@types/chai": "4.2.21", - "@types/fs-extra": "9.0.12", + "@types/chai": "4.2.22", + "@types/fs-extra": "9.0.13", "@types/glob": "7.1.4", "@types/json-schema": "7.0.9", - "@types/lodash": "4.14.172", + "@types/lodash": "4.14.174", "@types/mocha": "9.0.0", "@types/mustache": "4.1.2", - "@types/node": "14.17.12", + "@types/node": "14.17.19", "@types/rimraf": "3.0.2", "@typescript-eslint/eslint-plugin": "4.29.3", "@typescript-eslint/parser": "4.29.3", "conventional-changelog-cli": "2.1.1", "eslint-config-prettier": "8.3.0", - "eslint-plugin-jsdoc": "36.0.8", + "eslint-plugin-jsdoc": "36.1.0", "eslint-plugin-prettier": "3.4.1", "eslint-plugin-unicorn": "35.0.0", - "mocha": "9.1.1", + "mocha": "9.1.2", "nock": "13.1.3", "prepend-file-cli": "1.0.6", - "prettier": "2.3.2", + "prettier": "2.4.1", "rimraf": "3.0.2", - "typedoc": "0.21.9" + "typedoc": "0.22.4" } } From 9bc05d2c99ff3e1e8d267c5ecd6edc58f2995e31 Mon Sep 17 00:00:00 2001 From: openstappsbot Date: Tue, 28 Sep 2021 07:11:08 +0000 Subject: [PATCH 175/215] refactor: update typescript-eslint monorepo to v4.32.0 --- package-lock.json | 69 ++++++++++++++++++++++++----------------------- package.json | 4 +-- 2 files changed, 37 insertions(+), 36 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8e504c70..66a63df1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -718,15 +718,16 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz", - "integrity": "sha512-tBgfA3K/3TsZY46ROGvoRxQr1wBkclbVqRQep97MjVHJzcRBURRY3sNFqLk0/Xr//BY5hM9H2p/kp+6qim85SA==", + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.32.0.tgz", + "integrity": "sha512-+OWTuWRSbWI1KDK8iEyG/6uK2rTm3kpS38wuVifGUTDB6kjEuNrzBI1MUtxnkneuWG/23QehABe2zHHrj+4yuA==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "4.29.3", - "@typescript-eslint/scope-manager": "4.29.3", + "@typescript-eslint/experimental-utils": "4.32.0", + "@typescript-eslint/scope-manager": "4.32.0", "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", + "ignore": "^5.1.8", "regexpp": "^3.1.0", "semver": "^7.3.5", "tsutils": "^3.21.0" @@ -744,15 +745,15 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.3.tgz", - "integrity": "sha512-ffIvbytTVWz+3keg+Sy94FG1QeOvmV9dP2YSdLFHw/ieLXWCa3U1TYu8IRCOpMv2/SPS8XqhM1+ou1YHsdzKrg==", + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.32.0.tgz", + "integrity": "sha512-WLoXcc+cQufxRYjTWr4kFt0DyEv6hDgSaFqYhIzQZ05cF+kXfqXdUh+//kgquPJVUBbL3oQGKQxwPbLxHRqm6A==", "dev": true, "requires": { "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.32.0", + "@typescript-eslint/types": "4.32.0", + "@typescript-eslint/typescript-estree": "4.32.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -769,41 +770,41 @@ } }, "@typescript-eslint/parser": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.3.tgz", - "integrity": "sha512-jrHOV5g2u8ROghmspKoW7pN8T/qUzk0+DITun0MELptvngtMrwUJ1tv5zMI04CYVEUsSrN4jV7AKSv+I0y0EfQ==", + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.32.0.tgz", + "integrity": "sha512-lhtYqQ2iEPV5JqV7K+uOVlPePjClj4dOw7K4/Z1F2yvjIUvyr13yJnDzkK6uon4BjHYuHy3EG0c2Z9jEhFk56w==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.32.0", + "@typescript-eslint/types": "4.32.0", + "@typescript-eslint/typescript-estree": "4.32.0", "debug": "^4.3.1" } }, "@typescript-eslint/scope-manager": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.3.tgz", - "integrity": "sha512-x+w8BLXO7iWPkG5mEy9bA1iFRnk36p/goVlYobVWHyDw69YmaH9q6eA+Fgl7kYHmFvWlebUTUfhtIg4zbbl8PA==", + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.32.0.tgz", + "integrity": "sha512-DK+fMSHdM216C0OM/KR1lHXjP1CNtVIhJ54kQxfOE6x8UGFAjha8cXgDMBEIYS2XCYjjCtvTkjQYwL3uvGOo0w==", "dev": true, "requires": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3" + "@typescript-eslint/types": "4.32.0", + "@typescript-eslint/visitor-keys": "4.32.0" } }, "@typescript-eslint/types": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.3.tgz", - "integrity": "sha512-s1eV1lKNgoIYLAl1JUba8NhULmf+jOmmeFO1G5MN/RBCyyzg4TIOfIOICVNC06lor+Xmy4FypIIhFiJXOknhIg==", + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.32.0.tgz", + "integrity": "sha512-LE7Z7BAv0E2UvqzogssGf1x7GPpUalgG07nGCBYb1oK4mFsOiFC/VrSMKbZQzFJdN2JL5XYmsx7C7FX9p9ns0w==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.3.tgz", - "integrity": "sha512-45oQJA0bxna4O5TMwz55/TpgjX1YrAPOI/rb6kPgmdnemRZx/dB0rsx+Ku8jpDvqTxcE1C/qEbVHbS3h0hflag==", + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.32.0.tgz", + "integrity": "sha512-tRYCgJ3g1UjMw1cGG8Yn1KzOzNlQ6u1h9AmEtPhb5V5a1TmiHWcRyF/Ic+91M4f43QeChyYlVTcf3DvDTZR9vw==", "dev": true, "requires": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3", + "@typescript-eslint/types": "4.32.0", + "@typescript-eslint/visitor-keys": "4.32.0", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -823,12 +824,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.3.tgz", - "integrity": "sha512-MGGfJvXT4asUTeVs0Q2m+sY63UsfnA+C/FDgBKV3itLBmM9H0u+URcneePtkd0at1YELmZK6HSolCqM4Fzs6yA==", + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.32.0.tgz", + "integrity": "sha512-e7NE0qz8W+atzv3Cy9qaQ7BTLwWsm084Z0c4nIO2l3Bp6u9WIgdqCgyPyV5oSPDMIW3b20H59OOCmVk3jw3Ptw==", "dev": true, "requires": { - "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/types": "4.32.0", "eslint-visitor-keys": "^2.0.0" } }, diff --git a/package.json b/package.json index 37c5a028..573aaa58 100644 --- a/package.json +++ b/package.json @@ -80,8 +80,8 @@ "@types/mustache": "4.1.2", "@types/node": "14.17.19", "@types/rimraf": "3.0.2", - "@typescript-eslint/eslint-plugin": "4.29.3", - "@typescript-eslint/parser": "4.29.3", + "@typescript-eslint/eslint-plugin": "4.32.0", + "@typescript-eslint/parser": "4.32.0", "conventional-changelog-cli": "2.1.1", "eslint-config-prettier": "8.3.0", "eslint-plugin-jsdoc": "36.1.0", From 8cf40900bb5e8272b831b8660c70401f9dd3e55a Mon Sep 17 00:00:00 2001 From: openstappsbot Date: Tue, 28 Sep 2021 13:14:12 +0000 Subject: [PATCH 176/215] refactor: update all --- package-lock.json | 617 +++++++++++++++++++--------------------------- package.json | 8 +- src/schema.ts | 2 +- src/validate.ts | 6 +- 4 files changed, 267 insertions(+), 366 deletions(-) diff --git a/package-lock.json b/package-lock.json index 66a63df1..069aa60f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,20 +19,20 @@ "dev": true }, "@babel/core": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", - "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", + "version": "7.15.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", + "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", "dev": true, "requires": { "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.0", - "@babel/helper-module-transforms": "^7.15.0", - "@babel/helpers": "^7.14.8", - "@babel/parser": "^7.15.0", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0", + "@babel/generator": "^7.15.4", + "@babel/helper-compilation-targets": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.4", + "@babel/helpers": "^7.15.4", + "@babel/parser": "^7.15.5", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -56,9 +56,9 @@ } }, "@babel/eslint-parser": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.15.0.tgz", - "integrity": "sha512-+gSPtjSBxOZz4Uh8Ggqu7HbfpB8cT1LwW0DnVVLZEJvzXauiD0Di3zszcBkRmfGGrLdYeHUwcflG7i3tr9kQlw==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.15.7.tgz", + "integrity": "sha512-yJkHyomClm6A2Xzb8pdAo4HzYMSXFn1O5zrCYvbFP0yQFvHueLedV8WiEno8yJOKStjUXzBZzJFeWQ7b3YMsqQ==", "dev": true, "requires": { "eslint-scope": "^5.1.1", @@ -75,12 +75,12 @@ } }, "@babel/generator": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", - "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", + "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", "dev": true, "requires": { - "@babel/types": "^7.15.0", + "@babel/types": "^7.15.4", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, @@ -94,9 +94,9 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", - "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", + "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", "dev": true, "requires": { "@babel/compat-data": "^7.15.0", @@ -114,111 +114,111 @@ } }, "@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", + "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/helper-get-function-arity": "^7.15.4", + "@babel/template": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", + "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", + "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", - "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", + "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", "dev": true, "requires": { - "@babel/types": "^7.15.0" + "@babel/types": "^7.15.4" } }, "@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", + "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-module-transforms": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", - "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz", + "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-simple-access": "^7.14.8", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/helper-module-imports": "^7.15.4", + "@babel/helper-replace-supers": "^7.15.4", + "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.6" } }, "@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", + "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-replace-supers": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", - "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", + "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/helper-member-expression-to-functions": "^7.15.4", + "@babel/helper-optimise-call-expression": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/helper-simple-access": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", - "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", + "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", "dev": true, "requires": { - "@babel/types": "^7.14.8" + "@babel/types": "^7.15.4" } }, "@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", + "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.15.4" } }, "@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==" + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" }, "@babel/helper-validator-option": { "version": "7.14.5", @@ -227,14 +227,14 @@ "dev": true }, "@babel/helpers": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz", - "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", + "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", "dev": true, "requires": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/template": "^7.15.4", + "@babel/traverse": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/highlight": { @@ -294,43 +294,43 @@ } }, "@babel/parser": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", - "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==", + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", "dev": true }, "@babel/runtime": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz", - "integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", + "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", + "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", "dev": true, "requires": { "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4" } }, "@babel/traverse": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", - "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", + "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", "dev": true, "requires": { "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.15.0", - "@babel/types": "^7.15.0", + "@babel/generator": "^7.15.4", + "@babel/helper-function-name": "^7.15.4", + "@babel/helper-hoist-variables": "^7.15.4", + "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/parser": "^7.15.4", + "@babel/types": "^7.15.4", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -344,9 +344,9 @@ } }, "@babel/types": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", - "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "version": "7.15.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", + "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.14.9", @@ -393,10 +393,26 @@ "strip-json-comments": "^3.1.1" }, "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" } } }, @@ -505,9 +521,9 @@ } }, "@sindresorhus/is": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.1.tgz", - "integrity": "sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", + "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==" }, "@szmarczak/http-timer": { "version": "4.0.6", @@ -564,9 +580,9 @@ }, "dependencies": { "@types/node": { - "version": "16.7.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", - "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==" + "version": "16.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.1.tgz", + "integrity": "sha512-4/Z9DMPKFexZj/Gn3LylFgamNKHm4K3QDi0gz9B26Uk0c8izYf97B5fxfpspMNkWlFupblKM/nV8+NA9Ffvr+w==" } } }, @@ -606,24 +622,24 @@ "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" }, "@types/keyv": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.2.tgz", - "integrity": "sha512-/FvAK2p4jQOaJ6CGDHJTqZcUtbZe820qIeTg7o0Shg7drB4JHeL+V/dhSaly7NXx6u8eSee+r7coT+yuJEvDLg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz", + "integrity": "sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==", "requires": { "@types/node": "*" }, "dependencies": { "@types/node": { - "version": "16.7.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", - "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==" + "version": "16.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.1.tgz", + "integrity": "sha512-4/Z9DMPKFexZj/Gn3LylFgamNKHm4K3QDi0gz9B26Uk0c8izYf97B5fxfpspMNkWlFupblKM/nV8+NA9Ffvr+w==" } } }, "@types/lodash": { - "version": "4.14.174", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.174.tgz", - "integrity": "sha512-KMBLT6+g9qrGXpDt7ohjWPUD34WA/jasrtjTEHStF0NPdEwJ1N9SZ+4GaMVDeuk/y0+X5j9xFm6mNiXS7UoaLQ==", + "version": "4.14.175", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.175.tgz", + "integrity": "sha512-XmdEOrKQ8a1Y/yxQFOMbC47G/V2VDO1GvMRnl4O75M4GW/abC5tnfzadQYkqEveqRM1dEJGFFegfPNA2vvx2iw==", "dev": true }, "@types/minimatch": { @@ -665,9 +681,9 @@ }, "dependencies": { "@types/node": { - "version": "16.7.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", - "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==" + "version": "16.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.1.tgz", + "integrity": "sha512-4/Z9DMPKFexZj/Gn3LylFgamNKHm4K3QDi0gz9B26Uk0c8izYf97B5fxfpspMNkWlFupblKM/nV8+NA9Ffvr+w==" } } }, @@ -686,9 +702,9 @@ }, "dependencies": { "@types/node": { - "version": "16.7.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", - "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==" + "version": "16.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.1.tgz", + "integrity": "sha512-4/Z9DMPKFexZj/Gn3LylFgamNKHm4K3QDi0gz9B26Uk0c8izYf97B5fxfpspMNkWlFupblKM/nV8+NA9Ffvr+w==" } } }, @@ -860,9 +876,9 @@ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" }, "acorn-walk": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz", - "integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==" + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" }, "add-stream": { "version": "1.0.0", @@ -880,13 +896,13 @@ } }, "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "8.6.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", + "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", "requires": { "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", "uri-js": "^4.2.2" } }, @@ -896,9 +912,9 @@ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "4.3.0", @@ -1053,16 +1069,16 @@ "dev": true }, "browserslist": { - "version": "4.16.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz", - "integrity": "sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==", + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz", + "integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001251", - "colorette": "^1.3.0", - "electron-to-chromium": "^1.3.811", + "caniuse-lite": "^1.0.30001259", + "electron-to-chromium": "^1.3.846", "escalade": "^3.1.1", - "node-releases": "^1.1.75" + "nanocolors": "^0.1.5", + "node-releases": "^1.1.76" } }, "builtin-modules": { @@ -1121,9 +1137,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001252", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001252.tgz", - "integrity": "sha512-I56jhWDGMtdILQORdusxBOH+Nl/KgQSdDmpJezYddnAkVOmnoU8zwjTV9xAjMIYxr0iPreEAVylCGcmHCjfaOw==", + "version": "1.0.30001261", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz", + "integrity": "sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA==", "dev": true }, "chai": { @@ -1226,12 +1242,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "colorette": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", - "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==", - "dev": true - }, "commander": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.2.0.tgz", @@ -1278,9 +1288,9 @@ } }, "conventional-changelog-angular": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz", - "integrity": "sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==", + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", "dev": true, "requires": { "compare-func": "^2.0.0", @@ -1319,9 +1329,9 @@ } }, "conventional-changelog-conventionalcommits": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.0.tgz", - "integrity": "sha512-sj9tj3z5cnHaSJCYObA9nISf7eq/YjscLPoq6nmew4SiOjxqL2KRpK20fjnjVbpNDjJ2HR3MoVcWKXwbVvzS0A==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.1.tgz", + "integrity": "sha512-lzWJpPZhbM1R0PIzkwzGBCnAkH5RKJzJfFQZcl/D+2lsJxAwGnDKBqn/F4C1RD31GJNn8NuKWQzAZDAVXPp2Mw==", "dev": true, "requires": { "compare-func": "^2.0.0", @@ -1330,9 +1340,9 @@ } }, "conventional-changelog-core": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.3.tgz", - "integrity": "sha512-MwnZjIoMRL3jtPH5GywVNqetGILC7g6RQFvdb8LRU/fA/338JbeWAku3PZ8yQ+mtVRViiISqJlb0sOz0htBZig==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", "dev": true, "requires": { "add-stream": "^1.0.0", @@ -1439,9 +1449,9 @@ } }, "conventional-commits-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz", - "integrity": "sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.2.tgz", + "integrity": "sha512-Jr9KAKgqAkwXMRHjxDwO/zOCDKod1XdAESHAGuJX38iZ7ZzVti/tvVoysO0suMsdAObp9NQ2rHSsSbnAqZ5f5g==", "dev": true, "requires": { "JSONStream": "^1.0.4", @@ -1449,8 +1459,7 @@ "lodash": "^4.17.15", "meow": "^8.0.0", "split2": "^3.0.0", - "through2": "^4.0.0", - "trim-off-newlines": "^1.0.0" + "through2": "^4.0.0" } }, "convert-source-map": { @@ -1471,14 +1480,14 @@ } }, "core-js": { - "version": "3.16.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.4.tgz", - "integrity": "sha512-Tq4GVE6XCjE+hcyW6hPy0ofN3hwtLudz5ZRdrlCnsnD/xkm/PWQRudzYHiKgZKUcefV6Q57fhDHjZHJP5dpfSg==" + "version": "3.18.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.1.tgz", + "integrity": "sha512-vJlUi/7YdlCZeL6fXvWNaLUPh/id12WXj3MbkMw5uOyF0PfWPBNOCNbs53YqgrvtujLNlt9JQpruyIKkUZ+PKA==" }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "create-require": { @@ -1572,9 +1581,9 @@ } }, "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "deepmerge": { "version": "4.2.2", @@ -1632,9 +1641,9 @@ } }, "electron-to-chromium": { - "version": "1.3.822", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.822.tgz", - "integrity": "sha512-k7jG5oYYHxF4jx6PcqwHX3JVME/OjzolqOZiIogi9xtsfsmTjTdie4x88OakYFPEa8euciTgCCzvVNwvmjHb1Q==", + "version": "1.3.853", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.853.tgz", + "integrity": "sha512-W4U8n+U8I5/SUaFcqZgbKRmYZwcyEIQVBDf+j5QQK6xChjXnQD+wj248eGR9X4u+dDmDR//8vIfbu4PrdBBIoQ==", "dev": true }, "emoji-regex": { @@ -1733,6 +1742,17 @@ "@babel/highlight": "^7.10.4" } }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -1742,6 +1762,11 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" } } }, @@ -1769,18 +1794,18 @@ } }, "eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", + "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" } }, "eslint-plugin-unicorn": { - "version": "35.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-35.0.0.tgz", - "integrity": "sha512-FHsaO68tDPQILfs/mGF8eSISJp8RswR4FpUuBDnueK2wyEHC6zmsc9WxjYyldXoIsBuVmru6jQyFCbCWPoW/KQ==", + "version": "36.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-36.0.0.tgz", + "integrity": "sha512-xxN2vSctGWnDW6aLElm/LKIwcrmk6mdiEcW55Uv5krcrVcIFSWMmEgc/hwpemYfZacKZ5npFERGNz4aThsp1AA==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.14.9", @@ -2009,9 +2034,9 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fastq": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz", - "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "requires": { "reusify": "^1.0.4" } @@ -2113,107 +2138,23 @@ "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" }, "get-pkg-repo": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.1.2.tgz", - "integrity": "sha512-/FjamZL9cBYllEbReZkxF2IMh80d8TJoC4e3bmLNif8ibHw95aj0N/tzqK0kZz9eU/3w3dL6lF4fnnX/sDdW3A==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", "dev": true, "requires": { "@hutson/parse-repository-url": "^3.0.0", "hosted-git-info": "^4.0.0", - "meow": "^7.0.0", - "through2": "^2.0.0" + "through2": "^2.0.0", + "yargs": "^16.2.0" }, "dependencies": { - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, - "meow": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/meow/-/meow-7.1.1.tgz", - "integrity": "sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==", - "dev": true, - "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^2.5.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.13.1", - "yargs-parser": "^18.1.3" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - } - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "dependencies": { - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } - } - }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -2235,12 +2176,6 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -2259,22 +2194,6 @@ "readable-stream": "~2.3.6", "xtend": "~4.0.1" } - }, - "type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", - "dev": true - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } } } }, @@ -2559,9 +2478,9 @@ } }, "is-core-module": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", - "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.7.0.tgz", + "integrity": "sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==", "dev": true, "requires": { "has": "^1.0.3" @@ -2578,9 +2497,9 @@ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.2.tgz", + "integrity": "sha512-ZZTOjRcDjuAAAv2cTBQP/lL59ZTArx77+7UzHdWW/XB1mrfp7DEaVpKmZ0XIzx+M7AxfhKcqV+nMetUQmFifwg==", "requires": { "is-extglob": "^2.1.1" } @@ -2687,9 +2606,9 @@ "integrity": "sha512-TYfxx36xfl52Rf1LU9HyWSLGPdYLL+SQ8/E/0yVyKG8wCCDaSrhPap0vEdlsZWRaS6tnKKLPGiEJGiREVC8kxQ==" }, "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "json-stable-stringify": { "version": "1.0.1", @@ -2898,9 +2817,9 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "map-obj": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", - "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true }, "marked": { @@ -3217,6 +3136,12 @@ "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==" }, + "nanocolors": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz", + "integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==", + "dev": true + }, "nanoid": { "version": "3.1.25", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", @@ -3247,9 +3172,9 @@ } }, "node-releases": { - "version": "1.1.75", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", - "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==", + "version": "1.1.76", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", + "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==", "dev": true }, "nodemailer": { @@ -3693,9 +3618,9 @@ "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" }, "regexp-tree": { - "version": "0.1.23", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.23.tgz", - "integrity": "sha512-+7HWfb4Bvu8Rs2eQTUIpX9I/PlQkYOuTNbRpKLJlQpSgwSkzFYh+pUj0gtvglnOZLKB6YgnIgRuJ2/IlpL48qw==", + "version": "0.1.24", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz", + "integrity": "sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==", "dev": true }, "regexpp": { @@ -3731,9 +3656,9 @@ } }, "resolve-alpn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.0.tgz", - "integrity": "sha512-e4FNQs+9cINYMO5NMFc6kOUCdohjqFPSgMuwuZAOUWqrfWsen+Yjy5qZFkV5K7VO7tFSLKcUL97olkED7sCBHA==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" }, "resolve-from": { "version": "4.0.0", @@ -3902,13 +3827,13 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } }, "string_decoder": { @@ -3921,11 +3846,11 @@ } }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } }, "strip-bom": { @@ -3967,24 +3892,6 @@ "slice-ansi": "^4.0.0", "string-width": "^4.2.0", "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", - "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } } }, "temp-dir": { @@ -4063,12 +3970,6 @@ "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true }, - "trim-off-newlines": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", - "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", - "dev": true - }, "ts-json-schema-generator": { "version": "0.95.0", "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.95.0.tgz", @@ -4110,9 +4011,9 @@ }, "dependencies": { "acorn": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==" + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", + "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==" } } }, @@ -4297,9 +4198,9 @@ "integrity": "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==" }, "uglify-js": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.1.tgz", - "integrity": "sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.2.tgz", + "integrity": "sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A==", "dev": true, "optional": true }, diff --git a/package.json b/package.json index 573aaa58..c26767dc 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ }, "dependencies": { "@openstapps/logger": "0.7.0", - "ajv": "6.12.6", + "ajv": "8.6.3", "better-ajv-errors": "0.7.0", "chai": "4.3.4", "commander": "8.2.0", @@ -75,7 +75,7 @@ "@types/fs-extra": "9.0.13", "@types/glob": "7.1.4", "@types/json-schema": "7.0.9", - "@types/lodash": "4.14.174", + "@types/lodash": "4.14.175", "@types/mocha": "9.0.0", "@types/mustache": "4.1.2", "@types/node": "14.17.19", @@ -85,8 +85,8 @@ "conventional-changelog-cli": "2.1.1", "eslint-config-prettier": "8.3.0", "eslint-plugin-jsdoc": "36.1.0", - "eslint-plugin-prettier": "3.4.1", - "eslint-plugin-unicorn": "35.0.0", + "eslint-plugin-prettier": "4.0.0", + "eslint-plugin-unicorn": "36.0.0", "mocha": "9.1.2", "nock": "13.1.3", "prepend-file-cli": "1.0.6", diff --git a/src/schema.ts b/src/schema.ts index a5c4a93b..f49fa8d0 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -39,7 +39,7 @@ export class Converter { /** * Schema validator instance */ - private readonly schemaValidator: Ajv.Ajv; + private readonly schemaValidator: Ajv; /** * Create a new converter diff --git a/src/validate.ts b/src/validate.ts index f25cb156..ee8e5628 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -31,7 +31,7 @@ export class Validator { /** * JSON Schema Validator */ - private readonly ajv = Ajv({verbose: true, jsonPointers: true, extendRefs: true}); + private readonly ajv = new Ajv({verbose: true}); /** * Map of schema names to schemas @@ -127,7 +127,7 @@ function fromAjvResult( result: boolean | PromiseLike, schema: JSONSchema7, instance: unknown, - ajvInstance: Ajv.Ajv, + ajvInstance: Ajv, ): ValidationResult { // @ts-expect-error function can return void, which at runtime will be undefined. TS doesn't allow to assign void to undefined const betterErrorObject: betterAjvErrors.IOutputError[] | undefined = betterAjvErrors( @@ -142,7 +142,7 @@ function fromAjvResult( errors: ajvInstance.errors?.map((ajvError, index) => { const error: ValidationError = { - dataPath: ajvError.dataPath, + dataPath: ajvError.instancePath, instance: instance, // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain message: betterErrorObject?.[index].error!, From 0ca252b221a20186a3c76b57af29a54f877408ea Mon Sep 17 00:00:00 2001 From: openstappsbot Date: Tue, 14 Dec 2021 08:12:29 +0000 Subject: [PATCH 177/215] refactor: update all --- package-lock.json | 1746 ++++++++++++++++++++++++++------------------- package.json | 53 +- src/schema.ts | 3 +- src/types/re2.ts | 6 + src/validate.ts | 13 +- 5 files changed, 1060 insertions(+), 761 deletions(-) create mode 100644 src/types/re2.ts diff --git a/package-lock.json b/package-lock.json index 069aa60f..6d420b0c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,34 +5,34 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", + "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", "requires": { - "@babel/highlight": "^7.14.5" + "@babel/highlight": "^7.16.0" } }, "@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", + "version": "7.16.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz", + "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", "dev": true }, "@babel/core": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", - "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.5.tgz", + "integrity": "sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.5", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4", + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.5", + "@babel/helper-compilation-targets": "^7.16.3", + "@babel/helper-module-transforms": "^7.16.5", + "@babel/helpers": "^7.16.5", + "@babel/parser": "^7.16.5", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.5", + "@babel/types": "^7.16.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -56,9 +56,9 @@ } }, "@babel/eslint-parser": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.15.7.tgz", - "integrity": "sha512-yJkHyomClm6A2Xzb8pdAo4HzYMSXFn1O5zrCYvbFP0yQFvHueLedV8WiEno8yJOKStjUXzBZzJFeWQ7b3YMsqQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.16.5.tgz", + "integrity": "sha512-mUqYa46lgWqHKQ33Q6LNCGp/wPR3eqOYTUixHFsfrSQqRxH0+WOzca75iEjFr5RDGH1dDz622LaHhLOzOuQRUA==", "dev": true, "requires": { "eslint-scope": "^5.1.1", @@ -66,6 +66,28 @@ "semver": "^6.3.0" }, "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -75,12 +97,12 @@ } }, "@babel/generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.5.tgz", + "integrity": "sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==", "dev": true, "requires": { - "@babel/types": "^7.15.4", + "@babel/types": "^7.16.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, @@ -94,14 +116,14 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", + "version": "7.16.3", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz", + "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==", "dev": true, "requires": { - "@babel/compat-data": "^7.15.0", + "@babel/compat-data": "^7.16.0", "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", + "browserslist": "^4.17.5", "semver": "^6.3.0" }, "dependencies": { @@ -113,106 +135,85 @@ } } }, - "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "@babel/helper-environment-visitor": { + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.5.tgz", + "integrity": "sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-function-name": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz", + "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/types": "^7.16.0" } }, "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz", + "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", "dev": true, "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.0" } }, "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz", + "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", "dev": true, "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.0" } }, "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz", + "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==", "dev": true, "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.0" } }, "@babel/helper-module-transforms": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz", - "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.5.tgz", + "integrity": "sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-environment-visitor": "^7.16.5", + "@babel/helper-module-imports": "^7.16.0", + "@babel/helper-simple-access": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", - "dev": true, - "requires": { - "@babel/types": "^7.15.4" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.5", + "@babel/types": "^7.16.0" } }, "@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz", + "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==", "dev": true, "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.0" } }, "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz", + "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", "dev": true, "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.0" } }, "@babel/helper-validator-identifier": { @@ -227,22 +228,22 @@ "dev": true }, "@babel/helpers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.5.tgz", + "integrity": "sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==", "dev": true, "requires": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.5", + "@babel/types": "^7.16.0" } }, "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", + "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", "requires": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.15.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -294,43 +295,36 @@ } }, "@babel/parser": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", - "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", + "version": "7.16.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.6.tgz", + "integrity": "sha512-Gr86ujcNuPDnNOY8mi383Hvi8IYrJVJYuf3XcuBM/Dgd+bINn/7tHqsj+tKkoreMbmGsFLsltI/JJd8fOFWGDQ==", "dev": true }, - "@babel/runtime": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", - "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz", + "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==", "dev": true, "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" } }, "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "version": "7.16.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.5.tgz", + "integrity": "sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.5", + "@babel/helper-environment-visitor": "^7.16.5", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/parser": "^7.16.5", + "@babel/types": "^7.16.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -344,12 +338,12 @@ } }, "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", + "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.9", + "@babel/helper-validator-identifier": "^7.15.7", "to-fast-properties": "^2.0.0" } }, @@ -359,36 +353,36 @@ "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==" }, "@cspotcode/source-map-support": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.6.1.tgz", - "integrity": "sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", + "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", "requires": { "@cspotcode/source-map-consumer": "0.8.0" } }, "@es-joy/jsdoccomment": { - "version": "0.10.8", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.10.8.tgz", - "integrity": "sha512-3P1JiGL4xaR9PoTKUHa2N/LKwa2/eUdRqGwijMWWgBqbFEqJUVpmaOi2TcjcemrsRMgFLBzQCK4ToPhrSVDiFQ==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.13.0.tgz", + "integrity": "sha512-APVqbVPGOprb4BmjEnwbSzV+V2e/6DVIUnZG3zdW5uWXWkN0DKMCpiIy2TdBauoANKYO7RQpO8cTjIYNVSKwUA==", "dev": true, "requires": { - "comment-parser": "1.2.4", + "comment-parser": "1.3.0", "esquery": "^1.4.0", - "jsdoc-type-pratt-parser": "1.1.1" + "jsdoc-type-pratt-parser": "2.0.0" } }, "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz", + "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==", "requires": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", + "debug": "^4.3.2", + "espree": "^9.2.0", "globals": "^13.9.0", "ignore": "^4.0.6", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", + "js-yaml": "^4.1.0", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, @@ -416,20 +410,30 @@ } } }, + "@gar/promisify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz", + "integrity": "sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==" + }, "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz", + "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==", "requires": { - "@humanwhocodes/object-schema": "^1.2.0", + "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", "minimatch": "^3.0.4" } }, + "@humanwhocodes/momoa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-2.0.2.tgz", + "integrity": "sha512-mkMcsshJ7L17AyntqpyjLiGqhbG62w93B0StW+HSNVJ1WUeVFA2uPssV/GufEfDqN6lRKI1I+uDzBUw83C0VuA==" + }, "@humanwhocodes/object-schema": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" }, "@hutson/parse-repository-url": { "version": "3.0.2", @@ -460,63 +464,58 @@ "fastq": "^1.6.0" } }, + "@npmcli/fs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.0.tgz", + "integrity": "sha512-VhP1qZLXcrXRIaPoqb4YA55JQxLNF3jNR4T55IdOJa3+IFJKNYHtPvtXx8slmeMavj37vCzCfrqQM1vWLsYKLA==", + "requires": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, "@openstapps/configuration": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.28.1.tgz", - "integrity": "sha512-HuM/NNjTqlsqaXuUQnU5UuPPq+/zNiW3/LxVsO90rGc15NDFGQoKJ0VtG6rOIdD0SNH5MFxRyjI+2434/WmMVg==", + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.29.0.tgz", + "integrity": "sha512-jK2vmN+WK9Y44oQI9HqzBe3t4UbmVgHCwkeT19t7Oj9+DroENT5tQ7FLH1ZFaHqajlOv8Bp/cQtGlvhf1ZlFFA==", "dev": true, "requires": { - "@types/node": "16.9.1", - "@types/semver": "7.3.8", + "@types/node": "14.18.0", + "@types/semver": "7.3.9", "@types/yaml": "1.9.7", "chalk": "4.1.2", - "commander": "8.2.0", + "commander": "8.3.0", "semver": "7.3.5", "tslint": "6.1.3", "tslint-eslint-rules": "5.4.0", "yaml": "1.10.2" - }, - "dependencies": { - "@types/node": { - "version": "16.9.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz", - "integrity": "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==", - "dev": true - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } } }, "@openstapps/logger": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.7.0.tgz", - "integrity": "sha512-oVtHX7Y6VplOlsM3MUOUk1tRsZEfFn4F1vqtb/3K1Bpi2UQ0rMhiMwnLZCea+9yXQkRUi96CtmOgdhGBHQ2jLw==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.8.0.tgz", + "integrity": "sha512-OYdzNzel2YzEOAs0YdnbOfuMTdh+NY05tXicJ98TSAmVTfrQLc6I9QWdov495+z2PX7GJYijaCJ804VrTqJbxA==", "requires": { - "@types/node": "14.14.45", - "@types/nodemailer": "6.4.1", - "chalk": "4.1.1", - "flatted": "3.1.1", + "@types/node": "14.17.7", + "@types/nodemailer": "6.4.4", + "chalk": "4.1.2", + "flatted": "3.2.4", "moment": "2.29.1", - "nodemailer": "6.6.0" + "nodemailer": "6.7.2" }, "dependencies": { "@types/node": { - "version": "14.14.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.45.tgz", - "integrity": "sha512-DssMqTV9UnnoxDWu959sDLZzfvqCF0qDNRjaWeYSui9xkFe61kKo4l1TWNTQONpuXEm+gLMRvdlzvNHBamzmEw==" - }, - "flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==" + "version": "14.17.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.7.tgz", + "integrity": "sha512-SYTdMaW47se8499q8m0fYKZZRlmq0RaRv6oYmlVm6DUm31l0fhOl1D03X8hGxohCKTI2Bg6w7W0TiYB51aJzag==" } } }, @@ -534,20 +533,25 @@ } }, "@testdeck/core": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@testdeck/core/-/core-0.1.2.tgz", - "integrity": "sha512-rggcFQqSejqtkqK1JcwZE/utD4oNsM1JMHwrYxH1PKYx0uL2cMs0Q4zMVLKw0oacIASCfkIUSdXx7rDNdCDlvA==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@testdeck/core/-/core-0.2.0.tgz", + "integrity": "sha512-2BAzKS18I+nFUb9kH2zK7Bs1CBD0WqaYikaLm+gRaOiQKYa8flvVzqlUGwjyOMmD16JFksgxYml4/7xm4tfEYA==", "dev": true }, "@testdeck/mocha": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@testdeck/mocha/-/mocha-0.1.2.tgz", - "integrity": "sha512-yn3OkFUlO9EkdBkDV08bPV0r26U2FC/8KvU9FdiS0ligOsjB5Ry4sp3eUQJAFxjrGJBpih0t7rZ/GzdsgCv/EQ==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@testdeck/mocha/-/mocha-0.2.0.tgz", + "integrity": "sha512-xudmoPiytaV3flmPZnRO02TPsH31IJuLkGGIX9ftOmditOgA57RK9tYDHNpanA9HxC6kQLP97Tut0RfILENn7w==", "dev": true, "requires": { - "@testdeck/core": "^0.1.2" + "@testdeck/core": "^0.2.0" } }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + }, "@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", @@ -580,16 +584,16 @@ }, "dependencies": { "@types/node": { - "version": "16.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.1.tgz", - "integrity": "sha512-4/Z9DMPKFexZj/Gn3LylFgamNKHm4K3QDi0gz9B26Uk0c8izYf97B5fxfpspMNkWlFupblKM/nV8+NA9Ffvr+w==" + "version": "16.11.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.13.tgz", + "integrity": "sha512-eUXZzHLHoZqj1frtUetNkUetYoJ6X55UmrVnFD4DMhVeAmwLjniZhtBmsRiemQh4uq4G3vUra/Ws/hs9vEvL3Q==" } } }, "@types/chai": { - "version": "4.2.22", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.22.tgz", - "integrity": "sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", + "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==", "dev": true }, "@types/fs-extra": { @@ -602,9 +606,9 @@ } }, "@types/glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", "dev": true, "requires": { "@types/minimatch": "*", @@ -630,16 +634,16 @@ }, "dependencies": { "@types/node": { - "version": "16.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.1.tgz", - "integrity": "sha512-4/Z9DMPKFexZj/Gn3LylFgamNKHm4K3QDi0gz9B26Uk0c8izYf97B5fxfpspMNkWlFupblKM/nV8+NA9Ffvr+w==" + "version": "16.11.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.13.tgz", + "integrity": "sha512-eUXZzHLHoZqj1frtUetNkUetYoJ6X55UmrVnFD4DMhVeAmwLjniZhtBmsRiemQh4uq4G3vUra/Ws/hs9vEvL3Q==" } } }, "@types/lodash": { - "version": "4.14.175", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.175.tgz", - "integrity": "sha512-XmdEOrKQ8a1Y/yxQFOMbC47G/V2VDO1GvMRnl4O75M4GW/abC5tnfzadQYkqEveqRM1dEJGFFegfPNA2vvx2iw==", + "version": "4.14.178", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", + "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==", "dev": true }, "@types/minimatch": { @@ -667,23 +671,23 @@ "dev": true }, "@types/node": { - "version": "14.17.19", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.19.tgz", - "integrity": "sha512-jjYI6NkyfXykucU6ELEoT64QyKOdvaA6enOqKtP4xUsGY0X0ZUZz29fUmrTRo+7v7c6TgDu82q3GHHaCEkqZwA==", + "version": "14.18.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.0.tgz", + "integrity": "sha512-0GeIl2kmVMXEnx8tg1SlG6Gg8vkqirrW752KqolYo1PHevhhZN3bhJ67qHj+bQaINhX0Ra3TlWwRvMCd9iEfNQ==", "dev": true }, "@types/nodemailer": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.1.tgz", - "integrity": "sha512-8081UY/0XTTDpuGqCnDc8IY+Q3DSg604wB3dBH0CaZlj4nZWHWuxtZ3NRZ9c9WUrz1Vfm6wioAUnqL3bsh49uQ==", + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.4.tgz", + "integrity": "sha512-Ksw4t7iliXeYGvIQcSIgWQ5BLuC/mljIEbjf615svhZL10PE9t+ei8O9gDaD3FPCasUJn9KTLwz2JFJyiiyuqw==", "requires": { "@types/node": "*" }, "dependencies": { "@types/node": { - "version": "16.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.1.tgz", - "integrity": "sha512-4/Z9DMPKFexZj/Gn3LylFgamNKHm4K3QDi0gz9B26Uk0c8izYf97B5fxfpspMNkWlFupblKM/nV8+NA9Ffvr+w==" + "version": "16.11.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.13.tgz", + "integrity": "sha512-eUXZzHLHoZqj1frtUetNkUetYoJ6X55UmrVnFD4DMhVeAmwLjniZhtBmsRiemQh4uq4G3vUra/Ws/hs9vEvL3Q==" } } }, @@ -702,9 +706,9 @@ }, "dependencies": { "@types/node": { - "version": "16.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.1.tgz", - "integrity": "sha512-4/Z9DMPKFexZj/Gn3LylFgamNKHm4K3QDi0gz9B26Uk0c8izYf97B5fxfpspMNkWlFupblKM/nV8+NA9Ffvr+w==" + "version": "16.11.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.13.tgz", + "integrity": "sha512-eUXZzHLHoZqj1frtUetNkUetYoJ6X55UmrVnFD4DMhVeAmwLjniZhtBmsRiemQh4uq4G3vUra/Ws/hs9vEvL3Q==" } } }, @@ -719,9 +723,9 @@ } }, "@types/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-D/2EJvAlCEtYFEYmmlGwbGXuK886HzyCc3nZX/tkFTQdEU8jZDAgiv08P162yB17y4ZXZoq7yFAnW4GDBb9Now==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.9.tgz", + "integrity": "sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==", "dev": true }, "@types/yaml": { @@ -734,17 +738,17 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "4.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.32.0.tgz", - "integrity": "sha512-+OWTuWRSbWI1KDK8iEyG/6uK2rTm3kpS38wuVifGUTDB6kjEuNrzBI1MUtxnkneuWG/23QehABe2zHHrj+4yuA==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.7.0.tgz", + "integrity": "sha512-8RTGBpNn5a9M628wBPrCbJ+v3YTEOE2qeZb7TDkGKTDXSj36KGRg92SpFFaR/0S3rSXQxM0Og/kV9EyadsYSBg==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "4.32.0", - "@typescript-eslint/scope-manager": "4.32.0", - "debug": "^4.3.1", + "@typescript-eslint/experimental-utils": "5.7.0", + "@typescript-eslint/scope-manager": "5.7.0", + "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", - "regexpp": "^3.1.0", + "regexpp": "^3.2.0", "semver": "^7.3.5", "tsutils": "^3.21.0" }, @@ -761,69 +765,76 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "4.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.32.0.tgz", - "integrity": "sha512-WLoXcc+cQufxRYjTWr4kFt0DyEv6hDgSaFqYhIzQZ05cF+kXfqXdUh+//kgquPJVUBbL3oQGKQxwPbLxHRqm6A==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.7.0.tgz", + "integrity": "sha512-u57eZ5FbEpzN5kSjmVrSesovWslH2ZyNPnaXQMXWgH57d5+EVHEt76W75vVuI9qKZ5BMDKNfRN+pxcPEjQjb2A==", "dev": true, "requires": { - "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.32.0", - "@typescript-eslint/types": "4.32.0", - "@typescript-eslint/typescript-estree": "4.32.0", + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.7.0", + "@typescript-eslint/types": "5.7.0", + "@typescript-eslint/typescript-estree": "5.7.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, "dependencies": { - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { - "eslint-visitor-keys": "^2.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true } } }, "@typescript-eslint/parser": { - "version": "4.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.32.0.tgz", - "integrity": "sha512-lhtYqQ2iEPV5JqV7K+uOVlPePjClj4dOw7K4/Z1F2yvjIUvyr13yJnDzkK6uon4BjHYuHy3EG0c2Z9jEhFk56w==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.7.0.tgz", + "integrity": "sha512-m/gWCCcS4jXw6vkrPQ1BjZ1vomP01PArgzvauBqzsoZ3urLbsRChexB8/YV8z9HwE3qlJM35FxfKZ1nfP/4x8g==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.32.0", - "@typescript-eslint/types": "4.32.0", - "@typescript-eslint/typescript-estree": "4.32.0", - "debug": "^4.3.1" + "@typescript-eslint/scope-manager": "5.7.0", + "@typescript-eslint/types": "5.7.0", + "@typescript-eslint/typescript-estree": "5.7.0", + "debug": "^4.3.2" } }, "@typescript-eslint/scope-manager": { - "version": "4.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.32.0.tgz", - "integrity": "sha512-DK+fMSHdM216C0OM/KR1lHXjP1CNtVIhJ54kQxfOE6x8UGFAjha8cXgDMBEIYS2XCYjjCtvTkjQYwL3uvGOo0w==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.7.0.tgz", + "integrity": "sha512-7mxR520DGq5F7sSSgM0HSSMJ+TFUymOeFRMfUfGFAVBv8BR+Jv1vHgAouYUvWRZeszVBJlLcc9fDdktxb5kmxA==", "dev": true, "requires": { - "@typescript-eslint/types": "4.32.0", - "@typescript-eslint/visitor-keys": "4.32.0" + "@typescript-eslint/types": "5.7.0", + "@typescript-eslint/visitor-keys": "5.7.0" } }, "@typescript-eslint/types": { - "version": "4.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.32.0.tgz", - "integrity": "sha512-LE7Z7BAv0E2UvqzogssGf1x7GPpUalgG07nGCBYb1oK4mFsOiFC/VrSMKbZQzFJdN2JL5XYmsx7C7FX9p9ns0w==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.7.0.tgz", + "integrity": "sha512-5AeYIF5p2kAneIpnLFve8g50VyAjq7udM7ApZZ9JYjdPjkz0LvODfuSHIDUVnIuUoxafoWzpFyU7Sqbxgi79mA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.32.0.tgz", - "integrity": "sha512-tRYCgJ3g1UjMw1cGG8Yn1KzOzNlQ6u1h9AmEtPhb5V5a1TmiHWcRyF/Ic+91M4f43QeChyYlVTcf3DvDTZR9vw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.7.0.tgz", + "integrity": "sha512-aO1Ql+izMrTnPj5aFFlEJkpD4jRqC4Gwhygu2oHK2wfVQpmOPbyDSveJ+r/NQo+PWV43M6uEAeLVbTi09dFLhg==", "dev": true, "requires": { - "@typescript-eslint/types": "4.32.0", - "@typescript-eslint/visitor-keys": "4.32.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", + "@typescript-eslint/types": "5.7.0", + "@typescript-eslint/visitor-keys": "5.7.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", "semver": "^7.3.5", "tsutils": "^3.21.0" }, @@ -840,13 +851,13 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.32.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.32.0.tgz", - "integrity": "sha512-e7NE0qz8W+atzv3Cy9qaQ7BTLwWsm084Z0c4nIO2l3Bp6u9WIgdqCgyPyV5oSPDMIW3b20H59OOCmVk3jw3Ptw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.7.0.tgz", + "integrity": "sha512-hdohahZ4lTFcglZSJ3DGdzxQHBSxsLVqHzkiOmKi7xVAWC4y2c1bIMKmPJSrA4aOEoRUPOKQ87Y/taC7yVHpFg==", "dev": true, "requires": { - "@typescript-eslint/types": "4.32.0", - "eslint-visitor-keys": "^2.0.0" + "@typescript-eslint/types": "5.7.0", + "eslint-visitor-keys": "^3.0.0" } }, "@ungap/promise-all-settled": { @@ -865,10 +876,15 @@ "through": ">=2.2.7 <3" } }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", + "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==" }, "acorn-jsx": { "version": "5.3.2", @@ -886,6 +902,24 @@ "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", "dev": true }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", + "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + } + }, "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -896,9 +930,9 @@ } }, "ajv": { - "version": "8.6.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", - "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", + "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -934,18 +968,29 @@ "picomatch": "^2.0.4" } }, + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, "arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "array-ify": { "version": "1.0.0", @@ -969,74 +1014,21 @@ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" - }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "better-ajv-errors": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-0.7.0.tgz", - "integrity": "sha512-6GtJQ/AwVSo1pI1MDQU/yg8O86gMsrt5RKtELo08Epa2zWJPCOK85v/O8/U5A9JkWmwRkE16JpSgssKSx6moog==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-1.1.2.tgz", + "integrity": "sha512-xpFTC7JqkSGkvchJlH4IFtmwZ5SXomh0FqbEVEHRcXl/aiHh9nM/dnNnGTlxjrFCjWOVLLWpcNW1Hcrzs55/lg==", "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/runtime": "^7.0.0", - "chalk": "^2.4.1", - "core-js": "^3.2.1", - "json-to-ast": "^2.0.3", - "jsonpointer": "^4.0.1", - "leven": "^3.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } + "@babel/code-frame": "^7.16.0", + "@humanwhocodes/momoa": "^2.0.2", + "chalk": "^4.1.2", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0 < 4" } }, "binary-extensions": { @@ -1069,16 +1061,16 @@ "dev": true }, "browserslist": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz", - "integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001259", - "electron-to-chromium": "^1.3.846", + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", "escalade": "^3.1.1", - "nanocolors": "^0.1.5", - "node-releases": "^1.1.76" + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" } }, "builtin-modules": { @@ -1087,6 +1079,31 @@ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true }, + "cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "requires": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + } + }, "cacheable-lookup": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", @@ -1137,9 +1154,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001261", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001261.tgz", - "integrity": "sha512-vM8D9Uvp7bHIN0fZ2KQ4wnmYFpJo/Etb4Vwsuc+ka0tfGDHvOPrFm6S/7CCNLSOkAUjenT2HnUPESdOIL91FaA==", + "version": "1.0.30001286", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001286.tgz", + "integrity": "sha512-zaEMRH6xg8ESMi2eQ3R4eZ5qw/hJiVsO/HlLwniIwErij0JDr9P+8V4dtx1l+kLq6j3yy8l8W4fst1lBnat5wQ==", "dev": true }, "chai": { @@ -1156,9 +1173,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1185,10 +1202,15 @@ "readdirp": "~3.6.0" } }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + }, "ci-info": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", - "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", "dev": true }, "clean-regexp": { @@ -1224,11 +1246,6 @@ "mimic-response": "^1.0.0" } }, - "code-error-fragment": { - "version": "0.0.230", - "resolved": "https://registry.npmjs.org/code-error-fragment/-/code-error-fragment-0.0.230.tgz", - "integrity": "sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw==" - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1242,15 +1259,20 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + }, "commander": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.2.0.tgz", - "integrity": "sha512-LLKxDvHeL91/8MIyTAD5BFMNtoIwztGPMiM/7Bl8rIPmHCZXRxmSWr91h57dpOpnQ6jIUqEWdXE/uBYMfiVZDA==" + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" }, "comment-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.2.4.tgz", - "integrity": "sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz", + "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==", "dev": true }, "compare-func": { @@ -1268,6 +1290,11 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, "conventional-changelog": { "version": "3.1.24", "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.24.tgz", @@ -1449,9 +1476,9 @@ } }, "conventional-commits-parser": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.2.tgz", - "integrity": "sha512-Jr9KAKgqAkwXMRHjxDwO/zOCDKod1XdAESHAGuJX38iZ7ZzVti/tvVoysO0suMsdAObp9NQ2rHSsSbnAqZ5f5g==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.3.tgz", + "integrity": "sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==", "dev": true, "requires": { "JSONStream": "^1.0.4", @@ -1479,11 +1506,6 @@ } } }, - "core-js": { - "version": "3.18.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.1.tgz", - "integrity": "sha512-vJlUi/7YdlCZeL6fXvWNaLUPh/id12WXj3MbkMw5uOyF0PfWPBNOCNbs53YqgrvtujLNlt9JQpruyIKkUZ+PKA==" - }, "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -1518,20 +1540,17 @@ "dev": true }, "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "requires": { "ms": "2.1.2" } }, "decamelize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", - "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", - "requires": { - "xregexp": "4.0.0" - } + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz", + "integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==" }, "decamelize-keys": { "version": "1.1.0", @@ -1610,6 +1629,16 @@ "slash": "^3.0.0" } }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -1641,9 +1670,9 @@ } }, "electron-to-chromium": { - "version": "1.3.853", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.853.tgz", - "integrity": "sha512-W4U8n+U8I5/SUaFcqZgbKRmYZwcyEIQVBDf+j5QQK6xChjXnQD+wj248eGR9X4u+dDmDR//8vIfbu4PrdBBIoQ==", + "version": "1.4.18", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.18.tgz", + "integrity": "sha512-i7nKjGGBE1+YUIbfLObA1EZPmN7J1ITEllbhusDk+KIk6V6gUxN9PFe36v+Sd+8Cg0k3cgUv9lQhQZalr8rggw==", "dev": true }, "emoji-regex": { @@ -1651,6 +1680,15 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + } + }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -1667,6 +1705,16 @@ "ansi-colors": "^4.1.1" } }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" + }, + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -1688,36 +1736,35 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.4.1.tgz", + "integrity": "sha512-TxU/p7LB1KxQ6+7aztTnO7K0i+h0tDi81YRY9VzB6Id71kNz+fFYnf5HD5UOQmxkzcoa0TlVZf9dpMtUv0GpWg==", "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", + "@eslint/eslintrc": "^1.0.5", + "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", - "debug": "^4.0.1", + "debug": "^4.3.2", "doctrine": "^3.0.0", "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", + "eslint-scope": "^7.1.0", + "eslint-utils": "^3.0.0", + "eslint-visitor-keys": "^3.1.0", + "espree": "^9.2.0", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", + "glob-parent": "^6.0.1", "globals": "^13.6.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", @@ -1725,23 +1772,14 @@ "natural-compare": "^1.4.0", "optionator": "^0.9.1", "progress": "^2.0.0", - "regexpp": "^3.1.0", + "regexpp": "^3.2.0", "semver": "^7.2.1", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "requires": { - "@babel/highlight": "^7.10.4" - } - }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -1758,6 +1796,14 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "requires": { + "is-glob": "^4.0.3" + } + }, "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", @@ -1777,20 +1823,28 @@ "dev": true }, "eslint-plugin-jsdoc": { - "version": "36.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-36.1.0.tgz", - "integrity": "sha512-Qpied2AJCQcScxfzTObLKRiP5QgLXjMU/ITjBagEV5p2Q/HpumD1EQtazdRYdjDSwPmXhwOl2yquwOGQ4HOJNw==", + "version": "37.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.2.0.tgz", + "integrity": "sha512-ca7s/DD1mMObZQ2Y0n0DO/KnFV+FqCX6ztir8pcSuylg3GGCREIisn36P/0cRySuWW/7Y7MNCuUDqtKdgLPU7Q==", "dev": true, "requires": { - "@es-joy/jsdoccomment": "0.10.8", - "comment-parser": "1.2.4", - "debug": "^4.3.2", + "@es-joy/jsdoccomment": "0.13.0", + "comment-parser": "1.3.0", + "debug": "^4.3.3", + "escape-string-regexp": "^4.0.0", "esquery": "^1.4.0", - "jsdoc-type-pratt-parser": "^1.1.1", - "lodash": "^4.17.21", + "jsdoc-type-pratt-parser": "^2.0.0", "regextras": "^0.8.0", "semver": "^7.3.5", "spdx-expression-parse": "^3.0.1" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + } } }, "eslint-plugin-prettier": { @@ -1803,9 +1857,9 @@ } }, "eslint-plugin-unicorn": { - "version": "36.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-36.0.0.tgz", - "integrity": "sha512-xxN2vSctGWnDW6aLElm/LKIwcrmk6mdiEcW55Uv5krcrVcIFSWMmEgc/hwpemYfZacKZ5npFERGNz4aThsp1AA==", + "version": "39.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-39.0.0.tgz", + "integrity": "sha512-fd5RK2FtYjGcIx3wra7csIE/wkkmBo22T1gZtRTsLr1Mb+KsFKJ+JOdSqhHXQUrI/JTs/Mon64cEYzTgSCbltw==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.14.9", @@ -1813,24 +1867,18 @@ "clean-regexp": "^1.0.0", "eslint-template-visitor": "^2.3.2", "eslint-utils": "^3.0.0", + "esquery": "^1.4.0", + "indent-string": "4", "is-builtin-module": "^3.1.0", "lodash": "^4.17.21", "pluralize": "^8.0.0", "read-pkg-up": "^7.0.1", "regexp-tree": "^0.1.23", "safe-regex": "^2.1.1", - "semver": "^7.3.5" + "semver": "^7.3.5", + "strip-indent": "^3.0.0" }, "dependencies": { - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - } - }, "hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", @@ -1897,12 +1945,12 @@ } }, "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", + "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", "requires": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "estraverse": "^5.2.0" } }, "eslint-template-visitor": { @@ -1916,49 +1964,51 @@ "eslint-visitor-keys": "^2.0.0", "esquery": "^1.3.1", "multimap": "^1.1.0" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "requires": { - "eslint-visitor-keys": "^1.1.0" }, "dependencies": { "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + } + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "requires": { + "eslint-visitor-keys": "^2.0.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" } } }, "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz", + "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==" }, "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.2.0.tgz", + "integrity": "sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==", "requires": { - "acorn": "^7.4.0", + "acorn": "^8.6.0", "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - } + "eslint-visitor-keys": "^3.1.0" } }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true }, "esquery": { "version": "1.4.0", @@ -1966,13 +2016,6 @@ "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "requires": { "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - } } }, "esrecurse": { @@ -1981,19 +2024,12 @@ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "requires": { "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - } } }, "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" }, "esutils": { "version": "2.0.3", @@ -2083,9 +2119,9 @@ } }, "flatted": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", - "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==" + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", + "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==" }, "fs-extra": { "version": "10.0.0", @@ -2097,6 +2133,14 @@ "universalify": "^2.0.0" } }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.0" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2120,6 +2164,22 @@ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, + "gauge": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.0.tgz", + "integrity": "sha512-F8sU45yQpjQjxKkm1UOAhf0U/O0aFt//Fl7hsrNVto+patMHjs7dPI9mFOGUKbhrgKm0S3EjW3scMFuQmWSROw==", + "requires": { + "ansi-regex": "^5.0.1", + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + } + }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -2277,9 +2337,9 @@ } }, "globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", + "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", "requires": { "type-fest": "^0.20.2" } @@ -2298,16 +2358,16 @@ } }, "got": { - "version": "11.8.2", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.2.tgz", - "integrity": "sha512-D0QywKgIe30ODs+fm8wMZiAcZjypcCodPNuMz5H9Mny7RJ+IjJ10BdmGW7OM7fHXP+O7r6ZwapQ/YQmMSvB0UQ==", + "version": "11.8.3", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz", + "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==", "requires": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", "@types/cacheable-request": "^6.0.1", "@types/responselike": "^1.0.0", "cacheable-lookup": "^5.0.3", - "cacheable-request": "^7.0.1", + "cacheable-request": "^7.0.2", "decompress-response": "^6.0.0", "http2-wrapper": "^1.0.0-beta.5.2", "lowercase-keys": "^2.0.0", @@ -2320,11 +2380,6 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" - }, "growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", @@ -2364,6 +2419,11 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -2384,6 +2444,16 @@ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, "http2-wrapper": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", @@ -2393,18 +2463,44 @@ "resolve-alpn": "^1.0.0" } }, - "humanize-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/humanize-string/-/humanize-string-2.1.0.tgz", - "integrity": "sha512-sQ+hqmxyXW8Cj7iqxcQxD7oSy3+AXnIZXdUF9lQMkzaG8dtbKAB8U7lCtViMnwQ+MpdCKsO2Kiij3G6UUXq/Xg==", + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", "requires": { - "decamelize": "^2.0.0" + "agent-base": "6", + "debug": "4" + } + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "requires": { + "ms": "^2.0.0" + } + }, + "humanize-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/humanize-string/-/humanize-string-3.0.0.tgz", + "integrity": "sha512-jhWD2GAZRMELz0IEIfqpEdi0M4CMQF1GpJpBYIopFN6wT+78STiujfQTKcKqZzOJgUkIgJSo2xFeHdsg922JZQ==", + "requires": { + "decamelize": "^6.0.0" + } + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", + "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==" }, "import-fresh": { "version": "3.3.0", @@ -2425,6 +2521,11 @@ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -2445,6 +2546,16 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, + "install-artifact-from-github": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.2.0.tgz", + "integrity": "sha512-3OxCPcY55XlVM3kkfIpeCgmoSKnMsz2A3Dbhsq0RXpIknKQmrX1YiznCeW9cD2ItFmDxziA3w6Eg8d80AoL3oA==" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -2478,9 +2589,9 @@ } }, "is-core-module": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.7.0.tgz", - "integrity": "sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", "dev": true, "requires": { "has": "^1.0.3" @@ -2497,13 +2608,18 @@ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-glob": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.2.tgz", - "integrity": "sha512-ZZTOjRcDjuAAAv2cTBQP/lL59ZTArx77+7UzHdWW/XB1mrfp7DEaVpKmZ0XIzx+M7AxfhKcqV+nMetUQmFifwg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "requires": { "is-extglob": "^2.1.1" } }, + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=" + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -2563,18 +2679,17 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" } }, "jsdoc-type-pratt-parser": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.1.1.tgz", - "integrity": "sha512-uelRmpghNwPBuZScwgBG/OzodaFk5RbO5xaivBdsAY70icWfShwZ7PCMO0x1zSkOa8T1FzHThmrdoyg/0AwV5g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.0.0.tgz", + "integrity": "sha512-sUuj2j48wxrEpbFjDp1sAesAxPiLT+z0SWVmMafyIINs6Lj5gIPKh3VrkBZu4E/Dv+wHpOot0m6H8zlHQjwqeQ==", "dev": true }, "jsesc": { @@ -2601,23 +2716,15 @@ "dev": true }, "json-schema": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.3.0.tgz", - "integrity": "sha512-TYfxx36xfl52Rf1LU9HyWSLGPdYLL+SQ8/E/0yVyKG8wCCDaSrhPap0vEdlsZWRaS6tnKKLPGiEJGiREVC8kxQ==" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "requires": { - "jsonify": "~0.0.0" - } - }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", @@ -2629,15 +2736,6 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, - "json-to-ast": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json-to-ast/-/json-to-ast-2.1.0.tgz", - "integrity": "sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ==", - "requires": { - "code-error-fragment": "0.0.230", - "grapheme-splitter": "^1.0.4" - } - }, "json5": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", @@ -2661,11 +2759,6 @@ "universalify": "^2.0.0" } }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" - }, "jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -2673,14 +2766,14 @@ "dev": true }, "jsonpointer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", - "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.0.tgz", + "integrity": "sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==" }, "keyv": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz", - "integrity": "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", + "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", "requires": { "json-buffer": "3.0.1" } @@ -2706,9 +2799,9 @@ } }, "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, "load-json-file": { @@ -2755,11 +2848,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" - }, "lodash.ismatch": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", @@ -2777,11 +2865,6 @@ "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", "dev": true }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=" - }, "log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -2816,6 +2899,29 @@ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, + "make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + } + }, "map-obj": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", @@ -2823,9 +2929,9 @@ "dev": true }, "marked": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/marked/-/marked-3.0.4.tgz", - "integrity": "sha512-jBo8AOayNaEcvBhNobg6/BLhdsK3NvnKWJg33MAAPbvTWiG4QBn9gpW1+7RssrKu4K1dKlN+0goVQwV41xEfOA==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/marked/-/marked-3.0.8.tgz", + "integrity": "sha512-0gVrAjo5m0VZSJb4rpL59K1unJAMb/hm8HRXqasD8VeC8m91ytDPMritgFSlKonfdt+rRYYpP/JfLxgIX8yoSw==", "dev": true }, "meow": { @@ -2967,19 +3073,75 @@ "kind-of": "^6.0.3" } }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, + "minipass": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", "requires": { - "minimist": "^1.2.5" + "yallist": "^4.0.0" } }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "requires": { + "encoding": "^0.1.12", + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, "mocha": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.2.tgz", - "integrity": "sha512-ta3LtJ+63RIBP03VBjMGtSqbe6cWXRejF9SyM9Zyli1CKZJZ+vfCTj3oW24V7wAphMJdpOFLoMI3hjJ1LWbs0w==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.3.tgz", + "integrity": "sha512-Xcpl9FqXOAYqI3j79pEtHBBnQgVXIhpULjGQa7DVb0Po+VzmSIK9kanAiWLHoRR/dbZ2qpdPshuXr8l1VaHCzw==", "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", @@ -3008,11 +3170,22 @@ "yargs-unparser": "2.0.0" }, "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } }, "diff": { "version": "5.0.0", @@ -3050,15 +3223,6 @@ "path-is-absolute": "^1.0.0" } }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -3136,11 +3300,10 @@ "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==" }, - "nanocolors": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz", - "integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==", - "dev": true + "nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" }, "nanoid": { "version": "3.1.25", @@ -3153,6 +3316,11 @@ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", @@ -3160,9 +3328,9 @@ "dev": true }, "nock": { - "version": "13.1.3", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.1.3.tgz", - "integrity": "sha512-YKj0rKQWMGiiIO+Y65Ut8OEgYM3PplLU2+GAhnPmqZdBd6z5IskgdBqWmjzA6lH3RF0S2a3wiAlrMOF5Iv2Jeg==", + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.1.tgz", + "integrity": "sha512-CoHAabbqq/xZEknubuyQMjq6Lfi5b7RtK6SoNK6m40lebGp3yiMagWtIoYaw2s9sISD7wPuCfwFpivVHX/35RA==", "dev": true, "requires": { "debug": "^4.1.0", @@ -3171,16 +3339,41 @@ "propagate": "^2.0.0" } }, + "node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + } + }, "node-releases": { - "version": "1.1.76", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", - "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", "dev": true }, "nodemailer": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.6.0.tgz", - "integrity": "sha512-ikSMDU1nZqpo2WUPE0wTTw/NGGImTkwpJKDIFPZT+YvvR9Sj+ze5wzu95JHkBMglQLoG2ITxU21WukCC/XsFkg==" + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.2.tgz", + "integrity": "sha512-Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q==" + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "requires": { + "abbrev": "1" + } }, "normalize-package-data": { "version": "3.0.3", @@ -3205,6 +3398,17 @@ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" }, + "npmlog": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.0.tgz", + "integrity": "sha512-03ppFRGlsyUaQFbGC2C8QWJN/C/K7PsfyD9aQdhVKAQIH4sQBc8WASqFBP7O+Ut4d2oo5LoeoboB3cGdBZSp6Q==", + "requires": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.0", + "set-blocking": "^2.0.0" + } + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -3213,36 +3417,10 @@ "wrappy": "1" } }, - "onigasm": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/onigasm/-/onigasm-2.2.5.tgz", - "integrity": "sha512-F+th54mPc0l1lp1ZcFMyL/jTs2Tlq4SqIHKIXGZOR/VkHkF9A7Fr5rRr5+ZG/lWeRsyrClLYRq7s/yFQ/XhWCA==", - "dev": true, - "requires": { - "lru-cache": "^5.1.1" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, "openapi-types": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-9.3.0.tgz", - "integrity": "sha512-sR23YjmuwDSMsQVZDHbV9mPgi0RyniQlqR0AQxTC2/F3cpSjRFMH3CFPjoWvNqhC4OxPkDYNb2l8Mc1Me6D/KQ==" + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-10.0.0.tgz", + "integrity": "sha512-Y8xOCT2eiKGYDzMW9R4x5cmfc3vGaaI4EL2pwhDmodWw1HlK18YcZ4uJxc7Rdp7/gGzAygzH9SXr6GKYIXbRcQ==" }, "optionator": { "version": "0.9.1", @@ -3352,6 +3530,12 @@ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, "picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", @@ -3399,9 +3583,9 @@ } }, "prettier": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", - "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", + "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", "dev": true }, "prettier-linter-helpers": { @@ -3424,6 +3608,20 @@ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, "propagate": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", @@ -3469,6 +3667,16 @@ "safe-buffer": "^5.1.0" } }, + "re2": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/re2/-/re2-1.17.1.tgz", + "integrity": "sha512-TrhxVzakyO/WJsErkc01zjlEiDLCuuRuddbVi2I8YasIbh6MEJfkRoajBRj+ggm00gnGI2EMemE9GrlKrgUZ8Q==", + "requires": { + "install-artifact-from-github": "^1.2.0", + "nan": "^2.15.0", + "node-gyp": "^8.4.1" + } + }, "read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", @@ -3586,7 +3794,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -3612,11 +3819,6 @@ "strip-indent": "^3.0.0" } }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - }, "regexp-tree": { "version": "0.1.24", "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.24.tgz", @@ -3673,6 +3875,11 @@ "lowercase-keys": "^2.0.0" } }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" + }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -3697,8 +3904,7 @@ "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "safe-regex": { "version": "2.1.1", @@ -3709,6 +3915,17 @@ "regexp-tree": "~0.1.1" } }, + "safe-stable-stringify": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz", + "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "optional": true + }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -3726,6 +3943,11 @@ "randombytes": "^2.1.0" } }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -3740,29 +3962,48 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "shiki": { - "version": "0.9.11", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.9.11.tgz", - "integrity": "sha512-tjruNTLFhU0hruCPoJP0y+B9LKOmcqUhTpxn7pcJB3fa+04gFChuEmxmrUfOJ7ZO6Jd+HwMnDHgY3lv3Tqonuw==", + "version": "0.9.15", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.9.15.tgz", + "integrity": "sha512-/Y0z9IzhJ8nD9nbceORCqu6NgT9X6I8Fk8c3SICHI5NbZRLdZYFaB233gwct9sU0vvSypyaL/qaKvzyQGJBZSw==", "dev": true, "requires": { "jsonc-parser": "^3.0.0", - "onigasm": "^2.2.5", + "vscode-oniguruma": "^1.6.1", "vscode-textmate": "5.2.0" } }, + "signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" + }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" + }, + "socks": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", + "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "ip": "^1.1.5", + "smart-buffer": "^4.1.0" + } + }, + "socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" } }, "source-map": { @@ -3798,9 +4039,9 @@ } }, "spdx-license-ids": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz", - "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", "dev": true }, "split": { @@ -3824,7 +4065,16 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "requires": { + "minipass": "^3.1.1" + } }, "string-width": { "version": "4.2.3", @@ -3840,7 +4090,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, "requires": { "safe-buffer": "~5.2.0" } @@ -3881,17 +4130,17 @@ "has-flag": "^4.0.0" } }, - "table": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", - "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", + "tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", "requires": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" } }, "temp-dir": { @@ -3971,32 +4220,24 @@ "dev": true }, "ts-json-schema-generator": { - "version": "0.95.0", - "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.95.0.tgz", - "integrity": "sha512-qyArLCOmy0UnnGeCewpZgaGglPMmawAhsuYDRDa1BeZiyE+M/I2dH+dSMtFj8kVbWSEayfVmQIF9UBINBfeKSg==", + "version": "0.97.0", + "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.97.0.tgz", + "integrity": "sha512-kPDq4ut8Mu1ZgSN7OeTXz+ueb1juFt2eyGd23lMr3WoN5sq4Xa9m22kDI46OlwapE0aF8e1pUesOFgDcATHcuA==", "requires": { - "@types/json-schema": "^7.0.7", - "commander": "^8.0.0", - "fast-json-stable-stringify": "^2.1.0", - "glob": "^7.1.7", - "json-stable-stringify": "^1.0.1", + "@types/json-schema": "^7.0.9", + "commander": "^8.2.0", + "glob": "^7.2.0", "json5": "^2.2.0", - "typescript": "~4.3.4" - }, - "dependencies": { - "typescript": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", - "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==" - } + "safe-stable-stringify": "^2.2.0", + "typescript": "~4.4.3" } }, "ts-node": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.2.1.tgz", - "integrity": "sha512-hCnyOyuGmD5wHleOQX6NIjJtYVIO8bPP8F2acWkB4W06wdlkgyvJtubO/I9NkI88hCFECbsEgoLc0VNkYmcSfw==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", + "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", "requires": { - "@cspotcode/source-map-support": "0.6.1", + "@cspotcode/source-map-support": "0.7.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", @@ -4008,13 +4249,6 @@ "diff": "^4.0.1", "make-error": "^1.1.1", "yn": "3.1.1" - }, - "dependencies": { - "acorn": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", - "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==" - } } }, "tslib": { @@ -4053,6 +4287,15 @@ "color-convert": "^1.9.0" } }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -4091,6 +4334,25 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -4180,16 +4442,16 @@ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" }, "typedoc": { - "version": "0.22.4", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.4.tgz", - "integrity": "sha512-M/a8NnPxq3/iZNNVjzFCK5gu4m//HTJIPbSS0JQVbkHJPP9wyepR12agylWTSqeVZe0xsbidVtO26+PP7iD/jw==", + "version": "0.22.10", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.10.tgz", + "integrity": "sha512-hQYZ4WtoMZ61wDC6w10kxA42+jclWngdmztNZsDvIz7BMJg7F2xnT+uYsUa7OluyKossdFj9E9Ye4QOZKTy8SA==", "dev": true, "requires": { - "glob": "^7.1.7", + "glob": "^7.2.0", "lunr": "^2.3.9", - "marked": "^3.0.4", + "marked": "^3.0.8", "minimatch": "^3.0.4", - "shiki": "^0.9.11" + "shiki": "^0.9.12" } }, "typescript": { @@ -4198,12 +4460,28 @@ "integrity": "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==" }, "uglify-js": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.2.tgz", - "integrity": "sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A==", + "version": "3.14.5", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.5.tgz", + "integrity": "sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==", "dev": true, "optional": true }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "requires": { + "imurmurhash": "^0.1.4" + } + }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -4220,8 +4498,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "uuid": { "version": "3.4.0", @@ -4244,6 +4521,12 @@ "spdx-expression-parse": "^3.0.0" } }, + "vscode-oniguruma": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.6.1.tgz", + "integrity": "sha512-vc4WhSIaVpgJ0jJIejjYxPvURJavX6QG41vu0mGhqywMkQqulezEqEQ3cO3gc8GvcOpX6ycmKGqRoROEMBNXTQ==", + "dev": true + }, "vscode-textmate": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz", @@ -4258,6 +4541,14 @@ "isexe": "^2.0.0" } }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -4291,11 +4582,6 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "xregexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", - "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==" - }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -4353,9 +4639,9 @@ }, "dependencies": { "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz", + "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==", "dev": true }, "decamelize": { diff --git a/package.json b/package.json index c26767dc..7c6ace5a 100644 --- a/package.json +++ b/package.json @@ -45,53 +45,54 @@ "lint": "eslint -c .eslintrc.json --ignore-path .eslintignore --ext .ts src/" }, "dependencies": { - "@openstapps/logger": "0.7.0", - "ajv": "8.6.3", - "better-ajv-errors": "0.7.0", + "@openstapps/logger": "0.8.0", + "ajv": "8.8.2", + "better-ajv-errors": "1.1.2", "chai": "4.3.4", - "commander": "8.2.0", + "commander": "8.3.0", "deepmerge": "4.2.2", "del": "6.0.0", - "eslint": "7.32.0", - "flatted": "3.2.2", + "eslint": "8.4.1", + "flatted": "3.2.4", "fs-extra": "10.0.0", "glob": "7.2.0", - "got": "11.8.2", - "humanize-string": "2.1.0", - "json-schema": "0.3.0", + "got": "11.8.3", + "humanize-string": "3.0.0", + "json-schema": "0.4.0", "lodash": "4.17.21", "mustache": "4.2.0", - "openapi-types": "9.3.0", + "openapi-types": "10.0.0", "plantuml-encoder": "1.4.0", + "re2": "1.17.1", "toposort": "2.0.2", - "ts-json-schema-generator": "0.95.0", - "ts-node": "10.2.1", + "ts-json-schema-generator": "0.97.0", + "ts-node": "10.4.0", "typescript": "4.4.3" }, "devDependencies": { - "@openstapps/configuration": "0.28.1", - "@testdeck/mocha": "0.1.2", - "@types/chai": "4.2.22", + "@openstapps/configuration": "0.29.0", + "@testdeck/mocha": "0.2.0", + "@types/chai": "4.3.0", "@types/fs-extra": "9.0.13", - "@types/glob": "7.1.4", + "@types/glob": "7.2.0", "@types/json-schema": "7.0.9", - "@types/lodash": "4.14.175", + "@types/lodash": "4.14.178", "@types/mocha": "9.0.0", "@types/mustache": "4.1.2", - "@types/node": "14.17.19", + "@types/node": "14.18.0", "@types/rimraf": "3.0.2", - "@typescript-eslint/eslint-plugin": "4.32.0", - "@typescript-eslint/parser": "4.32.0", + "@typescript-eslint/eslint-plugin": "5.7.0", + "@typescript-eslint/parser": "5.7.0", "conventional-changelog-cli": "2.1.1", "eslint-config-prettier": "8.3.0", - "eslint-plugin-jsdoc": "36.1.0", + "eslint-plugin-jsdoc": "37.2.0", "eslint-plugin-prettier": "4.0.0", - "eslint-plugin-unicorn": "36.0.0", - "mocha": "9.1.2", - "nock": "13.1.3", + "eslint-plugin-unicorn": "39.0.0", + "mocha": "9.1.3", + "nock": "13.2.1", "prepend-file-cli": "1.0.6", - "prettier": "2.4.1", + "prettier": "2.5.1", "rimraf": "3.0.2", - "typedoc": "0.22.4" + "typedoc": "0.22.10" } } diff --git a/src/schema.ts b/src/schema.ts index f49fa8d0..6957bac1 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -24,6 +24,7 @@ import {definitionsOf} from './easy-ast/ast-util'; import {lightweightProjectFromPath} from './easy-ast/easy-ast'; import {isSchemaWithDefinitions} from './util/guards'; import path from 'path'; +import re2 from './types/re2'; /** * StAppsCore converter @@ -65,7 +66,7 @@ export class Converter { this.generator = new SchemaGenerator(program, createParser(program, config), createFormatter(config)); // create Ajv instance - this.schemaValidator = new Ajv(); + this.schemaValidator = new Ajv({code: {regExp: re2}}); // eslint-disable-next-line @typescript-eslint/no-var-requires,unicorn/prefer-module this.schemaValidator.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json')); } diff --git a/src/types/re2.ts b/src/types/re2.ts new file mode 100644 index 00000000..53a1d6e7 --- /dev/null +++ b/src/types/re2.ts @@ -0,0 +1,6 @@ +import re2 from 're2'; + +type Re2 = typeof re2 & {code: string}; +(re2 as Re2).code = 'require("lib/types/re2").default'; + +export default re2 as Re2; diff --git a/src/validate.ts b/src/validate.ts index ee8e5628..4f5a1873 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -23,6 +23,7 @@ import {globPromisified, readFilePromisified, writeFilePromisified} from './comm import {ExpectedValidationErrors, ValidationError, ValidationResult} from './types/validator'; import {isThingWithType} from './util/guards'; import path from 'path'; +import re2 from './types/re2'; /** * StAppsCore validator @@ -31,7 +32,11 @@ export class Validator { /** * JSON Schema Validator */ - private readonly ajv = new Ajv({verbose: true}); + private readonly ajv = new Ajv({ + verbose: true, + ignoreKeywordsWithRef: true, + code: {regExp: re2}, + }); /** * Map of schema names to schemas @@ -133,7 +138,7 @@ function fromAjvResult( const betterErrorObject: betterAjvErrors.IOutputError[] | undefined = betterAjvErrors( schema, instance, - ajvInstance.errors, + ajvInstance.errors ?? [], // eslint-disable-next-line unicorn/no-null {format: 'js', indent: null}, ); @@ -145,10 +150,10 @@ function fromAjvResult( dataPath: ajvError.instancePath, instance: instance, // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain - message: betterErrorObject?.[index].error!, + message: betterErrorObject?.[index]?.error! ?? ajvError.message, name: ajvError.keyword, schemaPath: ajvError.schemaPath, - suggestion: betterErrorObject?.[index].suggestion, + suggestion: betterErrorObject?.[index]?.suggestion, }; // (validationError as ValidationError).humanReadableError = betterErrorCLI?.[index] as unknown as string; From 78d15cabc8c51e2c197c783c97f252e061bddee1 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Wed, 15 Dec 2021 11:54:19 +0100 Subject: [PATCH 178/215] 0.26.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6d420b0c..ff768aa7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.25.0", + "version": "0.26.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 7c6ace5a..8183c71b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.25.0", + "version": "0.26.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 6a655fe28a5362697d0ff6b791d5726875707e44 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Wed, 15 Dec 2021 11:54:21 +0100 Subject: [PATCH 179/215] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fcaa8b93..61583f43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# [0.26.0](https://gitlab.com/openstapps/core-tools/compare/v0.25.0...v0.26.0) (2021-12-15) + + + # [0.25.0](https://gitlab.com/openstapps/core-tools/compare/v0.24.3...v0.25.0) (2021-08-31) From c1b956986da72988c5b0f7a6d2101d0357a9eea1 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Wed, 15 Dec 2021 12:27:33 +0100 Subject: [PATCH 180/215] ci: repair and clean up ci pipelines --- .gitlab-ci.yml | 6 +----- package.json | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e2c5234d..867f7bda 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,12 +1,8 @@ image: registry.gitlab.com/openstapps/projectmanagement/node -cache: - key: ${CI_COMMIT_REF_SLUG} - paths: - - node_modules before_script: - - npm install + - npm ci stages: - build diff --git a/package.json b/package.json index 8183c71b..40502665 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md && git commit -m 'docs: update changelog'", "check-configuration": "openstapps-configuration", "compile": "rimraf lib && tsc && prepend lib/cli.js '#!/usr/bin/env node\n'", - "documentation": "typedoc --out docs --readme README.md --includeVersion --listInvalidSymbolLinks src", + "documentation": "typedoc --out docs --readme README.md --includeVersion --validation.invalidLink true --entryPointStrategy expand src", "plantuml-start": "docker run --name plantuml-server -d -p 8080:8080 registry.gitlab.com/openstapps/core-tools:latest", "plantuml-restart": "docker restart plantuml-server", "plantuml-stop": "docker stop plantuml-server", From fe72cfec431e0d595ca89a014fcd600acfc39d86 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Wed, 15 Dec 2021 12:47:51 +0100 Subject: [PATCH 181/215] 0.27.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index ff768aa7..f8db8971 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.26.0", + "version": "0.27.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 40502665..a3b76b5a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.26.0", + "version": "0.27.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From f602d6fe41087383dd77a17f0bc8d65b55cbc302 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Wed, 15 Dec 2021 12:47:55 +0100 Subject: [PATCH 182/215] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 61583f43..29d46ea4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# [0.27.0](https://gitlab.com/openstapps/core-tools/compare/v0.26.0...v0.27.0) (2021-12-15) + + + # [0.26.0](https://gitlab.com/openstapps/core-tools/compare/v0.25.0...v0.26.0) (2021-12-15) From e82f4e92099359baed5ea89f64bd7204700c2785 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Fri, 17 Dec 2021 10:17:53 +0100 Subject: [PATCH 183/215] fix: ajv related tranistive build errors --- package-lock.json | 42 +++++++++++++++++++++--------------------- package.json | 2 +- src/validate.ts | 9 +++------ 3 files changed, 25 insertions(+), 28 deletions(-) diff --git a/package-lock.json b/package-lock.json index f8db8971..f33c6a7c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -584,9 +584,9 @@ }, "dependencies": { "@types/node": { - "version": "16.11.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.13.tgz", - "integrity": "sha512-eUXZzHLHoZqj1frtUetNkUetYoJ6X55UmrVnFD4DMhVeAmwLjniZhtBmsRiemQh4uq4G3vUra/Ws/hs9vEvL3Q==" + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz", + "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==" } } }, @@ -634,9 +634,9 @@ }, "dependencies": { "@types/node": { - "version": "16.11.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.13.tgz", - "integrity": "sha512-eUXZzHLHoZqj1frtUetNkUetYoJ6X55UmrVnFD4DMhVeAmwLjniZhtBmsRiemQh4uq4G3vUra/Ws/hs9vEvL3Q==" + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz", + "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==" } } }, @@ -685,9 +685,9 @@ }, "dependencies": { "@types/node": { - "version": "16.11.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.13.tgz", - "integrity": "sha512-eUXZzHLHoZqj1frtUetNkUetYoJ6X55UmrVnFD4DMhVeAmwLjniZhtBmsRiemQh4uq4G3vUra/Ws/hs9vEvL3Q==" + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz", + "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==" } } }, @@ -706,9 +706,9 @@ }, "dependencies": { "@types/node": { - "version": "16.11.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.13.tgz", - "integrity": "sha512-eUXZzHLHoZqj1frtUetNkUetYoJ6X55UmrVnFD4DMhVeAmwLjniZhtBmsRiemQh4uq4G3vUra/Ws/hs9vEvL3Q==" + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz", + "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==" } } }, @@ -1154,9 +1154,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001286", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001286.tgz", - "integrity": "sha512-zaEMRH6xg8ESMi2eQ3R4eZ5qw/hJiVsO/HlLwniIwErij0JDr9P+8V4dtx1l+kLq6j3yy8l8W4fst1lBnat5wQ==", + "version": "1.0.30001287", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001287.tgz", + "integrity": "sha512-4udbs9bc0hfNrcje++AxBuc6PfLNHwh3PO9kbwnfCQWyqtlzg3py0YgFu8jyRTTo85VAz4U+VLxSlID09vNtWA==", "dev": true }, "chai": { @@ -1670,9 +1670,9 @@ } }, "electron-to-chromium": { - "version": "1.4.18", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.18.tgz", - "integrity": "sha512-i7nKjGGBE1+YUIbfLObA1EZPmN7J1ITEllbhusDk+KIk6V6gUxN9PFe36v+Sd+8Cg0k3cgUv9lQhQZalr8rggw==", + "version": "1.4.23", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.23.tgz", + "integrity": "sha512-q3tB59Api3+DMbLnDPkW/UBHBO7KTGcF+rDCeb0GAGyqFj562s6y+c/2tDKTS/y5lbC+JOvT4MSUALJLPqlcSA==", "dev": true }, "emoji-regex": { @@ -1823,9 +1823,9 @@ "dev": true }, "eslint-plugin-jsdoc": { - "version": "37.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.2.0.tgz", - "integrity": "sha512-ca7s/DD1mMObZQ2Y0n0DO/KnFV+FqCX6ztir8pcSuylg3GGCREIisn36P/0cRySuWW/7Y7MNCuUDqtKdgLPU7Q==", + "version": "37.2.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.2.3.tgz", + "integrity": "sha512-YXBonC2F78wQuzKpq8J0kqT4xlxDPkqZS9zrcZwsKAsrz2g81dAsOq4WfmnKRsMVh9TjKFXJANqswyQMMq913g==", "dev": true, "requires": { "@es-joy/jsdoccomment": "0.13.0", diff --git a/package.json b/package.json index a3b76b5a..51b375ee 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "@typescript-eslint/parser": "5.7.0", "conventional-changelog-cli": "2.1.1", "eslint-config-prettier": "8.3.0", - "eslint-plugin-jsdoc": "37.2.0", + "eslint-plugin-jsdoc": "37.2.3", "eslint-plugin-prettier": "4.0.0", "eslint-plugin-unicorn": "39.0.0", "mocha": "9.1.3", diff --git a/src/validate.ts b/src/validate.ts index 4f5a1873..bf8ed47c 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -14,7 +14,7 @@ */ import {Logger} from '@openstapps/logger'; import Ajv from 'ajv'; -import betterAjvErrors from 'better-ajv-errors'; +import betterAjvErrors, {IOutputError} from 'better-ajv-errors'; import {PathLike} from 'fs'; import {JSONSchema7} from 'json-schema'; import * as mustache from 'mustache'; @@ -34,7 +34,6 @@ export class Validator { */ private readonly ajv = new Ajv({ verbose: true, - ignoreKeywordsWithRef: true, code: {regExp: re2}, }); @@ -134,8 +133,7 @@ function fromAjvResult( instance: unknown, ajvInstance: Ajv, ): ValidationResult { - // @ts-expect-error function can return void, which at runtime will be undefined. TS doesn't allow to assign void to undefined - const betterErrorObject: betterAjvErrors.IOutputError[] | undefined = betterAjvErrors( + const betterErrorObject: IOutputError[] | undefined = betterAjvErrors( schema, instance, ajvInstance.errors ?? [], @@ -149,8 +147,7 @@ function fromAjvResult( const error: ValidationError = { dataPath: ajvError.instancePath, instance: instance, - // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain - message: betterErrorObject?.[index]?.error! ?? ajvError.message, + message: betterErrorObject?.[index]?.error ?? ajvError.message, name: ajvError.keyword, schemaPath: ajvError.schemaPath, suggestion: betterErrorObject?.[index]?.suggestion, From 408b61a57a6a9107715d267f9286f2980553e6de Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Fri, 17 Dec 2021 10:19:53 +0100 Subject: [PATCH 184/215] 0.28.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index f33c6a7c..80475ed0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.27.0", + "version": "0.28.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 51b375ee..ad81c8cd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.27.0", + "version": "0.28.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 71593b44c8b0d8f2e30e9696a93e7e5ee264801e Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Fri, 17 Dec 2021 10:19:56 +0100 Subject: [PATCH 185/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29d46ea4..69bfec0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [0.28.0](https://gitlab.com/openstapps/core-tools/compare/v0.27.0...v0.28.0) (2021-12-17) + + +### Bug Fixes + +* ajv related tranistive build errors ([e82f4e9](https://gitlab.com/openstapps/core-tools/commit/e82f4e92099359baed5ea89f64bd7204700c2785)) + + + # [0.27.0](https://gitlab.com/openstapps/core-tools/compare/v0.26.0...v0.27.0) (2021-12-15) From 0b33db9f899cf12e089bed2daa26ad1e81348883 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Tue, 25 Jan 2022 15:47:20 +0100 Subject: [PATCH 186/215] refactor: update dependencies --- package-lock.json | 540 +++++++++++++++++++++++----------------------- package.json | 12 +- src/cli.ts | 10 +- 3 files changed, 277 insertions(+), 285 deletions(-) diff --git a/package-lock.json b/package-lock.json index 80475ed0..52b46d3d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,34 +5,34 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", - "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", "requires": { - "@babel/highlight": "^7.16.0" + "@babel/highlight": "^7.16.7" } }, "@babel/compat-data": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz", - "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz", + "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==", "dev": true }, "@babel/core": { - "version": "7.16.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.5.tgz", - "integrity": "sha512-wUcenlLzuWMZ9Zt8S0KmFwGlH6QKRh3vsm/dhDA3CHkiTA45YuG1XkHRcNRl73EFPXDp/d5kVOU0/y7x2w6OaQ==", + "version": "7.16.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz", + "integrity": "sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==", "dev": true, "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.5", - "@babel/helper-compilation-targets": "^7.16.3", - "@babel/helper-module-transforms": "^7.16.5", - "@babel/helpers": "^7.16.5", - "@babel/parser": "^7.16.5", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.5", - "@babel/types": "^7.16.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helpers": "^7.16.7", + "@babel/parser": "^7.16.12", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.10", + "@babel/types": "^7.16.8", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -97,12 +97,12 @@ } }, "@babel/generator": { - "version": "7.16.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.5.tgz", - "integrity": "sha512-kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", + "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", "dev": true, "requires": { - "@babel/types": "^7.16.0", + "@babel/types": "^7.16.8", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, @@ -116,13 +116,13 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.16.3", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz", - "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", + "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", "dev": true, "requires": { - "@babel/compat-data": "^7.16.0", - "@babel/helper-validator-option": "^7.14.5", + "@babel/compat-data": "^7.16.4", + "@babel/helper-validator-option": "^7.16.7", "browserslist": "^4.17.5", "semver": "^6.3.0" }, @@ -136,114 +136,114 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.16.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.5.tgz", - "integrity": "sha512-ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.16.7" } }, "@babel/helper-function-name": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz", - "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.16.0", - "@babel/template": "^7.16.0", - "@babel/types": "^7.16.0" + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/helper-get-function-arity": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz", - "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.16.7" } }, "@babel/helper-hoist-variables": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz", - "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.16.7" } }, "@babel/helper-module-imports": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz", - "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.16.7" } }, "@babel/helper-module-transforms": { - "version": "7.16.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.5.tgz", - "integrity": "sha512-CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", + "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.16.5", - "@babel/helper-module-imports": "^7.16.0", - "@babel/helper-simple-access": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.5", - "@babel/types": "^7.16.0" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/helper-simple-access": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz", - "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", + "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.16.7" } }, "@babel/helper-split-export-declaration": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz", - "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", "dev": true, "requires": { - "@babel/types": "^7.16.0" + "@babel/types": "^7.16.7" } }, "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" }, "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", "dev": true }, "@babel/helpers": { - "version": "7.16.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.5.tgz", - "integrity": "sha512-TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", + "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", "dev": true, "requires": { - "@babel/template": "^7.16.0", - "@babel/traverse": "^7.16.5", - "@babel/types": "^7.16.0" + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/highlight": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", - "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", "requires": { - "@babel/helper-validator-identifier": "^7.15.7", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -295,36 +295,36 @@ } }, "@babel/parser": { - "version": "7.16.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.6.tgz", - "integrity": "sha512-Gr86ujcNuPDnNOY8mi383Hvi8IYrJVJYuf3XcuBM/Dgd+bINn/7tHqsj+tKkoreMbmGsFLsltI/JJd8fOFWGDQ==", + "version": "7.16.12", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.12.tgz", + "integrity": "sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==", "dev": true }, "@babel/template": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz", - "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/types": "^7.16.0" + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/traverse": { - "version": "7.16.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.5.tgz", - "integrity": "sha512-FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==", + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.10.tgz", + "integrity": "sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==", "dev": true, "requires": { - "@babel/code-frame": "^7.16.0", - "@babel/generator": "^7.16.5", - "@babel/helper-environment-visitor": "^7.16.5", - "@babel/helper-function-name": "^7.16.0", - "@babel/helper-hoist-variables": "^7.16.0", - "@babel/helper-split-export-declaration": "^7.16.0", - "@babel/parser": "^7.16.5", - "@babel/types": "^7.16.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.8", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.16.10", + "@babel/types": "^7.16.8", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -338,12 +338,12 @@ } }, "@babel/types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", - "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", + "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.15.7", + "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" } }, @@ -369,6 +369,14 @@ "comment-parser": "1.3.0", "esquery": "^1.4.0", "jsdoc-type-pratt-parser": "2.0.0" + }, + "dependencies": { + "jsdoc-type-pratt-parser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.0.0.tgz", + "integrity": "sha512-sUuj2j48wxrEpbFjDp1sAesAxPiLT+z0SWVmMafyIINs6Lj5gIPKh3VrkBZu4E/Dv+wHpOot0m6H8zlHQjwqeQ==", + "dev": true + } } }, "@eslint/eslintrc": { @@ -497,6 +505,14 @@ "tslint": "6.1.3", "tslint-eslint-rules": "5.4.0", "yaml": "1.10.2" + }, + "dependencies": { + "@types/node": { + "version": "14.18.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.0.tgz", + "integrity": "sha512-0GeIl2kmVMXEnx8tg1SlG6Gg8vkqirrW752KqolYo1PHevhhZN3bhJ67qHj+bQaINhX0Ra3TlWwRvMCd9iEfNQ==", + "dev": true + } } }, "@openstapps/logger": { @@ -520,9 +536,9 @@ } }, "@sindresorhus/is": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", - "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==" + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.4.0.tgz", + "integrity": "sha512-QppPM/8l3Mawvh4rn9CNEYIU9bxpXUCRMaX9yUpvBk1nMKusLKpfXGDEKExKaPhLzcn3lzil7pR6rnJ11HgeRQ==" }, "@szmarczak/http-timer": { "version": "4.0.6", @@ -584,9 +600,9 @@ }, "dependencies": { "@types/node": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz", - "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==" + "version": "17.0.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.12.tgz", + "integrity": "sha512-4YpbAsnJXWYK/fpTVFlMIcUIho2AYCi4wg5aNPrG1ng7fn/1/RZfCIpRCiBX+12RVa34RluilnvCqD+g3KiSiA==" } } }, @@ -634,9 +650,9 @@ }, "dependencies": { "@types/node": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz", - "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==" + "version": "17.0.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.12.tgz", + "integrity": "sha512-4YpbAsnJXWYK/fpTVFlMIcUIho2AYCi4wg5aNPrG1ng7fn/1/RZfCIpRCiBX+12RVa34RluilnvCqD+g3KiSiA==" } } }, @@ -659,9 +675,9 @@ "dev": true }, "@types/mocha": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.0.0.tgz", - "integrity": "sha512-scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz", + "integrity": "sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==", "dev": true }, "@types/mustache": { @@ -671,9 +687,9 @@ "dev": true }, "@types/node": { - "version": "14.18.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.0.tgz", - "integrity": "sha512-0GeIl2kmVMXEnx8tg1SlG6Gg8vkqirrW752KqolYo1PHevhhZN3bhJ67qHj+bQaINhX0Ra3TlWwRvMCd9iEfNQ==", + "version": "14.18.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.5.tgz", + "integrity": "sha512-LMy+vDDcQR48EZdEx5wRX1q/sEl6NdGuHXPnfeL8ixkwCOSZ2qnIyIZmcCbdX0MeRqHhAcHmX+haCbrS8Run+A==", "dev": true }, "@types/nodemailer": { @@ -685,9 +701,9 @@ }, "dependencies": { "@types/node": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz", - "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==" + "version": "17.0.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.12.tgz", + "integrity": "sha512-4YpbAsnJXWYK/fpTVFlMIcUIho2AYCi4wg5aNPrG1ng7fn/1/RZfCIpRCiBX+12RVa34RluilnvCqD+g3KiSiA==" } } }, @@ -706,9 +722,9 @@ }, "dependencies": { "@types/node": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz", - "integrity": "sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==" + "version": "17.0.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.12.tgz", + "integrity": "sha512-4YpbAsnJXWYK/fpTVFlMIcUIho2AYCi4wg5aNPrG1ng7fn/1/RZfCIpRCiBX+12RVa34RluilnvCqD+g3KiSiA==" } } }, @@ -882,9 +898,9 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "acorn": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", - "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==" + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==" }, "acorn-jsx": { "version": "5.3.2", @@ -911,9 +927,9 @@ } }, "agentkeepalive": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.1.4.tgz", - "integrity": "sha512-+V/rGa3EuU74H6wR04plBb7Ks10FbtUQgRj/FQOG7uUIEuaINI+AiqJR1k6t3SVNs7o7ZjIdus6706qqzVq8jQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.0.tgz", + "integrity": "sha512-0PhAp58jZNw13UJv7NVdTGb0ZcghHUb3DrZ046JiiJY/BOaTTpbwdHq2VObPCBV8M2GPh7sgrJ3AQ8Ey468LJw==", "requires": { "debug": "^4.1.0", "depd": "^1.1.2", @@ -1154,9 +1170,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001287", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001287.tgz", - "integrity": "sha512-4udbs9bc0hfNrcje++AxBuc6PfLNHwh3PO9kbwnfCQWyqtlzg3py0YgFu8jyRTTo85VAz4U+VLxSlID09vNtWA==", + "version": "1.0.30001301", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz", + "integrity": "sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA==", "dev": true }, "chai": { @@ -1187,9 +1203,9 @@ "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" }, "chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "requires": { "anymatch": "~3.1.2", @@ -1296,9 +1312,9 @@ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "conventional-changelog": { - "version": "3.1.24", - "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.24.tgz", - "integrity": "sha512-ed6k8PO00UVvhExYohroVPXcOJ/K1N0/drJHx/faTH37OIZthlecuLIRX/T6uOp682CAoVoFpu+sSEaeuH6Asg==", + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz", + "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==", "dev": true, "requires": { "conventional-changelog-angular": "^5.0.12", @@ -1334,9 +1350,9 @@ } }, "conventional-changelog-cli": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.1.1.tgz", - "integrity": "sha512-xMGQdKJ+4XFDDgfX5aK7UNFduvJMbvF5BB+g0OdVhA3rYdYyhctrIE2Al+WYdZeKTdg9YzMWF2iFPT8MupIwng==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.2.2.tgz", + "integrity": "sha512-8grMV5Jo8S0kP3yoMeJxV2P5R6VJOqK72IiSV9t/4H5r/HiRqEBQ83bYGuz4Yzfdj4bjaAEhZN/FFbsFXr5bOA==", "dev": true, "requires": { "add-stream": "^1.0.0", @@ -1356,9 +1372,9 @@ } }, "conventional-changelog-conventionalcommits": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.1.tgz", - "integrity": "sha512-lzWJpPZhbM1R0PIzkwzGBCnAkH5RKJzJfFQZcl/D+2lsJxAwGnDKBqn/F4C1RD31GJNn8NuKWQzAZDAVXPp2Mw==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", + "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", "dev": true, "requires": { "compare-func": "^2.0.0", @@ -1441,14 +1457,14 @@ "dev": true }, "conventional-changelog-writer": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.0.tgz", - "integrity": "sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", "dev": true, "requires": { "conventional-commits-filter": "^2.0.7", "dateformat": "^3.0.0", - "handlebars": "^4.7.6", + "handlebars": "^4.7.7", "json-stringify-safe": "^5.0.1", "lodash": "^4.17.15", "meow": "^8.0.0", @@ -1476,9 +1492,9 @@ } }, "conventional-commits-parser": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.3.tgz", - "integrity": "sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", "dev": true, "requires": { "JSONStream": "^1.0.4", @@ -1670,9 +1686,9 @@ } }, "electron-to-chromium": { - "version": "1.4.23", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.23.tgz", - "integrity": "sha512-q3tB59Api3+DMbLnDPkW/UBHBO7KTGcF+rDCeb0GAGyqFj562s6y+c/2tDKTS/y5lbC+JOvT4MSUALJLPqlcSA==", + "version": "1.4.52", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.52.tgz", + "integrity": "sha512-JGkh8HEh5PnVrhU4HbpyyO0O791dVY6k7AdqfDeqbcRMeoGxtNHWT77deR2nhvbLe4dKpxjlDEvdEwrvRLGu2Q==", "dev": true }, "emoji-regex": { @@ -1990,16 +2006,16 @@ } }, "eslint-visitor-keys": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz", - "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz", + "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==" }, "espree": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.2.0.tgz", - "integrity": "sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz", + "integrity": "sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==", "requires": { - "acorn": "^8.6.0", + "acorn": "^8.7.0", "acorn-jsx": "^5.3.1", "eslint-visitor-keys": "^3.1.0" } @@ -2048,9 +2064,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -2266,9 +2282,9 @@ } }, "git-raw-commits": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.10.tgz", - "integrity": "sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", "dev": true, "requires": { "dargs": "^7.0.0", @@ -2345,15 +2361,15 @@ } }, "globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", "slash": "^3.0.0" } }, @@ -2376,9 +2392,9 @@ } }, "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, "growl": { "version": "1.10.5", @@ -2431,9 +2447,9 @@ "dev": true }, "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -2498,9 +2514,9 @@ } }, "ignore": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", - "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" }, "import-fresh": { "version": "3.3.0", @@ -2547,9 +2563,9 @@ "dev": true }, "install-artifact-from-github": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.2.0.tgz", - "integrity": "sha512-3OxCPcY55XlVM3kkfIpeCgmoSKnMsz2A3Dbhsq0RXpIknKQmrX1YiznCeW9cD2ItFmDxziA3w6Eg8d80AoL3oA==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.3.0.tgz", + "integrity": "sha512-iT8v1GwOAX0pPXifF/5ihnMhHOCo3OeK7z3TQa4CtSNCIg8k0UxqBEk9jRwz8OP68hHXvJ2gxRa89KYHtBkqGA==" }, "ip": { "version": "1.1.5", @@ -2589,9 +2605,9 @@ } }, "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "dev": true, "requires": { "has": "^1.0.3" @@ -2687,9 +2703,9 @@ } }, "jsdoc-type-pratt-parser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.0.0.tgz", - "integrity": "sha512-sUuj2j48wxrEpbFjDp1sAesAxPiLT+z0SWVmMafyIINs6Lj5gIPKh3VrkBZu4E/Dv+wHpOot0m6H8zlHQjwqeQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.2.tgz", + "integrity": "sha512-zRokSWcPLSWkoNzsWn9pq7YYSwDhKyEe+cJYT2qaPqLOOJb5sFSi46BPj81vP+e8chvCNdQL9RG86Bi9EI6MDw==", "dev": true }, "jsesc": { @@ -2771,9 +2787,9 @@ "integrity": "sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==" }, "keyv": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", - "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.5.tgz", + "integrity": "sha512-531pkGLqV3BMg0eDqqJFI0R1mkK1Nm5xIP2mM6keP5P8WfFtCkg2IOwplTUmlGoTgIg9yQYZ/kdihhz89XH3vA==", "requires": { "json-buffer": "3.0.1" } @@ -2929,9 +2945,9 @@ "dev": true }, "marked": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/marked/-/marked-3.0.8.tgz", - "integrity": "sha512-0gVrAjo5m0VZSJb4rpL59K1unJAMb/hm8HRXqasD8VeC8m91ytDPMritgFSlKonfdt+rRYYpP/JfLxgIX8yoSw==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.10.tgz", + "integrity": "sha512-+QvuFj0nGgO970fySghXGmuw+Fd0gD2x3+MqCWLIPf5oxdv1Ka6b2q+z9RP01P/IaKPMEramy+7cNy/Lw8c3hw==", "dev": true }, "meow": { @@ -3139,54 +3155,37 @@ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "mocha": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.3.tgz", - "integrity": "sha512-Xcpl9FqXOAYqI3j79pEtHBBnQgVXIhpULjGQa7DVb0Po+VzmSIK9kanAiWLHoRR/dbZ2qpdPshuXr8l1VaHCzw==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.0.tgz", + "integrity": "sha512-kNn7E8g2SzVcq0a77dkphPsDSN7P+iYkqE0ZsGCYWRsoiKjOt+NvXfaagik8vuDa6W5Zw3qxe8Jfpt5qKf+6/Q==", "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.5.2", - "debug": "4.3.2", + "chokidar": "3.5.3", + "debug": "4.3.3", "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "7.1.7", + "glob": "7.2.0", "growl": "1.10.5", "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", "minimatch": "3.0.4", "ms": "2.1.3", - "nanoid": "3.1.25", + "nanoid": "3.2.0", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", "which": "2.0.2", - "workerpool": "6.1.5", + "workerpool": "6.2.0", "yargs": "16.2.0", "yargs-parser": "20.2.4", "yargs-unparser": "2.0.0" }, "dependencies": { - "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, "diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -3209,20 +3208,6 @@ "path-exists": "^4.0.0" } }, - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -3306,9 +3291,9 @@ "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" }, "nanoid": { - "version": "3.1.25", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", - "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", + "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", "dev": true }, "natural-compare": { @@ -3317,9 +3302,9 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" }, "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" }, "neo-async": { "version": "2.6.2", @@ -3328,9 +3313,9 @@ "dev": true }, "nock": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.1.tgz", - "integrity": "sha512-CoHAabbqq/xZEknubuyQMjq6Lfi5b7RtK6SoNK6m40lebGp3yiMagWtIoYaw2s9sISD7wPuCfwFpivVHX/35RA==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.2.tgz", + "integrity": "sha512-PcBHuvl9i6zfaJ50A7LS55oU+nFLv8htXIhffJO+FxyfibdZ4jEvd9kTuvkrJireBFIGMZ+oUIRpMK5gU9h//g==", "dev": true, "requires": { "debug": "^4.1.0", @@ -3537,9 +3522,9 @@ "dev": true }, "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, "pify": { "version": "2.3.0", @@ -3848,13 +3833,14 @@ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" }, "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", "dev": true, "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, "resolve-alpn": { @@ -3962,9 +3948,9 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "shiki": { - "version": "0.9.15", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.9.15.tgz", - "integrity": "sha512-/Y0z9IzhJ8nD9nbceORCqu6NgT9X6I8Fk8c3SICHI5NbZRLdZYFaB233gwct9sU0vvSypyaL/qaKvzyQGJBZSw==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.10.0.tgz", + "integrity": "sha512-iczxaIYeBFHTFrQPb9DVy2SKgYxC4Wo7Iucm7C17cCh2Ge/refnvHscUOxM85u57MfLoNOtjoEFUWt9gBexblA==", "dev": true, "requires": { "jsonc-parser": "^3.0.0", @@ -4130,6 +4116,12 @@ "has-flag": "^4.0.0" } }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, "tar": { "version": "6.1.11", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", @@ -4442,16 +4434,16 @@ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" }, "typedoc": { - "version": "0.22.10", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.10.tgz", - "integrity": "sha512-hQYZ4WtoMZ61wDC6w10kxA42+jclWngdmztNZsDvIz7BMJg7F2xnT+uYsUa7OluyKossdFj9E9Ye4QOZKTy8SA==", + "version": "0.22.11", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz", + "integrity": "sha512-pVr3hh6dkS3lPPaZz1fNpvcrqLdtEvXmXayN55czlamSgvEjh+57GUqfhAI1Xsuu/hNHUT1KNSx8LH2wBP/7SA==", "dev": true, "requires": { "glob": "^7.2.0", "lunr": "^2.3.9", - "marked": "^3.0.8", + "marked": "^4.0.10", "minimatch": "^3.0.4", - "shiki": "^0.9.12" + "shiki": "^0.10.0" } }, "typescript": { @@ -4561,9 +4553,9 @@ "dev": true }, "workerpool": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz", - "integrity": "sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", + "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", "dev": true }, "wrap-ansi": { @@ -4639,9 +4631,9 @@ }, "dependencies": { "camelcase": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz", - "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true }, "decamelize": { diff --git a/package.json b/package.json index ad81c8cd..25c6b4b2 100644 --- a/package.json +++ b/package.json @@ -77,22 +77,22 @@ "@types/glob": "7.2.0", "@types/json-schema": "7.0.9", "@types/lodash": "4.14.178", - "@types/mocha": "9.0.0", + "@types/mocha": "9.1.0", "@types/mustache": "4.1.2", - "@types/node": "14.18.0", + "@types/node": "14.18.5", "@types/rimraf": "3.0.2", "@typescript-eslint/eslint-plugin": "5.7.0", "@typescript-eslint/parser": "5.7.0", - "conventional-changelog-cli": "2.1.1", + "conventional-changelog-cli": "2.2.2", "eslint-config-prettier": "8.3.0", "eslint-plugin-jsdoc": "37.2.3", "eslint-plugin-prettier": "4.0.0", "eslint-plugin-unicorn": "39.0.0", - "mocha": "9.1.3", - "nock": "13.2.1", + "mocha": "9.2.0", + "nock": "13.2.2", "prepend-file-cli": "1.0.6", "prettier": "2.5.1", "rimraf": "3.0.2", - "typedoc": "0.22.10" + "typedoc": "0.22.11" } } diff --git a/src/cli.ts b/src/cli.ts index 3ac8a560..16b77bb2 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -57,11 +57,11 @@ commander // get information about routes const routes = await gatherRouteInformation(sourcePath); - routes.sort((a, b) => a.route.urlFragment.localeCompare(b.route.urlFragment)); + routes.sort((a, b) => a.route.urlPath.localeCompare(b.route.urlPath)); // change url path parameters to openapi notation for (const routeWithMetaInformation of routes) { - routeWithMetaInformation.route.urlFragment = routeWithMetaInformation.route.urlFragment.replace( + routeWithMetaInformation.route.urlPath = routeWithMetaInformation.route.urlPath.replace( /:\w+/g, (match: string) => `{${match.replace(':', '')}}`, ); @@ -69,7 +69,7 @@ commander // keep openapi tags for routes that actually share url fragments let tagsToKeep = routes.map(routeWithMetaInformation => - capitalize(routeWithMetaInformation.route.urlFragment.split('/')[1]), + capitalize(routeWithMetaInformation.route.urlPath.split('/')[1]), ); tagsToKeep = tagsToKeep.filter( (element, i, array) => array.indexOf(element) === i && array.lastIndexOf(element) !== i, @@ -83,9 +83,9 @@ commander // generate documentation for all routes for (const routeWithMetaInformation of routes) { - routeWithMetaInformation.tags = [capitalize(routeWithMetaInformation.route.urlFragment.split('/')[1])]; + routeWithMetaInformation.tags = [capitalize(routeWithMetaInformation.route.urlPath.split('/')[1])]; - output.paths[routeWithMetaInformation.route.urlFragment] = generateOpenAPIForRoute( + output.paths[routeWithMetaInformation.route.urlPath] = generateOpenAPIForRoute( routeWithMetaInformation, path.relative(relativeOutDirectoryPath, outDirectorySchemasPath), schemasToCopy, From be40adcbf4ad4899168d93ee47fa1483df9f99aa Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Tue, 25 Jan 2022 15:51:25 +0100 Subject: [PATCH 187/215] 0.29.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 52b46d3d..f2ca3a81 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.28.0", + "version": "0.29.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 25c6b4b2..9a2c90bc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.28.0", + "version": "0.29.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From bbdf14c7a412b7bfbf5134755bc23fa2e5db4fb3 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Tue, 25 Jan 2022 15:51:27 +0100 Subject: [PATCH 188/215] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 69bfec0d..30a0c676 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# [0.29.0](https://gitlab.com/openstapps/core-tools/compare/v0.28.0...v0.29.0) (2022-01-25) + + + # [0.28.0](https://gitlab.com/openstapps/core-tools/compare/v0.27.0...v0.28.0) (2021-12-17) From 28552a665fa2b946dd93ef5fdec450f6fdbf5698 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 21 Mar 2022 11:10:22 +0100 Subject: [PATCH 189/215] refactor: update dependencies --- package-lock.json | 895 +++++++++++++++------------------------------- package.json | 34 +- 2 files changed, 303 insertions(+), 626 deletions(-) diff --git a/package-lock.json b/package-lock.json index f2ca3a81..68788144 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,232 +12,11 @@ "@babel/highlight": "^7.16.7" } }, - "@babel/compat-data": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz", - "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==", - "dev": true - }, - "@babel/core": { - "version": "7.16.12", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz", - "integrity": "sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.16.7", - "@babel/parser": "^7.16.12", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.10", - "@babel/types": "^7.16.8", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/eslint-parser": { - "version": "7.16.5", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.16.5.tgz", - "integrity": "sha512-mUqYa46lgWqHKQ33Q6LNCGp/wPR3eqOYTUixHFsfrSQqRxH0+WOzca75iEjFr5RDGH1dDz622LaHhLOzOuQRUA==", - "dev": true, - "requires": { - "eslint-scope": "^5.1.1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", - "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", - "dev": true, - "requires": { - "@babel/types": "^7.16.8", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-module-transforms": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", - "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-simple-access": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", - "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } - }, "@babel/helper-validator-identifier": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" }, - "@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", - "dev": true - }, - "@babel/helpers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", - "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", - "dev": true, - "requires": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, "@babel/highlight": { "version": "7.16.10", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", @@ -294,59 +73,6 @@ } } }, - "@babel/parser": { - "version": "7.16.12", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.12.tgz", - "integrity": "sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==", - "dev": true - }, - "@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/traverse": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.10.tgz", - "integrity": "sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.16.10", - "@babel/types": "^7.16.8", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", - "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.16.7", - "to-fast-properties": "^2.0.0" - } - }, "@cspotcode/source-map-consumer": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", @@ -361,34 +87,26 @@ } }, "@es-joy/jsdoccomment": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.13.0.tgz", - "integrity": "sha512-APVqbVPGOprb4BmjEnwbSzV+V2e/6DVIUnZG3zdW5uWXWkN0DKMCpiIy2TdBauoANKYO7RQpO8cTjIYNVSKwUA==", + "version": "0.22.1", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.22.1.tgz", + "integrity": "sha512-/WMkqLYfwCf0waCAMC8Eddt3iAOdghkDF5vmyKEu8pfO66KRFY1L15yks8mfgURiwOAOJpAQ3blvB3Znj6ZwBw==", "dev": true, "requires": { - "comment-parser": "1.3.0", + "comment-parser": "1.3.1", "esquery": "^1.4.0", - "jsdoc-type-pratt-parser": "2.0.0" - }, - "dependencies": { - "jsdoc-type-pratt-parser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.0.0.tgz", - "integrity": "sha512-sUuj2j48wxrEpbFjDp1sAesAxPiLT+z0SWVmMafyIINs6Lj5gIPKh3VrkBZu4E/Dv+wHpOot0m6H8zlHQjwqeQ==", - "dev": true - } + "jsdoc-type-pratt-parser": "~2.2.5" } }, "@eslint/eslintrc": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz", - "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", + "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==", "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.2.0", + "espree": "^9.3.1", "globals": "^13.9.0", - "ignore": "^4.0.6", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", "minimatch": "^3.0.4", @@ -406,11 +124,6 @@ "uri-js": "^4.2.2" } }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -419,14 +132,14 @@ } }, "@gar/promisify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz", - "integrity": "sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" }, "@humanwhocodes/config-array": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz", - "integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==", + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", + "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", "requires": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -473,9 +186,9 @@ } }, "@npmcli/fs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.0.tgz", - "integrity": "sha512-VhP1qZLXcrXRIaPoqb4YA55JQxLNF3jNR4T55IdOJa3+IFJKNYHtPvtXx8slmeMavj37vCzCfrqQM1vWLsYKLA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", "requires": { "@gar/promisify": "^1.0.1", "semver": "^7.3.5" @@ -532,6 +245,11 @@ "version": "14.17.7", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.7.tgz", "integrity": "sha512-SYTdMaW47se8499q8m0fYKZZRlmq0RaRv6oYmlVm6DUm31l0fhOl1D03X8hGxohCKTI2Bg6w7W0TiYB51aJzag==" + }, + "flatted": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", + "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==" } } }, @@ -637,9 +355,9 @@ "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" }, "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.10.tgz", + "integrity": "sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A==" }, "@types/keyv": { "version": "3.1.3", @@ -657,9 +375,9 @@ } }, "@types/lodash": { - "version": "4.14.178", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", - "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==", + "version": "4.14.180", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.180.tgz", + "integrity": "sha512-XOKXa1KIxtNXgASAnwj7cnttJxS4fksBRywK/9LzRV5YxrF80BXZIGeQSuoESQ/VkUj30Ae0+YcuHc15wJCB2g==", "dev": true }, "@types/minimatch": { @@ -754,13 +472,14 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.7.0.tgz", - "integrity": "sha512-8RTGBpNn5a9M628wBPrCbJ+v3YTEOE2qeZb7TDkGKTDXSj36KGRg92SpFFaR/0S3rSXQxM0Og/kV9EyadsYSBg==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.15.0.tgz", + "integrity": "sha512-u6Db5JfF0Esn3tiAKELvoU5TpXVSkOpZ78cEGn/wXtT2RVqs2vkt4ge6N8cRCyw7YVKhmmLDbwI2pg92mlv7cA==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "5.7.0", - "@typescript-eslint/scope-manager": "5.7.0", + "@typescript-eslint/scope-manager": "5.15.0", + "@typescript-eslint/type-utils": "5.15.0", + "@typescript-eslint/utils": "5.15.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", @@ -780,16 +499,92 @@ } } }, - "@typescript-eslint/experimental-utils": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.7.0.tgz", - "integrity": "sha512-u57eZ5FbEpzN5kSjmVrSesovWslH2ZyNPnaXQMXWgH57d5+EVHEt76W75vVuI9qKZ5BMDKNfRN+pxcPEjQjb2A==", + "@typescript-eslint/parser": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.15.0.tgz", + "integrity": "sha512-NGAYP/+RDM2sVfmKiKOCgJYPstAO40vPAgACoWPO/+yoYKSgAXIFaBKsV8P0Cc7fwKgvj27SjRNX4L7f4/jCKQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.15.0", + "@typescript-eslint/types": "5.15.0", + "@typescript-eslint/typescript-estree": "5.15.0", + "debug": "^4.3.2" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.15.0.tgz", + "integrity": "sha512-EFiZcSKrHh4kWk0pZaa+YNJosvKE50EnmN4IfgjkA3bTHElPtYcd2U37QQkNTqwMCS7LXeDeZzEqnsOH8chjSg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.15.0", + "@typescript-eslint/visitor-keys": "5.15.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.15.0.tgz", + "integrity": "sha512-KGeDoEQ7gHieLydujGEFLyLofipe9PIzfvA/41urz4hv+xVxPEbmMQonKSynZ0Ks2xDhJQ4VYjB3DnRiywvKDA==", + "dev": true, + "requires": { + "@typescript-eslint/utils": "5.15.0", + "debug": "^4.3.2", + "tsutils": "^3.21.0" + }, + "dependencies": { + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + } + } + }, + "@typescript-eslint/types": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.15.0.tgz", + "integrity": "sha512-yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.15.0.tgz", + "integrity": "sha512-Hb0e3dGc35b75xLzixM3cSbG1sSbrTBQDfIScqdyvrfJZVEi4XWAT+UL/HMxEdrJNB8Yk28SKxPLtAhfCbBInA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.15.0", + "@typescript-eslint/visitor-keys": "5.15.0", + "debug": "^4.3.2", + "globby": "^11.0.4", + "is-glob": "^4.0.3", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "dependencies": { + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + } + } + }, + "@typescript-eslint/utils": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.15.0.tgz", + "integrity": "sha512-081rWu2IPKOgTOhHUk/QfxuFog8m4wxW43sXNOMSCdh578tGJ1PAaWPsj42LOa7pguh173tNlMigsbrHvh/mtA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.7.0", - "@typescript-eslint/types": "5.7.0", - "@typescript-eslint/typescript-estree": "5.7.0", + "@typescript-eslint/scope-manager": "5.15.0", + "@typescript-eslint/types": "5.15.0", + "@typescript-eslint/typescript-estree": "5.15.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -812,67 +607,13 @@ } } }, - "@typescript-eslint/parser": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.7.0.tgz", - "integrity": "sha512-m/gWCCcS4jXw6vkrPQ1BjZ1vomP01PArgzvauBqzsoZ3urLbsRChexB8/YV8z9HwE3qlJM35FxfKZ1nfP/4x8g==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.7.0", - "@typescript-eslint/types": "5.7.0", - "@typescript-eslint/typescript-estree": "5.7.0", - "debug": "^4.3.2" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.7.0.tgz", - "integrity": "sha512-7mxR520DGq5F7sSSgM0HSSMJ+TFUymOeFRMfUfGFAVBv8BR+Jv1vHgAouYUvWRZeszVBJlLcc9fDdktxb5kmxA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.7.0", - "@typescript-eslint/visitor-keys": "5.7.0" - } - }, - "@typescript-eslint/types": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.7.0.tgz", - "integrity": "sha512-5AeYIF5p2kAneIpnLFve8g50VyAjq7udM7ApZZ9JYjdPjkz0LvODfuSHIDUVnIuUoxafoWzpFyU7Sqbxgi79mA==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.7.0.tgz", - "integrity": "sha512-aO1Ql+izMrTnPj5aFFlEJkpD4jRqC4Gwhygu2oHK2wfVQpmOPbyDSveJ+r/NQo+PWV43M6uEAeLVbTi09dFLhg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.7.0", - "@typescript-eslint/visitor-keys": "5.7.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "dependencies": { - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - } - } - }, "@typescript-eslint/visitor-keys": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.7.0.tgz", - "integrity": "sha512-hdohahZ4lTFcglZSJ3DGdzxQHBSxsLVqHzkiOmKi7xVAWC4y2c1bIMKmPJSrA4aOEoRUPOKQ87Y/taC7yVHpFg==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.15.0.tgz", + "integrity": "sha512-+vX5FKtgvyHbmIJdxMJ2jKm9z2BIlXJiuewI8dsDYMp5LzPUcuTT78Ya5iwvQg3VqSVdmxyM8Anj1Jeq7733ZQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.7.0", + "@typescript-eslint/types": "5.15.0", "eslint-visitor-keys": "^3.0.0" } }, @@ -927,9 +668,9 @@ } }, "agentkeepalive": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.0.tgz", - "integrity": "sha512-0PhAp58jZNw13UJv7NVdTGb0ZcghHUb3DrZ046JiiJY/BOaTTpbwdHq2VObPCBV8M2GPh7sgrJ3AQ8Ey468LJw==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", "requires": { "debug": "^4.1.0", "depd": "^1.1.2", @@ -959,7 +700,8 @@ "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true }, "ansi-regex": { "version": "5.0.1", @@ -990,9 +732,9 @@ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" }, "are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", + "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", "requires": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" @@ -1076,19 +818,6 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, - "browserslist": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", - "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001286", - "electron-to-chromium": "^1.4.17", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" - } - }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", @@ -1169,21 +898,16 @@ } } }, - "caniuse-lite": { - "version": "1.0.30001301", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz", - "integrity": "sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA==", - "dev": true - }, "chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", + "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", "requires": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", "deep-eql": "^3.0.1", "get-func-name": "^2.0.0", + "loupe": "^2.3.1", "pathval": "^1.1.1", "type-detect": "^4.0.5" } @@ -1286,9 +1010,9 @@ "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" }, "comment-parser": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz", - "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.1.tgz", + "integrity": "sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==", "dev": true }, "compare-func": { @@ -1505,23 +1229,6 @@ "through2": "^4.0.0" } }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } - } - }, "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -1685,12 +1392,6 @@ "is-obj": "^2.0.0" } }, - "electron-to-chromium": { - "version": "1.4.52", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.52.tgz", - "integrity": "sha512-JGkh8HEh5PnVrhU4HbpyyO0O791dVY6k7AdqfDeqbcRMeoGxtNHWT77deR2nhvbLe4dKpxjlDEvdEwrvRLGu2Q==", - "dev": true - }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -1713,14 +1414,6 @@ "once": "^1.4.0" } }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "requires": { - "ansi-colors": "^4.1.1" - } - }, "env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", @@ -1752,23 +1445,22 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-TxU/p7LB1KxQ6+7aztTnO7K0i+h0tDi81YRY9VzB6Id71kNz+fFYnf5HD5UOQmxkzcoa0TlVZf9dpMtUv0GpWg==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.11.0.tgz", + "integrity": "sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==", "requires": { - "@eslint/eslintrc": "^1.0.5", + "@eslint/eslintrc": "^1.2.1", "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", - "enquirer": "^2.3.5", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.0", + "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.1.0", - "espree": "^9.2.0", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -1776,7 +1468,7 @@ "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", "globals": "^13.6.0", - "ignore": "^4.0.6", + "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", @@ -1787,9 +1479,7 @@ "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", - "progress": "^2.0.0", "regexpp": "^3.2.0", - "semver": "^7.2.1", "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", "text-table": "^0.2.0", @@ -1812,6 +1502,11 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" + }, "glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -1820,11 +1515,6 @@ "is-glob": "^4.0.3" } }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -1833,28 +1523,36 @@ } }, "eslint-config-prettier": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", - "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", + "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", "dev": true }, "eslint-plugin-jsdoc": { - "version": "37.2.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.2.3.tgz", - "integrity": "sha512-YXBonC2F78wQuzKpq8J0kqT4xlxDPkqZS9zrcZwsKAsrz2g81dAsOq4WfmnKRsMVh9TjKFXJANqswyQMMq913g==", + "version": "38.0.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.0.6.tgz", + "integrity": "sha512-Wvh5ERLUL8zt2yLZ8LLgi8RuF2UkjDvD+ri1/i7yMpbfreK2S29B9b5JC7iBIoFR7KDaEWCLnUPHTqgwcXX1Sg==", "dev": true, "requires": { - "@es-joy/jsdoccomment": "0.13.0", - "comment-parser": "1.3.0", - "debug": "^4.3.3", + "@es-joy/jsdoccomment": "~0.22.1", + "comment-parser": "1.3.1", + "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", "esquery": "^1.4.0", - "jsdoc-type-pratt-parser": "^2.0.0", "regextras": "^0.8.0", "semver": "^7.3.5", "spdx-expression-parse": "^3.0.1" }, "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -1873,23 +1571,22 @@ } }, "eslint-plugin-unicorn": { - "version": "39.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-39.0.0.tgz", - "integrity": "sha512-fd5RK2FtYjGcIx3wra7csIE/wkkmBo22T1gZtRTsLr1Mb+KsFKJ+JOdSqhHXQUrI/JTs/Mon64cEYzTgSCbltw==", + "version": "41.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-41.0.1.tgz", + "integrity": "sha512-gF5vo2dIj0YdNMQ/IMegiBkQdQ22GBFFVpdkJP+0og3w7XD4ypea0xQVRv6iofkLVR2w0phAdikcnU01ybd4Ow==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.9", - "ci-info": "^3.2.0", + "@babel/helper-validator-identifier": "^7.15.7", + "ci-info": "^3.3.0", "clean-regexp": "^1.0.0", - "eslint-template-visitor": "^2.3.2", "eslint-utils": "^3.0.0", "esquery": "^1.4.0", - "indent-string": "4", + "indent-string": "^4.0.0", "is-builtin-module": "^3.1.0", "lodash": "^4.17.21", "pluralize": "^8.0.0", "read-pkg-up": "^7.0.1", - "regexp-tree": "^0.1.23", + "regexp-tree": "^0.1.24", "safe-regex": "^2.1.1", "semver": "^7.3.5", "strip-indent": "^3.0.0" @@ -1961,35 +1658,14 @@ } }, "eslint-scope": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", - "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", "requires": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, - "eslint-template-visitor": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/eslint-template-visitor/-/eslint-template-visitor-2.3.2.tgz", - "integrity": "sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA==", - "dev": true, - "requires": { - "@babel/core": "^7.12.16", - "@babel/eslint-parser": "^7.12.16", - "eslint-visitor-keys": "^2.0.0", - "esquery": "^1.3.1", - "multimap": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, "eslint-utils": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", @@ -2006,18 +1682,26 @@ } }, "eslint-visitor-keys": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz", - "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==" + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true }, "espree": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz", - "integrity": "sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", + "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", "requires": { "acorn": "^8.7.0", "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.1.0" + "eslint-visitor-keys": "^3.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" + } } }, "esprima": { @@ -2135,14 +1819,14 @@ } }, "flatted": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", - "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==" + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==" }, "fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", - "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", + "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -2181,27 +1865,20 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "gauge": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.0.tgz", - "integrity": "sha512-F8sU45yQpjQjxKkm1UOAhf0U/O0aFt//Fl7hsrNVto+patMHjs7dPI9mFOGUKbhrgKm0S3EjW3scMFuQmWSROw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.3.tgz", + "integrity": "sha512-ICw1DhAwMtb22rYFwEHgJcx1JCwJGv3x6G0OQUq56Nge+H4Q8JEwr8iveS0XFlsUNSI67F5ffMGK25bK4Pmskw==", "requires": { - "ansi-regex": "^5.0.1", "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", "has-unicode": "^2.0.1", - "signal-exit": "^3.0.0", + "signal-exit": "^3.0.7", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" + "wide-align": "^1.1.5" } }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -2353,9 +2030,9 @@ } }, "globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", "requires": { "type-fest": "^0.20.2" } @@ -2703,15 +2380,9 @@ } }, "jsdoc-type-pratt-parser": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.2.tgz", - "integrity": "sha512-zRokSWcPLSWkoNzsWn9pq7YYSwDhKyEe+cJYT2qaPqLOOJb5sFSi46BPj81vP+e8chvCNdQL9RG86Bi9EI6MDw==", - "dev": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz", + "integrity": "sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==", "dev": true }, "json-buffer": { @@ -2891,6 +2562,14 @@ "is-unicode-supported": "^0.1.0" } }, + "loupe": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", + "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", + "requires": { + "get-func-name": "^2.0.0" + } + }, "lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", @@ -3155,9 +2834,9 @@ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "mocha": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.0.tgz", - "integrity": "sha512-kNn7E8g2SzVcq0a77dkphPsDSN7P+iYkqE0ZsGCYWRsoiKjOt+NvXfaagik8vuDa6W5Zw3qxe8Jfpt5qKf+6/Q==", + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", + "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", @@ -3173,9 +2852,9 @@ "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", - "minimatch": "3.0.4", + "minimatch": "4.2.1", "ms": "2.1.3", - "nanoid": "3.2.0", + "nanoid": "3.3.1", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", @@ -3217,6 +2896,15 @@ "p-locate": "^5.0.0" } }, + "minimatch": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", + "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -3274,12 +2962,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "multimap": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multimap/-/multimap-1.1.0.tgz", - "integrity": "sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw==", - "dev": true - }, "mustache": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", @@ -3291,9 +2973,9 @@ "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" }, "nanoid": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", - "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", "dev": true }, "natural-compare": { @@ -3313,9 +2995,9 @@ "dev": true }, "nock": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.2.tgz", - "integrity": "sha512-PcBHuvl9i6zfaJ50A7LS55oU+nFLv8htXIhffJO+FxyfibdZ4jEvd9kTuvkrJireBFIGMZ+oUIRpMK5gU9h//g==", + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.4.tgz", + "integrity": "sha512-8GPznwxcPNCH/h8B+XZcKjYPXnUV5clOKCjAqyjsiqA++MpNx9E9+t8YPp0MbThO+KauRo7aZJ1WuIZmOrT2Ug==", "dev": true, "requires": { "debug": "^4.1.0", @@ -3341,12 +3023,6 @@ "which": "^2.0.2" } }, - "node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "dev": true - }, "nodemailer": { "version": "6.7.2", "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.2.tgz", @@ -3384,11 +3060,11 @@ "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" }, "npmlog": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.0.tgz", - "integrity": "sha512-03ppFRGlsyUaQFbGC2C8QWJN/C/K7PsfyD9aQdhVKAQIH4sQBc8WASqFBP7O+Ut4d2oo5LoeoboB3cGdBZSp6Q==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.1.tgz", + "integrity": "sha512-BTHDvY6nrRHuRfyjt1MAufLxYdVXZfd099H4+i1f0lPywNQyI4foeNXJRObB/uy+TYqUW0vAD9gbdSOXPst7Eg==", "requires": { - "are-we-there-yet": "^2.0.0", + "are-we-there-yet": "^3.0.0", "console-control-strings": "^1.1.0", "gauge": "^4.0.0", "set-blocking": "^2.0.0" @@ -3515,12 +3191,6 @@ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -3568,9 +3238,9 @@ } }, "prettier": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", - "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz", + "integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==", "dev": true }, "prettier-linter-helpers": { @@ -3588,11 +3258,6 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", @@ -3653,11 +3318,11 @@ } }, "re2": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/re2/-/re2-1.17.1.tgz", - "integrity": "sha512-TrhxVzakyO/WJsErkc01zjlEiDLCuuRuddbVi2I8YasIbh6MEJfkRoajBRj+ggm00gnGI2EMemE9GrlKrgUZ8Q==", + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/re2/-/re2-1.17.4.tgz", + "integrity": "sha512-xyZ4h5PqE8I9tAxTh3G0UttcK5ufrcUxReFjGzfX61vtanNbS1XZHjnwRSyPcLgChI4KLxVgOT/ioZXnUAdoTA==", "requires": { - "install-artifact-from-github": "^1.2.0", + "install-artifact-from-github": "^1.3.0", "nan": "^2.15.0", "node-gyp": "^8.4.1" } @@ -3959,9 +3624,9 @@ } }, "signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "slash": { "version": "3.0.0", @@ -3974,12 +3639,12 @@ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" }, "socks": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz", - "integrity": "sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", + "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", "requires": { "ip": "^1.1.5", - "smart-buffer": "^4.1.0" + "smart-buffer": "^4.2.0" } }, "socks-proxy-agent": { @@ -4186,12 +3851,6 @@ "os-tmpdir": "~1.0.1" } }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -4212,22 +3871,34 @@ "dev": true }, "ts-json-schema-generator": { - "version": "0.97.0", - "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.97.0.tgz", - "integrity": "sha512-kPDq4ut8Mu1ZgSN7OeTXz+ueb1juFt2eyGd23lMr3WoN5sq4Xa9m22kDI46OlwapE0aF8e1pUesOFgDcATHcuA==", + "version": "0.98.0", + "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.98.0.tgz", + "integrity": "sha512-emurTxAKkhk9a/i0Rfg5WkT5Hbg7MaL9VlxQXsWScBun0aXVl99gr06sEcHm3EJ8As4Ji51J7VJGEg6wrER/Kg==", "requires": { "@types/json-schema": "^7.0.9", - "commander": "^8.2.0", + "commander": "^9.0.0", "glob": "^7.2.0", "json5": "^2.2.0", - "safe-stable-stringify": "^2.2.0", - "typescript": "~4.4.3" + "safe-stable-stringify": "^2.3.1", + "typescript": "~4.5.4" + }, + "dependencies": { + "commander": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.1.0.tgz", + "integrity": "sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w==" + }, + "typescript": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", + "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==" + } } }, "ts-node": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", - "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", + "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", "requires": { "@cspotcode/source-map-support": "0.7.0", "@tsconfig/node10": "^1.0.7", @@ -4240,6 +3911,7 @@ "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.0", "yn": "3.1.1" } }, @@ -4503,6 +4175,11 @@ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" }, + "v8-compile-cache-lib": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", + "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==" + }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", diff --git a/package.json b/package.json index 9a2c90bc..895c4468 100644 --- a/package.json +++ b/package.json @@ -48,13 +48,13 @@ "@openstapps/logger": "0.8.0", "ajv": "8.8.2", "better-ajv-errors": "1.1.2", - "chai": "4.3.4", + "chai": "4.3.6", "commander": "8.3.0", "deepmerge": "4.2.2", "del": "6.0.0", - "eslint": "8.4.1", - "flatted": "3.2.4", - "fs-extra": "10.0.0", + "eslint": "8.11.0", + "flatted": "3.2.5", + "fs-extra": "10.0.1", "glob": "7.2.0", "got": "11.8.3", "humanize-string": "3.0.0", @@ -63,10 +63,10 @@ "mustache": "4.2.0", "openapi-types": "10.0.0", "plantuml-encoder": "1.4.0", - "re2": "1.17.1", + "re2": "1.17.4", "toposort": "2.0.2", - "ts-json-schema-generator": "0.97.0", - "ts-node": "10.4.0", + "ts-json-schema-generator": "0.98.0", + "ts-node": "10.7.0", "typescript": "4.4.3" }, "devDependencies": { @@ -75,23 +75,23 @@ "@types/chai": "4.3.0", "@types/fs-extra": "9.0.13", "@types/glob": "7.2.0", - "@types/json-schema": "7.0.9", - "@types/lodash": "4.14.178", + "@types/json-schema": "7.0.10", + "@types/lodash": "4.14.180", "@types/mocha": "9.1.0", "@types/mustache": "4.1.2", "@types/node": "14.18.5", "@types/rimraf": "3.0.2", - "@typescript-eslint/eslint-plugin": "5.7.0", - "@typescript-eslint/parser": "5.7.0", + "@typescript-eslint/eslint-plugin": "5.15.0", + "@typescript-eslint/parser": "5.15.0", "conventional-changelog-cli": "2.2.2", - "eslint-config-prettier": "8.3.0", - "eslint-plugin-jsdoc": "37.2.3", + "eslint-config-prettier": "8.5.0", + "eslint-plugin-jsdoc": "38.0.6", "eslint-plugin-prettier": "4.0.0", - "eslint-plugin-unicorn": "39.0.0", - "mocha": "9.2.0", - "nock": "13.2.2", + "eslint-plugin-unicorn": "41.0.1", + "mocha": "9.2.2", + "nock": "13.2.4", "prepend-file-cli": "1.0.6", - "prettier": "2.5.1", + "prettier": "2.6.0", "rimraf": "3.0.2", "typedoc": "0.22.11" } From 5405c5bc31b5802835dbafb8a7e8a4c338375958 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 21 Mar 2022 11:37:45 +0100 Subject: [PATCH 190/215] 0.29.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 68788144..faa86add 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.29.0", + "version": "0.29.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 895c4468..0a869cbc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.29.0", + "version": "0.29.1", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From e30ef33cc891bac7cefa79e5075ae58fbf0e86ec Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 21 Mar 2022 11:37:47 +0100 Subject: [PATCH 191/215] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 30a0c676..8e5a58a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [0.29.1](https://gitlab.com/openstapps/core-tools/compare/v0.29.0...v0.29.1) (2022-03-21) + + + # [0.29.0](https://gitlab.com/openstapps/core-tools/compare/v0.28.0...v0.29.0) (2022-01-25) From 4c86ced5b7dc114eca5ad49619a2bfb24a4cce91 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 4 Apr 2022 20:29:22 +0200 Subject: [PATCH 192/215] refactor: update dependencies --- package-lock.json | 338 +++++++++++++++++++++++++--------------------- package.json | 20 +-- 2 files changed, 193 insertions(+), 165 deletions(-) diff --git a/package-lock.json b/package-lock.json index faa86add..fdc66317 100644 --- a/package-lock.json +++ b/package-lock.json @@ -147,9 +147,9 @@ } }, "@humanwhocodes/momoa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-2.0.2.tgz", - "integrity": "sha512-mkMcsshJ7L17AyntqpyjLiGqhbG62w93B0StW+HSNVJ1WUeVFA2uPssV/GufEfDqN6lRKI1I+uDzBUw83C0VuA==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-2.0.3.tgz", + "integrity": "sha512-SytjS6gJk+LXSWFuEm0V9ASdgxlX/BDq6A+6gfh7TaHM90xppBydjcM3SFaziZP4ikKmhUOhPkDi2KktzElnQQ==" }, "@humanwhocodes/object-schema": { "version": "1.2.1", @@ -254,9 +254,9 @@ } }, "@sindresorhus/is": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.4.0.tgz", - "integrity": "sha512-QppPM/8l3Mawvh4rn9CNEYIU9bxpXUCRMaX9yUpvBk1nMKusLKpfXGDEKExKaPhLzcn3lzil7pR6rnJ11HgeRQ==" + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==" }, "@szmarczak/http-timer": { "version": "4.0.6", @@ -318,9 +318,9 @@ }, "dependencies": { "@types/node": { - "version": "17.0.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.12.tgz", - "integrity": "sha512-4YpbAsnJXWYK/fpTVFlMIcUIho2AYCi4wg5aNPrG1ng7fn/1/RZfCIpRCiBX+12RVa34RluilnvCqD+g3KiSiA==" + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" } } }, @@ -354,30 +354,35 @@ "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" }, + "@types/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==" + }, "@types/json-schema": { - "version": "7.0.10", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.10.tgz", - "integrity": "sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A==" + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" }, "@types/keyv": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz", - "integrity": "sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", + "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", "requires": { "@types/node": "*" }, "dependencies": { "@types/node": { - "version": "17.0.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.12.tgz", - "integrity": "sha512-4YpbAsnJXWYK/fpTVFlMIcUIho2AYCi4wg5aNPrG1ng7fn/1/RZfCIpRCiBX+12RVa34RluilnvCqD+g3KiSiA==" + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" } } }, "@types/lodash": { - "version": "4.14.180", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.180.tgz", - "integrity": "sha512-XOKXa1KIxtNXgASAnwj7cnttJxS4fksBRywK/9LzRV5YxrF80BXZIGeQSuoESQ/VkUj30Ae0+YcuHc15wJCB2g==", + "version": "4.14.181", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.181.tgz", + "integrity": "sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag==", "dev": true }, "@types/minimatch": { @@ -419,9 +424,9 @@ }, "dependencies": { "@types/node": { - "version": "17.0.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.12.tgz", - "integrity": "sha512-4YpbAsnJXWYK/fpTVFlMIcUIho2AYCi4wg5aNPrG1ng7fn/1/RZfCIpRCiBX+12RVa34RluilnvCqD+g3KiSiA==" + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" } } }, @@ -440,9 +445,9 @@ }, "dependencies": { "@types/node": { - "version": "17.0.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.12.tgz", - "integrity": "sha512-4YpbAsnJXWYK/fpTVFlMIcUIho2AYCi4wg5aNPrG1ng7fn/1/RZfCIpRCiBX+12RVa34RluilnvCqD+g3KiSiA==" + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" } } }, @@ -472,14 +477,14 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.15.0.tgz", - "integrity": "sha512-u6Db5JfF0Esn3tiAKELvoU5TpXVSkOpZ78cEGn/wXtT2RVqs2vkt4ge6N8cRCyw7YVKhmmLDbwI2pg92mlv7cA==", + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.18.0.tgz", + "integrity": "sha512-tzrmdGMJI/uii9/V6lurMo4/o+dMTKDH82LkNjhJ3adCW22YQydoRs5MwTiqxGF9CSYxPxQ7EYb4jLNlIs+E+A==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.15.0", - "@typescript-eslint/type-utils": "5.15.0", - "@typescript-eslint/utils": "5.15.0", + "@typescript-eslint/scope-manager": "5.18.0", + "@typescript-eslint/type-utils": "5.18.0", + "@typescript-eslint/utils": "5.18.0", "debug": "^4.3.2", "functional-red-black-tree": "^1.0.1", "ignore": "^5.1.8", @@ -500,34 +505,34 @@ } }, "@typescript-eslint/parser": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.15.0.tgz", - "integrity": "sha512-NGAYP/+RDM2sVfmKiKOCgJYPstAO40vPAgACoWPO/+yoYKSgAXIFaBKsV8P0Cc7fwKgvj27SjRNX4L7f4/jCKQ==", + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.18.0.tgz", + "integrity": "sha512-+08nYfurBzSSPndngnHvFw/fniWYJ5ymOrn/63oMIbgomVQOvIDhBoJmYZ9lwQOCnQV9xHGvf88ze3jFGUYooQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.15.0", - "@typescript-eslint/types": "5.15.0", - "@typescript-eslint/typescript-estree": "5.15.0", + "@typescript-eslint/scope-manager": "5.18.0", + "@typescript-eslint/types": "5.18.0", + "@typescript-eslint/typescript-estree": "5.18.0", "debug": "^4.3.2" } }, "@typescript-eslint/scope-manager": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.15.0.tgz", - "integrity": "sha512-EFiZcSKrHh4kWk0pZaa+YNJosvKE50EnmN4IfgjkA3bTHElPtYcd2U37QQkNTqwMCS7LXeDeZzEqnsOH8chjSg==", + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.18.0.tgz", + "integrity": "sha512-C0CZML6NyRDj+ZbMqh9FnPscg2PrzSaVQg3IpTmpe0NURMVBXlghGZgMYqBw07YW73i0MCqSDqv2SbywnCS8jQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.15.0", - "@typescript-eslint/visitor-keys": "5.15.0" + "@typescript-eslint/types": "5.18.0", + "@typescript-eslint/visitor-keys": "5.18.0" } }, "@typescript-eslint/type-utils": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.15.0.tgz", - "integrity": "sha512-KGeDoEQ7gHieLydujGEFLyLofipe9PIzfvA/41urz4hv+xVxPEbmMQonKSynZ0Ks2xDhJQ4VYjB3DnRiywvKDA==", + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.18.0.tgz", + "integrity": "sha512-vcn9/6J5D6jtHxpEJrgK8FhaM8r6J1/ZiNu70ZUJN554Y3D9t3iovi6u7JF8l/e7FcBIxeuTEidZDR70UuCIfA==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.15.0", + "@typescript-eslint/utils": "5.18.0", "debug": "^4.3.2", "tsutils": "^3.21.0" }, @@ -544,19 +549,19 @@ } }, "@typescript-eslint/types": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.15.0.tgz", - "integrity": "sha512-yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA==", + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.18.0.tgz", + "integrity": "sha512-bhV1+XjM+9bHMTmXi46p1Led5NP6iqQcsOxgx7fvk6gGiV48c6IynY0apQb7693twJDsXiVzNXTflhplmaiJaw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.15.0.tgz", - "integrity": "sha512-Hb0e3dGc35b75xLzixM3cSbG1sSbrTBQDfIScqdyvrfJZVEi4XWAT+UL/HMxEdrJNB8Yk28SKxPLtAhfCbBInA==", + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.18.0.tgz", + "integrity": "sha512-wa+2VAhOPpZs1bVij9e5gyVu60ReMi/KuOx4LKjGx2Y3XTNUDJgQ+5f77D49pHtqef/klglf+mibuHs9TrPxdQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.15.0", - "@typescript-eslint/visitor-keys": "5.15.0", + "@typescript-eslint/types": "5.18.0", + "@typescript-eslint/visitor-keys": "5.18.0", "debug": "^4.3.2", "globby": "^11.0.4", "is-glob": "^4.0.3", @@ -576,15 +581,15 @@ } }, "@typescript-eslint/utils": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.15.0.tgz", - "integrity": "sha512-081rWu2IPKOgTOhHUk/QfxuFog8m4wxW43sXNOMSCdh578tGJ1PAaWPsj42LOa7pguh173tNlMigsbrHvh/mtA==", + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.18.0.tgz", + "integrity": "sha512-+hFGWUMMri7OFY26TsOlGa+zgjEy1ssEipxpLjtl4wSll8zy85x0GrUSju/FHdKfVorZPYJLkF3I4XPtnCTewA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.15.0", - "@typescript-eslint/types": "5.15.0", - "@typescript-eslint/typescript-estree": "5.15.0", + "@typescript-eslint/scope-manager": "5.18.0", + "@typescript-eslint/types": "5.18.0", + "@typescript-eslint/typescript-estree": "5.18.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -608,12 +613,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.15.0.tgz", - "integrity": "sha512-+vX5FKtgvyHbmIJdxMJ2jKm9z2BIlXJiuewI8dsDYMp5LzPUcuTT78Ya5iwvQg3VqSVdmxyM8Anj1Jeq7733ZQ==", + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.18.0.tgz", + "integrity": "sha512-Hf+t+dJsjAKpKSkg3EHvbtEpFFb/1CiOHnvI8bjHgOD4/wAw3gKrA0i94LrbekypiZVanJu3McWJg7rWDMzRTg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.15.0", + "@typescript-eslint/types": "5.18.0", "eslint-visitor-keys": "^3.0.0" } }, @@ -1025,6 +1030,15 @@ "dot-prop": "^5.1.0" } }, + "compress-brotli": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.6.tgz", + "integrity": "sha512-au99/GqZtUtiCBliqLFbWlhnCxn+XSYjwZ77q6mKN4La4qOXDoLVPZ50iXr0WmAyMxl8yqoq3Yq4OeQNPPkyeQ==", + "requires": { + "@types/json-buffer": "~3.0.0", + "json-buffer": "~3.0.1" + } + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -1263,9 +1277,9 @@ "dev": true }, "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { "ms": "2.1.2" } @@ -1445,9 +1459,9 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.11.0.tgz", - "integrity": "sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz", + "integrity": "sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==", "requires": { "@eslint/eslintrc": "^1.2.1", "@humanwhocodes/config-array": "^0.9.2", @@ -1502,11 +1516,6 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" - }, "glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -1529,9 +1538,9 @@ "dev": true }, "eslint-plugin-jsdoc": { - "version": "38.0.6", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.0.6.tgz", - "integrity": "sha512-Wvh5ERLUL8zt2yLZ8LLgi8RuF2UkjDvD+ri1/i7yMpbfreK2S29B9b5JC7iBIoFR7KDaEWCLnUPHTqgwcXX1Sg==", + "version": "38.1.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.1.6.tgz", + "integrity": "sha512-n4s95oYlg0L43Bs8C0dkzIldxYf8pLCutC/tCbjIdF7VDiobuzPI+HZn9Q0BvgOvgPNgh5n7CSStql25HUG4Tw==", "dev": true, "requires": { "@es-joy/jsdoccomment": "~0.22.1", @@ -1544,15 +1553,6 @@ "spdx-expression-parse": "^3.0.1" }, "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -1571,9 +1571,9 @@ } }, "eslint-plugin-unicorn": { - "version": "41.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-41.0.1.tgz", - "integrity": "sha512-gF5vo2dIj0YdNMQ/IMegiBkQdQ22GBFFVpdkJP+0og3w7XD4ypea0xQVRv6iofkLVR2w0phAdikcnU01ybd4Ow==", + "version": "42.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-42.0.0.tgz", + "integrity": "sha512-ixBsbhgWuxVaNlPTT8AyfJMlhyC5flCJFjyK3oKE8TRrwBnaHvUbuIkCM1lqg8ryYrFStL/T557zfKzX4GKSlg==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.15.7", @@ -1684,8 +1684,7 @@ "eslint-visitor-keys": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" }, "espree": { "version": "9.3.1", @@ -1695,13 +1694,6 @@ "acorn": "^8.7.0", "acorn-jsx": "^5.3.1", "eslint-visitor-keys": "^3.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" - } } }, "esprima": { @@ -1865,9 +1857,9 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "gauge": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.3.tgz", - "integrity": "sha512-ICw1DhAwMtb22rYFwEHgJcx1JCwJGv3x6G0OQUq56Nge+H4Q8JEwr8iveS0XFlsUNSI67F5ffMGK25bK4Pmskw==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "requires": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.3", @@ -2069,9 +2061,9 @@ } }, "graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, "growl": { "version": "1.10.5", @@ -2424,12 +2416,9 @@ "dev": true }, "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "requires": { - "minimist": "^1.2.5" - } + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" }, "jsonc-parser": { "version": "3.0.0", @@ -2458,10 +2447,11 @@ "integrity": "sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==" }, "keyv": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.5.tgz", - "integrity": "sha512-531pkGLqV3BMg0eDqqJFI0R1mkK1Nm5xIP2mM6keP5P8WfFtCkg2IOwplTUmlGoTgIg9yQYZ/kdihhz89XH3vA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.2.1.tgz", + "integrity": "sha512-cAJq5cTfxQdq1DHZEVNpnk4mEvhP+8UP8UQftLtTtJ98beKkRHf+62M0mIDM2u/IWXyP8bmGB375/6uGdSX2MA==", "requires": { + "compress-brotli": "^1.3.6", "json-buffer": "3.0.1" } }, @@ -2624,9 +2614,9 @@ "dev": true }, "marked": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.10.tgz", - "integrity": "sha512-+QvuFj0nGgO970fySghXGmuw+Fd0gD2x3+MqCWLIPf5oxdv1Ka6b2q+z9RP01P/IaKPMEramy+7cNy/Lw8c3hw==", + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz", + "integrity": "sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==", "dev": true }, "meow": { @@ -2725,12 +2715,12 @@ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "mimic-response": { @@ -2745,17 +2735,18 @@ "dev": true }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true }, "minimist-options": { "version": "4.1.0", @@ -2865,6 +2856,23 @@ "yargs-unparser": "2.0.0" }, "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, "diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -3238,9 +3246,9 @@ } }, "prettier": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz", - "integrity": "sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", + "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", "dev": true }, "prettier-linter-helpers": { @@ -3613,9 +3621,9 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "shiki": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.10.0.tgz", - "integrity": "sha512-iczxaIYeBFHTFrQPb9DVy2SKgYxC4Wo7Iucm7C17cCh2Ge/refnvHscUOxM85u57MfLoNOtjoEFUWt9gBexblA==", + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.10.1.tgz", + "integrity": "sha512-VsY7QJVzU51j5o1+DguUd+6vmCmZ5v/6gYu4vyYAhzjuNQU6P/vmSy4uQaOhvje031qQMiW0d2BwgMH52vqMng==", "dev": true, "requires": { "jsonc-parser": "^3.0.0", @@ -4009,12 +4017,12 @@ } }, "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "requires": { - "minimist": "^1.2.5" + "minimist": "^1.2.6" } }, "semver": { @@ -4106,27 +4114,47 @@ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" }, "typedoc": { - "version": "0.22.11", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz", - "integrity": "sha512-pVr3hh6dkS3lPPaZz1fNpvcrqLdtEvXmXayN55czlamSgvEjh+57GUqfhAI1Xsuu/hNHUT1KNSx8LH2wBP/7SA==", + "version": "0.22.13", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.13.tgz", + "integrity": "sha512-NHNI7Dr6JHa/I3+c62gdRNXBIyX7P33O9TafGLd07ur3MqzcKgwTvpg18EtvCLHJyfeSthAtCLpM7WkStUmDuQ==", "dev": true, "requires": { "glob": "^7.2.0", "lunr": "^2.3.9", - "marked": "^4.0.10", - "minimatch": "^3.0.4", - "shiki": "^0.10.0" + "marked": "^4.0.12", + "minimatch": "^5.0.1", + "shiki": "^0.10.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "typescript": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz", - "integrity": "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==" + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", + "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==" }, "uglify-js": { - "version": "3.14.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.5.tgz", - "integrity": "sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==", + "version": "3.15.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.3.tgz", + "integrity": "sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==", "dev": true, "optional": true }, @@ -4191,9 +4219,9 @@ } }, "vscode-oniguruma": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.6.1.tgz", - "integrity": "sha512-vc4WhSIaVpgJ0jJIejjYxPvURJavX6QG41vu0mGhqywMkQqulezEqEQ3cO3gc8GvcOpX6ycmKGqRoROEMBNXTQ==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.6.2.tgz", + "integrity": "sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA==", "dev": true }, "vscode-textmate": { diff --git a/package.json b/package.json index 0a869cbc..7620e351 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "commander": "8.3.0", "deepmerge": "4.2.2", "del": "6.0.0", - "eslint": "8.11.0", + "eslint": "8.12.0", "flatted": "3.2.5", "fs-extra": "10.0.1", "glob": "7.2.0", @@ -67,7 +67,7 @@ "toposort": "2.0.2", "ts-json-schema-generator": "0.98.0", "ts-node": "10.7.0", - "typescript": "4.4.3" + "typescript": "4.4.4" }, "devDependencies": { "@openstapps/configuration": "0.29.0", @@ -75,24 +75,24 @@ "@types/chai": "4.3.0", "@types/fs-extra": "9.0.13", "@types/glob": "7.2.0", - "@types/json-schema": "7.0.10", - "@types/lodash": "4.14.180", + "@types/json-schema": "7.0.11", + "@types/lodash": "4.14.181", "@types/mocha": "9.1.0", "@types/mustache": "4.1.2", "@types/node": "14.18.5", "@types/rimraf": "3.0.2", - "@typescript-eslint/eslint-plugin": "5.15.0", - "@typescript-eslint/parser": "5.15.0", + "@typescript-eslint/eslint-plugin": "5.18.0", + "@typescript-eslint/parser": "5.18.0", "conventional-changelog-cli": "2.2.2", "eslint-config-prettier": "8.5.0", - "eslint-plugin-jsdoc": "38.0.6", + "eslint-plugin-jsdoc": "38.1.6", "eslint-plugin-prettier": "4.0.0", - "eslint-plugin-unicorn": "41.0.1", + "eslint-plugin-unicorn": "42.0.0", "mocha": "9.2.2", "nock": "13.2.4", "prepend-file-cli": "1.0.6", - "prettier": "2.6.0", + "prettier": "2.6.2", "rimraf": "3.0.2", - "typedoc": "0.22.11" + "typedoc": "0.22.13" } } From 5f1cf06ce3c57314a3478ea4af78e91003b2a0df Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 4 Apr 2022 20:33:59 +0200 Subject: [PATCH 193/215] 0.30.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index fdc66317..bae3f7f1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.29.1", + "version": "0.30.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 7620e351..98ec35e5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.29.1", + "version": "0.30.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From f6168bf6785173ea1fe7240c37afdb2f1269683a Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 4 Apr 2022 20:34:01 +0200 Subject: [PATCH 194/215] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e5a58a5..df530419 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# [0.30.0](https://gitlab.com/openstapps/core-tools/compare/v0.29.1...v0.30.0) (2022-04-04) + + + ## [0.29.1](https://gitlab.com/openstapps/core-tools/compare/v0.29.0...v0.29.1) (2022-03-21) From 65f25afd893bd64b38119b00050dd356810ef24e Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Fri, 27 May 2022 16:41:54 +0200 Subject: [PATCH 195/215] refactor: update dependencies --- package-lock.json | 740 +++++++++++++++++++++++++--------------------- package.json | 38 +-- 2 files changed, 429 insertions(+), 349 deletions(-) diff --git a/package-lock.json b/package-lock.json index bae3f7f1..41f0f48d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,9 +18,9 @@ "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" }, "@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", + "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", "requires": { "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", @@ -56,7 +56,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "has-flag": { "version": "3.0.0", @@ -73,43 +73,38 @@ } } }, - "@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==" - }, "@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "requires": { - "@cspotcode/source-map-consumer": "0.8.0" + "@jridgewell/trace-mapping": "0.3.9" } }, "@es-joy/jsdoccomment": { - "version": "0.22.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.22.1.tgz", - "integrity": "sha512-/WMkqLYfwCf0waCAMC8Eddt3iAOdghkDF5vmyKEu8pfO66KRFY1L15yks8mfgURiwOAOJpAQ3blvB3Znj6ZwBw==", + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.31.0.tgz", + "integrity": "sha512-tc1/iuQcnaiSIUVad72PBierDFpsxdUHtEF/OrfqvM1CBAsIoMP51j52jTMb3dXriwhieTo289InzZj72jL3EQ==", "dev": true, "requires": { "comment-parser": "1.3.1", "esquery": "^1.4.0", - "jsdoc-type-pratt-parser": "~2.2.5" + "jsdoc-type-pratt-parser": "~3.1.0" } }, "@eslint/eslintrc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz", - "integrity": "sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", + "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.1", - "globals": "^13.9.0", + "espree": "^9.3.2", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "dependencies": { @@ -147,9 +142,9 @@ } }, "@humanwhocodes/momoa": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-2.0.3.tgz", - "integrity": "sha512-SytjS6gJk+LXSWFuEm0V9ASdgxlX/BDq6A+6gfh7TaHM90xppBydjcM3SFaziZP4ikKmhUOhPkDi2KktzElnQQ==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-2.0.4.tgz", + "integrity": "sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==" }, "@humanwhocodes/object-schema": { "version": "1.2.1", @@ -162,6 +157,25 @@ "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", "dev": true }, + "@jridgewell/resolve-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", + "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==" + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -204,53 +218,33 @@ } }, "@openstapps/configuration": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.29.0.tgz", - "integrity": "sha512-jK2vmN+WK9Y44oQI9HqzBe3t4UbmVgHCwkeT19t7Oj9+DroENT5tQ7FLH1ZFaHqajlOv8Bp/cQtGlvhf1ZlFFA==", + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.29.1.tgz", + "integrity": "sha512-H6DNB1HrujC5LwOF17rYkXQPFaEWTaA5T3IPsfccSuKHSUhB0ry6V5OkMwmvls2nOSrbpuRpyQoM7ulwZ9X9Bw==", "dev": true, "requires": { - "@types/node": "14.18.0", + "@types/node": "14.18.18", "@types/semver": "7.3.9", "@types/yaml": "1.9.7", "chalk": "4.1.2", - "commander": "8.3.0", - "semver": "7.3.5", + "commander": "9.2.0", + "semver": "7.3.7", "tslint": "6.1.3", "tslint-eslint-rules": "5.4.0", "yaml": "1.10.2" - }, - "dependencies": { - "@types/node": { - "version": "14.18.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.0.tgz", - "integrity": "sha512-0GeIl2kmVMXEnx8tg1SlG6Gg8vkqirrW752KqolYo1PHevhhZN3bhJ67qHj+bQaINhX0Ra3TlWwRvMCd9iEfNQ==", - "dev": true - } } }, "@openstapps/logger": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.8.0.tgz", - "integrity": "sha512-OYdzNzel2YzEOAs0YdnbOfuMTdh+NY05tXicJ98TSAmVTfrQLc6I9QWdov495+z2PX7GJYijaCJ804VrTqJbxA==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.8.1.tgz", + "integrity": "sha512-Ain5Hb1f0EjhwhiHfv1PhDaNm7f1LUeuoO8Orll6f1icF5VI+R1PKcxk+Z1rO/WVElFNoP+PORD0vB7wDE4xAQ==", "requires": { - "@types/node": "14.17.7", + "@types/node": "14.18.18", "@types/nodemailer": "6.4.4", "chalk": "4.1.2", - "flatted": "3.2.4", - "moment": "2.29.1", - "nodemailer": "6.7.2" - }, - "dependencies": { - "@types/node": { - "version": "14.17.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.7.tgz", - "integrity": "sha512-SYTdMaW47se8499q8m0fYKZZRlmq0RaRv6oYmlVm6DUm31l0fhOl1D03X8hGxohCKTI2Bg6w7W0TiYB51aJzag==" - }, - "flatted": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", - "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==" - } + "flatted": "3.2.5", + "moment": "2.29.3", + "nodemailer": "6.7.5" } }, "@sindresorhus/is": { @@ -315,19 +309,12 @@ "@types/keyv": "*", "@types/node": "*", "@types/responselike": "*" - }, - "dependencies": { - "@types/node": { - "version": "17.0.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", - "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" - } } }, "@types/chai": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.0.tgz", - "integrity": "sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.1.tgz", + "integrity": "sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==", "dev": true }, "@types/fs-extra": { @@ -370,19 +357,12 @@ "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", "requires": { "@types/node": "*" - }, - "dependencies": { - "@types/node": { - "version": "17.0.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", - "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" - } } }, "@types/lodash": { - "version": "4.14.181", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.181.tgz", - "integrity": "sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag==", + "version": "4.14.182", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz", + "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==", "dev": true }, "@types/minimatch": { @@ -398,9 +378,9 @@ "dev": true }, "@types/mocha": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz", - "integrity": "sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", + "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==", "dev": true }, "@types/mustache": { @@ -410,10 +390,9 @@ "dev": true }, "@types/node": { - "version": "14.18.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.5.tgz", - "integrity": "sha512-LMy+vDDcQR48EZdEx5wRX1q/sEl6NdGuHXPnfeL8ixkwCOSZ2qnIyIZmcCbdX0MeRqHhAcHmX+haCbrS8Run+A==", - "dev": true + "version": "14.18.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.18.tgz", + "integrity": "sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig==" }, "@types/nodemailer": { "version": "6.4.4", @@ -421,13 +400,6 @@ "integrity": "sha512-Ksw4t7iliXeYGvIQcSIgWQ5BLuC/mljIEbjf615svhZL10PE9t+ei8O9gDaD3FPCasUJn9KTLwz2JFJyiiyuqw==", "requires": { "@types/node": "*" - }, - "dependencies": { - "@types/node": { - "version": "17.0.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", - "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" - } } }, "@types/normalize-package-data": { @@ -442,13 +414,6 @@ "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", "requires": { "@types/node": "*" - }, - "dependencies": { - "@types/node": { - "version": "17.0.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", - "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" - } } }, "@types/rimraf": { @@ -477,19 +442,19 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.18.0.tgz", - "integrity": "sha512-tzrmdGMJI/uii9/V6lurMo4/o+dMTKDH82LkNjhJ3adCW22YQydoRs5MwTiqxGF9CSYxPxQ7EYb4jLNlIs+E+A==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.26.0.tgz", + "integrity": "sha512-oGCmo0PqnRZZndr+KwvvAUvD3kNE4AfyoGCwOZpoCncSh4MVD06JTE8XQa2u9u+NX5CsyZMBTEc2C72zx38eYA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.18.0", - "@typescript-eslint/type-utils": "5.18.0", - "@typescript-eslint/utils": "5.18.0", - "debug": "^4.3.2", + "@typescript-eslint/scope-manager": "5.26.0", + "@typescript-eslint/type-utils": "5.26.0", + "@typescript-eslint/utils": "5.26.0", + "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", + "ignore": "^5.2.0", "regexpp": "^3.2.0", - "semver": "^7.3.5", + "semver": "^7.3.7", "tsutils": "^3.21.0" }, "dependencies": { @@ -505,35 +470,35 @@ } }, "@typescript-eslint/parser": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.18.0.tgz", - "integrity": "sha512-+08nYfurBzSSPndngnHvFw/fniWYJ5ymOrn/63oMIbgomVQOvIDhBoJmYZ9lwQOCnQV9xHGvf88ze3jFGUYooQ==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.26.0.tgz", + "integrity": "sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.18.0", - "@typescript-eslint/types": "5.18.0", - "@typescript-eslint/typescript-estree": "5.18.0", - "debug": "^4.3.2" + "@typescript-eslint/scope-manager": "5.26.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/typescript-estree": "5.26.0", + "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.18.0.tgz", - "integrity": "sha512-C0CZML6NyRDj+ZbMqh9FnPscg2PrzSaVQg3IpTmpe0NURMVBXlghGZgMYqBw07YW73i0MCqSDqv2SbywnCS8jQ==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz", + "integrity": "sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.18.0", - "@typescript-eslint/visitor-keys": "5.18.0" + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0" } }, "@typescript-eslint/type-utils": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.18.0.tgz", - "integrity": "sha512-vcn9/6J5D6jtHxpEJrgK8FhaM8r6J1/ZiNu70ZUJN554Y3D9t3iovi6u7JF8l/e7FcBIxeuTEidZDR70UuCIfA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.26.0.tgz", + "integrity": "sha512-7ccbUVWGLmcRDSA1+ADkDBl5fP87EJt0fnijsMFTVHXKGduYMgienC/i3QwoVhDADUAPoytgjbZbCOMj4TY55A==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.18.0", - "debug": "^4.3.2", + "@typescript-eslint/utils": "5.26.0", + "debug": "^4.3.4", "tsutils": "^3.21.0" }, "dependencies": { @@ -549,23 +514,23 @@ } }, "@typescript-eslint/types": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.18.0.tgz", - "integrity": "sha512-bhV1+XjM+9bHMTmXi46p1Led5NP6iqQcsOxgx7fvk6gGiV48c6IynY0apQb7693twJDsXiVzNXTflhplmaiJaw==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.26.0.tgz", + "integrity": "sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.18.0.tgz", - "integrity": "sha512-wa+2VAhOPpZs1bVij9e5gyVu60ReMi/KuOx4LKjGx2Y3XTNUDJgQ+5f77D49pHtqef/klglf+mibuHs9TrPxdQ==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz", + "integrity": "sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.18.0", - "@typescript-eslint/visitor-keys": "5.18.0", - "debug": "^4.3.2", - "globby": "^11.0.4", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0", + "debug": "^4.3.4", + "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.5", + "semver": "^7.3.7", "tsutils": "^3.21.0" }, "dependencies": { @@ -581,15 +546,15 @@ } }, "@typescript-eslint/utils": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.18.0.tgz", - "integrity": "sha512-+hFGWUMMri7OFY26TsOlGa+zgjEy1ssEipxpLjtl4wSll8zy85x0GrUSju/FHdKfVorZPYJLkF3I4XPtnCTewA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.26.0.tgz", + "integrity": "sha512-PJFwcTq2Pt4AMOKfe3zQOdez6InIDOjUJJD3v3LyEtxHGVVRK3Vo7Dd923t/4M9hSH2q2CLvcTdxlLPjcIk3eg==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.18.0", - "@typescript-eslint/types": "5.18.0", - "@typescript-eslint/typescript-estree": "5.18.0", + "@typescript-eslint/scope-manager": "5.26.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/typescript-estree": "5.26.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -613,13 +578,13 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.18.0.tgz", - "integrity": "sha512-Hf+t+dJsjAKpKSkg3EHvbtEpFFb/1CiOHnvI8bjHgOD4/wAw3gKrA0i94LrbekypiZVanJu3McWJg7rWDMzRTg==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz", + "integrity": "sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==", "dev": true, "requires": { - "@typescript-eslint/types": "5.18.0", - "eslint-visitor-keys": "^3.0.0" + "@typescript-eslint/types": "5.26.0", + "eslint-visitor-keys": "^3.3.0" } }, "@ungap/promise-all-settled": { @@ -644,9 +609,9 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==" + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==" }, "acorn-jsx": { "version": "5.3.2", @@ -661,7 +626,7 @@ "add-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", - "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=", + "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", "dev": true }, "agent-base": { @@ -758,7 +723,7 @@ "array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", "dev": true }, "array-union": { @@ -769,7 +734,7 @@ "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true }, "assertion-error": { @@ -826,7 +791,7 @@ "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==", "dev": true }, "cacache": { @@ -852,6 +817,21 @@ "ssri": "^8.0.1", "tar": "^6.0.2", "unique-filename": "^1.1.1" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, "cacheable-lookup": { @@ -929,7 +909,7 @@ "check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==" }, "chokidar": { "version": "3.5.3", @@ -953,15 +933,15 @@ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, "ci-info": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", - "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.1.tgz", + "integrity": "sha512-SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg==", "dev": true }, "clean-regexp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", - "integrity": "sha1-jffHquUf02h06PjQW5GAvBGj/tc=", + "integrity": "sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==", "dev": true, "requires": { "escape-string-regexp": "^1.0.5" @@ -986,7 +966,7 @@ "clone-response": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", "requires": { "mimic-response": "^1.0.0" } @@ -1010,9 +990,9 @@ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" }, "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", + "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==" }, "comment-parser": { "version": "1.3.1", @@ -1031,9 +1011,9 @@ } }, "compress-brotli": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.6.tgz", - "integrity": "sha512-au99/GqZtUtiCBliqLFbWlhnCxn+XSYjwZ77q6mKN4La4qOXDoLVPZ50iXr0WmAyMxl8yqoq3Yq4OeQNPPkyeQ==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz", + "integrity": "sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==", "requires": { "@types/json-buffer": "~3.0.0", "json-buffer": "~3.0.1" @@ -1042,12 +1022,12 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" }, "conventional-changelog": { "version": "3.1.25", @@ -1352,9 +1332,9 @@ "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" }, "del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", "requires": { "globby": "^11.0.1", "graceful-fs": "^4.2.4", @@ -1459,11 +1439,11 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz", - "integrity": "sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", + "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", "requires": { - "@eslint/eslintrc": "^1.2.1", + "@eslint/eslintrc": "^1.3.0", "@humanwhocodes/config-array": "^0.9.2", "ajv": "^6.10.0", "chalk": "^4.0.0", @@ -1474,14 +1454,14 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", + "espree": "^9.3.2", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", - "globals": "^13.6.0", + "globals": "^13.15.0", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -1490,7 +1470,7 @@ "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.1", "regexpp": "^3.2.0", @@ -1538,18 +1518,17 @@ "dev": true }, "eslint-plugin-jsdoc": { - "version": "38.1.6", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.1.6.tgz", - "integrity": "sha512-n4s95oYlg0L43Bs8C0dkzIldxYf8pLCutC/tCbjIdF7VDiobuzPI+HZn9Q0BvgOvgPNgh5n7CSStql25HUG4Tw==", + "version": "39.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.3.2.tgz", + "integrity": "sha512-RSGN94RYzIJS/WfW3l6cXzRLfJWxvJgNQZ4w0WCaxJWDJMigtwTsILEAfKqmmPkT2rwMH/s3C7G5ChDE6cwPJg==", "dev": true, "requires": { - "@es-joy/jsdoccomment": "~0.22.1", + "@es-joy/jsdoccomment": "~0.31.0", "comment-parser": "1.3.1", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", "esquery": "^1.4.0", - "regextras": "^0.8.0", - "semver": "^7.3.5", + "semver": "^7.3.7", "spdx-expression-parse": "^3.0.1" }, "dependencies": { @@ -1687,12 +1666,12 @@ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" }, "espree": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz", - "integrity": "sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", + "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", "requires": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", + "acorn": "^8.7.1", + "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" } }, @@ -1816,9 +1795,9 @@ "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==" }, "fs-extra": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz", - "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -2001,16 +1980,33 @@ } }, "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "glob-parent": { @@ -2022,9 +2018,9 @@ } }, "globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", + "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", "requires": { "type-fest": "^0.20.2" } @@ -2065,12 +2061,6 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, "handlebars": { "version": "4.7.7", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", @@ -2149,9 +2139,9 @@ } }, "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "requires": { "agent-base": "6", "debug": "4" @@ -2237,9 +2227,9 @@ "integrity": "sha512-iT8v1GwOAX0pPXifF/5ihnMhHOCo3OeK7z3TQa4CtSNCIg8k0UxqBEk9jRwz8OP68hHXvJ2gxRa89KYHtBkqGA==" }, "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" }, "is-arrayish": { "version": "0.2.1", @@ -2266,17 +2256,17 @@ }, "dependencies": { "builtin-modules": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true } } }, "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", "dev": true, "requires": { "has": "^1.0.3" @@ -2372,9 +2362,9 @@ } }, "jsdoc-type-pratt-parser": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz", - "integrity": "sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-3.1.0.tgz", + "integrity": "sha512-MgtD0ZiCDk9B+eI73BextfRrVQl0oyzRG8B2BjORts6jbunj4ScKPcyXGTbB6eXL4y9TzxCm6hyeLq/2ASzNdw==", "dev": true }, "json-buffer": { @@ -2447,11 +2437,11 @@ "integrity": "sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==" }, "keyv": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.2.1.tgz", - "integrity": "sha512-cAJq5cTfxQdq1DHZEVNpnk4mEvhP+8UP8UQftLtTtJ98beKkRHf+62M0mIDM2u/IWXyP8bmGB375/6uGdSX2MA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.3.0.tgz", + "integrity": "sha512-C30Un9+63J0CsR7Wka5quXKqYZsT6dcRQ2aOwGcSc3RiQ4HGWpTAHlCA+puNfw2jA/s11EsxA1nCXgZRuRKMQQ==", "requires": { - "compress-brotli": "^1.3.6", + "compress-brotli": "^1.3.8", "json-buffer": "3.0.1" } }, @@ -2614,9 +2604,9 @@ "dev": true }, "marked": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz", - "integrity": "sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==", + "version": "4.0.16", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.16.tgz", + "integrity": "sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA==", "dev": true }, "meow": { @@ -2825,54 +2815,35 @@ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "mocha": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", - "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz", + "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==", "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", "chokidar": "3.5.3", - "debug": "4.3.3", + "debug": "4.3.4", "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", "glob": "7.2.0", - "growl": "1.10.5", "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", - "minimatch": "4.2.1", + "minimatch": "5.0.1", "ms": "2.1.3", - "nanoid": "3.3.1", + "nanoid": "3.3.3", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", - "which": "2.0.2", - "workerpool": "6.2.0", + "workerpool": "6.2.1", "yargs": "16.2.0", "yargs-parser": "20.2.4", "yargs-unparser": "2.0.0" }, "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, "diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -2895,6 +2866,31 @@ "path-exists": "^4.0.0" } }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -2905,12 +2901,23 @@ } }, "minimatch": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", - "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + } } }, "ms": { @@ -2961,9 +2968,9 @@ "dev": true }, "moment": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", + "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==" }, "ms": { "version": "2.1.2", @@ -2976,14 +2983,14 @@ "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==" }, "nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", + "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" }, "nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", "dev": true }, "natural-compare": { @@ -3029,12 +3036,27 @@ "semver": "^7.3.5", "tar": "^6.1.2", "which": "^2.0.2" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, "nodemailer": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.2.tgz", - "integrity": "sha512-Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q==" + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.5.tgz", + "integrity": "sha512-6VtMpwhsrixq1HDYSBBHvW0GwiWawE75dS3oal48VqRhUvKJNnKnJo2RI/bCVQubj1vgrgscMNW4DHaD6xtMCg==" }, "nopt": { "version": "5.0.0", @@ -3068,13 +3090,13 @@ "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" }, "npmlog": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.1.tgz", - "integrity": "sha512-BTHDvY6nrRHuRfyjt1MAufLxYdVXZfd099H4+i1f0lPywNQyI4foeNXJRObB/uy+TYqUW0vAD9gbdSOXPst7Eg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "requires": { "are-we-there-yet": "^3.0.0", "console-control-strings": "^1.1.0", - "gauge": "^4.0.0", + "gauge": "^4.0.3", "set-blocking": "^2.0.0" } }, @@ -3087,9 +3109,9 @@ } }, "openapi-types": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-10.0.0.tgz", - "integrity": "sha512-Y8xOCT2eiKGYDzMW9R4x5cmfc3vGaaI4EL2pwhDmodWw1HlK18YcZ4uJxc7Rdp7/gGzAygzH9SXr6GKYIXbRcQ==" + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-11.0.1.tgz", + "integrity": "sha512-P2pGRlHFXgP8z6vrp5P/MtftOXYtlIY1A+V0VmioOoo85NN6RSPgGbEprRAUNMIsbfRjnCPdx/r8mi8QRR7grQ==" }, "optionator": { "version": "0.9.1", @@ -3488,12 +3510,6 @@ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" }, - "regextras": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.8.0.tgz", - "integrity": "sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==", - "dev": true - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -3550,6 +3566,21 @@ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, "run-parallel": { @@ -3586,9 +3617,9 @@ "optional": true }, "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "requires": { "lru-cache": "^6.0.0" } @@ -3656,13 +3687,13 @@ } }, "socks-proxy-agent": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz", - "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz", + "integrity": "sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ==", "requires": { "agent-base": "^6.0.2", - "debug": "^4.3.1", - "socks": "^2.6.1" + "debug": "^4.3.3", + "socks": "^2.6.2" } }, "source-map": { @@ -3879,36 +3910,44 @@ "dev": true }, "ts-json-schema-generator": { - "version": "0.98.0", - "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-0.98.0.tgz", - "integrity": "sha512-emurTxAKkhk9a/i0Rfg5WkT5Hbg7MaL9VlxQXsWScBun0aXVl99gr06sEcHm3EJ8As4Ji51J7VJGEg6wrER/Kg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-1.0.0.tgz", + "integrity": "sha512-F5VofsyMhNSXKII32NDS8/Ur8o2K3Sh5i/U2ke3UgCKf26ybgm2cZeT2x7VJPl1trML/9QLzz/82l0mvzmb3Vw==", "requires": { "@types/json-schema": "^7.0.9", "commander": "^9.0.0", "glob": "^7.2.0", "json5": "^2.2.0", "safe-stable-stringify": "^2.3.1", - "typescript": "~4.5.4" + "typescript": "~4.6.2" }, "dependencies": { - "commander": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.1.0.tgz", - "integrity": "sha512-i0/MaqBtdbnJ4XQs4Pmyb+oFQl+q0lsAmokVUH92SlSw4fkeAcG3bVon+Qt7hmtF+u3Het6o4VgrcY3qAoEB6w==" + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } }, "typescript": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", - "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==" + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==" } } }, "ts-node": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", - "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz", + "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", "requires": { - "@cspotcode/source-map-support": "0.7.0", + "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", @@ -3919,7 +3958,7 @@ "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.0", + "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" } }, @@ -3991,7 +4030,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "commander": { @@ -4000,6 +4039,20 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -4114,9 +4167,9 @@ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" }, "typedoc": { - "version": "0.22.13", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.13.tgz", - "integrity": "sha512-NHNI7Dr6JHa/I3+c62gdRNXBIyX7P33O9TafGLd07ur3MqzcKgwTvpg18EtvCLHJyfeSthAtCLpM7WkStUmDuQ==", + "version": "0.22.15", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.15.tgz", + "integrity": "sha512-CMd1lrqQbFvbx6S9G6fL4HKp3GoIuhujJReWqlIvSb2T26vGai+8Os3Mde7Pn832pXYemd9BMuuYWhFpL5st0Q==", "dev": true, "requires": { "glob": "^7.2.0", @@ -4126,22 +4179,49 @@ "shiki": "^0.10.1" }, "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "requires": { - "balanced-match": "^1.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", "dev": true, "requires": { "brace-expansion": "^2.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + } } } } @@ -4152,9 +4232,9 @@ "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==" }, "uglify-js": { - "version": "3.15.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.3.tgz", - "integrity": "sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==", + "version": "3.15.5", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.5.tgz", + "integrity": "sha512-hNM5q5GbBRB5xB+PMqVRcgYe4c8jbyZ1pzZhS6jbq54/4F2gFK869ZheiE5A8/t+W5jtTNpWef/5Q9zk639FNQ==", "dev": true, "optional": true }, @@ -4204,9 +4284,9 @@ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" }, "v8-compile-cache-lib": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", - "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" }, "validate-npm-package-license": { "version": "3.0.4", @@ -4258,9 +4338,9 @@ "dev": true }, "workerpool": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", - "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", "dev": true }, "wrap-ansi": { diff --git a/package.json b/package.json index 98ec35e5..57ec3206 100644 --- a/package.json +++ b/package.json @@ -45,54 +45,54 @@ "lint": "eslint -c .eslintrc.json --ignore-path .eslintignore --ext .ts src/" }, "dependencies": { - "@openstapps/logger": "0.8.0", + "@openstapps/logger": "0.8.1", "ajv": "8.8.2", "better-ajv-errors": "1.1.2", "chai": "4.3.6", - "commander": "8.3.0", + "commander": "9.2.0", "deepmerge": "4.2.2", - "del": "6.0.0", - "eslint": "8.12.0", + "del": "6.1.1", + "eslint": "8.16.0", "flatted": "3.2.5", - "fs-extra": "10.0.1", - "glob": "7.2.0", + "fs-extra": "10.1.0", + "glob": "8.0.3", "got": "11.8.3", "humanize-string": "3.0.0", "json-schema": "0.4.0", "lodash": "4.17.21", "mustache": "4.2.0", - "openapi-types": "10.0.0", + "openapi-types": "11.0.1", "plantuml-encoder": "1.4.0", "re2": "1.17.4", "toposort": "2.0.2", - "ts-json-schema-generator": "0.98.0", - "ts-node": "10.7.0", + "ts-json-schema-generator": "1.0.0", + "ts-node": "10.8.0", "typescript": "4.4.4" }, "devDependencies": { - "@openstapps/configuration": "0.29.0", + "@openstapps/configuration": "0.29.1", "@testdeck/mocha": "0.2.0", - "@types/chai": "4.3.0", + "@types/chai": "4.3.1", "@types/fs-extra": "9.0.13", "@types/glob": "7.2.0", "@types/json-schema": "7.0.11", - "@types/lodash": "4.14.181", - "@types/mocha": "9.1.0", + "@types/lodash": "4.14.182", + "@types/mocha": "9.1.1", "@types/mustache": "4.1.2", - "@types/node": "14.18.5", + "@types/node": "14.18.18", "@types/rimraf": "3.0.2", - "@typescript-eslint/eslint-plugin": "5.18.0", - "@typescript-eslint/parser": "5.18.0", + "@typescript-eslint/eslint-plugin": "5.26.0", + "@typescript-eslint/parser": "5.26.0", "conventional-changelog-cli": "2.2.2", "eslint-config-prettier": "8.5.0", - "eslint-plugin-jsdoc": "38.1.6", + "eslint-plugin-jsdoc": "39.3.2", "eslint-plugin-prettier": "4.0.0", "eslint-plugin-unicorn": "42.0.0", - "mocha": "9.2.2", + "mocha": "10.0.0", "nock": "13.2.4", "prepend-file-cli": "1.0.6", "prettier": "2.6.2", "rimraf": "3.0.2", - "typedoc": "0.22.13" + "typedoc": "0.22.15" } } From 448055fd238b51de367b8e4ecf357b8cc839888e Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Fri, 27 May 2022 16:42:53 +0200 Subject: [PATCH 196/215] 0.30.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 41f0f48d..9d642c67 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.30.0", + "version": "0.30.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 57ec3206..53a4f1ba 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.30.0", + "version": "0.30.1", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From b0666060abb78f3a75f9a7ecb7fa0f33865de0fa Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Fri, 27 May 2022 16:42:55 +0200 Subject: [PATCH 197/215] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index df530419..a36da53e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [0.30.1](https://gitlab.com/openstapps/core-tools/compare/v0.30.0...v0.30.1) (2022-05-27) + + + # [0.30.0](https://gitlab.com/openstapps/core-tools/compare/v0.29.1...v0.30.0) (2022-04-04) From 5d79ea75dd25fe9daaa53a8f55a7c12b5847adb0 Mon Sep 17 00:00:00 2001 From: openstappsbot Date: Mon, 27 Jun 2022 07:10:04 +0000 Subject: [PATCH 198/215] refactor: update all --- package-lock.json | 584 ++++++++++++++-------------------------------- package.json | 30 +-- 2 files changed, 190 insertions(+), 424 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9d642c67..c460fb8d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -158,14 +158,14 @@ "dev": true }, "@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==" + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.8.tgz", + "integrity": "sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w==" }, "@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==" + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "@jridgewell/trace-mapping": { "version": "0.3.9", @@ -200,38 +200,44 @@ } }, "@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz", + "integrity": "sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ==", "requires": { - "@gar/promisify": "^1.0.1", + "@gar/promisify": "^1.1.3", "semver": "^7.3.5" } }, "@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", + "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", "requires": { "mkdirp": "^1.0.4", "rimraf": "^3.0.2" } }, "@openstapps/configuration": { - "version": "0.29.1", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.29.1.tgz", - "integrity": "sha512-H6DNB1HrujC5LwOF17rYkXQPFaEWTaA5T3IPsfccSuKHSUhB0ry6V5OkMwmvls2nOSrbpuRpyQoM7ulwZ9X9Bw==", + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.31.0.tgz", + "integrity": "sha512-mWbcz7MS2U6znu+q26Hb+tn8EC6+5pLNRJQVmlyJXdpJSb32dpeYMsMzqIedoB5BexSGI+mZNimCdGIS74Pl4A==", "dev": true, "requires": { "@types/node": "14.18.18", "@types/semver": "7.3.9", "@types/yaml": "1.9.7", "chalk": "4.1.2", - "commander": "9.2.0", + "commander": "9.3.0", "semver": "7.3.7", - "tslint": "6.1.3", - "tslint-eslint-rules": "5.4.0", "yaml": "1.10.2" + }, + "dependencies": { + "@types/node": { + "version": "14.18.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.18.tgz", + "integrity": "sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig==", + "dev": true + } } }, "@openstapps/logger": { @@ -239,7 +245,6 @@ "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.8.1.tgz", "integrity": "sha512-Ain5Hb1f0EjhwhiHfv1PhDaNm7f1LUeuoO8Orll6f1icF5VI+R1PKcxk+Z1rO/WVElFNoP+PORD0vB7wDE4xAQ==", "requires": { - "@types/node": "14.18.18", "@types/nodemailer": "6.4.4", "chalk": "4.1.2", "flatted": "3.2.5", @@ -276,29 +281,29 @@ } }, "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" }, "@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==" + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" }, "@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==" + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" }, "@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" }, "@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==" }, "@types/cacheable-request": { "version": "6.0.2", @@ -384,15 +389,15 @@ "dev": true }, "@types/mustache": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-4.1.2.tgz", - "integrity": "sha512-c4OVMMcyodKQ9dpwBwh3ofK9P6U9ZktKU9S+p33UqwMNN1vlv2P0zJZUScTshnx7OEoIIRcCFNQ904sYxZz8kg==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-4.1.3.tgz", + "integrity": "sha512-Bc3wzdDGfHE8kcf6HsDwqq/IDUginRlWLHbs8dYFAo/2jj91lip6/XJFgKvcCbFO6aEVpOBT1RGF72LZgNIbKQ==", "dev": true }, "@types/node": { - "version": "14.18.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.18.tgz", - "integrity": "sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig==" + "version": "14.18.21", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.21.tgz", + "integrity": "sha512-x5W9s+8P4XteaxT/jKF0PSb7XEvo5VmqEWgsMlyeY4ZlLK8I6aH6g5TPPyDlLAep+GYf4kefb7HFyc7PAO3m+Q==" }, "@types/nodemailer": { "version": "6.4.4", @@ -657,9 +662,9 @@ } }, "ajv": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", - "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -748,9 +753,9 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "better-ajv-errors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-1.1.2.tgz", - "integrity": "sha512-xpFTC7JqkSGkvchJlH4IFtmwZ5SXomh0FqbEVEHRcXl/aiHh9nM/dnNnGTlxjrFCjWOVLLWpcNW1Hcrzs55/lg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/better-ajv-errors/-/better-ajv-errors-1.2.0.tgz", + "integrity": "sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==", "requires": { "@babel/code-frame": "^7.16.0", "@humanwhocodes/momoa": "^2.0.2", @@ -788,49 +793,35 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==", - "dev": true - }, "cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", + "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", "requires": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", "p-map": "^4.0.0", "promise-inflight": "^1.0.1", "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", "unique-filename": "^1.1.1" }, "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } + "lru-cache": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.2.tgz", + "integrity": "sha512-9zDbhgmXAUvUMPV81A705K3tVzcPiZL3Bf5/5JC/FjYJlLZ5AJCeqIRFHJqyBppiLosqF+uKB7p8/RDXylqBIw==" } } }, @@ -990,9 +981,9 @@ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" }, "commander": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", - "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==" + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.3.0.tgz", + "integrity": "sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==" }, "comment-parser": { "version": "1.3.1", @@ -1349,12 +1340,12 @@ "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" }, "diff": { "version": "4.0.2", @@ -1439,9 +1430,9 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", - "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.18.0.tgz", + "integrity": "sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==", "requires": { "@eslint/eslintrc": "^1.3.0", "@humanwhocodes/config-array": "^0.9.2", @@ -1518,9 +1509,9 @@ "dev": true }, "eslint-plugin-jsdoc": { - "version": "39.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.3.2.tgz", - "integrity": "sha512-RSGN94RYzIJS/WfW3l6cXzRLfJWxvJgNQZ4w0WCaxJWDJMigtwTsILEAfKqmmPkT2rwMH/s3C7G5ChDE6cwPJg==", + "version": "39.3.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.3.3.tgz", + "integrity": "sha512-K/DAjKRUNaUTf0KQhI9PvsF+Y3mGDx/j0pofXsJCQe/tmRsRweBIXR353c8nAro0lytZYEf7l0PluBpzKDiHxw==", "dev": true, "requires": { "@es-joy/jsdoccomment": "~0.31.0", @@ -1675,12 +1666,6 @@ "eslint-visitor-keys": "^3.3.0" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, "esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", @@ -1738,7 +1723,7 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "fastq": { "version": "1.13.0", @@ -2039,9 +2024,9 @@ } }, "got": { - "version": "11.8.3", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz", - "integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==", + "version": "11.8.5", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz", + "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==", "requires": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", @@ -2097,7 +2082,7 @@ "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" }, "he": { "version": "1.2.0", @@ -2120,11 +2105,11 @@ "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" }, "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "requires": { - "@tootallnate/once": "1", + "@tootallnate/once": "2", "agent-base": "6", "debug": "4" } @@ -2150,7 +2135,7 @@ "humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", "requires": { "ms": "^2.0.0" } @@ -2189,7 +2174,7 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" }, "indent-string": { "version": "4.0.0", @@ -2222,9 +2207,9 @@ "dev": true }, "install-artifact-from-github": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.3.0.tgz", - "integrity": "sha512-iT8v1GwOAX0pPXifF/5ihnMhHOCo3OeK7z3TQa4CtSNCIg8k0UxqBEk9jRwz8OP68hHXvJ2gxRa89KYHtBkqGA==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.3.1.tgz", + "integrity": "sha512-3l3Bymg2eKDsN5wQuMfgGEj2x6l5MCAv0zPL6rxHESufFVlEAKW/6oY9F1aGgvY/EgWm5+eWGRjINveL4X7Hgg==" }, "ip": { "version": "1.1.8", @@ -2293,7 +2278,7 @@ "is-lambda": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=" + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==" }, "is-number": { "version": "7.0.0", @@ -2337,16 +2322,10 @@ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "js-tokens": { "version": "4.0.0", @@ -2397,7 +2376,7 @@ "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, "json-stringify-safe": { "version": "5.0.1", @@ -2437,9 +2416,9 @@ "integrity": "sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==" }, "keyv": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.3.0.tgz", - "integrity": "sha512-C30Un9+63J0CsR7Wka5quXKqYZsT6dcRQ2aOwGcSc3RiQ4HGWpTAHlCA+puNfw2jA/s11EsxA1nCXgZRuRKMQQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.3.2.tgz", + "integrity": "sha512-kn8WmodVBe12lmHpA6W8OY7SNh6wVR+Z+wZESF4iF5FCazaVXGWOtnbnvX0tMQ1bO+/TmOD9LziuYMvrIIs0xw==", "requires": { "compress-brotli": "^1.3.8", "json-buffer": "3.0.1" @@ -2526,12 +2505,6 @@ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, - "lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=", - "dev": true - }, "log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -2575,26 +2548,33 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.8.tgz", + "integrity": "sha512-0ASJbG12Au6+N5I84W+8FhGS6iM8MyzvZady+zaQAu+6IOaESFzCLLD0AR1sAFF3Jufi8bxm586ABN6hWd3k7g==", "requires": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", + "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", + "minipass-fetch": "^2.0.3", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", + "negotiator": "^0.6.3", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.2.tgz", + "integrity": "sha512-9zDbhgmXAUvUMPV81A705K3tVzcPiZL3Bf5/5JC/FjYJlLZ5AJCeqIRFHJqyBppiLosqF+uKB7p8/RDXylqBIw==" + } } }, "map-obj": { @@ -2604,9 +2584,9 @@ "dev": true }, "marked": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.16.tgz", - "integrity": "sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA==", + "version": "4.0.17", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.17.tgz", + "integrity": "sha512-Wfk0ATOK5iPxM4ptrORkFemqroz0ZDxp5MWfYA7H/F+wO17NRWV5Ypxi6p3g2Xmw2bKeiYOl6oVnLHKxBA0VhA==", "dev": true }, "meow": { @@ -2750,9 +2730,9 @@ } }, "minipass": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", - "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.3.tgz", + "integrity": "sha512-N0BOsdFAlNRfmwMhjAsLVWOk7Ljmeb39iqFlsV1At+jqRhSUP9yeof8FyJu4imaJiSUp8vQebWD/guZwGQC8iA==", "requires": { "yallist": "^4.0.0" } @@ -2766,14 +2746,14 @@ } }, "minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz", + "integrity": "sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==", "requires": { - "encoding": "^0.1.12", - "minipass": "^3.1.0", + "encoding": "^0.1.13", + "minipass": "^3.1.6", "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" + "minizlib": "^2.1.2" } }, "minipass-flush": { @@ -2996,7 +2976,7 @@ "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, "negotiator": { "version": "0.6.3", @@ -3010,26 +2990,26 @@ "dev": true }, "nock": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.4.tgz", - "integrity": "sha512-8GPznwxcPNCH/h8B+XZcKjYPXnUV5clOKCjAqyjsiqA++MpNx9E9+t8YPp0MbThO+KauRo7aZJ1WuIZmOrT2Ug==", + "version": "13.2.7", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.7.tgz", + "integrity": "sha512-R6NUw7RIPtKwgK7jskuKoEi4VFMqIHtV2Uu9K/Uegc4TA5cqe+oNMYslZcUmnVNQCTG6wcSqUBaGTDd7sq5srg==", "dev": true, "requires": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", - "lodash.set": "^4.3.2", + "lodash": "^4.17.21", "propagate": "^2.0.0" } }, "node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.0.0.tgz", + "integrity": "sha512-Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw==", "requires": { "env-paths": "^2.2.0", "glob": "^7.1.4", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", + "make-fetch-happen": "^10.0.3", "nopt": "^5.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", @@ -3109,9 +3089,9 @@ } }, "openapi-types": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-11.0.1.tgz", - "integrity": "sha512-P2pGRlHFXgP8z6vrp5P/MtftOXYtlIY1A+V0VmioOoo85NN6RSPgGbEprRAUNMIsbfRjnCPdx/r8mi8QRR7grQ==" + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-11.1.0.tgz", + "integrity": "sha512-ZW+Jf12flFF6DXSij8DGL3svDA4RtSyHXjC/xB/JAh18gg3uVfVIFLvCfScUMowrpvlkxsMMbErakbth2g3/iQ==" }, "optionator": { "version": "0.9.1", @@ -3268,9 +3248,9 @@ } }, "prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", - "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", "dev": true }, "prettier-linter-helpers": { @@ -3291,7 +3271,7 @@ "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" }, "promise-retry": { "version": "2.0.1", @@ -3348,13 +3328,13 @@ } }, "re2": { - "version": "1.17.4", - "resolved": "https://registry.npmjs.org/re2/-/re2-1.17.4.tgz", - "integrity": "sha512-xyZ4h5PqE8I9tAxTh3G0UttcK5ufrcUxReFjGzfX61vtanNbS1XZHjnwRSyPcLgChI4KLxVgOT/ioZXnUAdoTA==", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/re2/-/re2-1.17.7.tgz", + "integrity": "sha512-X8GSuiBoVWwcjuppqSjsIkRxNUKDdjhkO9SBekQbZ2ksqWUReCy7DQPWOVpoTnpdtdz5PIpTTxTFzvJv5UMfjA==", "requires": { - "install-artifact-from-github": "^1.3.0", - "nan": "^2.15.0", - "node-gyp": "^8.4.1" + "install-artifact-from-github": "^1.3.1", + "nan": "^2.16.0", + "node-gyp": "^9.0.0" } }, "read-pkg": { @@ -3553,7 +3533,7 @@ "retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==" }, "reusify": { "version": "1.0.4", @@ -3636,7 +3616,7 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, "shebang-command": { "version": "2.0.0", @@ -3687,9 +3667,9 @@ } }, "socks-proxy-agent": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0.tgz", - "integrity": "sha512-wWqJhjb32Q6GsrUqzuFkukxb/zzide5quXYcMVpIjxalDBBYy2nqKCFQ/9+Ie4dvOYSQdOk3hUlZSdzZOd3zMQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", "requires": { "agent-base": "^6.0.2", "debug": "^4.3.3", @@ -3752,16 +3732,10 @@ "readable-stream": "^3.0.0" } }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, "ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "requires": { "minipass": "^3.1.1" } @@ -3864,7 +3838,7 @@ "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" }, "through": { "version": "2.3.8", @@ -3943,9 +3917,9 @@ } }, "ts-node": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz", - "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", + "version": "10.8.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.1.tgz", + "integrity": "sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==", "requires": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -3968,186 +3942,6 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "tslint": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", - "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^4.0.1", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.3", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.13.0", - "tsutils": "^2.29.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "tslint-eslint-rules": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/tslint-eslint-rules/-/tslint-eslint-rules-5.4.0.tgz", - "integrity": "sha512-WlSXE+J2vY/VPgIcqQuijMQiel+UtmXS+4nvK4ZzlDiqBfXse8FAvkNnTcYhnQyOTW5KFM+uRRGXxYhFpuBc6w==", - "dev": true, - "requires": { - "doctrine": "0.7.2", - "tslib": "1.9.0", - "tsutils": "^3.0.0" - }, - "dependencies": { - "doctrine": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", - "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", - "dev": true, - "requires": { - "esutils": "^1.1.6", - "isarray": "0.0.1" - } - }, - "esutils": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz", - "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=", - "dev": true - }, - "tslib": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz", - "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ==", - "dev": true - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - } - } - }, - "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -4167,41 +3961,24 @@ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" }, "typedoc": { - "version": "0.22.15", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.15.tgz", - "integrity": "sha512-CMd1lrqQbFvbx6S9G6fL4HKp3GoIuhujJReWqlIvSb2T26vGai+8Os3Mde7Pn832pXYemd9BMuuYWhFpL5st0Q==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.23.1.tgz", + "integrity": "sha512-6Lb8E+RTEUPzdPUNugQQTOQYccq0iSfZgZ875fzSynByJWC7RbKNwLIx0Osv8pcJyiByy3jH/wdZR0tajuijLQ==", "dev": true, "requires": { - "glob": "^7.2.0", "lunr": "^2.3.9", - "marked": "^4.0.12", - "minimatch": "^5.0.1", + "marked": "^4.0.16", + "minimatch": "^5.1.0", "shiki": "^0.10.1" }, "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "balanced-match": "^1.0.0" } }, "minimatch": { @@ -4211,17 +3988,6 @@ "dev": true, "requires": { "brace-expansion": "^2.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - } } } } diff --git a/package.json b/package.json index 53a4f1ba..51d0532b 100644 --- a/package.json +++ b/package.json @@ -46,31 +46,31 @@ }, "dependencies": { "@openstapps/logger": "0.8.1", - "ajv": "8.8.2", - "better-ajv-errors": "1.1.2", + "ajv": "8.11.0", + "better-ajv-errors": "1.2.0", "chai": "4.3.6", - "commander": "9.2.0", + "commander": "9.3.0", "deepmerge": "4.2.2", "del": "6.1.1", - "eslint": "8.16.0", + "eslint": "8.18.0", "flatted": "3.2.5", "fs-extra": "10.1.0", "glob": "8.0.3", - "got": "11.8.3", + "got": "11.8.5", "humanize-string": "3.0.0", "json-schema": "0.4.0", "lodash": "4.17.21", "mustache": "4.2.0", - "openapi-types": "11.0.1", + "openapi-types": "11.1.0", "plantuml-encoder": "1.4.0", - "re2": "1.17.4", + "re2": "1.17.7", "toposort": "2.0.2", "ts-json-schema-generator": "1.0.0", - "ts-node": "10.8.0", + "ts-node": "10.8.1", "typescript": "4.4.4" }, "devDependencies": { - "@openstapps/configuration": "0.29.1", + "@openstapps/configuration": "0.31.0", "@testdeck/mocha": "0.2.0", "@types/chai": "4.3.1", "@types/fs-extra": "9.0.13", @@ -78,21 +78,21 @@ "@types/json-schema": "7.0.11", "@types/lodash": "4.14.182", "@types/mocha": "9.1.1", - "@types/mustache": "4.1.2", - "@types/node": "14.18.18", + "@types/mustache": "4.1.3", + "@types/node": "14.18.21", "@types/rimraf": "3.0.2", "@typescript-eslint/eslint-plugin": "5.26.0", "@typescript-eslint/parser": "5.26.0", "conventional-changelog-cli": "2.2.2", "eslint-config-prettier": "8.5.0", - "eslint-plugin-jsdoc": "39.3.2", + "eslint-plugin-jsdoc": "39.3.3", "eslint-plugin-prettier": "4.0.0", "eslint-plugin-unicorn": "42.0.0", "mocha": "10.0.0", - "nock": "13.2.4", + "nock": "13.2.7", "prepend-file-cli": "1.0.6", - "prettier": "2.6.2", + "prettier": "2.7.1", "rimraf": "3.0.2", - "typedoc": "0.22.15" + "typedoc": "0.23.1" } } From cace737b9266056fd579df2c88efb923040a5851 Mon Sep 17 00:00:00 2001 From: openstappsbot Date: Tue, 21 Jun 2022 13:10:00 +0000 Subject: [PATCH 199/215] refactor: update typescript-eslint monorepo to v5.29.0 --- package-lock.json | 78 +++++++++++++++++++++++------------------------ package.json | 4 +-- 2 files changed, 41 insertions(+), 41 deletions(-) diff --git a/package-lock.json b/package-lock.json index c460fb8d..c8650231 100644 --- a/package-lock.json +++ b/package-lock.json @@ -447,14 +447,14 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.26.0.tgz", - "integrity": "sha512-oGCmo0PqnRZZndr+KwvvAUvD3kNE4AfyoGCwOZpoCncSh4MVD06JTE8XQa2u9u+NX5CsyZMBTEc2C72zx38eYA==", + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.29.0.tgz", + "integrity": "sha512-kgTsISt9pM53yRFQmLZ4npj99yGl3x3Pl7z4eA66OuTzAGC4bQB5H5fuLwPnqTKU3yyrrg4MIhjF17UYnL4c0w==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.26.0", - "@typescript-eslint/type-utils": "5.26.0", - "@typescript-eslint/utils": "5.26.0", + "@typescript-eslint/scope-manager": "5.29.0", + "@typescript-eslint/type-utils": "5.29.0", + "@typescript-eslint/utils": "5.29.0", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", @@ -475,34 +475,34 @@ } }, "@typescript-eslint/parser": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.26.0.tgz", - "integrity": "sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q==", + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.29.0.tgz", + "integrity": "sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.26.0", - "@typescript-eslint/types": "5.26.0", - "@typescript-eslint/typescript-estree": "5.26.0", + "@typescript-eslint/scope-manager": "5.29.0", + "@typescript-eslint/types": "5.29.0", + "@typescript-eslint/typescript-estree": "5.29.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz", - "integrity": "sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==", + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.29.0.tgz", + "integrity": "sha512-etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.26.0", - "@typescript-eslint/visitor-keys": "5.26.0" + "@typescript-eslint/types": "5.29.0", + "@typescript-eslint/visitor-keys": "5.29.0" } }, "@typescript-eslint/type-utils": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.26.0.tgz", - "integrity": "sha512-7ccbUVWGLmcRDSA1+ADkDBl5fP87EJt0fnijsMFTVHXKGduYMgienC/i3QwoVhDADUAPoytgjbZbCOMj4TY55A==", + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.29.0.tgz", + "integrity": "sha512-JK6bAaaiJozbox3K220VRfCzLa9n0ib/J+FHIwnaV3Enw/TO267qe0pM1b1QrrEuy6xun374XEAsRlA86JJnyg==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.26.0", + "@typescript-eslint/utils": "5.29.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -519,19 +519,19 @@ } }, "@typescript-eslint/types": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.26.0.tgz", - "integrity": "sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==", + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.29.0.tgz", + "integrity": "sha512-X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz", - "integrity": "sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==", + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.29.0.tgz", + "integrity": "sha512-mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.26.0", - "@typescript-eslint/visitor-keys": "5.26.0", + "@typescript-eslint/types": "5.29.0", + "@typescript-eslint/visitor-keys": "5.29.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -551,15 +551,15 @@ } }, "@typescript-eslint/utils": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.26.0.tgz", - "integrity": "sha512-PJFwcTq2Pt4AMOKfe3zQOdez6InIDOjUJJD3v3LyEtxHGVVRK3Vo7Dd923t/4M9hSH2q2CLvcTdxlLPjcIk3eg==", + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.29.0.tgz", + "integrity": "sha512-3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.26.0", - "@typescript-eslint/types": "5.26.0", - "@typescript-eslint/typescript-estree": "5.26.0", + "@typescript-eslint/scope-manager": "5.29.0", + "@typescript-eslint/types": "5.29.0", + "@typescript-eslint/typescript-estree": "5.29.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -583,12 +583,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz", - "integrity": "sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==", + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.29.0.tgz", + "integrity": "sha512-Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/types": "5.29.0", "eslint-visitor-keys": "^3.3.0" } }, diff --git a/package.json b/package.json index 51d0532b..9cb17ca7 100644 --- a/package.json +++ b/package.json @@ -81,8 +81,8 @@ "@types/mustache": "4.1.3", "@types/node": "14.18.21", "@types/rimraf": "3.0.2", - "@typescript-eslint/eslint-plugin": "5.26.0", - "@typescript-eslint/parser": "5.26.0", + "@typescript-eslint/eslint-plugin": "5.29.0", + "@typescript-eslint/parser": "5.29.0", "conventional-changelog-cli": "2.2.2", "eslint-config-prettier": "8.5.0", "eslint-plugin-jsdoc": "39.3.3", From be889ae17d377b8d821cb095dd93133753bd35f3 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 27 Jun 2022 14:43:55 +0200 Subject: [PATCH 200/215] refactor: clean up package-lock.json --- package-lock.json | 259 ++++++++++++++++++++++++---------------------- 1 file changed, 137 insertions(+), 122 deletions(-) diff --git a/package-lock.json b/package-lock.json index c8650231..64239cfa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -61,7 +61,7 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, "supports-color": { "version": "5.5.0", @@ -245,11 +245,19 @@ "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.8.1.tgz", "integrity": "sha512-Ain5Hb1f0EjhwhiHfv1PhDaNm7f1LUeuoO8Orll6f1icF5VI+R1PKcxk+Z1rO/WVElFNoP+PORD0vB7wDE4xAQ==", "requires": { + "@types/node": "14.18.18", "@types/nodemailer": "6.4.4", "chalk": "4.1.2", "flatted": "3.2.5", "moment": "2.29.3", "nodemailer": "6.7.5" + }, + "dependencies": { + "@types/node": { + "version": "14.18.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.18.tgz", + "integrity": "sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig==" + } } }, "@sindresorhus/is": { @@ -314,6 +322,13 @@ "@types/keyv": "*", "@types/node": "*", "@types/responselike": "*" + }, + "dependencies": { + "@types/node": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.0.tgz", + "integrity": "sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==" + } } }, "@types/chai": { @@ -362,6 +377,13 @@ "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", "requires": { "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.0.tgz", + "integrity": "sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==" + } } }, "@types/lodash": { @@ -397,7 +419,8 @@ "@types/node": { "version": "14.18.21", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.21.tgz", - "integrity": "sha512-x5W9s+8P4XteaxT/jKF0PSb7XEvo5VmqEWgsMlyeY4ZlLK8I6aH6g5TPPyDlLAep+GYf4kefb7HFyc7PAO3m+Q==" + "integrity": "sha512-x5W9s+8P4XteaxT/jKF0PSb7XEvo5VmqEWgsMlyeY4ZlLK8I6aH6g5TPPyDlLAep+GYf4kefb7HFyc7PAO3m+Q==", + "dev": true }, "@types/nodemailer": { "version": "6.4.4", @@ -405,6 +428,13 @@ "integrity": "sha512-Ksw4t7iliXeYGvIQcSIgWQ5BLuC/mljIEbjf615svhZL10PE9t+ei8O9gDaD3FPCasUJn9KTLwz2JFJyiiyuqw==", "requires": { "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.0.tgz", + "integrity": "sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==" + } } }, "@types/normalize-package-data": { @@ -419,6 +449,13 @@ "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", "requires": { "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.0.tgz", + "integrity": "sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==" + } } }, "@types/rimraf": { @@ -461,17 +498,6 @@ "regexpp": "^3.2.0", "semver": "^7.3.7", "tsutils": "^3.21.0" - }, - "dependencies": { - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - } } }, "@typescript-eslint/parser": { @@ -505,17 +531,6 @@ "@typescript-eslint/utils": "5.29.0", "debug": "^4.3.4", "tsutils": "^3.21.0" - }, - "dependencies": { - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - } } }, "@typescript-eslint/types": { @@ -537,17 +552,6 @@ "is-glob": "^4.0.3", "semver": "^7.3.7", "tsutils": "^3.21.0" - }, - "dependencies": { - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - } } }, "@typescript-eslint/utils": { @@ -793,6 +797,12 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, "cacache": { "version": "16.1.1", "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", @@ -816,13 +826,6 @@ "ssri": "^9.0.0", "tar": "^6.1.11", "unique-filename": "^1.1.1" - }, - "dependencies": { - "lru-cache": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.2.tgz", - "integrity": "sha512-9zDbhgmXAUvUMPV81A705K3tVzcPiZL3Bf5/5JC/FjYJlLZ5AJCeqIRFHJqyBppiLosqF+uKB7p8/RDXylqBIw==" - } } }, "cacheable-lookup": { @@ -924,9 +927,9 @@ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, "ci-info": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.1.tgz", - "integrity": "sha512-SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", + "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==", "dev": true }, "clean-regexp": { @@ -1263,7 +1266,7 @@ "decamelize-keys": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==", "dev": true, "requires": { "decamelize": "^1.1.0", @@ -1273,13 +1276,13 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true }, "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true } } @@ -1427,7 +1430,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" }, "eslint": { "version": "8.18.0", @@ -1800,7 +1803,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { "version": "2.3.2", @@ -1818,7 +1821,7 @@ "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" }, "gauge": { "version": "4.0.4", @@ -1844,7 +1847,7 @@ "get-func-name": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==" }, "get-pkg-repo": { "version": "4.2.1", @@ -1858,12 +1861,6 @@ "yargs": "^16.2.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -1930,7 +1927,7 @@ "git-remote-origin-url": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", - "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=", + "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", "dev": true, "requires": { "gitconfiglocal": "^1.0.0", @@ -1958,7 +1955,7 @@ "gitconfiglocal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", - "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", "dev": true, "requires": { "ini": "^1.3.2" @@ -2097,6 +2094,17 @@ "dev": true, "requires": { "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "http-cache-semantics": { @@ -2189,7 +2197,7 @@ "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { "once": "^1.3.0", "wrappy": "1" @@ -2219,7 +2227,7 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, "is-binary-path": { @@ -2238,14 +2246,6 @@ "dev": true, "requires": { "builtin-modules": "^3.0.0" - }, - "dependencies": { - "builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "dev": true - } } }, "is-core-module": { @@ -2260,7 +2260,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, "is-fullwidth-code-point": { "version": "3.0.0", @@ -2304,13 +2304,13 @@ "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true }, "is-text-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", "dev": true, "requires": { "text-extensions": "^1.0.0" @@ -2322,6 +2322,12 @@ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -2381,7 +2387,7 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, "json5": { @@ -2407,7 +2413,7 @@ "jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true }, "jsonpointer": { @@ -2453,7 +2459,7 @@ "load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -2465,7 +2471,7 @@ "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, "requires": { "error-ex": "^1.3.1", @@ -2475,7 +2481,7 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true } } @@ -2497,7 +2503,7 @@ "lodash.ismatch": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", "dev": true }, "lodash.merge": { @@ -2529,12 +2535,9 @@ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" }, "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.2.tgz", + "integrity": "sha512-9zDbhgmXAUvUMPV81A705K3tVzcPiZL3Bf5/5JC/FjYJlLZ5AJCeqIRFHJqyBppiLosqF+uKB7p8/RDXylqBIw==" }, "lunr": { "version": "2.3.9", @@ -2568,13 +2571,6 @@ "promise-retry": "^2.0.1", "socks-proxy-agent": "^7.0.0", "ssri": "^9.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.2.tgz", - "integrity": "sha512-9zDbhgmXAUvUMPV81A705K3tVzcPiZL3Bf5/5JC/FjYJlLZ5AJCeqIRFHJqyBppiLosqF+uKB7p8/RDXylqBIw==" - } } }, "map-obj": { @@ -3083,7 +3079,7 @@ "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } @@ -3109,7 +3105,7 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true }, "p-cancelable": { @@ -3178,7 +3174,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, "path-key": { "version": "3.1.1", @@ -3209,7 +3205,7 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true }, "plantuml-encoder": { @@ -3231,7 +3227,7 @@ "prepend-file": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/prepend-file/-/prepend-file-1.3.1.tgz", - "integrity": "sha1-g7FuC0rBkB/OiNvZRaIvTMgd9Xk=", + "integrity": "sha512-NFKEPDka08hvbVUZOu5JtFKJuWkZhWOJ/Odz6tsMlHWDtg6aUncrbu/BV3uTPRNa5T69SzbWIucg11e2kr4vBA==", "dev": true, "requires": { "tmp": "0.0.31" @@ -3240,7 +3236,7 @@ "prepend-file-cli": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/prepend-file-cli/-/prepend-file-cli-1.0.6.tgz", - "integrity": "sha1-/34RbJMU24XCLEOioH8/k4epp08=", + "integrity": "sha512-znOwErOOemRkN945G6enA0voH5t2g8ow8JMw2XUJDezbsA2TxATIDTaOeh5J1QM7caV6O2xtgQ7il98MmHCgSw==", "dev": true, "requires": { "minimist": "^1.2.0", @@ -3305,7 +3301,7 @@ "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "dev": true }, "queue-microtask": { @@ -3340,7 +3336,7 @@ "read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", "dev": true, "requires": { "load-json-file": "^4.0.0", @@ -3378,7 +3374,7 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true }, "semver": { @@ -3392,7 +3388,7 @@ "read-pkg-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", "dev": true, "requires": { "find-up": "^2.0.0", @@ -3402,7 +3398,7 @@ "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dev": true, "requires": { "locate-path": "^2.0.0" @@ -3411,7 +3407,7 @@ "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "dev": true, "requires": { "p-locate": "^2.0.0", @@ -3430,7 +3426,7 @@ "p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "dev": true, "requires": { "p-limit": "^1.1.0" @@ -3439,13 +3435,13 @@ "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", "dev": true }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true } } @@ -3493,7 +3489,7 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true }, "require-from-string": { @@ -3502,12 +3498,12 @@ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" }, "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, "requires": { - "is-core-module": "^2.8.1", + "is-core-module": "^2.9.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } @@ -3602,6 +3598,16 @@ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", "requires": { "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + } } }, "serialize-javascript": { @@ -3769,7 +3775,7 @@ "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true }, "strip-indent": { @@ -3843,7 +3849,7 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "through2": { @@ -3858,7 +3864,7 @@ "tmp": { "version": "0.0.31", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", - "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", + "integrity": "sha512-lfyEfOppKvWNeId5CArFLwgwef+iCnbEIy0JWYf1httIEXnx4ndL4Dr1adw7hPgeQfSlTbc/gqn6iaKcROpw5Q==", "dev": true, "requires": { "os-tmpdir": "~1.0.1" @@ -3875,7 +3881,7 @@ "toposort": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", - "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=" + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" }, "trim-newlines": { "version": "3.0.1", @@ -3942,6 +3948,15 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -3998,9 +4013,9 @@ "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==" }, "uglify-js": { - "version": "3.15.5", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.5.tgz", - "integrity": "sha512-hNM5q5GbBRB5xB+PMqVRcgYe4c8jbyZ1pzZhS6jbq54/4F2gFK869ZheiE5A8/t+W5jtTNpWef/5Q9zk639FNQ==", + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.1.tgz", + "integrity": "sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ==", "dev": true, "optional": true }, @@ -4036,7 +4051,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "uuid": { "version": "3.4.0", @@ -4100,7 +4115,7 @@ "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "dev": true }, "workerpool": { @@ -4123,7 +4138,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "xtend": { "version": "4.0.2", From 1b0c5d698163ac0259da191d42975857da722c37 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 27 Jun 2022 14:44:42 +0200 Subject: [PATCH 201/215] 0.31.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 64239cfa..89561b71 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.30.1", + "version": "0.31.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 9cb17ca7..e592309a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.30.1", + "version": "0.31.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 4afbb9722e7c81511f467ac4b566487b9b3ba3bd Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 27 Jun 2022 14:44:44 +0200 Subject: [PATCH 202/215] docs: update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a36da53e..533d7ed2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# [0.31.0](https://gitlab.com/openstapps/core-tools/compare/v0.30.1...v0.31.0) (2022-06-27) + + + ## [0.30.1](https://gitlab.com/openstapps/core-tools/compare/v0.30.0...v0.30.1) (2022-05-27) From 51ae246a0fd10144cf6af348bc7ded88e6dab27a Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 27 Jun 2022 15:08:15 +0200 Subject: [PATCH 203/215] fix: documentation not beeing generated --- package-lock.json | 10 ++++++---- package.json | 6 +++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 89561b71..460d1b28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3976,11 +3976,12 @@ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" }, "typedoc": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.23.1.tgz", - "integrity": "sha512-6Lb8E+RTEUPzdPUNugQQTOQYccq0iSfZgZ875fzSynByJWC7RbKNwLIx0Osv8pcJyiByy3jH/wdZR0tajuijLQ==", + "version": "0.22.17", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.17.tgz", + "integrity": "sha512-h6+uXHVVCPDaANzjwzdsj9aePBjZiBTpiMpBBeyh1zcN2odVsDCNajz8zyKnixF93HJeGpl34j/70yoEE5BfNg==", "dev": true, "requires": { + "glob": "^8.0.3", "lunr": "^2.3.9", "marked": "^4.0.16", "minimatch": "^5.1.0", @@ -4010,7 +4011,8 @@ "typescript": { "version": "4.4.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", - "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==" + "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", + "dev": true }, "uglify-js": { "version": "3.16.1", diff --git a/package.json b/package.json index e592309a..4b92ecf6 100644 --- a/package.json +++ b/package.json @@ -66,8 +66,7 @@ "re2": "1.17.7", "toposort": "2.0.2", "ts-json-schema-generator": "1.0.0", - "ts-node": "10.8.1", - "typescript": "4.4.4" + "ts-node": "10.8.1" }, "devDependencies": { "@openstapps/configuration": "0.31.0", @@ -93,6 +92,7 @@ "prepend-file-cli": "1.0.6", "prettier": "2.7.1", "rimraf": "3.0.2", - "typedoc": "0.23.1" + "typedoc": "0.22.17", + "typescript": "4.4.4" } } From 910bbf923bc076fea6e470d4a1040e6f8c8e66c6 Mon Sep 17 00:00:00 2001 From: openstappsbot Date: Wed, 17 Aug 2022 07:08:14 +0000 Subject: [PATCH 204/215] refactor: update all --- .gitignore | 1 + package-lock.json | 607 +++++++++++++++++++++++----------------------- package.json | 36 +-- 3 files changed, 323 insertions(+), 321 deletions(-) diff --git a/.gitignore b/.gitignore index 50d2fc77..9e8635ea 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ pids *.pid *.seed *.pid.lock +.DS_Store # Schema generation data Diagram-*.svg diff --git a/package-lock.json b/package-lock.json index 460d1b28..4d899482 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,24 +5,24 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "requires": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.18.6" } }, "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" }, "@babel/highlight": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", - "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -132,15 +132,20 @@ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" }, "@humanwhocodes/config-array": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", - "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", + "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", "requires": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", "minimatch": "^3.0.4" } }, + "@humanwhocodes/gitignore-to-minimatch": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", + "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==" + }, "@humanwhocodes/momoa": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-2.0.4.tgz", @@ -158,9 +163,9 @@ "dev": true }, "@jridgewell/resolve-uri": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.8.tgz", - "integrity": "sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" }, "@jridgewell/sourcemap-codec": { "version": "1.4.14", @@ -200,64 +205,49 @@ } }, "@npmcli/fs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz", - "integrity": "sha512-DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", "requires": { "@gar/promisify": "^1.1.3", "semver": "^7.3.5" } }, "@npmcli/move-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", - "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", "requires": { "mkdirp": "^1.0.4", "rimraf": "^3.0.2" } }, "@openstapps/configuration": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.31.0.tgz", - "integrity": "sha512-mWbcz7MS2U6znu+q26Hb+tn8EC6+5pLNRJQVmlyJXdpJSb32dpeYMsMzqIedoB5BexSGI+mZNimCdGIS74Pl4A==", + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.33.0.tgz", + "integrity": "sha512-sum9DB8+2r5eXnJhie1UPcQQTPupd0m3Xgsft+D6LVvbjbmt/XCpCMvlZSoM+LE1ZkUdgUmbFJ81mqjWKgCsJA==", "dev": true, "requires": { - "@types/node": "14.18.18", - "@types/semver": "7.3.9", + "@types/node": "14.18.24", + "@types/semver": "7.3.12", "@types/yaml": "1.9.7", "chalk": "4.1.2", - "commander": "9.3.0", + "commander": "9.4.0", "semver": "7.3.7", "yaml": "1.10.2" - }, - "dependencies": { - "@types/node": { - "version": "14.18.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.18.tgz", - "integrity": "sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig==", - "dev": true - } } }, "@openstapps/logger": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-0.8.1.tgz", - "integrity": "sha512-Ain5Hb1f0EjhwhiHfv1PhDaNm7f1LUeuoO8Orll6f1icF5VI+R1PKcxk+Z1rO/WVElFNoP+PORD0vB7wDE4xAQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-1.0.0.tgz", + "integrity": "sha512-ImCfnLJWHWwFJ1W7KCIWgFe7EXI0cAtap0Dznz+758BPAlLZ+hJHSbIbGHWwEAfRNAB53TIABF5npSsKSDq4Sw==", "requires": { - "@types/node": "14.18.18", - "@types/nodemailer": "6.4.4", + "@types/node": "14.18.24", + "@types/nodemailer": "6.4.5", "chalk": "4.1.2", - "flatted": "3.2.5", - "moment": "2.29.3", - "nodemailer": "6.7.5" - }, - "dependencies": { - "@types/node": { - "version": "14.18.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.18.tgz", - "integrity": "sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig==" - } + "flatted": "3.2.6", + "moment": "2.29.4", + "nodemailer": "6.7.8" } }, "@sindresorhus/is": { @@ -322,19 +312,12 @@ "@types/keyv": "*", "@types/node": "*", "@types/responselike": "*" - }, - "dependencies": { - "@types/node": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.0.tgz", - "integrity": "sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==" - } } }, "@types/chai": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.1.tgz", - "integrity": "sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz", + "integrity": "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==", "dev": true }, "@types/fs-extra": { @@ -377,19 +360,12 @@ "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", "requires": { "@types/node": "*" - }, - "dependencies": { - "@types/node": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.0.tgz", - "integrity": "sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==" - } } }, "@types/lodash": { - "version": "4.14.182", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.182.tgz", - "integrity": "sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==", + "version": "4.14.183", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.183.tgz", + "integrity": "sha512-UXavyuxzXKMqJPEpFPri6Ku5F9af6ZJXUneHhvQJxavrEjuHkFp2YnDWHcxJiG7hk8ZkWqjcyNeW1s/smZv5cw==", "dev": true }, "@types/minimatch": { @@ -411,30 +387,22 @@ "dev": true }, "@types/mustache": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-4.1.3.tgz", - "integrity": "sha512-Bc3wzdDGfHE8kcf6HsDwqq/IDUginRlWLHbs8dYFAo/2jj91lip6/XJFgKvcCbFO6aEVpOBT1RGF72LZgNIbKQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-4.2.1.tgz", + "integrity": "sha512-gFAlWL9Ik21nJioqjlGCnNYbf9zHi0sVbaZ/1hQEBcCEuxfLJDvz4bVJSV6v6CUaoLOz0XEIoP7mSrhJ6o237w==", "dev": true }, "@types/node": { - "version": "14.18.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.21.tgz", - "integrity": "sha512-x5W9s+8P4XteaxT/jKF0PSb7XEvo5VmqEWgsMlyeY4ZlLK8I6aH6g5TPPyDlLAep+GYf4kefb7HFyc7PAO3m+Q==", - "dev": true + "version": "14.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.24.tgz", + "integrity": "sha512-aJdn8XErcSrfr7k8ZDDfU6/2OgjZcB2Fu9d+ESK8D7Oa5mtsv8Fa8GpcwTA0v60kuZBaalKPzuzun4Ov1YWO/w==" }, "@types/nodemailer": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.4.tgz", - "integrity": "sha512-Ksw4t7iliXeYGvIQcSIgWQ5BLuC/mljIEbjf615svhZL10PE9t+ei8O9gDaD3FPCasUJn9KTLwz2JFJyiiyuqw==", + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.5.tgz", + "integrity": "sha512-zuP3nBRQHI6M2PkXnGGy1Ww4VB+MyYHGgnfV2T+JR9KLkeWqPJuyVUgLpKXuFnA/b7pZaIDFh2sV4759B7jK1g==", "requires": { "@types/node": "*" - }, - "dependencies": { - "@types/node": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.0.tgz", - "integrity": "sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==" - } } }, "@types/normalize-package-data": { @@ -449,13 +417,6 @@ "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", "requires": { "@types/node": "*" - }, - "dependencies": { - "@types/node": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.0.tgz", - "integrity": "sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==" - } } }, "@types/rimraf": { @@ -469,9 +430,9 @@ } }, "@types/semver": { - "version": "7.3.9", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.9.tgz", - "integrity": "sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==", + "version": "7.3.12", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.12.tgz", + "integrity": "sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A==", "dev": true }, "@types/yaml": { @@ -484,14 +445,14 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.29.0.tgz", - "integrity": "sha512-kgTsISt9pM53yRFQmLZ4npj99yGl3x3Pl7z4eA66OuTzAGC4bQB5H5fuLwPnqTKU3yyrrg4MIhjF17UYnL4c0w==", + "version": "5.33.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.1.tgz", + "integrity": "sha512-S1iZIxrTvKkU3+m63YUOxYPKaP+yWDQrdhxTglVDVEVBf+aCSw85+BmJnyUaQQsk5TXFG/LpBu9fa+LrAQ91fQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.29.0", - "@typescript-eslint/type-utils": "5.29.0", - "@typescript-eslint/utils": "5.29.0", + "@typescript-eslint/scope-manager": "5.33.1", + "@typescript-eslint/type-utils": "5.33.1", + "@typescript-eslint/utils": "5.33.1", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", @@ -501,52 +462,52 @@ } }, "@typescript-eslint/parser": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.29.0.tgz", - "integrity": "sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==", + "version": "5.33.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.33.1.tgz", + "integrity": "sha512-IgLLtW7FOzoDlmaMoXdxG8HOCByTBXrB1V2ZQYSEV1ggMmJfAkMWTwUjjzagS6OkfpySyhKFkBw7A9jYmcHpZA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.29.0", - "@typescript-eslint/types": "5.29.0", - "@typescript-eslint/typescript-estree": "5.29.0", + "@typescript-eslint/scope-manager": "5.33.1", + "@typescript-eslint/types": "5.33.1", + "@typescript-eslint/typescript-estree": "5.33.1", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.29.0.tgz", - "integrity": "sha512-etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA==", + "version": "5.33.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.33.1.tgz", + "integrity": "sha512-8ibcZSqy4c5m69QpzJn8XQq9NnqAToC8OdH/W6IXPXv83vRyEDPYLdjAlUx8h/rbusq6MkW4YdQzURGOqsn3CA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.29.0", - "@typescript-eslint/visitor-keys": "5.29.0" + "@typescript-eslint/types": "5.33.1", + "@typescript-eslint/visitor-keys": "5.33.1" } }, "@typescript-eslint/type-utils": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.29.0.tgz", - "integrity": "sha512-JK6bAaaiJozbox3K220VRfCzLa9n0ib/J+FHIwnaV3Enw/TO267qe0pM1b1QrrEuy6xun374XEAsRlA86JJnyg==", + "version": "5.33.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.33.1.tgz", + "integrity": "sha512-X3pGsJsD8OiqhNa5fim41YtlnyiWMF/eKsEZGsHID2HcDqeSC5yr/uLOeph8rNF2/utwuI0IQoAK3fpoxcLl2g==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.29.0", + "@typescript-eslint/utils": "5.33.1", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.29.0.tgz", - "integrity": "sha512-X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg==", + "version": "5.33.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.33.1.tgz", + "integrity": "sha512-7K6MoQPQh6WVEkMrMW5QOA5FO+BOwzHSNd0j3+BlBwd6vtzfZceJ8xJ7Um2XDi/O3umS8/qDX6jdy2i7CijkwQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.29.0.tgz", - "integrity": "sha512-mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ==", + "version": "5.33.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.1.tgz", + "integrity": "sha512-JOAzJ4pJ+tHzA2pgsWQi4804XisPHOtbvwUyqsuuq8+y5B5GMZs7lI1xDWs6V2d7gE/Ez5bTGojSK12+IIPtXA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.29.0", - "@typescript-eslint/visitor-keys": "5.29.0", + "@typescript-eslint/types": "5.33.1", + "@typescript-eslint/visitor-keys": "5.33.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -555,15 +516,15 @@ } }, "@typescript-eslint/utils": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.29.0.tgz", - "integrity": "sha512-3Eos6uP1nyLOBayc/VUdKZikV90HahXE5Dx9L5YlSd/7ylQPXhLk1BYb29SDgnBnTp+jmSZUU0QxUiyHgW4p7A==", + "version": "5.33.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.33.1.tgz", + "integrity": "sha512-uphZjkMaZ4fE8CR4dU7BquOV6u0doeQAr8n6cQenl/poMaIyJtBu8eys5uk6u5HiDH01Mj5lzbJ5SfeDz7oqMQ==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.29.0", - "@typescript-eslint/types": "5.29.0", - "@typescript-eslint/typescript-estree": "5.29.0", + "@typescript-eslint/scope-manager": "5.33.1", + "@typescript-eslint/types": "5.33.1", + "@typescript-eslint/typescript-estree": "5.33.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -587,12 +548,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.29.0.tgz", - "integrity": "sha512-Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ==", + "version": "5.33.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.1.tgz", + "integrity": "sha512-nwIxOK8Z2MPWltLKMLOEZwmfBZReqUdbEoHQXeCpa+sRVARe5twpJGHCB4dk9903Yaf0nMAlGbQfaAH92F60eg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.29.0", + "@typescript-eslint/types": "5.33.1", "eslint-visitor-keys": "^3.3.0" } }, @@ -618,9 +579,9 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==" + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==" }, "acorn-jsx": { "version": "5.3.2", @@ -711,9 +672,9 @@ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" }, "are-we-there-yet": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", - "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "requires": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" @@ -804,9 +765,9 @@ "dev": true }, "cacache": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", - "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", + "version": "16.1.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.2.tgz", + "integrity": "sha512-Xx+xPlfCZIUHagysjjOAje9nRo8pRDczQCcXb4J2O0BLtH+xeVue6ba4y1kfJfQMAnM2mkcoMIAyOctlaRGWYA==", "requires": { "@npmcli/fs": "^2.1.0", "@npmcli/move-file": "^2.0.0", @@ -958,9 +919,9 @@ } }, "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", "requires": { "mimic-response": "^1.0.0" } @@ -984,9 +945,9 @@ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" }, "commander": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.3.0.tgz", - "integrity": "sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==" + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", + "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==" }, "comment-parser": { "version": "1.3.1", @@ -1433,12 +1394,13 @@ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" }, "eslint": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.18.0.tgz", - "integrity": "sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==", + "version": "8.22.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.22.0.tgz", + "integrity": "sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==", "requires": { "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.9.2", + "@humanwhocodes/config-array": "^0.10.4", + "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -1448,14 +1410,17 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.2", + "espree": "^9.3.3", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", "functional-red-black-tree": "^1.0.1", "glob-parent": "^6.0.1", "globals": "^13.15.0", + "globby": "^11.1.0", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -1512,9 +1477,9 @@ "dev": true }, "eslint-plugin-jsdoc": { - "version": "39.3.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.3.3.tgz", - "integrity": "sha512-K/DAjKRUNaUTf0KQhI9PvsF+Y3mGDx/j0pofXsJCQe/tmRsRweBIXR353c8nAro0lytZYEf7l0PluBpzKDiHxw==", + "version": "39.3.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.3.6.tgz", + "integrity": "sha512-R6dZ4t83qPdMhIOGr7g2QII2pwCjYyKP+z0tPOfO1bbAbQyKC20Y2Rd6z1te86Lq3T7uM8bNo+VD9YFpE8HU/g==", "dev": true, "requires": { "@es-joy/jsdoccomment": "~0.31.0", @@ -1535,22 +1500,22 @@ } }, "eslint-plugin-prettier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", - "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" } }, "eslint-plugin-unicorn": { - "version": "42.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-42.0.0.tgz", - "integrity": "sha512-ixBsbhgWuxVaNlPTT8AyfJMlhyC5flCJFjyK3oKE8TRrwBnaHvUbuIkCM1lqg8ryYrFStL/T557zfKzX4GKSlg==", + "version": "43.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-43.0.2.tgz", + "integrity": "sha512-DtqZ5mf/GMlfWoz1abIjq5jZfaFuHzGBZYIeuJfEoKKGWRHr2JiJR+ea+BF7Wx2N1PPRoT/2fwgiK1NnmNE3Hg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.15.7", - "ci-info": "^3.3.0", + "@babel/helper-validator-identifier": "^7.18.6", + "ci-info": "^3.3.2", "clean-regexp": "^1.0.0", "eslint-utils": "^3.0.0", "esquery": "^1.4.0", @@ -1561,16 +1526,35 @@ "read-pkg-up": "^7.0.1", "regexp-tree": "^0.1.24", "safe-regex": "^2.1.1", - "semver": "^7.3.5", + "semver": "^7.3.7", "strip-indent": "^3.0.0" }, "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, "hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -1591,6 +1575,24 @@ } } }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -1660,11 +1662,11 @@ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" }, "espree": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", - "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", + "version": "9.3.3", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.3.tgz", + "integrity": "sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==", "requires": { - "acorn": "^8.7.1", + "acorn": "^8.8.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.3.0" } @@ -1753,12 +1755,11 @@ } }, "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "requires": { - "locate-path": "^5.0.0", + "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, @@ -1778,9 +1779,9 @@ } }, "flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==" + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", + "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==" }, "fs-extra": { "version": "10.1.0", @@ -2000,9 +2001,9 @@ } }, "globals": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", - "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", + "version": "13.17.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", + "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", "requires": { "type-fest": "^0.20.2" } @@ -2043,6 +2044,11 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + }, "handlebars": { "version": "4.7.7", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", @@ -2220,9 +2226,9 @@ "integrity": "sha512-3l3Bymg2eKDsN5wQuMfgGEj2x6l5MCAv0zPL6rxHESufFVlEAKW/6oY9F1aGgvY/EgWm5+eWGRjINveL4X7Hgg==" }, "ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" }, "is-arrayish": { "version": "0.2.1", @@ -2240,18 +2246,18 @@ } }, "is-builtin-module": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz", - "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz", + "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==", "dev": true, "requires": { - "builtin-modules": "^3.0.0" + "builtin-modules": "^3.3.0" } }, "is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", "dev": true, "requires": { "has": "^1.0.3" @@ -2396,9 +2402,9 @@ "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" }, "jsonc-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", - "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", + "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==", "dev": true }, "jsonfile": { @@ -2417,14 +2423,14 @@ "dev": true }, "jsonpointer": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.0.tgz", - "integrity": "sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg==" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" }, "keyv": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.3.2.tgz", - "integrity": "sha512-kn8WmodVBe12lmHpA6W8OY7SNh6wVR+Z+wZESF4iF5FCazaVXGWOtnbnvX0tMQ1bO+/TmOD9LziuYMvrIIs0xw==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.3.3.tgz", + "integrity": "sha512-AcysI17RvakTh8ir03+a3zJr5r0ovnAH/XTXei/4HIv3bL2K/jzvgivLK9UuI/JbU1aJjM3NSAnVvVVd3n+4DQ==", "requires": { "compress-brotli": "^1.3.8", "json-buffer": "3.0.1" @@ -2487,12 +2493,11 @@ } }, "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "requires": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" } }, "lodash": { @@ -2535,9 +2540,9 @@ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" }, "lru-cache": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.2.tgz", - "integrity": "sha512-9zDbhgmXAUvUMPV81A705K3tVzcPiZL3Bf5/5JC/FjYJlLZ5AJCeqIRFHJqyBppiLosqF+uKB7p8/RDXylqBIw==" + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz", + "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==" }, "lunr": { "version": "2.3.9", @@ -2551,9 +2556,9 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "make-fetch-happen": { - "version": "10.1.8", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.8.tgz", - "integrity": "sha512-0ASJbG12Au6+N5I84W+8FhGS6iM8MyzvZady+zaQAu+6IOaESFzCLLD0AR1sAFF3Jufi8bxm586ABN6hWd3k7g==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", "requires": { "agentkeepalive": "^4.2.1", "cacache": "^16.1.0", @@ -2580,9 +2585,9 @@ "dev": true }, "marked": { - "version": "4.0.17", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.17.tgz", - "integrity": "sha512-Wfk0ATOK5iPxM4ptrORkFemqroz0ZDxp5MWfYA7H/F+wO17NRWV5Ypxi6p3g2Xmw2bKeiYOl6oVnLHKxBA0VhA==", + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.18.tgz", + "integrity": "sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw==", "dev": true }, "meow": { @@ -2604,12 +2609,49 @@ "yargs-parser": "^20.2.3" }, "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, "hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -2726,9 +2768,9 @@ } }, "minipass": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.3.tgz", - "integrity": "sha512-N0BOsdFAlNRfmwMhjAsLVWOk7Ljmeb39iqFlsV1At+jqRhSUP9yeof8FyJu4imaJiSUp8vQebWD/guZwGQC8iA==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", + "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", "requires": { "yallist": "^4.0.0" } @@ -2832,16 +2874,6 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, "glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", @@ -2867,15 +2899,6 @@ } } }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, "minimatch": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", @@ -2902,24 +2925,6 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -2944,9 +2949,9 @@ "dev": true }, "moment": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", - "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==" + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" }, "ms": { "version": "2.1.2", @@ -2986,9 +2991,9 @@ "dev": true }, "nock": { - "version": "13.2.7", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.7.tgz", - "integrity": "sha512-R6NUw7RIPtKwgK7jskuKoEi4VFMqIHtV2Uu9K/Uegc4TA5cqe+oNMYslZcUmnVNQCTG6wcSqUBaGTDd7sq5srg==", + "version": "13.2.9", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.9.tgz", + "integrity": "sha512-1+XfJNYF1cjGB+TKMWi29eZ0b82QOvQs2YoLNzbpWGqFMtRQHTa57osqdGj4FrFPgkO4D4AZinzUJR9VvW3QUA==", "dev": true, "requires": { "debug": "^4.1.0", @@ -2998,9 +3003,9 @@ } }, "node-gyp": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.0.0.tgz", - "integrity": "sha512-Ma6p4s+XCTPxCuAMrOA/IJRmVy16R8Sdhtwl4PrCr7IBlj4cPawF0vg/l7nOT1jPbuNS7lIRJpBSvVsXwEZuzw==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.1.0.tgz", + "integrity": "sha512-HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g==", "requires": { "env-paths": "^2.2.0", "glob": "^7.1.4", @@ -3030,9 +3035,9 @@ } }, "nodemailer": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.5.tgz", - "integrity": "sha512-6VtMpwhsrixq1HDYSBBHvW0GwiWawE75dS3oal48VqRhUvKJNnKnJo2RI/bCVQubj1vgrgscMNW4DHaD6xtMCg==" + "version": "6.7.8", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.8.tgz", + "integrity": "sha512-2zaTFGqZixVmTxpJRCFC+Vk5eGRd/fYtvIR+dl5u9QXLTQWGIf48x/JXvo58g9sa0bU6To04XUv554Paykum3g==" }, "nopt": { "version": "5.0.0", @@ -3085,9 +3090,9 @@ } }, "openapi-types": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-11.1.0.tgz", - "integrity": "sha512-ZW+Jf12flFF6DXSij8DGL3svDA4RtSyHXjC/xB/JAh18gg3uVfVIFLvCfScUMowrpvlkxsMMbErakbth2g3/iQ==" + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.0.0.tgz", + "integrity": "sha512-6Wd9k8nmGQHgCbehZCP6wwWcfXcvinhybUTBatuhjRsCxUIujuYFZc9QnGeae75CyHASewBtxs0HX/qwREReUw==" }, "optionator": { "version": "0.9.1", @@ -3114,21 +3119,19 @@ "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" }, "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "requires": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" } }, "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "requires": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" } }, "p-map": { @@ -3168,8 +3171,7 @@ "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" }, "path-is-absolute": { "version": "1.0.1", @@ -3519,9 +3521,9 @@ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, "responselike": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", - "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", + "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", "requires": { "lowercase-keys": "^2.0.0" } @@ -3664,11 +3666,11 @@ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" }, "socks": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz", - "integrity": "sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz", + "integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==", "requires": { - "ip": "^1.1.5", + "ip": "^2.0.0", "smart-buffer": "^4.2.0" } }, @@ -3923,9 +3925,9 @@ } }, "ts-node": { - "version": "10.8.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.1.tgz", - "integrity": "sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==", + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", "requires": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -3976,9 +3978,9 @@ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" }, "typedoc": { - "version": "0.22.17", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.17.tgz", - "integrity": "sha512-h6+uXHVVCPDaANzjwzdsj9aePBjZiBTpiMpBBeyh1zcN2odVsDCNajz8zyKnixF93HJeGpl34j/70yoEE5BfNg==", + "version": "0.22.18", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.18.tgz", + "integrity": "sha512-NK9RlLhRUGMvc6Rw5USEYgT4DVAUFk7IF7Q6MYfpJ88KnTZP7EneEa4RcP+tX1auAcz7QT1Iy0bUSZBYYHdoyA==", "dev": true, "requires": { "glob": "^8.0.3", @@ -4015,9 +4017,9 @@ "dev": true }, "uglify-js": { - "version": "3.16.1", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.16.1.tgz", - "integrity": "sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ==", + "version": "3.17.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.0.tgz", + "integrity": "sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg==", "dev": true, "optional": true }, @@ -4226,8 +4228,7 @@ "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" } } } diff --git a/package.json b/package.json index 4b92ecf6..91a2d969 100644 --- a/package.json +++ b/package.json @@ -45,15 +45,15 @@ "lint": "eslint -c .eslintrc.json --ignore-path .eslintignore --ext .ts src/" }, "dependencies": { - "@openstapps/logger": "0.8.1", + "@openstapps/logger": "1.0.0", "ajv": "8.11.0", "better-ajv-errors": "1.2.0", "chai": "4.3.6", - "commander": "9.3.0", + "commander": "9.4.0", "deepmerge": "4.2.2", "del": "6.1.1", - "eslint": "8.18.0", - "flatted": "3.2.5", + "eslint": "8.22.0", + "flatted": "3.2.6", "fs-extra": "10.1.0", "glob": "8.0.3", "got": "11.8.5", @@ -61,38 +61,38 @@ "json-schema": "0.4.0", "lodash": "4.17.21", "mustache": "4.2.0", - "openapi-types": "11.1.0", + "openapi-types": "12.0.0", "plantuml-encoder": "1.4.0", "re2": "1.17.7", "toposort": "2.0.2", "ts-json-schema-generator": "1.0.0", - "ts-node": "10.8.1" + "ts-node": "10.9.1" }, "devDependencies": { - "@openstapps/configuration": "0.31.0", + "@openstapps/configuration": "0.33.0", "@testdeck/mocha": "0.2.0", - "@types/chai": "4.3.1", + "@types/chai": "4.3.3", "@types/fs-extra": "9.0.13", "@types/glob": "7.2.0", "@types/json-schema": "7.0.11", - "@types/lodash": "4.14.182", + "@types/lodash": "4.14.183", "@types/mocha": "9.1.1", - "@types/mustache": "4.1.3", - "@types/node": "14.18.21", + "@types/mustache": "4.2.1", + "@types/node": "14.18.24", "@types/rimraf": "3.0.2", - "@typescript-eslint/eslint-plugin": "5.29.0", - "@typescript-eslint/parser": "5.29.0", + "@typescript-eslint/eslint-plugin": "5.33.1", + "@typescript-eslint/parser": "5.33.1", "conventional-changelog-cli": "2.2.2", "eslint-config-prettier": "8.5.0", - "eslint-plugin-jsdoc": "39.3.3", - "eslint-plugin-prettier": "4.0.0", - "eslint-plugin-unicorn": "42.0.0", + "eslint-plugin-jsdoc": "39.3.6", + "eslint-plugin-prettier": "4.2.1", + "eslint-plugin-unicorn": "43.0.2", "mocha": "10.0.0", - "nock": "13.2.7", + "nock": "13.2.9", "prepend-file-cli": "1.0.6", "prettier": "2.7.1", "rimraf": "3.0.2", - "typedoc": "0.22.17", + "typedoc": "0.22.18", "typescript": "4.4.4" } } From 678323cc09eca7aa7421332e3189f3301f5c4168 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Wed, 17 Aug 2022 13:01:34 +0200 Subject: [PATCH 205/215] 0.32.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4d899482..61af1d03 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.31.0", + "version": "0.32.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 91a2d969..b7e45bc2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.31.0", + "version": "0.32.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 4be5cb2b6aaf84c88973735cd722ef6492f71271 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Wed, 17 Aug 2022 13:01:35 +0200 Subject: [PATCH 206/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 533d7ed2..cb07ebcb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [0.32.0](https://gitlab.com/openstapps/core-tools/compare/v0.31.0...v0.32.0) (2022-08-17) + + +### Bug Fixes + +* documentation not beeing generated ([51ae246](https://gitlab.com/openstapps/core-tools/commit/51ae246a0fd10144cf6af348bc7ded88e6dab27a)) + + + # [0.31.0](https://gitlab.com/openstapps/core-tools/compare/v0.30.1...v0.31.0) (2022-06-27) From c3d66b36c8b4bdf84b3e23cd0ab8318d3fd068f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Thu, 20 Oct 2022 09:52:55 +0000 Subject: [PATCH 207/215] fix: convert schema glob path to posix path --- package.json | 2 +- src/util/posix-path.ts | 30 ++++++++++++++++++++++++++++++ src/validate.ts | 3 ++- test/posix-path.spec.ts | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 src/util/posix-path.ts create mode 100644 test/posix-path.spec.ts diff --git a/package.json b/package.json index b7e45bc2..52664888 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "Jovan Krunić ", "Rainer Killinger ", "Michel Jonathan Schmitz", - "Wieland Schöbl" + "Thea Schöbl " ], "scripts": { "build": "npm run lint && npm run compile", diff --git a/src/util/posix-path.ts b/src/util/posix-path.ts new file mode 100644 index 00000000..0b032a3a --- /dev/null +++ b/src/util/posix-path.ts @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2021 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import path from 'path'; +import {PathLike} from 'fs'; + +/** + * Convert a path to a POSIX path + * + * Replaces the system separator with posix separators + * Replaces Windows drive letters with a root '/' + */ +export function toPosixPath(pathLike: PathLike, separator = path.sep): string { + return pathLike + .toString() + .split(separator) + .join(path.posix.sep) + .replace(/^[A-z]:\//, '/'); +} diff --git a/src/validate.ts b/src/validate.ts index bf8ed47c..5a9129c8 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -24,6 +24,7 @@ import {ExpectedValidationErrors, ValidationError, ValidationResult} from './typ import {isThingWithType} from './util/guards'; import path from 'path'; import re2 from './types/re2'; +import {toPosixPath} from './util/posix-path'; /** * StAppsCore validator @@ -58,7 +59,7 @@ export class Validator { * @param schemaDirectory Path to directory that contains schema files */ public async addSchemas(schemaDirectory: PathLike): Promise { - const schemaFiles = await globPromisified(path.join(schemaDirectory.toString(), '*.json')); + const schemaFiles = await globPromisified(path.posix.join(toPosixPath(schemaDirectory), '*.json')); if (schemaFiles.length === 0) { throw new Error(`No schema files in ${schemaDirectory.toString()}!`); diff --git a/test/posix-path.spec.ts b/test/posix-path.spec.ts new file mode 100644 index 00000000..6e7cf5b6 --- /dev/null +++ b/test/posix-path.spec.ts @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2022 StApps + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, version 3. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ +import {expect} from 'chai'; +import {toPosixPath} from '../src/util/posix-path'; +import path from 'path'; + +describe('posix-path', function () { + it('should convert Windows paths', function () { + expect(toPosixPath('a\\b\\c', path.win32.sep)).to.be.equal('a/b/c'); + }); + + it('should leave POSIX paths untouched', function () { + expect(toPosixPath('a/b/c', path.posix.sep)).to.be.equal('a/b/c'); + }); + + it('should replace Windows drive letters', function () { + expect(toPosixPath('C:\\a\\b\\c', path.win32.sep)).to.be.equal('/a/b/c'); + }); + + it('should leave POSIX root separator untouched', function () { + expect(toPosixPath('/a/b/c', path.posix.sep)).to.be.equal('/a/b/c'); + }); +}); From 74282995fd152a24d3a6efa5f32f01e3b2e7165b Mon Sep 17 00:00:00 2001 From: openstappsbot Date: Wed, 11 Jan 2023 08:33:58 +0000 Subject: [PATCH 208/215] refactor: update all --- .gitlab-ci.yml | 2 - package-lock.json | 612 +++++++++++++++++++++++++--------------------- package.json | 40 +-- 3 files changed, 348 insertions(+), 306 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 867f7bda..75298265 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,8 +19,6 @@ build: - lib test: - tags: - - docker stage: test script: - npm test diff --git a/package-lock.json b/package-lock.json index 61af1d03..0fbdd06b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,9 +13,9 @@ } }, "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==" + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" }, "@babel/highlight": { "version": "7.18.6", @@ -82,9 +82,9 @@ } }, "@es-joy/jsdoccomment": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.31.0.tgz", - "integrity": "sha512-tc1/iuQcnaiSIUVad72PBierDFpsxdUHtEF/OrfqvM1CBAsIoMP51j52jTMb3dXriwhieTo289InzZj72jL3EQ==", + "version": "0.36.1", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.36.1.tgz", + "integrity": "sha512-922xqFsTpHs6D0BUiG4toiyPOMc8/jafnWKxz1KWgS4XzKPy2qXf1Pe6UFuNSCQqt6tOuhAWXBNuuyUhJmw9Vg==", "dev": true, "requires": { "comment-parser": "1.3.1", @@ -93,14 +93,14 @@ } }, "@eslint/eslintrc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", - "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", + "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.3.2", - "globals": "^13.15.0", + "espree": "^9.4.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -132,19 +132,19 @@ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" }, "@humanwhocodes/config-array": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", - "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", "requires": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", - "minimatch": "^3.0.4" + "minimatch": "^3.0.5" } }, - "@humanwhocodes/gitignore-to-minimatch": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", - "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==" + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" }, "@humanwhocodes/momoa": { "version": "2.0.4", @@ -235,19 +235,58 @@ "commander": "9.4.0", "semver": "7.3.7", "yaml": "1.10.2" + }, + "dependencies": { + "@types/node": { + "version": "14.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.24.tgz", + "integrity": "sha512-aJdn8XErcSrfr7k8ZDDfU6/2OgjZcB2Fu9d+ESK8D7Oa5mtsv8Fa8GpcwTA0v60kuZBaalKPzuzun4Ov1YWO/w==", + "dev": true + }, + "commander": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", + "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "@openstapps/logger": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-1.0.0.tgz", - "integrity": "sha512-ImCfnLJWHWwFJ1W7KCIWgFe7EXI0cAtap0Dznz+758BPAlLZ+hJHSbIbGHWwEAfRNAB53TIABF5npSsKSDq4Sw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-1.1.1.tgz", + "integrity": "sha512-hPLqV0nKXgbwRxbRCAzSvQzlHfWfpDGxbo/nJLY94zbVwzpHCW3favh+MFmEV536ZvprIOLkE8DfzBUC0a83ww==", "requires": { - "@types/node": "14.18.24", - "@types/nodemailer": "6.4.5", + "@types/node": "14.18.32", + "@types/nodemailer": "6.4.6", "chalk": "4.1.2", - "flatted": "3.2.6", + "flatted": "3.2.7", "moment": "2.29.4", - "nodemailer": "6.7.8" + "nodemailer": "6.8.0" + }, + "dependencies": { + "@types/node": { + "version": "14.18.32", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.32.tgz", + "integrity": "sha512-Y6S38pFr04yb13qqHf8uk1nHE3lXgQ30WZbv1mLliV9pt0NjvqdWttLcrOYLnXbOafknVYRHZGoMSpR9UwfYow==" + } } }, "@sindresorhus/is": { @@ -264,18 +303,18 @@ } }, "@testdeck/core": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@testdeck/core/-/core-0.2.0.tgz", - "integrity": "sha512-2BAzKS18I+nFUb9kH2zK7Bs1CBD0WqaYikaLm+gRaOiQKYa8flvVzqlUGwjyOMmD16JFksgxYml4/7xm4tfEYA==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@testdeck/core/-/core-0.3.3.tgz", + "integrity": "sha512-yu1yh7yluqnNDLe6Z18/y7kcmxBBEdfZAg3msG8covKkYPRbsCVr1+HmxReqJMKgeoh/UoEW1pi9Sz0fb/GYVQ==", "dev": true }, "@testdeck/mocha": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@testdeck/mocha/-/mocha-0.2.0.tgz", - "integrity": "sha512-xudmoPiytaV3flmPZnRO02TPsH31IJuLkGGIX9ftOmditOgA57RK9tYDHNpanA9HxC6kQLP97Tut0RfILENn7w==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@testdeck/mocha/-/mocha-0.3.3.tgz", + "integrity": "sha512-U5CX88u1G44SZ2LG2EFgh2SPYTczT5hCY7W8n41DCZMM61oKEkwDCiDBDi7IJVnLrPaNsceZpoVzosoepqIwog==", "dev": true, "requires": { - "@testdeck/core": "^0.2.0" + "@testdeck/core": "^0.3.3" } }, "@tootallnate/once": { @@ -304,20 +343,27 @@ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==" }, "@types/cacheable-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", - "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", + "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", "requires": { "@types/http-cache-semantics": "*", - "@types/keyv": "*", + "@types/keyv": "^3.1.4", "@types/node": "*", - "@types/responselike": "*" + "@types/responselike": "^1.0.0" + }, + "dependencies": { + "@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" + } } }, "@types/chai": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz", - "integrity": "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", "dev": true }, "@types/fs-extra": { @@ -344,11 +390,6 @@ "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" }, - "@types/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==" - }, "@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", @@ -360,18 +401,25 @@ "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", "requires": { "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" + } } }, "@types/lodash": { - "version": "4.14.183", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.183.tgz", - "integrity": "sha512-UXavyuxzXKMqJPEpFPri6Ku5F9af6ZJXUneHhvQJxavrEjuHkFp2YnDWHcxJiG7hk8ZkWqjcyNeW1s/smZv5cw==", + "version": "4.14.191", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", + "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==", "dev": true }, "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", "dev": true }, "@types/minimist": { @@ -387,22 +435,30 @@ "dev": true }, "@types/mustache": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-4.2.1.tgz", - "integrity": "sha512-gFAlWL9Ik21nJioqjlGCnNYbf9zHi0sVbaZ/1hQEBcCEuxfLJDvz4bVJSV6v6CUaoLOz0XEIoP7mSrhJ6o237w==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@types/mustache/-/mustache-4.2.2.tgz", + "integrity": "sha512-MUSpfpW0yZbTgjekDbH0shMYBUD+X/uJJJMm9LXN1d5yjl5lCY1vN/eWKD6D1tOtjA6206K0zcIPnUaFMurdNA==", "dev": true }, "@types/node": { - "version": "14.18.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.24.tgz", - "integrity": "sha512-aJdn8XErcSrfr7k8ZDDfU6/2OgjZcB2Fu9d+ESK8D7Oa5mtsv8Fa8GpcwTA0v60kuZBaalKPzuzun4Ov1YWO/w==" + "version": "14.18.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", + "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", + "dev": true }, "@types/nodemailer": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.5.tgz", - "integrity": "sha512-zuP3nBRQHI6M2PkXnGGy1Ww4VB+MyYHGgnfV2T+JR9KLkeWqPJuyVUgLpKXuFnA/b7pZaIDFh2sV4759B7jK1g==", + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.6.tgz", + "integrity": "sha512-pD6fL5GQtUKvD2WnPmg5bC2e8kWCAPDwMPmHe/ohQbW+Dy0EcHgZ2oCSuPlWNqk74LS5BVMig1SymQbFMPPK3w==", "requires": { "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" + } } }, "@types/normalize-package-data": { @@ -417,6 +473,13 @@ "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", "requires": { "@types/node": "*" + }, + "dependencies": { + "@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" + } } }, "@types/rimraf": { @@ -557,12 +620,6 @@ "eslint-visitor-keys": "^3.3.0" } }, - "@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true - }, "JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", @@ -579,9 +636,9 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==" + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==" }, "acorn-jsx": { "version": "5.3.2", @@ -627,9 +684,9 @@ } }, "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -657,9 +714,9 @@ } }, "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -765,9 +822,9 @@ "dev": true }, "cacache": { - "version": "16.1.2", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.2.tgz", - "integrity": "sha512-Xx+xPlfCZIUHagysjjOAje9nRo8pRDczQCcXb4J2O0BLtH+xeVue6ba4y1kfJfQMAnM2mkcoMIAyOctlaRGWYA==", + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", "requires": { "@npmcli/fs": "^2.1.0", "@npmcli/move-file": "^2.0.0", @@ -786,7 +843,7 @@ "rimraf": "^3.0.2", "ssri": "^9.0.0", "tar": "^6.1.11", - "unique-filename": "^1.1.1" + "unique-filename": "^2.0.0" } }, "cacheable-lookup": { @@ -839,13 +896,13 @@ } }, "chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", "requires": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", - "deep-eql": "^3.0.1", + "deep-eql": "^4.1.2", "get-func-name": "^2.0.0", "loupe": "^2.3.1", "pathval": "^1.1.1", @@ -888,9 +945,9 @@ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, "ci-info": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.2.tgz", - "integrity": "sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.1.tgz", + "integrity": "sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==", "dev": true }, "clean-regexp": { @@ -945,9 +1002,9 @@ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" }, "commander": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", - "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==" + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" }, "comment-parser": { "version": "1.3.1", @@ -965,15 +1022,6 @@ "dot-prop": "^5.1.0" } }, - "compress-brotli": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz", - "integrity": "sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==", - "requires": { - "@types/json-buffer": "~3.0.0", - "json-buffer": "~3.0.1" - } - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -1225,9 +1273,9 @@ "integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==" }, "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, "requires": { "decamelize": "^1.1.0", @@ -1264,9 +1312,9 @@ } }, "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "requires": { "type-detect": "^4.0.0" } @@ -1394,13 +1442,14 @@ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" }, "eslint": { - "version": "8.22.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.22.0.tgz", - "integrity": "sha512-ci4t0sz6vSRKdmkOGmprBo6fmI4PrphDFMy5JEq/fNS0gQkJM3rLmrqcp8ipMcdobH3KtUP40KniAE9W19S4wA==", + "version": "8.31.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.31.0.tgz", + "integrity": "sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==", "requires": { - "@eslint/eslintrc": "^1.3.0", - "@humanwhocodes/config-array": "^0.10.4", - "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", + "@eslint/eslintrc": "^1.4.1", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -1410,21 +1459,21 @@ "eslint-scope": "^7.1.1", "eslint-utils": "^3.0.0", "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.3", + "espree": "^9.4.0", "esquery": "^1.4.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.15.0", - "globby": "^11.1.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", @@ -1435,8 +1484,7 @@ "regexpp": "^3.2.0", "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "text-table": "^0.2.0" }, "dependencies": { "ajv": { @@ -1471,23 +1519,23 @@ } }, "eslint-config-prettier": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", - "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz", + "integrity": "sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==", "dev": true }, "eslint-plugin-jsdoc": { - "version": "39.3.6", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.3.6.tgz", - "integrity": "sha512-R6dZ4t83qPdMhIOGr7g2QII2pwCjYyKP+z0tPOfO1bbAbQyKC20Y2Rd6z1te86Lq3T7uM8bNo+VD9YFpE8HU/g==", + "version": "39.6.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.6.4.tgz", + "integrity": "sha512-fskvdLCfwmPjHb6e+xNGDtGgbF8X7cDwMtVLAP2WwSf9Htrx68OAx31BESBM1FAwsN2HTQyYQq7m4aW4Q4Nlag==", "dev": true, "requires": { - "@es-joy/jsdoccomment": "~0.31.0", + "@es-joy/jsdoccomment": "~0.36.1", "comment-parser": "1.3.1", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", "esquery": "^1.4.0", - "semver": "^7.3.7", + "semver": "^7.3.8", "spdx-expression-parse": "^3.0.1" }, "dependencies": { @@ -1662,9 +1710,9 @@ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" }, "espree": { - "version": "9.3.3", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.3.tgz", - "integrity": "sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", + "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", "requires": { "acorn": "^8.8.0", "acorn-jsx": "^5.3.2", @@ -1709,9 +1757,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -1731,9 +1779,9 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "requires": { "reusify": "^1.0.4" } @@ -1779,9 +1827,9 @@ } }, "flatted": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", - "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==" + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" }, "fs-extra": { "version": "10.1.0", @@ -1822,7 +1870,8 @@ "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true }, "gauge": { "version": "4.0.4", @@ -1983,9 +2032,9 @@ } }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "requires": { "brace-expansion": "^2.0.1" } @@ -2001,9 +2050,9 @@ } }, "globals": { - "version": "13.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "requires": { "type-fest": "^0.20.2" } @@ -2022,9 +2071,9 @@ } }, "got": { - "version": "11.8.5", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz", - "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==", + "version": "11.8.6", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", + "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", "requires": { "@sindresorhus/is": "^4.0.0", "@szmarczak/http-timer": "^4.0.5", @@ -2172,9 +2221,9 @@ } }, "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" }, "import-fresh": { "version": "3.3.0", @@ -2221,9 +2270,9 @@ "dev": true }, "install-artifact-from-github": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.3.1.tgz", - "integrity": "sha512-3l3Bymg2eKDsN5wQuMfgGEj2x6l5MCAv0zPL6rxHESufFVlEAKW/6oY9F1aGgvY/EgWm5+eWGRjINveL4X7Hgg==" + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.3.2.tgz", + "integrity": "sha512-yCFcLvqk0yQdxx0uJz4t9Z3adDMLAYrcGYv546uRXCSvxE+GqNYhhz/KmrGcUKGI/gVLR9n/e/zM9jX/+ASMJQ==" }, "ip": { "version": "2.0.0", @@ -2255,9 +2304,9 @@ } }, "is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", "dev": true, "requires": { "has": "^1.0.3" @@ -2339,6 +2388,11 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, + "js-sdsl": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", + "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==" + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -2397,14 +2451,14 @@ "dev": true }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" }, "jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, "jsonfile": { @@ -2428,11 +2482,10 @@ "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" }, "keyv": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.3.3.tgz", - "integrity": "sha512-AcysI17RvakTh8ir03+a3zJr5r0ovnAH/XTXei/4HIv3bL2K/jzvgivLK9UuI/JbU1aJjM3NSAnVvVVd3n+4DQ==", + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz", + "integrity": "sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==", "requires": { - "compress-brotli": "^1.3.8", "json-buffer": "3.0.1" } }, @@ -2527,9 +2580,9 @@ } }, "loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", "requires": { "get-func-name": "^2.0.0" } @@ -2540,9 +2593,9 @@ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" }, "lru-cache": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.0.tgz", - "integrity": "sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ==" + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==" }, "lunr": { "version": "2.3.9", @@ -2585,9 +2638,9 @@ "dev": true }, "marked": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.18.tgz", - "integrity": "sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.5.tgz", + "integrity": "sha512-jPueVhumq7idETHkb203WDD4fMA3yV9emQ5vLwop58lu8bTclMghBWcYAavlDqIEMaisADinV1TooIFCfqOsYQ==", "dev": true }, "meow": { @@ -2751,9 +2804,9 @@ } }, "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", "dev": true }, "minimist-options": { @@ -2768,9 +2821,9 @@ } }, "minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "requires": { "yallist": "^4.0.0" } @@ -2784,9 +2837,9 @@ } }, "minipass-fetch": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz", - "integrity": "sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", "requires": { "encoding": "^0.1.13", "minipass": "^3.1.6", @@ -2833,12 +2886,11 @@ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "mocha": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz", - "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", "dev": true, "requires": { - "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", "chokidar": "3.5.3", @@ -2964,9 +3016,9 @@ "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==" }, "nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" }, "nanoid": { "version": "3.3.3", @@ -2991,9 +3043,9 @@ "dev": true }, "nock": { - "version": "13.2.9", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.2.9.tgz", - "integrity": "sha512-1+XfJNYF1cjGB+TKMWi29eZ0b82QOvQs2YoLNzbpWGqFMtRQHTa57osqdGj4FrFPgkO4D4AZinzUJR9VvW3QUA==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.0.tgz", + "integrity": "sha512-HHqYQ6mBeiMc+N038w8LkMpDCRquCHWeNmN3v6645P3NhN2+qXOBqvPqo7Rt1VyCMzKhJ733wZqw5B7cQVFNPg==", "dev": true, "requires": { "debug": "^4.1.0", @@ -3003,15 +3055,15 @@ } }, "node-gyp": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.1.0.tgz", - "integrity": "sha512-HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", + "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==", "requires": { "env-paths": "^2.2.0", "glob": "^7.1.4", "graceful-fs": "^4.2.6", "make-fetch-happen": "^10.0.3", - "nopt": "^5.0.0", + "nopt": "^6.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", "semver": "^7.3.5", @@ -3035,16 +3087,16 @@ } }, "nodemailer": { - "version": "6.7.8", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.8.tgz", - "integrity": "sha512-2zaTFGqZixVmTxpJRCFC+Vk5eGRd/fYtvIR+dl5u9QXLTQWGIf48x/JXvo58g9sa0bU6To04XUv554Paykum3g==" + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.8.0.tgz", + "integrity": "sha512-EjYvSmHzekz6VNkNd12aUqAco+bOkRe3Of5jVhltqKhEsjw/y0PYPJfp83+s9Wzh1dspYAkUW/YNQ350NATbSQ==" }, "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", "requires": { - "abbrev": "1" + "abbrev": "^1.0.0" } }, "normalize-package-data": { @@ -3062,8 +3114,7 @@ "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "normalize-url": { "version": "6.1.0", @@ -3090,9 +3141,9 @@ } }, "openapi-types": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.0.0.tgz", - "integrity": "sha512-6Wd9k8nmGQHgCbehZCP6wwWcfXcvinhybUTBatuhjRsCxUIujuYFZc9QnGeae75CyHASewBtxs0HX/qwREReUw==" + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.0.tgz", + "integrity": "sha512-XpeCy01X6L5EpP+6Hc3jWN7rMZJ+/k1lwki/kTmWzbVhdPie3jd5O2ZtedEx8Yp58icJ0osVldLMrTB/zslQXA==" }, "optionator": { "version": "0.9.1", @@ -3246,9 +3297,9 @@ } }, "prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.2.tgz", + "integrity": "sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw==", "dev": true }, "prettier-linter-helpers": { @@ -3296,9 +3347,9 @@ } }, "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.2.0.tgz", + "integrity": "sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==" }, "q": { "version": "1.5.1", @@ -3326,13 +3377,13 @@ } }, "re2": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/re2/-/re2-1.17.7.tgz", - "integrity": "sha512-X8GSuiBoVWwcjuppqSjsIkRxNUKDdjhkO9SBekQbZ2ksqWUReCy7DQPWOVpoTnpdtdz5PIpTTxTFzvJv5UMfjA==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/re2/-/re2-1.18.0.tgz", + "integrity": "sha512-MoCYZlJ9YUgksND9asyNF2/x532daXU/ARp1UeJbQ5flMY6ryKNEhrWt85aw3YluzOJlC3vXpGgK2a1jb0b4GA==", "requires": { "install-artifact-from-github": "^1.3.1", - "nan": "^2.16.0", - "node-gyp": "^9.0.0" + "nan": "^2.17.0", + "node-gyp": "^9.3.0" } }, "read-pkg": { @@ -3584,9 +3635,9 @@ } }, "safe-stable-stringify": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz", - "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==" + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz", + "integrity": "sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA==" }, "safer-buffer": { "version": "2.1.2", @@ -3595,9 +3646,9 @@ "optional": true }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "requires": { "lru-cache": "^6.0.0" }, @@ -3666,9 +3717,9 @@ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" }, "socks": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz", - "integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", "requires": { "ip": "^2.0.0", "smart-buffer": "^4.2.0" @@ -3717,9 +3768,9 @@ } }, "spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", "dev": true }, "split": { @@ -3809,16 +3860,26 @@ "dev": true }, "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", + "minipass": "^4.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", + "requires": { + "yallist": "^4.0.0" + } + } } }, "temp-dir": { @@ -3892,35 +3953,23 @@ "dev": true }, "ts-json-schema-generator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-1.0.0.tgz", - "integrity": "sha512-F5VofsyMhNSXKII32NDS8/Ur8o2K3Sh5i/U2ke3UgCKf26ybgm2cZeT2x7VJPl1trML/9QLzz/82l0mvzmb3Vw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-json-schema-generator/-/ts-json-schema-generator-1.2.0.tgz", + "integrity": "sha512-tUMeO3ZvA12d3HHh7T/AK8W5hmUhDRNtqWRHSMN3ZRbUFt+UmV0oX8k1RK4SA+a+BKNHpmW2v06MS49e8Fi3Yg==", "requires": { - "@types/json-schema": "^7.0.9", - "commander": "^9.0.0", - "glob": "^7.2.0", - "json5": "^2.2.0", - "safe-stable-stringify": "^2.3.1", - "typescript": "~4.6.2" + "@types/json-schema": "^7.0.11", + "commander": "^9.4.1", + "glob": "^8.0.3", + "json5": "^2.2.1", + "normalize-path": "^3.0.0", + "safe-stable-stringify": "^2.4.1", + "typescript": "~4.9.3" }, "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, "typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==" + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==" } } }, @@ -4000,9 +4049,9 @@ } }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -4017,24 +4066,24 @@ "dev": true }, "uglify-js": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.0.tgz", - "integrity": "sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg==", + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", "dev": true, "optional": true }, "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", "requires": { - "unique-slug": "^2.0.0" + "unique-slug": "^3.0.0" } }, "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", "requires": { "imurmurhash": "^0.1.4" } @@ -4063,11 +4112,6 @@ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "dev": true }, - "v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" - }, "v8-compile-cache-lib": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", @@ -4084,9 +4128,9 @@ } }, "vscode-oniguruma": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.6.2.tgz", - "integrity": "sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", "dev": true }, "vscode-textmate": { diff --git a/package.json b/package.json index 52664888..93f353e3 100644 --- a/package.json +++ b/package.json @@ -45,52 +45,52 @@ "lint": "eslint -c .eslintrc.json --ignore-path .eslintignore --ext .ts src/" }, "dependencies": { - "@openstapps/logger": "1.0.0", - "ajv": "8.11.0", + "@openstapps/logger": "1.1.1", + "ajv": "8.12.0", "better-ajv-errors": "1.2.0", - "chai": "4.3.6", - "commander": "9.4.0", + "chai": "4.3.7", + "commander": "9.5.0", "deepmerge": "4.2.2", "del": "6.1.1", - "eslint": "8.22.0", - "flatted": "3.2.6", + "eslint": "8.31.0", + "flatted": "3.2.7", "fs-extra": "10.1.0", "glob": "8.0.3", - "got": "11.8.5", + "got": "11.8.6", "humanize-string": "3.0.0", "json-schema": "0.4.0", "lodash": "4.17.21", "mustache": "4.2.0", - "openapi-types": "12.0.0", + "openapi-types": "12.1.0", "plantuml-encoder": "1.4.0", - "re2": "1.17.7", + "re2": "1.18.0", "toposort": "2.0.2", - "ts-json-schema-generator": "1.0.0", + "ts-json-schema-generator": "1.2.0", "ts-node": "10.9.1" }, "devDependencies": { "@openstapps/configuration": "0.33.0", - "@testdeck/mocha": "0.2.0", - "@types/chai": "4.3.3", + "@testdeck/mocha": "0.3.3", + "@types/chai": "4.3.4", "@types/fs-extra": "9.0.13", "@types/glob": "7.2.0", "@types/json-schema": "7.0.11", - "@types/lodash": "4.14.183", + "@types/lodash": "4.14.191", "@types/mocha": "9.1.1", - "@types/mustache": "4.2.1", - "@types/node": "14.18.24", + "@types/mustache": "4.2.2", + "@types/node": "14.18.36", "@types/rimraf": "3.0.2", "@typescript-eslint/eslint-plugin": "5.33.1", "@typescript-eslint/parser": "5.33.1", "conventional-changelog-cli": "2.2.2", - "eslint-config-prettier": "8.5.0", - "eslint-plugin-jsdoc": "39.3.6", + "eslint-config-prettier": "8.6.0", + "eslint-plugin-jsdoc": "39.6.4", "eslint-plugin-prettier": "4.2.1", "eslint-plugin-unicorn": "43.0.2", - "mocha": "10.0.0", - "nock": "13.2.9", + "mocha": "10.2.0", + "nock": "13.3.0", "prepend-file-cli": "1.0.6", - "prettier": "2.7.1", + "prettier": "2.8.2", "rimraf": "3.0.2", "typedoc": "0.22.18", "typescript": "4.4.4" From d285faaa457a268d635af46da58cee8e0567317f Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Thu, 12 Jan 2023 14:15:08 +0100 Subject: [PATCH 209/215] 0.33.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0fbdd06b..b78222bb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.32.0", + "version": "0.33.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 93f353e3..ae8b9406 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.32.0", + "version": "0.33.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 925dc26d7ae9d8deeebb80258788248ee2afb514 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Thu, 12 Jan 2023 14:15:10 +0100 Subject: [PATCH 210/215] docs: update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cb07ebcb..5dcfc39d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# [0.33.0](https://gitlab.com/openstapps/core-tools/compare/v0.32.0...v0.33.0) (2023-01-12) + + +### Bug Fixes + +* convert schema glob path to posix path ([c3d66b3](https://gitlab.com/openstapps/core-tools/commit/c3d66b36c8b4bdf84b3e23cd0ab8318d3fd068f9)) + + + # [0.32.0](https://gitlab.com/openstapps/core-tools/compare/v0.31.0...v0.32.0) (2022-08-17) From c6f4660b3a2150de8a2f79c38486edca27a75ff0 Mon Sep 17 00:00:00 2001 From: openstappsbot Date: Mon, 30 Jan 2023 08:39:37 +0000 Subject: [PATCH 211/215] refactor: update all --- package-lock.json | 300 ++++++++++++++++++++++++---------------------- package.json | 24 ++-- 2 files changed, 171 insertions(+), 153 deletions(-) diff --git a/package-lock.json b/package-lock.json index b78222bb..25268a94 100644 --- a/package-lock.json +++ b/package-lock.json @@ -92,6 +92,15 @@ "jsdoc-type-pratt-parser": "~3.1.0" } }, + "@eslint-community/eslint-utils": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.1.2.tgz", + "integrity": "sha512-7qELuQWWjVDdVsFQ5+beUl+KPczrEDA7S3zM4QUd/bJl7oXgsmpXaEVqrRTnOBqenOV4rWf2kVZk2Ot085zPWA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, "@eslint/eslintrc": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", @@ -223,49 +232,25 @@ } }, "@openstapps/configuration": { - "version": "0.33.0", - "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.33.0.tgz", - "integrity": "sha512-sum9DB8+2r5eXnJhie1UPcQQTPupd0m3Xgsft+D6LVvbjbmt/XCpCMvlZSoM+LE1ZkUdgUmbFJ81mqjWKgCsJA==", + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@openstapps/configuration/-/configuration-0.34.0.tgz", + "integrity": "sha512-woPn4v3mQMUibtRs84VDpiC0EarowA4HvtpXbzc6ddWcYs8jtPLwA+mSbWSiROhJ2CeRQTJtMK+bJ4yhIRfdKw==", "dev": true, "requires": { - "@types/node": "14.18.24", - "@types/semver": "7.3.12", + "@types/node": "14.18.36", + "@types/semver": "7.3.13", "@types/yaml": "1.9.7", "chalk": "4.1.2", - "commander": "9.4.0", - "semver": "7.3.7", + "commander": "9.5.0", + "semver": "7.3.8", "yaml": "1.10.2" }, "dependencies": { - "@types/node": { - "version": "14.18.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.24.tgz", - "integrity": "sha512-aJdn8XErcSrfr7k8ZDDfU6/2OgjZcB2Fu9d+ESK8D7Oa5mtsv8Fa8GpcwTA0v60kuZBaalKPzuzun4Ov1YWO/w==", - "dev": true - }, "commander": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", - "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } } } }, @@ -376,12 +361,12 @@ } }, "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.0.1.tgz", + "integrity": "sha512-8bVUjXZvJacUFkJXHdyZ9iH1Eaj5V7I8c4NdH5sQJsdXkqT4CA5Dhb4yb4VE/3asyx4L9ayZr1NIhTsWHczmMw==", "dev": true, "requires": { - "@types/minimatch": "*", + "@types/minimatch": "^5.1.2", "@types/node": "*" } }, @@ -429,9 +414,9 @@ "dev": true }, "@types/mocha": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", - "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", + "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", "dev": true }, "@types/mustache": { @@ -493,9 +478,9 @@ } }, "@types/semver": { - "version": "7.3.12", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.12.tgz", - "integrity": "sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A==", + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", "dev": true }, "@types/yaml": { @@ -508,69 +493,70 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.33.1.tgz", - "integrity": "sha512-S1iZIxrTvKkU3+m63YUOxYPKaP+yWDQrdhxTglVDVEVBf+aCSw85+BmJnyUaQQsk5TXFG/LpBu9fa+LrAQ91fQ==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz", + "integrity": "sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.33.1", - "@typescript-eslint/type-utils": "5.33.1", - "@typescript-eslint/utils": "5.33.1", + "@typescript-eslint/scope-manager": "5.49.0", + "@typescript-eslint/type-utils": "5.49.0", + "@typescript-eslint/utils": "5.49.0", "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", "regexpp": "^3.2.0", "semver": "^7.3.7", "tsutils": "^3.21.0" } }, "@typescript-eslint/parser": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.33.1.tgz", - "integrity": "sha512-IgLLtW7FOzoDlmaMoXdxG8HOCByTBXrB1V2ZQYSEV1ggMmJfAkMWTwUjjzagS6OkfpySyhKFkBw7A9jYmcHpZA==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.49.0.tgz", + "integrity": "sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.33.1", - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/typescript-estree": "5.33.1", + "@typescript-eslint/scope-manager": "5.49.0", + "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/typescript-estree": "5.49.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.33.1.tgz", - "integrity": "sha512-8ibcZSqy4c5m69QpzJn8XQq9NnqAToC8OdH/W6IXPXv83vRyEDPYLdjAlUx8h/rbusq6MkW4YdQzURGOqsn3CA==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz", + "integrity": "sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/visitor-keys": "5.33.1" + "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/visitor-keys": "5.49.0" } }, "@typescript-eslint/type-utils": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.33.1.tgz", - "integrity": "sha512-X3pGsJsD8OiqhNa5fim41YtlnyiWMF/eKsEZGsHID2HcDqeSC5yr/uLOeph8rNF2/utwuI0IQoAK3fpoxcLl2g==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz", + "integrity": "sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.33.1", + "@typescript-eslint/typescript-estree": "5.49.0", + "@typescript-eslint/utils": "5.49.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.33.1.tgz", - "integrity": "sha512-7K6MoQPQh6WVEkMrMW5QOA5FO+BOwzHSNd0j3+BlBwd6vtzfZceJ8xJ7Um2XDi/O3umS8/qDX6jdy2i7CijkwQ==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.49.0.tgz", + "integrity": "sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.33.1.tgz", - "integrity": "sha512-JOAzJ4pJ+tHzA2pgsWQi4804XisPHOtbvwUyqsuuq8+y5B5GMZs7lI1xDWs6V2d7gE/Ez5bTGojSK12+IIPtXA==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz", + "integrity": "sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/visitor-keys": "5.33.1", + "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/visitor-keys": "5.49.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -579,17 +565,19 @@ } }, "@typescript-eslint/utils": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.33.1.tgz", - "integrity": "sha512-uphZjkMaZ4fE8CR4dU7BquOV6u0doeQAr8n6cQenl/poMaIyJtBu8eys5uk6u5HiDH01Mj5lzbJ5SfeDz7oqMQ==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.49.0.tgz", + "integrity": "sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.33.1", - "@typescript-eslint/types": "5.33.1", - "@typescript-eslint/typescript-estree": "5.33.1", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.49.0", + "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/typescript-estree": "5.49.0", "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" + "eslint-utils": "^3.0.0", + "semver": "^7.3.7" }, "dependencies": { "eslint-scope": { @@ -611,12 +599,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.33.1.tgz", - "integrity": "sha512-nwIxOK8Z2MPWltLKMLOEZwmfBZReqUdbEoHQXeCpa+sRVARe5twpJGHCB4dk9903Yaf0nMAlGbQfaAH92F60eg==", + "version": "5.49.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz", + "integrity": "sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==", "dev": true, "requires": { - "@typescript-eslint/types": "5.33.1", + "@typescript-eslint/types": "5.49.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -636,9 +624,9 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==" + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" }, "acorn-jsx": { "version": "5.3.2", @@ -1002,9 +990,9 @@ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" }, "commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz", + "integrity": "sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==" }, "comment-parser": { "version": "1.3.1", @@ -1325,9 +1313,9 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", + "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==" }, "defer-to-connect": { "version": "2.0.1", @@ -1442,9 +1430,9 @@ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" }, "eslint": { - "version": "8.31.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.31.0.tgz", - "integrity": "sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==", + "version": "8.33.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz", + "integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==", "requires": { "@eslint/eslintrc": "^1.4.1", "@humanwhocodes/config-array": "^0.11.8", @@ -1525,9 +1513,9 @@ "dev": true }, "eslint-plugin-jsdoc": { - "version": "39.6.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.6.4.tgz", - "integrity": "sha512-fskvdLCfwmPjHb6e+xNGDtGgbF8X7cDwMtVLAP2WwSf9Htrx68OAx31BESBM1FAwsN2HTQyYQq7m4aW4Q4Nlag==", + "version": "39.7.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.7.4.tgz", + "integrity": "sha512-2eJcWGKRyNQFa37UIpGcAdOp3wtES8vV3mlnFmEmJCuBNyFhK6cMhbZgMkLoLjKnipoxsN9GbfZZ+8nPY8ETZQ==", "dev": true, "requires": { "@es-joy/jsdoccomment": "~0.36.1", @@ -1557,24 +1545,26 @@ } }, "eslint-plugin-unicorn": { - "version": "43.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-43.0.2.tgz", - "integrity": "sha512-DtqZ5mf/GMlfWoz1abIjq5jZfaFuHzGBZYIeuJfEoKKGWRHr2JiJR+ea+BF7Wx2N1PPRoT/2fwgiK1NnmNE3Hg==", + "version": "45.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-45.0.2.tgz", + "integrity": "sha512-Y0WUDXRyGDMcKLiwgL3zSMpHrXI00xmdyixEGIg90gHnj0PcHY4moNv3Ppje/kDivdAy5vUeUr7z211ImPv2gw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "ci-info": "^3.3.2", + "@babel/helper-validator-identifier": "^7.19.1", + "@eslint-community/eslint-utils": "^4.1.2", + "ci-info": "^3.6.1", "clean-regexp": "^1.0.0", - "eslint-utils": "^3.0.0", "esquery": "^1.4.0", "indent-string": "^4.0.0", - "is-builtin-module": "^3.1.0", + "is-builtin-module": "^3.2.0", + "jsesc": "^3.0.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "read-pkg-up": "^7.0.1", "regexp-tree": "^0.1.24", + "regjsparser": "^0.9.1", "safe-regex": "^2.1.1", - "semver": "^7.3.7", + "semver": "^7.3.8", "strip-indent": "^3.0.0" }, "dependencies": { @@ -1867,12 +1857,6 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, "gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", @@ -2012,9 +1996,9 @@ } }, "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2032,9 +2016,9 @@ } }, "minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "requires": { "brace-expansion": "^2.0.1" } @@ -2050,9 +2034,9 @@ } }, "globals": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", - "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "requires": { "type-fest": "^0.20.2" } @@ -2163,9 +2147,9 @@ } }, "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" }, "http-proxy-agent": { "version": "5.0.0", @@ -2389,9 +2373,9 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "js-sdsl": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", - "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", + "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==" }, "js-tokens": { "version": "4.0.0", @@ -2412,6 +2396,12 @@ "integrity": "sha512-MgtD0ZiCDk9B+eI73BextfRrVQl0oyzRG8B2BjORts6jbunj4ScKPcyXGTbB6eXL4y9TzxCm6hyeLq/2ASzNdw==", "dev": true }, + "jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true + }, "json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -2638,9 +2628,9 @@ "dev": true }, "marked": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.5.tgz", - "integrity": "sha512-jPueVhumq7idETHkb203WDD4fMA3yV9emQ5vLwop58lu8bTclMghBWcYAavlDqIEMaisADinV1TooIFCfqOsYQ==", + "version": "4.2.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.12.tgz", + "integrity": "sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==", "dev": true }, "meow": { @@ -3031,6 +3021,12 @@ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, "negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -3297,9 +3293,9 @@ } }, "prettier": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.2.tgz", - "integrity": "sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz", + "integrity": "sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==", "dev": true }, "prettier-linter-helpers": { @@ -3347,9 +3343,9 @@ } }, "punycode": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.2.0.tgz", - "integrity": "sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" }, "q": { "version": "1.5.1", @@ -3539,6 +3535,23 @@ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -3966,6 +3979,11 @@ "typescript": "~4.9.3" }, "dependencies": { + "commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" + }, "typescript": { "version": "4.9.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", @@ -4049,9 +4067,9 @@ } }, "minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" diff --git a/package.json b/package.json index ae8b9406..82db7fad 100644 --- a/package.json +++ b/package.json @@ -49,13 +49,13 @@ "ajv": "8.12.0", "better-ajv-errors": "1.2.0", "chai": "4.3.7", - "commander": "9.5.0", - "deepmerge": "4.2.2", + "commander": "10.0.0", + "deepmerge": "4.3.0", "del": "6.1.1", - "eslint": "8.31.0", + "eslint": "8.33.0", "flatted": "3.2.7", "fs-extra": "10.1.0", - "glob": "8.0.3", + "glob": "8.1.0", "got": "11.8.6", "humanize-string": "3.0.0", "json-schema": "0.4.0", @@ -69,28 +69,28 @@ "ts-node": "10.9.1" }, "devDependencies": { - "@openstapps/configuration": "0.33.0", + "@openstapps/configuration": "0.34.0", "@testdeck/mocha": "0.3.3", "@types/chai": "4.3.4", "@types/fs-extra": "9.0.13", - "@types/glob": "7.2.0", + "@types/glob": "8.0.1", "@types/json-schema": "7.0.11", "@types/lodash": "4.14.191", - "@types/mocha": "9.1.1", + "@types/mocha": "10.0.1", "@types/mustache": "4.2.2", "@types/node": "14.18.36", "@types/rimraf": "3.0.2", - "@typescript-eslint/eslint-plugin": "5.33.1", - "@typescript-eslint/parser": "5.33.1", + "@typescript-eslint/eslint-plugin": "5.49.0", + "@typescript-eslint/parser": "5.49.0", "conventional-changelog-cli": "2.2.2", "eslint-config-prettier": "8.6.0", - "eslint-plugin-jsdoc": "39.6.4", + "eslint-plugin-jsdoc": "39.7.4", "eslint-plugin-prettier": "4.2.1", - "eslint-plugin-unicorn": "43.0.2", + "eslint-plugin-unicorn": "45.0.2", "mocha": "10.2.0", "nock": "13.3.0", "prepend-file-cli": "1.0.6", - "prettier": "2.8.2", + "prettier": "2.8.3", "rimraf": "3.0.2", "typedoc": "0.22.18", "typescript": "4.4.4" From 0995e7500ccb0de429d4a4acf6e0106e04dc947d Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 30 Jan 2023 11:53:21 +0100 Subject: [PATCH 212/215] refactor: adjust to stricter eslint rules --- src/cli.ts | 24 +++++++++++------------ src/easy-ast/ast-internal-util.ts | 14 ++++++------- src/easy-ast/easy-ast.ts | 11 +++++------ src/easy-ast/types/lightweight-project.ts | 2 +- src/pack.ts | 4 ++-- src/uml/create-diagram.ts | 2 +- src/util/guards.ts | 2 +- src/validate.ts | 2 +- 8 files changed, 30 insertions(+), 31 deletions(-) diff --git a/src/cli.ts b/src/cli.ts index 16b77bb2..a8f1e6ca 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -187,16 +187,16 @@ commander unexpected = unexpected || errorsPerFile[file].some(error => !error.expected); } - if (typeof relativeReportPath !== 'undefined') { + if (relativeReportPath !== undefined) { const reportPath = path.resolve(relativeReportPath); await writeReport(reportPath, errorsPerFile); } - if (!unexpected) { - Logger.ok('Successfully finished validation.'); - } else { + if (unexpected) { await Logger.error('Unexpected errors occurred during validation'); process.exit(1); + } else { + Logger.ok('Successfully finished validation.'); } }); @@ -219,17 +219,17 @@ commander .option('--outputFileName ', 'Defines the filename of the output') .action(async (relativeSourcePath, plantumlServer, options) => { const plantUmlConfig: UMLConfig = { - definitions: typeof options.definitions !== 'undefined' ? options.definitions : [], - showAssociations: typeof options.showAssociations !== 'undefined' ? options.showAssociations : false, - showEnumValues: typeof options.showEnumValues !== 'undefined' ? options.showEnumValues : false, - showInheritance: typeof options.showInheritance !== 'undefined' ? options.showInheritance : false, + definitions: options.definitions === undefined ? [] : options.definitions, + showAssociations: options.showAssociations === undefined ? false : options.showAssociations, + showEnumValues: options.showEnumValues === undefined ? false : options.showEnumValues, + showInheritance: options.showInheritance === undefined ? false : options.showInheritance, showInheritedProperties: - typeof options.showInheritedProperties !== 'undefined' ? options.showInheritedProperties : false, + options.showInheritedProperties === undefined ? false : options.showInheritedProperties, showOptionalProperties: - typeof options.showOptionalProperties !== 'undefined' ? options.showOptionalProperties : false, - showProperties: typeof options.showProperties !== 'undefined' ? options.showProperties : false, + options.showOptionalProperties === undefined ? false : options.showOptionalProperties, + showProperties: options.showProperties === undefined ? false : options.showProperties, }; - if (typeof options.outputFileName !== 'undefined') { + if (options.outputFileName !== undefined) { plantUmlConfig.outputFileName = options.outputFileName; } diff --git a/src/easy-ast/ast-internal-util.ts b/src/easy-ast/ast-internal-util.ts index e4cb22b4..9edcd14c 100644 --- a/src/easy-ast/ast-internal-util.ts +++ b/src/easy-ast/ast-internal-util.ts @@ -55,7 +55,7 @@ export function extractComment(node: ts.Node): LightweightComment | undefined { ); const comment = jsDocument?.comment?.split('\n\n'); - return typeof jsDocument === 'undefined' + return jsDocument === undefined ? undefined : cleanupEmpty({ shortSummary: first(comment), @@ -109,11 +109,11 @@ export function getModifiers(text: string, kind: string): string[] { /** @internal */ export function resolvePropertyName(name?: PropertyName): string | undefined { - return typeof name !== 'undefined' - ? isComputedPropertyName(name) - ? 'UNSUPPORTED_IDENTIFIER_TYPE' - : name.getText() - : undefined; + return name === undefined + ? undefined + : isComputedPropertyName(name) + ? 'UNSUPPORTED_IDENTIFIER_TYPE' + : name.getText(); } /** @internal */ @@ -124,7 +124,7 @@ export function resolveTypeName(type?: TypeNode): string | undefined { /** @internal */ export function isArrayLikeType(typeNode?: TypeNode): typeNode is ArrayTypeNode | TypeReferenceNode { - return typeof typeNode !== 'undefined' && (isArrayTypeNode(typeNode) || isArrayReference(typeNode)); + return typeNode !== undefined && (isArrayTypeNode(typeNode) || isArrayReference(typeNode)); } /** @internal */ diff --git a/src/easy-ast/easy-ast.ts b/src/easy-ast/easy-ast.ts index 732b8a2e..f418ac6a 100644 --- a/src/easy-ast/easy-ast.ts +++ b/src/easy-ast/easy-ast.ts @@ -190,9 +190,9 @@ class LightweightDefinitionBuilder { type: this.lightweightTypeAtNode(property), properties: this.collectProperties((property.type as TypeLiteralNode)?.members), optional: isPropertyDeclaration(property) - ? typeof property.questionToken !== 'undefined' - ? true - : undefined + ? property.questionToken === undefined + ? undefined + : true : undefined, }), ), @@ -220,9 +220,8 @@ class LightweightDefinitionBuilder { return out; } - const isReference = - typeof typeNode !== 'undefined' && isTypeReferenceNode(typeNode) && !isEnumLiteralType(type); - const isTypeLiteral = typeof typeNode !== 'undefined' && isTypeLiteralNode(typeNode); + const isReference = typeNode !== undefined && isTypeReferenceNode(typeNode) && !isEnumLiteralType(type); + const isTypeLiteral = typeNode !== undefined && isTypeLiteralNode(typeNode); // @ts-expect-error intrinsic name & value exist const intrinsicName = (type.intrinsicName ?? type.value) as string | undefined; diff --git a/src/easy-ast/types/lightweight-project.ts b/src/easy-ast/types/lightweight-project.ts index 4cc3ac73..c9f99109 100644 --- a/src/easy-ast/types/lightweight-project.ts +++ b/src/easy-ast/types/lightweight-project.ts @@ -81,7 +81,7 @@ export class LightweightProjectWithIndex { */ async instantiateDefinitionByName(name: string, findCompiledModule = true): Promise { const fsPath = this.index[name]; - if (typeof fsPath === 'undefined') { + if (fsPath === undefined) { return undefined; } diff --git a/src/pack.ts b/src/pack.ts index 7b1b71a8..230c761a 100644 --- a/src/pack.ts +++ b/src/pack.ts @@ -153,7 +153,7 @@ async function packTypeDefinitions(): Promise { }); // add list of already imported objects for module - if (typeof imports[module] === 'undefined') { + if (imports[module] === undefined) { imports[module] = []; } @@ -255,7 +255,7 @@ async function packJavaScriptFiles(): Promise { // replace lines with internal requires if (match !== null) { - if (typeof match[6] === 'undefined') { + if (match[6] === undefined) { match[6] = match[8]; } diff --git a/src/uml/create-diagram.ts b/src/uml/create-diagram.ts index 65727497..7467108c 100644 --- a/src/uml/create-diagram.ts +++ b/src/uml/create-diagram.ts @@ -148,7 +148,7 @@ export async function createDiagramFromString( */ function getReferenceTypes(type: LightweightType): string[] { const types: string[] = []; - if (typeof type.referenceName !== 'undefined') { + if (type.referenceName !== undefined) { types.push(type.referenceName); } diff --git a/src/util/guards.ts b/src/util/guards.ts index b403ba17..707505a7 100644 --- a/src/util/guards.ts +++ b/src/util/guards.ts @@ -19,7 +19,7 @@ import {SchemaWithDefinitions} from '../types/schema'; * Guard for if a JSON schema is in fact a schema with definitions */ export function isSchemaWithDefinitions(schema: JSONSchema): schema is SchemaWithDefinitions { - return typeof schema.definitions !== 'undefined'; + return schema.definitions !== undefined; } /** diff --git a/src/validate.ts b/src/validate.ts index 5a9129c8..c4cc14a1 100644 --- a/src/validate.ts +++ b/src/validate.ts @@ -89,7 +89,7 @@ export class Validator { * @param schema Name of schema to validate instance against or the schema itself */ public validate(instance: unknown, schema?: string | Schema): ValidationResult { - if (typeof schema === 'undefined') { + if (schema === undefined) { if (isThingWithType(instance)) { // schema name can be inferred from type string const schemaSuffix = (instance as {type: string}).type From a13702922beb4e601d517febbfb9cf2fcc1e69c1 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 30 Jan 2023 12:11:44 +0100 Subject: [PATCH 213/215] refactor: reorder version related asset generation --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 82db7fad..107f2ac4 100644 --- a/package.json +++ b/package.json @@ -29,14 +29,14 @@ ], "scripts": { "build": "npm run lint && npm run compile", - "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md && git commit -m 'docs: update changelog'", + "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md", "check-configuration": "openstapps-configuration", "compile": "rimraf lib && tsc && prepend lib/cli.js '#!/usr/bin/env node\n'", "documentation": "typedoc --out docs --readme README.md --includeVersion --validation.invalidLink true --entryPointStrategy expand src", "plantuml-start": "docker run --name plantuml-server -d -p 8080:8080 registry.gitlab.com/openstapps/core-tools:latest", "plantuml-restart": "docker restart plantuml-server", "plantuml-stop": "docker stop plantuml-server", - "postversion": "npm run changelog", + "version": "npm run changelog", "prepublishOnly": "npm ci && npm run build", "preversion": "npm run prepublishOnly", "push": "git push && git push origin \"v$npm_package_version\"", From 0ebfc57fd6e6de28d8c4c65f3d54574f91773309 Mon Sep 17 00:00:00 2001 From: Rainer Killinger Date: Mon, 30 Jan 2023 12:58:21 +0100 Subject: [PATCH 214/215] 0.34.0 --- CHANGELOG.md | 4 ++++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5dcfc39d..fac74996 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# [0.34.0](https://gitlab.com/openstapps/core-tools/compare/v0.33.0...v0.34.0) (2023-01-30) + + + # [0.33.0](https://gitlab.com/openstapps/core-tools/compare/v0.32.0...v0.33.0) (2023-01-12) diff --git a/package-lock.json b/package-lock.json index 25268a94..84ac8941 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.33.0", + "version": "0.34.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 107f2ac4..b7add4e1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@openstapps/core-tools", - "version": "0.33.0", + "version": "0.34.0", "description": "Tools to convert and validate StAppsCore", "keywords": [ "converter", From 721ea0fe67898072fa31d256452db0b0b091d095 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thea=20Sch=C3=B6bl?= Date: Tue, 14 Mar 2023 17:08:48 +0100 Subject: [PATCH 215/215] refactor: move core-tools to monorepo --- .editorconfig => packages/core-tools/.editorconfig | 0 .eslintignore => packages/core-tools/.eslintignore | 0 .eslintrc.json => packages/core-tools/.eslintrc.json | 0 .gitignore => packages/core-tools/.gitignore | 0 .gitlab-ci.yml => packages/core-tools/.gitlab-ci.yml | 0 {.gitlab => packages/core-tools/.gitlab}/issue_templates/bug.md | 0 .../core-tools/.gitlab}/issue_templates/feature.md | 0 .npmignore => packages/core-tools/.npmignore | 0 CHANGELOG.md => packages/core-tools/CHANGELOG.md | 0 Dockerfile => packages/core-tools/Dockerfile | 0 LICENSE => packages/core-tools/LICENSE | 0 README.md => packages/core-tools/README.md | 0 package-lock.json => packages/core-tools/package-lock.json | 0 package.json => packages/core-tools/package.json | 0 {resources => packages/core-tools/resources}/error.html.mustache | 0 {resources => packages/core-tools/resources}/file.html.mustache | 0 {resources => packages/core-tools/resources}/report.html.mustache | 0 {src => packages/core-tools/src}/cli.ts | 0 {src => packages/core-tools/src}/common.ts | 0 {src => packages/core-tools/src}/easy-ast/ast-internal-util.ts | 0 {src => packages/core-tools/src}/easy-ast/ast-util.ts | 0 {src => packages/core-tools/src}/easy-ast/easy-ast.ts | 0 .../src}/easy-ast/types/lightweight-alias-definition.ts | 0 .../src}/easy-ast/types/lightweight-class-definition.ts | 0 .../core-tools/src}/easy-ast/types/lightweight-comment.ts | 0 .../core-tools/src}/easy-ast/types/lightweight-definition-kind.ts | 0 .../core-tools/src}/easy-ast/types/lightweight-definition.ts | 0 .../core-tools/src}/easy-ast/types/lightweight-project.ts | 0 .../core-tools/src}/easy-ast/types/lightweight-property.ts | 0 .../core-tools/src}/easy-ast/types/lightweight-type.ts | 0 {src => packages/core-tools/src}/pack.ts | 0 {src => packages/core-tools/src}/resources/foo.ts | 0 .../core-tools/src}/resources/openapi-303-template.ts | 0 {src => packages/core-tools/src}/routes.ts | 0 {src => packages/core-tools/src}/schema.ts | 0 {src => packages/core-tools/src}/types/pack.ts | 0 {src => packages/core-tools/src}/types/re2.ts | 0 {src => packages/core-tools/src}/types/routes.ts | 0 {src => packages/core-tools/src}/types/schema.ts | 0 {src => packages/core-tools/src}/types/validator.ts | 0 {src => packages/core-tools/src}/uml/create-diagram.ts | 0 {src => packages/core-tools/src}/uml/uml-config.ts | 0 {src => packages/core-tools/src}/util/collections.ts | 0 {src => packages/core-tools/src}/util/guards.ts | 0 {src => packages/core-tools/src}/util/io.ts | 0 {src => packages/core-tools/src}/util/posix-path.ts | 0 {src => packages/core-tools/src}/util/string.ts | 0 {src => packages/core-tools/src}/validate.ts | 0 {test => packages/core-tools/test}/common.spec.ts | 0 {test => packages/core-tools/test}/create-diagram.spec.ts | 0 {test => packages/core-tools/test}/easy-ast.spec.ts | 0 .../core-tools/test}/easy-ast/alias-like.ast-test.ts | 0 .../core-tools/test}/easy-ast/array-like.ast-test.ts | 0 .../core-tools/test}/easy-ast/class-like.ast-test.ts | 0 {test => packages/core-tools/test}/easy-ast/comment.ast-test.ts | 0 .../core-tools/test}/easy-ast/default-generics.ast-test.ts | 0 {test => packages/core-tools/test}/easy-ast/easy-ast-spec-type.ts | 0 .../core-tools/test}/easy-ast/enum-specified-value.ast-test.ts | 0 {test => packages/core-tools/test}/easy-ast/generics.ast-test.ts | 0 .../core-tools/test}/easy-ast/index-signature.ast-test.ts | 0 .../core-tools/test}/easy-ast/ineritance.ast-test.ts | 0 {test => packages/core-tools/test}/easy-ast/nested.ast-test.ts | 0 .../core-tools/test}/easy-ast/primitive-types.ast-test.ts | 0 .../core-tools/test}/easy-ast/stack-overflow.ast-test.ts | 0 {test => packages/core-tools/test}/model/src/test-class.ts | 0 {test => packages/core-tools/test}/model/src/test-enum.ts | 0 {test => packages/core-tools/test}/model/src/test-interface.ts | 0 {test => packages/core-tools/test}/model/src/test-union.ts | 0 {test => packages/core-tools/test}/model/tsconfig.json | 0 {test => packages/core-tools/test}/posix-path.spec.ts | 0 {test => packages/core-tools/test}/schema.spec.ts | 0 {test => packages/core-tools/test}/validate.spec.ts | 0 tsconfig.json => packages/core-tools/tsconfig.json | 0 73 files changed, 0 insertions(+), 0 deletions(-) rename .editorconfig => packages/core-tools/.editorconfig (100%) rename .eslintignore => packages/core-tools/.eslintignore (100%) rename .eslintrc.json => packages/core-tools/.eslintrc.json (100%) rename .gitignore => packages/core-tools/.gitignore (100%) rename .gitlab-ci.yml => packages/core-tools/.gitlab-ci.yml (100%) rename {.gitlab => packages/core-tools/.gitlab}/issue_templates/bug.md (100%) rename {.gitlab => packages/core-tools/.gitlab}/issue_templates/feature.md (100%) rename .npmignore => packages/core-tools/.npmignore (100%) rename CHANGELOG.md => packages/core-tools/CHANGELOG.md (100%) rename Dockerfile => packages/core-tools/Dockerfile (100%) rename LICENSE => packages/core-tools/LICENSE (100%) rename README.md => packages/core-tools/README.md (100%) rename package-lock.json => packages/core-tools/package-lock.json (100%) rename package.json => packages/core-tools/package.json (100%) rename {resources => packages/core-tools/resources}/error.html.mustache (100%) rename {resources => packages/core-tools/resources}/file.html.mustache (100%) rename {resources => packages/core-tools/resources}/report.html.mustache (100%) rename {src => packages/core-tools/src}/cli.ts (100%) rename {src => packages/core-tools/src}/common.ts (100%) rename {src => packages/core-tools/src}/easy-ast/ast-internal-util.ts (100%) rename {src => packages/core-tools/src}/easy-ast/ast-util.ts (100%) rename {src => packages/core-tools/src}/easy-ast/easy-ast.ts (100%) rename {src => packages/core-tools/src}/easy-ast/types/lightweight-alias-definition.ts (100%) rename {src => packages/core-tools/src}/easy-ast/types/lightweight-class-definition.ts (100%) rename {src => packages/core-tools/src}/easy-ast/types/lightweight-comment.ts (100%) rename {src => packages/core-tools/src}/easy-ast/types/lightweight-definition-kind.ts (100%) rename {src => packages/core-tools/src}/easy-ast/types/lightweight-definition.ts (100%) rename {src => packages/core-tools/src}/easy-ast/types/lightweight-project.ts (100%) rename {src => packages/core-tools/src}/easy-ast/types/lightweight-property.ts (100%) rename {src => packages/core-tools/src}/easy-ast/types/lightweight-type.ts (100%) rename {src => packages/core-tools/src}/pack.ts (100%) rename {src => packages/core-tools/src}/resources/foo.ts (100%) rename {src => packages/core-tools/src}/resources/openapi-303-template.ts (100%) rename {src => packages/core-tools/src}/routes.ts (100%) rename {src => packages/core-tools/src}/schema.ts (100%) rename {src => packages/core-tools/src}/types/pack.ts (100%) rename {src => packages/core-tools/src}/types/re2.ts (100%) rename {src => packages/core-tools/src}/types/routes.ts (100%) rename {src => packages/core-tools/src}/types/schema.ts (100%) rename {src => packages/core-tools/src}/types/validator.ts (100%) rename {src => packages/core-tools/src}/uml/create-diagram.ts (100%) rename {src => packages/core-tools/src}/uml/uml-config.ts (100%) rename {src => packages/core-tools/src}/util/collections.ts (100%) rename {src => packages/core-tools/src}/util/guards.ts (100%) rename {src => packages/core-tools/src}/util/io.ts (100%) rename {src => packages/core-tools/src}/util/posix-path.ts (100%) rename {src => packages/core-tools/src}/util/string.ts (100%) rename {src => packages/core-tools/src}/validate.ts (100%) rename {test => packages/core-tools/test}/common.spec.ts (100%) rename {test => packages/core-tools/test}/create-diagram.spec.ts (100%) rename {test => packages/core-tools/test}/easy-ast.spec.ts (100%) rename {test => packages/core-tools/test}/easy-ast/alias-like.ast-test.ts (100%) rename {test => packages/core-tools/test}/easy-ast/array-like.ast-test.ts (100%) rename {test => packages/core-tools/test}/easy-ast/class-like.ast-test.ts (100%) rename {test => packages/core-tools/test}/easy-ast/comment.ast-test.ts (100%) rename {test => packages/core-tools/test}/easy-ast/default-generics.ast-test.ts (100%) rename {test => packages/core-tools/test}/easy-ast/easy-ast-spec-type.ts (100%) rename {test => packages/core-tools/test}/easy-ast/enum-specified-value.ast-test.ts (100%) rename {test => packages/core-tools/test}/easy-ast/generics.ast-test.ts (100%) rename {test => packages/core-tools/test}/easy-ast/index-signature.ast-test.ts (100%) rename {test => packages/core-tools/test}/easy-ast/ineritance.ast-test.ts (100%) rename {test => packages/core-tools/test}/easy-ast/nested.ast-test.ts (100%) rename {test => packages/core-tools/test}/easy-ast/primitive-types.ast-test.ts (100%) rename {test => packages/core-tools/test}/easy-ast/stack-overflow.ast-test.ts (100%) rename {test => packages/core-tools/test}/model/src/test-class.ts (100%) rename {test => packages/core-tools/test}/model/src/test-enum.ts (100%) rename {test => packages/core-tools/test}/model/src/test-interface.ts (100%) rename {test => packages/core-tools/test}/model/src/test-union.ts (100%) rename {test => packages/core-tools/test}/model/tsconfig.json (100%) rename {test => packages/core-tools/test}/posix-path.spec.ts (100%) rename {test => packages/core-tools/test}/schema.spec.ts (100%) rename {test => packages/core-tools/test}/validate.spec.ts (100%) rename tsconfig.json => packages/core-tools/tsconfig.json (100%) diff --git a/.editorconfig b/packages/core-tools/.editorconfig similarity index 100% rename from .editorconfig rename to packages/core-tools/.editorconfig diff --git a/.eslintignore b/packages/core-tools/.eslintignore similarity index 100% rename from .eslintignore rename to packages/core-tools/.eslintignore diff --git a/.eslintrc.json b/packages/core-tools/.eslintrc.json similarity index 100% rename from .eslintrc.json rename to packages/core-tools/.eslintrc.json diff --git a/.gitignore b/packages/core-tools/.gitignore similarity index 100% rename from .gitignore rename to packages/core-tools/.gitignore diff --git a/.gitlab-ci.yml b/packages/core-tools/.gitlab-ci.yml similarity index 100% rename from .gitlab-ci.yml rename to packages/core-tools/.gitlab-ci.yml diff --git a/.gitlab/issue_templates/bug.md b/packages/core-tools/.gitlab/issue_templates/bug.md similarity index 100% rename from .gitlab/issue_templates/bug.md rename to packages/core-tools/.gitlab/issue_templates/bug.md diff --git a/.gitlab/issue_templates/feature.md b/packages/core-tools/.gitlab/issue_templates/feature.md similarity index 100% rename from .gitlab/issue_templates/feature.md rename to packages/core-tools/.gitlab/issue_templates/feature.md diff --git a/.npmignore b/packages/core-tools/.npmignore similarity index 100% rename from .npmignore rename to packages/core-tools/.npmignore diff --git a/CHANGELOG.md b/packages/core-tools/CHANGELOG.md similarity index 100% rename from CHANGELOG.md rename to packages/core-tools/CHANGELOG.md diff --git a/Dockerfile b/packages/core-tools/Dockerfile similarity index 100% rename from Dockerfile rename to packages/core-tools/Dockerfile diff --git a/LICENSE b/packages/core-tools/LICENSE similarity index 100% rename from LICENSE rename to packages/core-tools/LICENSE diff --git a/README.md b/packages/core-tools/README.md similarity index 100% rename from README.md rename to packages/core-tools/README.md diff --git a/package-lock.json b/packages/core-tools/package-lock.json similarity index 100% rename from package-lock.json rename to packages/core-tools/package-lock.json diff --git a/package.json b/packages/core-tools/package.json similarity index 100% rename from package.json rename to packages/core-tools/package.json diff --git a/resources/error.html.mustache b/packages/core-tools/resources/error.html.mustache similarity index 100% rename from resources/error.html.mustache rename to packages/core-tools/resources/error.html.mustache diff --git a/resources/file.html.mustache b/packages/core-tools/resources/file.html.mustache similarity index 100% rename from resources/file.html.mustache rename to packages/core-tools/resources/file.html.mustache diff --git a/resources/report.html.mustache b/packages/core-tools/resources/report.html.mustache similarity index 100% rename from resources/report.html.mustache rename to packages/core-tools/resources/report.html.mustache diff --git a/src/cli.ts b/packages/core-tools/src/cli.ts similarity index 100% rename from src/cli.ts rename to packages/core-tools/src/cli.ts diff --git a/src/common.ts b/packages/core-tools/src/common.ts similarity index 100% rename from src/common.ts rename to packages/core-tools/src/common.ts diff --git a/src/easy-ast/ast-internal-util.ts b/packages/core-tools/src/easy-ast/ast-internal-util.ts similarity index 100% rename from src/easy-ast/ast-internal-util.ts rename to packages/core-tools/src/easy-ast/ast-internal-util.ts diff --git a/src/easy-ast/ast-util.ts b/packages/core-tools/src/easy-ast/ast-util.ts similarity index 100% rename from src/easy-ast/ast-util.ts rename to packages/core-tools/src/easy-ast/ast-util.ts diff --git a/src/easy-ast/easy-ast.ts b/packages/core-tools/src/easy-ast/easy-ast.ts similarity index 100% rename from src/easy-ast/easy-ast.ts rename to packages/core-tools/src/easy-ast/easy-ast.ts diff --git a/src/easy-ast/types/lightweight-alias-definition.ts b/packages/core-tools/src/easy-ast/types/lightweight-alias-definition.ts similarity index 100% rename from src/easy-ast/types/lightweight-alias-definition.ts rename to packages/core-tools/src/easy-ast/types/lightweight-alias-definition.ts diff --git a/src/easy-ast/types/lightweight-class-definition.ts b/packages/core-tools/src/easy-ast/types/lightweight-class-definition.ts similarity index 100% rename from src/easy-ast/types/lightweight-class-definition.ts rename to packages/core-tools/src/easy-ast/types/lightweight-class-definition.ts diff --git a/src/easy-ast/types/lightweight-comment.ts b/packages/core-tools/src/easy-ast/types/lightweight-comment.ts similarity index 100% rename from src/easy-ast/types/lightweight-comment.ts rename to packages/core-tools/src/easy-ast/types/lightweight-comment.ts diff --git a/src/easy-ast/types/lightweight-definition-kind.ts b/packages/core-tools/src/easy-ast/types/lightweight-definition-kind.ts similarity index 100% rename from src/easy-ast/types/lightweight-definition-kind.ts rename to packages/core-tools/src/easy-ast/types/lightweight-definition-kind.ts diff --git a/src/easy-ast/types/lightweight-definition.ts b/packages/core-tools/src/easy-ast/types/lightweight-definition.ts similarity index 100% rename from src/easy-ast/types/lightweight-definition.ts rename to packages/core-tools/src/easy-ast/types/lightweight-definition.ts diff --git a/src/easy-ast/types/lightweight-project.ts b/packages/core-tools/src/easy-ast/types/lightweight-project.ts similarity index 100% rename from src/easy-ast/types/lightweight-project.ts rename to packages/core-tools/src/easy-ast/types/lightweight-project.ts diff --git a/src/easy-ast/types/lightweight-property.ts b/packages/core-tools/src/easy-ast/types/lightweight-property.ts similarity index 100% rename from src/easy-ast/types/lightweight-property.ts rename to packages/core-tools/src/easy-ast/types/lightweight-property.ts diff --git a/src/easy-ast/types/lightweight-type.ts b/packages/core-tools/src/easy-ast/types/lightweight-type.ts similarity index 100% rename from src/easy-ast/types/lightweight-type.ts rename to packages/core-tools/src/easy-ast/types/lightweight-type.ts diff --git a/src/pack.ts b/packages/core-tools/src/pack.ts similarity index 100% rename from src/pack.ts rename to packages/core-tools/src/pack.ts diff --git a/src/resources/foo.ts b/packages/core-tools/src/resources/foo.ts similarity index 100% rename from src/resources/foo.ts rename to packages/core-tools/src/resources/foo.ts diff --git a/src/resources/openapi-303-template.ts b/packages/core-tools/src/resources/openapi-303-template.ts similarity index 100% rename from src/resources/openapi-303-template.ts rename to packages/core-tools/src/resources/openapi-303-template.ts diff --git a/src/routes.ts b/packages/core-tools/src/routes.ts similarity index 100% rename from src/routes.ts rename to packages/core-tools/src/routes.ts diff --git a/src/schema.ts b/packages/core-tools/src/schema.ts similarity index 100% rename from src/schema.ts rename to packages/core-tools/src/schema.ts diff --git a/src/types/pack.ts b/packages/core-tools/src/types/pack.ts similarity index 100% rename from src/types/pack.ts rename to packages/core-tools/src/types/pack.ts diff --git a/src/types/re2.ts b/packages/core-tools/src/types/re2.ts similarity index 100% rename from src/types/re2.ts rename to packages/core-tools/src/types/re2.ts diff --git a/src/types/routes.ts b/packages/core-tools/src/types/routes.ts similarity index 100% rename from src/types/routes.ts rename to packages/core-tools/src/types/routes.ts diff --git a/src/types/schema.ts b/packages/core-tools/src/types/schema.ts similarity index 100% rename from src/types/schema.ts rename to packages/core-tools/src/types/schema.ts diff --git a/src/types/validator.ts b/packages/core-tools/src/types/validator.ts similarity index 100% rename from src/types/validator.ts rename to packages/core-tools/src/types/validator.ts diff --git a/src/uml/create-diagram.ts b/packages/core-tools/src/uml/create-diagram.ts similarity index 100% rename from src/uml/create-diagram.ts rename to packages/core-tools/src/uml/create-diagram.ts diff --git a/src/uml/uml-config.ts b/packages/core-tools/src/uml/uml-config.ts similarity index 100% rename from src/uml/uml-config.ts rename to packages/core-tools/src/uml/uml-config.ts diff --git a/src/util/collections.ts b/packages/core-tools/src/util/collections.ts similarity index 100% rename from src/util/collections.ts rename to packages/core-tools/src/util/collections.ts diff --git a/src/util/guards.ts b/packages/core-tools/src/util/guards.ts similarity index 100% rename from src/util/guards.ts rename to packages/core-tools/src/util/guards.ts diff --git a/src/util/io.ts b/packages/core-tools/src/util/io.ts similarity index 100% rename from src/util/io.ts rename to packages/core-tools/src/util/io.ts diff --git a/src/util/posix-path.ts b/packages/core-tools/src/util/posix-path.ts similarity index 100% rename from src/util/posix-path.ts rename to packages/core-tools/src/util/posix-path.ts diff --git a/src/util/string.ts b/packages/core-tools/src/util/string.ts similarity index 100% rename from src/util/string.ts rename to packages/core-tools/src/util/string.ts diff --git a/src/validate.ts b/packages/core-tools/src/validate.ts similarity index 100% rename from src/validate.ts rename to packages/core-tools/src/validate.ts diff --git a/test/common.spec.ts b/packages/core-tools/test/common.spec.ts similarity index 100% rename from test/common.spec.ts rename to packages/core-tools/test/common.spec.ts diff --git a/test/create-diagram.spec.ts b/packages/core-tools/test/create-diagram.spec.ts similarity index 100% rename from test/create-diagram.spec.ts rename to packages/core-tools/test/create-diagram.spec.ts diff --git a/test/easy-ast.spec.ts b/packages/core-tools/test/easy-ast.spec.ts similarity index 100% rename from test/easy-ast.spec.ts rename to packages/core-tools/test/easy-ast.spec.ts diff --git a/test/easy-ast/alias-like.ast-test.ts b/packages/core-tools/test/easy-ast/alias-like.ast-test.ts similarity index 100% rename from test/easy-ast/alias-like.ast-test.ts rename to packages/core-tools/test/easy-ast/alias-like.ast-test.ts diff --git a/test/easy-ast/array-like.ast-test.ts b/packages/core-tools/test/easy-ast/array-like.ast-test.ts similarity index 100% rename from test/easy-ast/array-like.ast-test.ts rename to packages/core-tools/test/easy-ast/array-like.ast-test.ts diff --git a/test/easy-ast/class-like.ast-test.ts b/packages/core-tools/test/easy-ast/class-like.ast-test.ts similarity index 100% rename from test/easy-ast/class-like.ast-test.ts rename to packages/core-tools/test/easy-ast/class-like.ast-test.ts diff --git a/test/easy-ast/comment.ast-test.ts b/packages/core-tools/test/easy-ast/comment.ast-test.ts similarity index 100% rename from test/easy-ast/comment.ast-test.ts rename to packages/core-tools/test/easy-ast/comment.ast-test.ts diff --git a/test/easy-ast/default-generics.ast-test.ts b/packages/core-tools/test/easy-ast/default-generics.ast-test.ts similarity index 100% rename from test/easy-ast/default-generics.ast-test.ts rename to packages/core-tools/test/easy-ast/default-generics.ast-test.ts diff --git a/test/easy-ast/easy-ast-spec-type.ts b/packages/core-tools/test/easy-ast/easy-ast-spec-type.ts similarity index 100% rename from test/easy-ast/easy-ast-spec-type.ts rename to packages/core-tools/test/easy-ast/easy-ast-spec-type.ts diff --git a/test/easy-ast/enum-specified-value.ast-test.ts b/packages/core-tools/test/easy-ast/enum-specified-value.ast-test.ts similarity index 100% rename from test/easy-ast/enum-specified-value.ast-test.ts rename to packages/core-tools/test/easy-ast/enum-specified-value.ast-test.ts diff --git a/test/easy-ast/generics.ast-test.ts b/packages/core-tools/test/easy-ast/generics.ast-test.ts similarity index 100% rename from test/easy-ast/generics.ast-test.ts rename to packages/core-tools/test/easy-ast/generics.ast-test.ts diff --git a/test/easy-ast/index-signature.ast-test.ts b/packages/core-tools/test/easy-ast/index-signature.ast-test.ts similarity index 100% rename from test/easy-ast/index-signature.ast-test.ts rename to packages/core-tools/test/easy-ast/index-signature.ast-test.ts diff --git a/test/easy-ast/ineritance.ast-test.ts b/packages/core-tools/test/easy-ast/ineritance.ast-test.ts similarity index 100% rename from test/easy-ast/ineritance.ast-test.ts rename to packages/core-tools/test/easy-ast/ineritance.ast-test.ts diff --git a/test/easy-ast/nested.ast-test.ts b/packages/core-tools/test/easy-ast/nested.ast-test.ts similarity index 100% rename from test/easy-ast/nested.ast-test.ts rename to packages/core-tools/test/easy-ast/nested.ast-test.ts diff --git a/test/easy-ast/primitive-types.ast-test.ts b/packages/core-tools/test/easy-ast/primitive-types.ast-test.ts similarity index 100% rename from test/easy-ast/primitive-types.ast-test.ts rename to packages/core-tools/test/easy-ast/primitive-types.ast-test.ts diff --git a/test/easy-ast/stack-overflow.ast-test.ts b/packages/core-tools/test/easy-ast/stack-overflow.ast-test.ts similarity index 100% rename from test/easy-ast/stack-overflow.ast-test.ts rename to packages/core-tools/test/easy-ast/stack-overflow.ast-test.ts diff --git a/test/model/src/test-class.ts b/packages/core-tools/test/model/src/test-class.ts similarity index 100% rename from test/model/src/test-class.ts rename to packages/core-tools/test/model/src/test-class.ts diff --git a/test/model/src/test-enum.ts b/packages/core-tools/test/model/src/test-enum.ts similarity index 100% rename from test/model/src/test-enum.ts rename to packages/core-tools/test/model/src/test-enum.ts diff --git a/test/model/src/test-interface.ts b/packages/core-tools/test/model/src/test-interface.ts similarity index 100% rename from test/model/src/test-interface.ts rename to packages/core-tools/test/model/src/test-interface.ts diff --git a/test/model/src/test-union.ts b/packages/core-tools/test/model/src/test-union.ts similarity index 100% rename from test/model/src/test-union.ts rename to packages/core-tools/test/model/src/test-union.ts diff --git a/test/model/tsconfig.json b/packages/core-tools/test/model/tsconfig.json similarity index 100% rename from test/model/tsconfig.json rename to packages/core-tools/test/model/tsconfig.json diff --git a/test/posix-path.spec.ts b/packages/core-tools/test/posix-path.spec.ts similarity index 100% rename from test/posix-path.spec.ts rename to packages/core-tools/test/posix-path.spec.ts diff --git a/test/schema.spec.ts b/packages/core-tools/test/schema.spec.ts similarity index 100% rename from test/schema.spec.ts rename to packages/core-tools/test/schema.spec.ts diff --git a/test/validate.spec.ts b/packages/core-tools/test/validate.spec.ts similarity index 100% rename from test/validate.spec.ts rename to packages/core-tools/test/validate.spec.ts diff --git a/tsconfig.json b/packages/core-tools/tsconfig.json similarity index 100% rename from tsconfig.json rename to packages/core-tools/tsconfig.json