├─ @segment/loosely-validate-event@2.0.0 │ ├─ licenses: MIT* │ ├─ name: @segment/loosely-validate-event │ ├─ version: 2.0.0 │ ├─ description: Loosely validate an event. │ ├─ repository: │ ├─ licenseText: The MIT License Copyright (c) 2017 Segment.io friends@segment.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2017 Segment.io friends@segment.com ├─ accepts@1.3.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/accepts │ ├─ name: accepts │ ├─ version: 1.3.3 │ ├─ description: Higher-level content negotiation │ ├─ licenseText: (The MIT License) Copyright (c) 2014 Jonathan Ong Copyright (c) 2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Jonathan Ong . Copyright (c) 2015 Douglas Christopher Wilson ├─ acorn-dynamic-import@2.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/kesne/acorn-dynamic-import │ ├─ publisher: Jordan Gensler │ ├─ email: jordangens@gmail.com │ ├─ name: acorn-dynamic-import │ ├─ version: 2.0.2 │ ├─ description: Support dynamic imports in acorn │ ├─ licenseText: MIT License Copyright (c) 2016 Jordan Gensler Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 Jordan Gensler ├─ acorn@4.0.13 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ternjs/acorn │ ├─ name: acorn │ ├─ version: 4.0.13 │ ├─ description: ECMAScript parser │ ├─ licenseText: Copyright (C) 2012-2016 by various contributors (see AUTHORS) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (C) 2012-2016 by various contributors (see AUTHORS) ├─ ajv-keywords@1.5.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/epoberezkin/ajv-keywords │ ├─ publisher: Evgeny Poberezkin │ ├─ name: ajv-keywords │ ├─ version: 1.5.1 │ ├─ description: Custom JSON-Schema keywords for ajv validator │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2016 Evgeny Poberezkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 Evgeny Poberezkin ├─ ajv@4.11.8 │ ├─ licenses: MIT │ ├─ repository: https://github.com/epoberezkin/ajv │ ├─ publisher: Evgeny Poberezkin │ ├─ name: ajv │ ├─ version: 4.11.8 │ ├─ description: Another JSON Schema Validator │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Evgeny Poberezkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Evgeny Poberezkin ├─ align-text@0.1.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/align-text │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: align-text │ ├─ version: 0.1.4 │ ├─ description: Align the text in a string. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015, Jon Schlinkert. ├─ alphanum-sort@1.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/TrySound/alphanum-sort │ ├─ publisher: Bogdan Chadkin │ ├─ email: trysound@yandex.ru │ ├─ name: alphanum-sort │ ├─ version: 1.0.2 │ ├─ description: Alphanumeric sorting algorithm │ ├─ licenseText: Copyright (c) Bogdan Chadkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Bogdan Chadkin ├─ analytics-node@3.3.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/segmentio/analytics-node │ ├─ publisher: Segment │ ├─ email: tools+npm@segment.com │ ├─ url: segment.com │ ├─ name: analytics-node │ ├─ version: 3.3.0 │ ├─ description: The hassle-free way to integrate analytics into any Node.js application │ ├─ licenseText: MIT License Copyright © 2017 Segment Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright © 2017 Segment Inc. ├─ ansi-html@0.0.7 │ ├─ licenses: Apache-2.0 │ ├─ repository: https://github.com/Tjatse/ansi-html │ ├─ publisher: Tjatse │ ├─ name: ansi-html │ ├─ version: 0.0.7 │ ├─ description: An elegant lib that converts the chalked (ANSI) text to HTML. │ └─ licenseText: Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ├─ ansi-regex@2.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/chalk/ansi-regex │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: ansi-regex │ ├─ version: 2.1.1 │ ├─ description: Regular expression for matching ANSI escape codes │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ ansi-styles@2.2.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/chalk/ansi-styles │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: ansi-styles │ ├─ version: 2.2.1 │ ├─ description: ANSI escape codes for styling strings in the terminal │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ ansi-styles@3.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/chalk/ansi-styles │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: ansi-styles │ ├─ version: 3.1.0 │ ├─ description: ANSI escape codes for styling strings in the terminal │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ anymatch@1.3.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/es128/anymatch │ ├─ publisher: Elan Shanker │ ├─ url: http://github.com/es128 │ ├─ name: anymatch │ ├─ version: 1.3.0 │ ├─ description: Matches strings against configurable strings, globs, regular expressions, and/or functions │ ├─ licenseText: The ISC License Copyright (c) 2014 Elan Shanker Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) 2014 Elan Shanker ├─ argparse@1.0.9 │ ├─ licenses: MIT │ ├─ repository: https://github.com/nodeca/argparse │ ├─ name: argparse │ ├─ version: 1.0.9 │ ├─ description: Very powerful CLI arguments parser. Native port of argparse - python's options parsing library │ ├─ licenseText: (The MIT License) Copyright (C) 2012 by Vitaly Puzrin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (C) 2012 by Vitaly Puzrin ├─ arr-diff@2.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/arr-diff │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: arr-diff │ ├─ version: 2.0.0 │ ├─ description: Returns an array with only the unique values from the first array, by excluding all values from additional arrays using strict equality for comparisons. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015, Jon Schlinkert. ├─ arr-flatten@1.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/arr-flatten │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: arr-flatten │ ├─ version: 1.1.0 │ ├─ description: Recursively flatten an array or arrays. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2017, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2017, Jon Schlinkert. ├─ array-find-index@1.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/array-find-index │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: array-find-index │ ├─ version: 1.0.2 │ ├─ description: ES2015 `Array#findIndex()` ponyfill │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ array-flatten@1.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/blakeembrey/array-flatten │ ├─ publisher: Blake Embrey │ ├─ email: hello@blakeembrey.com │ ├─ url: http://blakeembrey.me │ ├─ name: array-flatten │ ├─ version: 1.1.1 │ ├─ description: Flatten an array of nested arrays into a single flat array │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) ├─ array-flatten@2.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/blakeembrey/array-flatten │ ├─ publisher: Blake Embrey │ ├─ email: hello@blakeembrey.com │ ├─ url: http://blakeembrey.me │ ├─ name: array-flatten │ ├─ version: 2.1.1 │ ├─ description: Flatten nested arrays │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) ├─ array-union@1.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/array-union │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: array-union │ ├─ version: 1.0.2 │ ├─ description: Create an array of unique values, in order, from the input arrays │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ array-uniq@1.0.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/array-uniq │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: array-uniq │ ├─ version: 1.0.3 │ ├─ description: Create an array without duplicates │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ array-unique@0.2.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/array-unique │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: array-unique │ ├─ version: 0.2.1 │ ├─ description: Return an array free of duplicate values. Fastest ES5 implementation. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015, Jon Schlinkert. ├─ arrify@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/arrify │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: arrify │ ├─ version: 1.0.1 │ ├─ description: Convert a value to an array │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ asap@2.0.6 │ ├─ licenses: MIT │ ├─ repository: https://github.com/kriskowal/asap │ ├─ name: asap │ ├─ version: 2.0.6 │ ├─ description: High-priority task queue for Node.js and browsers │ └─ licenseText: Copyright 2009–2014 Contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ asn1.js@4.9.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/asn1.js │ ├─ publisher: Fedor Indutny │ ├─ name: asn1.js │ ├─ version: 4.9.1 │ ├─ description: ASN.1 encoder and decoder │ ├─ licenseText: # ASN1.js ASN.1 DER Encoder/Decoder and DSL. ## Example Define model: ```javascript var asn = require('asn1.js'); var Human = asn.define('Human', function() { this.seq().obj( this.key('firstName').octstr(), this.key('lastName').octstr(), this.key('age').int(), this.key('gender').enum({ 0: 'male', 1: 'female' }), this.key('bio').seqof(Bio) ); }); var Bio = asn.define('Bio', function() { this.seq().obj( this.key('time').gentime(), this.key('description').octstr() ); }); ``` Encode data: ```javascript var output = Human.encode({ firstName: 'Thomas', lastName: 'Anderson', age: 28, gender: 'male', bio: [ { time: +new Date('31 March 1999'), description: 'freedom of mind' } ] }, 'der'); ``` Decode data: ```javascript var human = Human.decode(output, 'der'); console.log(human); /* { firstName: , lastName: , age: 28, gender: 'male', bio: [ { time: 922820400000, description: } ] } */ ``` ### Partial decode Its possible to parse data without stopping on first error. In order to do it, you should call: ```javascript var human = Human.decode(output, 'der', { partial: true }); console.log(human); /* { result: { ... }, errors: [ ... ] } */ ``` #### LICENSE This software is licensed under the MIT License. Copyright Fedor Indutny, 2013. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Fedor Indutny, 2013. ├─ assert@1.4.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/defunctzombie/commonjs-assert │ ├─ name: assert │ ├─ version: 1.4.1 │ ├─ description: commonjs assert - node.js api compatible │ ├─ licenseText: Copyright Joyent, Inc. and other Node contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Joyent, Inc. and other Node contributors. All rights reserved.. Permission is hereby granted, free of charge, to any person obtaining a copy. of this software and associated documentation files (the "Software"), to. deal in the Software without restriction, including without limitation the. rights to use, copy, modify, merge, publish, distribute, sublicense, and/or. sell copies of the Software, and to permit persons to whom the Software is. furnished to do so, subject to the following conditions: ├─ async-each@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/paulmillr/async-each │ ├─ publisher: Paul Miller │ ├─ url: http://paulmillr.com/ │ ├─ name: async-each │ ├─ version: 1.0.1 │ ├─ description: No-bullshit, ultra-simple, 35-lines-of-code async parallel forEach / map function for JavaScript. │ └─ licenseText: # async-each No-bullshit, ultra-simple, 35-lines-of-code async parallel forEach function for JavaScript. We don't need junky 30K async libs. Really. For browsers and node.js. ## Installation * Just include async-each before your scripts. * `npm install async-each` if you’re using node.js. * `bower install async-each` if you’re using [Bower](http://bower.io). ## Usage * `each(array, iterator, callback);` — `Array`, `Function`, `(optional) Function` * `iterator(item, next)` receives current item and a callback that will mark the item as done. `next` callback receives optional `error, transformedItem` arguments. * `callback(error, transformedArray)` optionally receives first error and transformed result `Array`. Node.js: ```javascript var each = require('async-each'); each(['a.js', 'b.js', 'c.js'], fs.readFile, function(error, contents) { if (error) console.error(error); console.log('Contents for a, b and c:', contents); }); ``` Browser: ```javascript window.asyncEach(list, fn, callback); ``` ## License [The MIT License](https://raw.githubusercontent.com/paulmillr/mit/master/README.md) ├─ async@1.5.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/caolan/async │ ├─ publisher: Caolan McMahon │ ├─ name: async │ ├─ version: 1.5.2 │ ├─ description: Higher-order functions and common patterns for asynchronous code │ ├─ licenseText: Copyright (c) 2010-2014 Caolan McMahon Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2010-2014 Caolan McMahon ├─ async@2.5.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/caolan/async │ ├─ publisher: Caolan McMahon │ ├─ name: async │ ├─ version: 2.5.0 │ ├─ description: Higher-order functions and common patterns for asynchronous code │ ├─ licenseText: Copyright (c) 2010-2017 Caolan McMahon Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2010-2017 Caolan McMahon ├─ autoprefixer@6.7.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/postcss/autoprefixer │ ├─ publisher: Andrey Sitnik │ ├─ email: andrey@sitnik.ru │ ├─ name: autoprefixer │ ├─ version: 6.7.7 │ ├─ description: Parse CSS and add vendor prefixes to CSS rules using values from the Can I Use website │ ├─ licenseText: The MIT License (MIT) Copyright 2013 Andrey Sitnik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2013 Andrey Sitnik ├─ axios-retry@3.1.1 │ ├─ licenses: Apache-2.0 │ ├─ repository: https://github.com/softonic/axios-retry │ ├─ publisher: Rubén Norte │ ├─ email: ruben.norte@softonic.com │ ├─ name: axios-retry │ ├─ version: 3.1.1 │ ├─ description: Axios plugin that intercepts failed requests and retries them whenever posible. │ ├─ licenseText: Copyright 2017 Softonic International S.A. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. │ └─ copyright: Copyright 2017 Softonic International S.A. ├─ axios@0.17.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/axios/axios │ ├─ publisher: Matt Zabriskie │ ├─ name: axios │ ├─ version: 0.17.1 │ ├─ description: Promise based HTTP client for the browser and node.js │ ├─ licenseText: Copyright (c) 2014 Matt Zabriskie Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Matt Zabriskie ├─ babel-code-frame@6.22.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-code-frame │ ├─ publisher: Sebastian McKenzie │ ├─ email: sebmck@gmail.com │ ├─ name: babel-code-frame │ ├─ version: 6.22.0 │ ├─ description: Generate errors that contain a code frame that point to source locations. │ └─ licenseText: # babel-code-frame > Generate errors that contain a code frame that point to source locations. ## Install ```sh npm install --save-dev babel-code-frame ``` ## Usage ```js import codeFrame from 'babel-code-frame'; const rawLines = `class Foo { constructor() }`; const lineNumber = 2; const colNumber = 16; const result = codeFrame(rawLines, lineNumber, colNumber, { /* options */ }); console.log(result); ``` ```sh 1 | class Foo { > 2 | constructor() | ^ 3 | } ``` If the column number is not known, you may pass `null` instead. ## Options name | type | default | description -----------------------|----------|-----------------|------------------------------------------------------ highlightCode | boolean | `false` | Syntax highlight the code as JavaScript for terminals linesAbove | number | 2 | The number of lines to show above the error linesBelow | number | 3 | The number of lines to show below the error forceColor | boolean | `false` | Forcibly syntax highlight the code as JavaScript (for non-terminals); overrides highlightCode ├─ babel-core@6.25.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-core │ ├─ publisher: Sebastian McKenzie │ ├─ email: sebmck@gmail.com │ ├─ name: babel-core │ ├─ version: 6.25.0 │ ├─ description: Babel compiler core. │ └─ licenseText: # babel-core > Babel compiler core. ```javascript var babel = require("babel-core"); import { transform } from 'babel-core'; import * as babel from 'babel-core'; ``` All transformations will use your local configuration files (.babelrc or in package.json). See [options](#options) to disable it. ## babel.transform(code: string, [options?](#options): Object) Transforms the passed in `code`. Returning an object with the generated code, source map, and AST. ```js babel.transform(code, options) // => { code, map, ast } ``` **Example** ```js var result = babel.transform("code();", options); result.code; result.map; result.ast; ``` ## babel.transformFile(filename: string, [options?](#options): Object, callback: Function) Asynchronously transforms the entire contents of a file. ```js babel.transformFile(filename, options, callback) ``` **Example** ```js babel.transformFile("filename.js", options, function (err, result) { result; // => { code, map, ast } }); ``` ## babel.transformFileSync(filename: string, [options?](#options): Object) Synchronous version of `babel.transformFile`. Returns the transformed contents of the `filename`. ```js babel.transformFileSync(filename, options) // => { code, map, ast } ``` **Example** ```js babel.transformFileSync("filename.js", options).code; ``` ## babel.transformFromAst(ast: Object, code?: string, [options?](#options): Object) Given, an [AST](https://astexplorer.net/), transform it. ```js const code = "if (true) return;"; const ast = babylon.parse(code, { allowReturnOutsideFunction: true }); const { code, map, ast } = babel.transformFromAst(ast, code, options); ``` ## Options

Babel CLI

You can pass these options from the Babel CLI like so:

babel --name=value

Following is a table of the options you can use: | Option | Default | Description | | ------------------------ | -------------------- | ------------------------------- | | `ast` | `true` | Include the AST in the returned object | | `auxiliaryCommentAfter` | `null` | Attach a comment after all non-user injected code. | | `auxiliaryCommentBefore` | `null` | Attach a comment before all non-user injected code. | | `babelrc` | `true` | Specify whether or not to use .babelrc and .babelignore files. Not available when using the CLI, [use `--no-babelrc` instead](https://babeljs.io/docs/usage/cli/#babel-ignoring-babelrc). | | `code` | `true` | Enable code generation | | `comments` | `true` | Output comments in generated output. | | `compact` | `"auto"` | Do not include superfluous whitespace characters and line terminators. When set to `"auto"` compact is set to `true` on input sizes of >500KB. | | `env` | `{}` | This is an object of keys that represent different environments. For example, you may have: `{ env: { production: { /* specific options */ } } }` which will use those options when the environment variable `BABEL_ENV` is set to `"production"`. If `BABEL_ENV` isn't set then `NODE_ENV` will be used, if it's not set then it defaults to `"development"` | | `extends` | `null` | A path to an `.babelrc` file to extend | | `filename` | `"unknown"` | Filename for use in errors etc. | | `filenameRelative` | `(filename)` | Filename relative to `sourceRoot`. | | `generatorOpts` | `{}` | An object containing the options to be passed down to the babel code generator, babel-generator | | `getModuleId` | `null` | Specify a custom callback to generate a module id with. Called as `getModuleId(moduleName)`. If falsy value is returned then the generated module id is used. | | `highlightCode` | `true` | ANSI highlight syntax error code frames | | `ignore` | `null` | Opposite to the `only` option. `ignore` is disregarded if `only` is specified. | | `inputSourceMap` | `null` | A source map object that the output source map will be based on. | | `minified` | `false` | Should the output be minified (not printing last semicolons in blocks, printing literal string values instead of escaped ones, stripping `()` from `new` when safe) | | `moduleId` | `null` | Specify a custom name for module ids. | | `moduleIds` | `false` | If truthy, insert an explicit id for modules. By default, all modules are anonymous. (Not available for `common` modules) | | `moduleRoot` | `(sourceRoot)` | Optional prefix for the AMD module formatter that will be prepend to the filename on module definitions. | | `only` | `null` | A [glob](https://github.com/isaacs/minimatch), regex, or mixed array of both, matching paths to **only** compile. Can also be an array of arrays containing paths to explicitly match. When attempting to compile a non-matching file it's returned verbatim. | | `parserOpts` | `{}` | An object containing the options to be passed down to the babel parser, babylon | | `plugins` | `[]` | List of [plugins](https://babeljs.io/docs/plugins/) to load and use. | | `presets` | `[]` | List of [presets](https://babeljs.io/docs/plugins/#presets) (a set of plugins) to load and use. | | `retainLines` | `false` | Retain line numbers. This will lead to wacky code but is handy for scenarios where you can't use source maps. (**NOTE:** This will not retain the columns) | | `resolveModuleSource` | `null` | Resolve a module source ie. `import "SOURCE";` to a custom value. Called as `resolveModuleSource(source, filename)`. | | `shouldPrintComment` | `null` | An optional callback that controls whether a comment should be output or not. Called as `shouldPrintComment(commentContents)`. **NOTE:** This overrides the `comment` option when used. | | `sourceFileName` | `(filenameRelative)` | Set `sources[0]` on returned source map. | | `sourceMaps` | `false` | If truthy, adds a `map` property to returned output. If set to `"inline"`, a comment with a sourceMappingURL directive is added to the bottom of the returned code. If set to `"both"` then a `map` property is returned as well as a source map comment appended. **This does not emit sourcemap files by itself!** To have sourcemaps emitted using the CLI, you must pass it the `--source-maps` option. | | `sourceMapTarget` | `(filenameRelative)` | Set `file` on returned source map. | | `sourceRoot` | `(moduleRoot)` | The root from which all sources are relative. | | `sourceType` | `"module"` | Indicate the mode the code should be parsed in. Can be either "script" or "module". | | `wrapPluginVisitorMethod`| `null` | An optional callback that can be used to wrap visitor methods. **NOTE:** This is useful for things like introspection, and not really needed for implementing anything. Called as `wrapPluginVisitorMethod(pluginAlias, visitorType, callback)`. ├─ babel-generator@6.25.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-generator │ ├─ publisher: Sebastian McKenzie │ ├─ email: sebmck@gmail.com │ ├─ name: babel-generator │ ├─ version: 6.25.0 │ ├─ description: Turns an AST into code. │ └─ licenseText: # babel-generator > Turns an AST into code. ## Install ```sh npm install --save-dev babel-generator ``` ## Usage ```js import {parse} from 'babylon'; import generate from 'babel-generator'; const code = 'class Example {}'; const ast = parse(code); const output = generate(ast, { /* options */ }, code); ``` ## Options Options for formatting output: name | type | default | description -----------------------|----------|-----------------|-------------------------------------------------------------------------- auxiliaryCommentBefore | string | | Optional string to add as a block comment at the start of the output file auxiliaryCommentAfter | string | | Optional string to add as a block comment at the end of the output file shouldPrintComment | function | `opts.comments` | Function that takes a comment (as a string) and returns `true` if the comment should be included in the output. By default, comments are included if `opts.comments` is `true` or if `opts.minifed` is `false` and the comment contains `@preserve` or `@license` retainLines | boolean | `false` | Attempt to use the same line numbers in the output code as in the source code (helps preserve stack traces) retainFunctionParens | boolean | `false` | Retain parens around function expressions (could be used to change engine parsing behavior) comments | boolean | `true` | Should comments be included in output compact | boolean or `'auto'` | `opts.minified` | Set to `true` to avoid adding whitespace for formatting minified | boolean | `false` | Should the output be minified concise | boolean | `false` | Set to `true` to reduce whitespace (but not as much as `opts.compact`) quotes | `'single'` or `'double'` | autodetect based on `ast.tokens` | The type of quote to use in the output filename | string | | Used in warning messages flowCommaSeparator | boolean | `false` | Set to `true` to use commas instead of semicolons as Flow property separators jsonCompatibleStrings | boolean | `false` | Set to true to run `jsesc` with "json": true to print "\u00A9" vs. "©"; Options for source maps: name | type | default | description -----------------------|----------|-----------------|-------------------------------------------------------------------------- sourceMaps | boolean | `false` | Enable generating source maps sourceMapTarget | string | | The filename of the generated code that the source map will be associated with sourceRoot | string | | A root for all relative URLs in the source map sourceFileName | string | | The filename for the source code (i.e. the code in the `code` argument). This will only be used if `code` is a string. ## AST from Multiple Sources In most cases, Babel does a 1:1 transformation of input-file to output-file. However, you may be dealing with AST constructed from multiple sources - JS files, templates, etc. If this is the case, and you want the sourcemaps to reflect the correct sources, you'll need to make some changes to your code. First, each node with a `loc` property (which indicates that node's original placement in the source document) must also include a `loc.filename` property, set to the source filename. Second, you should pass an object to `generate` as the `code` parameter. Keys should be the source filenames, and values should be the source content. Here's an example of what that might look like: ```js import {parse} from 'babylon'; import generate from 'babel-generator'; const a = 'var a = 1;'; const b = 'var b = 2;'; const astA = parse(a, { filename: 'a.js' }); const astB = parse(b, { filename: 'b.js' }); const ast = { type: 'Program', body: [].concat(astA.body, ast2.body) }; const { code, map } = generate(ast, { /* options */ }, { 'a.js': a, 'b.js': b }); // Sourcemap will point to both a.js and b.js where appropriate. ``` ├─ babel-helper-builder-react-jsx@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-helper-builder-react-jsx │ ├─ name: babel-helper-builder-react-jsx │ ├─ version: 6.24.1 │ ├─ description: Helper function to build react jsx │ └─ licenseText: # babel-helper-builder-react-jsx ## Usage ```javascript type ElementState = { tagExpr: Object; // tag node tagName: string; // raw string tag name args: Array; // array of call arguments call?: Object; // optional call property that can be set to override the call expression returned pre?: Function; // function called with (state: ElementState) before building attribs post?: Function; // function called with (state: ElementState) after building attribs }; require("babel-helper-builder-react-jsx")({ pre: function (state: ElementState) { // called before building the element }, post: function (state: ElementState) { // called after building the element } }); ``` ├─ babel-helper-call-delegate@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-helper-call-delegate │ ├─ name: babel-helper-call-delegate │ ├─ version: 6.24.1 │ ├─ description: Helper function to call delegate │ └─ licenseText: # babel-helper-call-delegate ## Usage TODO ├─ babel-helper-define-map@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-helper-define-map │ ├─ name: babel-helper-define-map │ ├─ version: 6.24.1 │ ├─ description: Helper function to define a map │ └─ licenseText: # babel-helper-define-map ## Usage TODO ├─ babel-helper-function-name@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-helper-function-name │ ├─ name: babel-helper-function-name │ ├─ version: 6.24.1 │ ├─ description: Helper function to change the property 'name' of every function │ └─ licenseText: # babel-helper-function-name ## Usage TODO ├─ babel-helper-get-function-arity@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-helper-get-function-arity │ ├─ name: babel-helper-get-function-arity │ ├─ version: 6.24.1 │ ├─ description: Helper function to get function arity │ └─ licenseText: # babel-helper-get-function-arity ## Usage TODO ├─ babel-helper-hoist-variables@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-helper-hoist-variables │ ├─ name: babel-helper-hoist-variables │ ├─ version: 6.24.1 │ ├─ description: Helper function to hoist variables │ └─ licenseText: # babel-helper-hoist-variables ## Usage TODO ├─ babel-helper-optimise-call-expression@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-helper-optimise-call-expression │ ├─ name: babel-helper-optimise-call-expression │ ├─ version: 6.24.1 │ ├─ description: Helper function to optimise call expression │ └─ licenseText: # babel-helper-optimise-call-expression ## Usage TODO ├─ babel-helper-regex@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-helper-regex │ ├─ name: babel-helper-regex │ ├─ version: 6.24.1 │ ├─ description: Helper function to check for literal RegEx │ └─ licenseText: # babel-helper-regex ## Usage TODO ├─ babel-helper-remap-async-to-generator@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-helper-remap-async-to-generator │ ├─ name: babel-helper-remap-async-to-generator │ ├─ version: 6.24.1 │ ├─ description: Helper function to remap async functions to generators │ └─ licenseText: # babel-helper-remap-async-to-generator ## Usage TODO ├─ babel-helper-replace-supers@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-helper-replace-supers │ ├─ name: babel-helper-replace-supers │ ├─ version: 6.24.1 │ ├─ description: Helper function to replace supers │ └─ licenseText: # babel-helper-replace-supers ## Usage TODO ├─ babel-helpers@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-helpers │ ├─ publisher: Sebastian McKenzie │ ├─ email: sebmck@gmail.com │ ├─ name: babel-helpers │ ├─ version: 6.24.1 │ ├─ description: Collection of helper functions used by Babel transforms. │ └─ licenseText: # babel-helpers > Collection of helper functions used by Babel transforms. ## Install ```sh npm install --save-dev babel-helpers ``` ## Usage ```js import * as helpers from 'babel-helpers'; import * as t from 'babel-types'; const typeofHelper = helpers.get('typeof'); t.isExpressionStatement(typeofHelper); // true ``` ├─ babel-loader@6.4.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel-loader │ ├─ publisher: Luis Couto │ ├─ email: hello@luiscouto.pt │ ├─ name: babel-loader │ ├─ version: 6.4.1 │ ├─ description: babel module loader for webpack │ ├─ licenseText: Copyright (c) 2014-2016 Luís Couto MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2016 Luís Couto ├─ babel-messages@6.23.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-messages │ ├─ publisher: Sebastian McKenzie │ ├─ email: sebmck@gmail.com │ ├─ name: babel-messages │ ├─ version: 6.23.0 │ ├─ description: Collection of debug messages used by Babel. │ └─ licenseText: # babel-messages > Collection of debug messages used by Babel. ## Install ```sh npm install --save-dev babel-messages ``` ## Usage ```js import * as messages from 'babel-messages'; messages.get('tailCallReassignmentDeopt'); // > "Function reference has been..." ``` ├─ babel-plugin-check-es2015-constants@6.22.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-check-es2015-constants │ ├─ name: babel-plugin-check-es2015-constants │ ├─ version: 6.22.0 │ ├─ description: Compile ES2015 constants to ES5 │ └─ licenseText: # babel-plugin-check-es2015-constants Validate ES2015 constants (prevents reassignment of const variables). ## Example **In** ```js const a = 1; a = 2; ``` **Out** ```bash repl: "a" is read-only 1 | const a = 1; > 2 | a = 2; | ^ ``` [Try in REPL](http://babeljs.io/repl/#?babili=false&evaluate=true&lineWrap=false&presets=es2015&experimental=false&loose=false&spec=false&code=const%20a%20%3D%201%3B%0Aa%20%3D%202%3B&playground=true) ## Installation ```sh npm install --save-dev babel-plugin-check-es2015-constants ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["check-es2015-constants"] } ``` ### Via CLI ```sh babel --plugins check-es2015-constants script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["check-es2015-constants"] }); ``` ## Note This check will only validate consts. If you need it to compile down to `var` then you must also install and enable [`transform-es2015-block-scoping`](http://babeljs.io/docs/plugins/transform-es2015-block-scoping/). ├─ babel-plugin-react-transform@2.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/gaearon/babel-plugin-react-transform │ ├─ publisher: Dan Abramov │ ├─ email: dan.abramov@me.com │ ├─ name: babel-plugin-react-transform │ ├─ version: 2.0.2 │ ├─ description: Babel plugin to instrument React components with custom transforms │ └─ licenseText: > These docs are for the v2 release using Babel 6, if you are still on Babel 5 then you should use > v1.1 instead. > > View the `v1.1` docs [here](https://github.com/gaearon/babel-plugin-react-transform/tree/v1.1.1) # babel-plugin-react-transform [![react-transform channel on discord](https://img.shields.io/badge/discord-react--transform%40reactiflux-61DAFB.svg?style=flat-square)](http://www.reactiflux.com) :rocket: **Now with [Babel 6](https://github.com/babel/babel) support** (thank you [@thejameskyle](https://github.com/thejameskyle)!) This plugin wraps React components with arbitrary transforms. In other words, **it allows you to instrument React components** in any way—limited only by your imagination. * [Ecosystem](#ecosystem) * [Demo Project](#demo-project) * [Installation](#installation) * [Writing Transforms](#writing-transforms) ## Ecosystem For a reference implementation, see [**react-transform-boilerplate**](https://github.com/gaearon/react-transform-boilerplate). #### Transforms * [**react-transform-hmr**](https://github.com/gaearon/react-transform-hmr) - enables hot reloading using HMR API * [**react-transform-catch-errors**](https://github.com/gaearon/react-transform-catch-errors) - catches errors inside `render()` * [**react-transform-debug-inspector**](https://github.com/alexkuz/react-transform-debug-inspector) - renders an inline prop inspector * [**react-transform-render-visualizer**](https://github.com/spredfast/react-transform-render-visualizer) - highlight components when updated Feeling inspired? Learn [how to write transforms](#writing-transforms) and send a PR! ## Demo Project Check out **[react-transform-boilerplate](https://github.com/gaearon/react-transform-boilerplate)** for a demo showing a combination of transforms. ![](https://cloud.githubusercontent.com/assets/1539088/11611771/ae1a6bd8-9bac-11e5-9206-42447e0fe064.gif) ## Installation This plugin is designed to be used with the Babel 6 ecosystem. These instructions assume you have a working project set up. If you do not have Babel set up in your project, [learn how to integrate](https://babeljs.io/docs/setup/) it with your toolkit before installing this plugin. ##### Using NPM Install plugin and save in `devDependencies`: ```bash npm install --save-dev babel-plugin-react-transform ``` Install some transforms: ```bash npm install --save-dev react-transform-hmr npm install --save-dev react-transform-catch-errors ``` ##### Configuration Add react-transform to the list of plugins in your babel configuration (usually `.babelrc`): ```js { "presets": ["react", "es2015"], "env": { // this plugin will be included only in development mode, e.g. // if NODE_ENV (or BABEL_ENV) environment variable is not set // or is equal to "development" "development": { "plugins": [ // must be an array with options object as second item ["react-transform", { // must be an array of objects "transforms": [{ // can be an NPM module name or a local path "transform": "react-transform-hmr", // see transform docs for "imports" and "locals" dependencies "imports": ["react"], "locals": ["module"] }, { // you can have many transforms, not just one "transform": "react-transform-catch-errors", "imports": ["react", "redbox-react"] }, { // can be an NPM module name or a local path "transform": "./src/my-custom-transform" }] // by default we only look for `React.createClass` (and ES6 classes) // but you can tell the plugin to look for different component factories: // factoryMethods: ["React.createClass", "createClass"] }] ] } } } ``` As you can see, each transform, apart from the `transform` field where you write it name, also has `imports` and `locals` fields. You should consult the docs of each individual transform to learn which `imports` and `locals` it might need, and how it uses them. You probably already guessed that this is just a way to inject local variables (like `module`) or dependencies (like `react`) into the transforms that need them. Note that when using `React.createClass()` and allowing `babel` to extract the `displayName` property you must ensure that [babel-plugin-react-display-name](https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-display-name) is included before `react-transform`. See [this github issue](https://github.com/gaearon/babel-plugin-react-transform/issues/19) for more details. You may optionally specify an array of strings called `factoryMethods` if you want the plugin to look for components created with a factory method other than `React.createClass`. Note that you don’t have to do anything special to look for ES6 components—`factoryMethods` is only relevant if you use factory methods akin to `React.createClass`. ## Writing Transforms It’s not hard to write a custom transform! First, make sure you call your NPM package `react-transform-*` so we have uniform naming across the transforms. The only thing you should export from your transform module is a function. ```js export default function myTransform() { // ¯\_(ツ)_/¯ } ``` This function should *return another function*: ```js export default function myTransform() { return function wrap(ReactClass) { // ¯\_(ツ)_/¯ return ReactClass; } } ``` As you can see, you’ll receive `ReactClass` as a parameter. It’s up to you to do something with it: monkeypatch its methods, create another component with the same prototype and a few different methods, wrap it into a higher-order component, etc. Be creative! ```js export default function logAllUpdates() { return function wrap(ReactClass) { const displayName = // ¯\_(ツ)_/¯ const originalComponentDidUpdate = ReactClass.prototype.componentDidUpdate; ReactClass.prototype.componentDidUpdate = function componentDidUpdate() { console.info(`${displayName} updated:`, this.props, this.state); if (originalComponentDidUpdate) { originalComponentDidUpdate.apply(this, arguments); } } return ReactClass; } } ``` Oh, how do I get `displayName`? Actually, we give your transformation function a single argument called `options`. Yes, `options`: ```js export default function logAllUpdates(options) { ``` It contains some useful data. For example, your `options` could look like this: ```js { // the file being processed filename: '/Users/dan/p/my-projects/src/App.js', // remember that "imports" .babelrc option? imports: [React], // remember that "locals" .babelrc option? locals: [module], // all components declared in the current file components: { $_MyComponent: { // with their displayName when available displayName: 'MyComponent' }, $_SomeOtherComponent: { displayName: 'SomeOtherComponent', // and telling whether they are defined inside a function isInFunction: true } } } ``` Of course, you might not want to use *all* options, but isn’t it nice to know that you have access to them in the top scope—which means before the component definitions actually run? (Hint: a hot reloading plugin might use this to decide whether a module is worthy of reloading, even if it contains an error and no React components have yet been wrapped because of it.) So, to retrieve the `displayName` (or `isInFunction`, when available), use the `options` parameter *and* the second `uniqueId` parameter given to the inner function after `ReactClass`: ```js export default function logAllUpdates(options) { return function wrap(ReactClass, uniqueId) { const displayName = options.components[uniqueId].displayName || ''; ``` This is it! Sure, it’s a slightly contrived example, as you can grab `ReactClass.displayName` just fine, but it illustrates a point: you have information about all of the components inside a file before that file executes, which is *very* handy for some transformations. Here is the complete code for this example transformation function: ```js export default function logAllUpdates(options) { return function wrap(ReactClass, uniqueId) { const displayName = options.components[uniqueId].displayName || ''; const originalComponentDidUpdate = ReactClass.prototype.componentDidUpdate; ReactClass.prototype.componentDidUpdate = function componentDidUpdate() { console.info(`${displayName} updated:`, this.props, this.state); if (originalComponentDidUpdate) { originalComponentDidUpdate.apply(this, arguments); } } return ReactClass; } } ``` Now go ahead and write your own! Don’t forget to tag it with `react-transform` [keyword on npm](https://www.npmjs.com/browse/keyword/react-transform). ## Patrons The work on React Transform, [React Hot Loader](https://github.com/gaearon/react-hot-loader), [Redux](https://github.com/rackt/redux), and related projects was [funded by the community](https://www.patreon.com/reactdx). Meet some of the outstanding companies that made it possible: * [Webflow](https://github.com/webflow) * [Ximedes](https://www.ximedes.com/) [See the full list of React Transform patrons.](PATRONS.md) ## License MIT ├─ babel-plugin-syntax-async-functions@6.13.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-async-functions │ ├─ name: babel-plugin-syntax-async-functions │ ├─ version: 6.13.0 │ ├─ description: Allow parsing of async functions │ └─ licenseText: # babel-plugin-syntax-async-functions Allow parsing of async functions. ## Installation ```sh $ npm install babel-plugin-syntax-async-functions ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["syntax-async-functions"] } ``` ### Via CLI ```sh $ babel --plugins syntax-async-functions script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["syntax-async-functions"] }); ``` ├─ babel-plugin-syntax-flow@6.18.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-flow │ ├─ name: babel-plugin-syntax-flow │ ├─ version: 6.18.0 │ ├─ description: Allow parsing of the flow syntax │ └─ licenseText: # babel-plugin-syntax-flow ## Installation ```sh $ npm install babel-plugin-syntax-flow ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["syntax-flow"] } ``` ### Via CLI ```sh $ babel --plugins syntax-flow script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["syntax-flow"] }); ``` ├─ babel-plugin-syntax-jsx@6.18.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-jsx │ ├─ name: babel-plugin-syntax-jsx │ ├─ version: 6.18.0 │ ├─ description: Allow parsing of jsx │ └─ licenseText: # babel-plugin-syntax-jsx ## Installation ```sh $ npm install babel-plugin-syntax-jsx ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["syntax-jsx"] } ``` ### Via CLI ```sh $ babel --plugins syntax-jsx script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["syntax-jsx"] }); ``` ├─ babel-plugin-syntax-object-rest-spread@6.13.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-object-rest-spread │ ├─ name: babel-plugin-syntax-object-rest-spread │ ├─ version: 6.13.0 │ ├─ description: Allow parsing of object rest/spread │ └─ licenseText: # babel-plugin-syntax-object-rest-spread Allow parsing of object rest/spread. ## Installation ```sh $ npm install babel-plugin-syntax-object-rest-spread ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["syntax-object-rest-spread"] } ``` ### Via CLI ```sh $ babel --plugins syntax-object-rest-spread script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["syntax-object-rest-spread"] }); ``` ├─ babel-plugin-syntax-trailing-function-commas@6.22.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-trailing-function-commas │ ├─ name: babel-plugin-syntax-trailing-function-commas │ ├─ version: 6.22.0 │ ├─ description: Compile trailing function commas to ES5 │ └─ licenseText: # babel-plugin-syntax-trailing-function-commas Compile trailing function commas to ES5 ```js function clownPuppiesEverywhere( param1, param2, ) { /* ... */ } clownPuppiesEverywhere( 'foo', 'bar', ); ``` [Try in REPL](http://babeljs.io/repl/#?evaluate=true&presets=es2015%2Cstage-0&code=function%20clownPuppiesEverywhere(%0A%20%20param1%2C%0A%20%20param2%2C%0A)%20%7B%20%2F*%20...%20*%2F%20%7D%0A%0AclownPuppiesEverywhere(%0A%20%20'foo'%2C%0A%20%20'bar'%2C%0A)%3B) ## Example ### Basic This is an example from the [Proposal](https://github.com/jeffmo/es-trailing-function-commas). Let's say you have this function: ```js function clownPuppiesEverywhere( param1, param2 ) { /* ... */ } clownPuppiesEverywhere( 'foo', 'bar' ); ``` If you want to have a new parameter called `param3`, the diff output would be like that: ```diff function clownPuppiesEverywhere( param1, - param2 + param2, // Change this line to add a comma + param3 // Add param3 ) { /* ... */ } clownPuppiesEverywhere( 'foo', - 'bar' + 'bar', // Change this line to add a comma + 'baz' // Add param3 ); ``` In total, you have to change 2 lines for the function declaration and 2 lines for each usage. If you had your function defined with trailing commas: ```js function clownPuppiesEverywhere( param1, param2, ) { /* ... */ } clownPuppiesEverywhere( 'foo', 'bar', ); ``` Adding a new parameter would only change one line in the function declaration and one line for each usage: ```diff function clownPuppiesEverywhere( param1, param2, + param3, // Add param3 ) { /* ... */ } clownPuppiesEverywhere( 'foo', 'bar', + 'baz', // Add param3 ); ``` In the end, your diff output will be cleaner and easier to read, it would be much quicker to add a new parameter to your functions, it also makes it easier to copy paste elements and move code around. ## Installation ```sh npm install --save-dev babel-plugin-syntax-trailing-function-commas ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["syntax-trailing-function-commas"] } ``` ### Via CLI ```sh babel --plugins syntax-trailing-function-commas script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["syntax-trailing-function-commas"] }); ``` ## References * [Proposal](https://github.com/jeffmo/es-trailing-function-commas) * [Spec](http://jeffmo.github.io/es-trailing-function-commas/) * [Why you should enforce Dangling Commas for Multiline Statements](https://medium.com/@nikgraf/why-you-should-enforce-dangling-commas-for-multiline-statements-d034c98e36f8) ├─ babel-plugin-transform-async-to-generator@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-async-to-generator │ ├─ name: babel-plugin-transform-async-to-generator │ ├─ version: 6.24.1 │ ├─ description: Turn async functions into ES2015 generators │ └─ licenseText: # babel-plugin-transform-async-to-generator > Turn async functions into ES2015 generators ## Example **In** ```javascript async function foo() { await bar(); } ``` **Out** ```javascript var _asyncToGenerator = function (fn) { ... }; var foo = _asyncToGenerator(function* () { yield bar(); }); ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-async-to-generator ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-async-to-generator"] } ``` ### Via CLI ```sh babel --plugins transform-async-to-generator script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-async-to-generator"] }); ``` ## References * [Proposal: Async Functions for ECMAScript](https://github.com/tc39/ecmascript-asyncawait) ├─ babel-plugin-transform-es2015-arrow-functions@6.22.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-arrow-functions │ ├─ name: babel-plugin-transform-es2015-arrow-functions │ ├─ version: 6.22.0 │ ├─ description: Compile ES2015 arrow functions to ES5 │ └─ licenseText: # babel-plugin-transform-es2015-arrow-functions > Compile ES2015 arrow functions to ES5 ## Example **In** ```javascript var a = () => {}; var a = (b) => b; const double = [1,2,3].map((num) => num * 2); console.log(double); // [2,4,6] var bob = { _name: "Bob", _friends: ["Sally", "Tom"], printFriends() { this._friends.forEach(f => console.log(this._name + " knows " + f)); } }; console.log(bob.printFriends()); ``` **Out** ```javascript var a = function a() {}; var a = function a(b) { return b; }; var double = [1, 2, 3].map(function (num) { return num * 2; }); console.log(double); // [2,4,6] var bob = { _name: "Bob", _friends: ["Sally", "Tom"], printFriends: function printFriends() { var _this = this; this._friends.forEach(function (f) { return console.log(_this._name + " knows " + f); }); } }; console.log(bob.printFriends()); ``` [Try in REPL](http://babeljs.io/repl/#?evaluate=true&lineWrap=true&presets=es2015%2Ces2015-loose&experimental=false&loose=false&spec=false&code=var%20a%20%3D%20()%20%3D%3E%20%7B%7D%3B%0Avar%20a%20%3D%20(b)%20%3D%3E%20b%3B%0A%0Aconst%20double%20%3D%20%5B1%2C2%2C3%5D.map((num)%20%3D%3E%20num%20*%202)%3B%0Aconsole.log(double)%3B%20%2F%2F%20%5B2%2C4%2C6%5D%0A%0Avar%20bob%20%3D%20%7B%0A%20%20_name%3A%20%22Bob%22%2C%0A%20%20_friends%3A%20%5B%22Sally%22%2C%20%22Tom%22%5D%2C%0A%20%20printFriends()%20%7B%0A%20%20%20%20this._friends.forEach(f%20%3D%3E%0A%20%20%20%20%20%20console.log(this._name%20%2B%20%22%20knows%20%22%20%2B%20f))%3B%0A%20%20%7D%0A%7D%3B%0Aconsole.log(bob.printFriends())%3B&playground=true) ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-arrow-functions ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```js // without options { "plugins": ["transform-es2015-arrow-functions"] } // with options { "plugins": [ ["transform-es2015-arrow-functions", { "spec": true }] ] } ``` ### Via CLI ```sh babel --plugins transform-es2015-arrow-functions script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-arrow-functions"] }); ``` ## Options * `spec` - This option wraps the generated function in `.bind(this)` and keeps uses of `this` inside the function as-is, instead of using a renamed `this`. It also adds a runtime check to ensure the functions are not instantiated. ├─ babel-plugin-transform-es2015-block-scoped-functions@6.22.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-block-scoped-functions │ ├─ name: babel-plugin-transform-es2015-block-scoped-functions │ ├─ version: 6.22.0 │ ├─ description: Babel plugin to ensure function declarations at the block level are block scoped │ └─ licenseText: # babel-plugin-transform-es2015-block-scoped-functions > Babel plugin to ensure function declarations at the block level are block scoped. ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-block-scoped-functions ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-es2015-block-scoped-functions"] } ``` ### Via CLI ```sh babel --plugins transform-es2015-block-scoped-functions script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-block-scoped-functions"] }); ``` ├─ babel-plugin-transform-es2015-block-scoping@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-block-scoping │ ├─ name: babel-plugin-transform-es2015-block-scoping │ ├─ version: 6.24.1 │ ├─ description: Compile ES2015 block scoping (const and let) to ES5 │ └─ licenseText: # babel-plugin-transform-es2015-block-scoping > Compile ES2015 block scoping (const and let) to ES5 ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-block-scoping ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** Without options: ```json { "plugins": ["transform-es2015-block-scoping"] } ``` With options: ```json { "plugins": [ ["transform-es2015-block-scoping", { "throwIfClosureRequired": true }] ] } ``` ### Via CLI ```sh babel --plugins transform-es2015-block-scoping script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-block-scoping"] }); ``` ## Options `throwIfClosureRequired` In cases such as the following it's impossible to rewrite let/const without adding an additional function and closure while transforming: ```javascript for (let i = 0; i < 5; i++) { setTimeout(() => console.log(i), 1); } ``` In extremely performance-sensitive code, this can be undesirable. If `"throwIfClosureRequired": true` is set, Babel throws when transforming these patterns instead of automatically adding an additional function. ├─ babel-plugin-transform-es2015-classes@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-classes │ ├─ name: babel-plugin-transform-es2015-classes │ ├─ version: 6.24.1 │ ├─ description: Compile ES2015 classes to ES5 │ └─ licenseText: # babel-plugin-transform-es2015-classes > Compile ES2015 classes to ES5 ## Caveats Built-in classes such as `Date`, `Array`, `DOM` etc cannot be properly subclassed due to limitations in ES5 (for the [es2015-classes](http://babeljs.io/docs/plugins/transform-es2015-classes) plugin). You can try to use [babel-plugin-transform-builtin-extend](https://github.com/loganfsmyth/babel-plugin-transform-builtin-extend) based on `Object.setPrototypeOf` and `Reflect.construct`, but it also has some limitations. ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-classes ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```js // without options { "plugins": ["transform-es2015-classes"] } // with options { "plugins": [ ["transform-es2015-classes", { "loose": true }] ] } ``` ### Via CLI ```sh babel --plugins transform-es2015-classes script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-classes"] }); ``` ## Options ### `loose` `boolean`, defaults to `false`. #### Method enumerability Please note that in loose mode class methods **are** enumerable. This is not in line with the spec and you may run into issues. #### Method assignment Under loose mode, methods are defined on the class prototype with simple assignments instead of being defined. This can result in the following not working: ```javascript class Foo { set bar() { throw new Error("foo!"); } } class Bar extends Foo { bar() { // will throw an error when this method is defined } } ``` When `Bar.prototype.foo` is defined it triggers the setter on `Foo`. This is a case that is very unlikely to appear in production code however it's something to keep in mind. ├─ babel-plugin-transform-es2015-computed-properties@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-computed-properties │ ├─ name: babel-plugin-transform-es2015-computed-properties │ ├─ version: 6.24.1 │ ├─ description: Compile ES2015 computed properties to ES5 │ └─ licenseText: # babel-plugin-transform-es2015-computed-properties > Compile ES2015 computed properties to ES5 ## Example **In** ```js var obj = { ["x" + foo]: "heh", ["y" + bar]: "noo", foo: "foo", bar: "bar" }; ``` **Out** ```js var _obj; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var obj = ( _obj = {}, _defineProperty(_obj, "x" + foo, "heh"), _defineProperty(_obj, "y" + bar, "noo"), _defineProperty(_obj, "foo", "foo"), _defineProperty(_obj, "bar", "bar"), _obj ); ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-computed-properties ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** Without options: ```json { "plugins": ["transform-es2015-computed-properties"] } ``` With options: ```json { "plugins": [ ["transform-es2015-computed-properties", { "loose": true }] ] } ``` ### Via CLI ```sh babel --plugins transform-es2015-computed-properties script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-computed-properties"] }); ``` ## Options ### `loose` `boolean`, defaults to `false` Just like method assignment in classes, in loose mode, computed property names use simple assignments instead of being defined. This is unlikely to be an issue in production code. #### Example ***In*** ```js var obj = { ["x" + foo]: "heh", ["y" + bar]: "noo", foo: "foo", bar: "bar" }; ``` ***Out*** ```js var _obj; var obj = ( _obj = {}, _obj["x" + foo] = "heh", _obj["y" + bar] = "noo", _obj.foo = "foo", _obj.bar = "bar", _obj ); ``` ├─ babel-plugin-transform-es2015-destructuring@6.23.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-destructuring │ ├─ name: babel-plugin-transform-es2015-destructuring │ ├─ version: 6.23.0 │ ├─ description: Compile ES2015 destructuring to ES5 │ └─ licenseText: # babel-plugin-transform-es2015-destructuring > Compile ES2015 destructuring to ES5 ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-destructuring ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-es2015-destructuring"] } ``` ### Via CLI ```sh babel --plugins transform-es2015-destructuring script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-destructuring"] }); ``` ├─ babel-plugin-transform-es2015-duplicate-keys@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-duplicate-keys │ ├─ name: babel-plugin-transform-es2015-duplicate-keys │ ├─ version: 6.24.1 │ ├─ description: Compile objects with duplicate keys to valid strict ES5 │ └─ licenseText: # babel-plugin-transform-es2015-duplicate-keys > Compile objects with duplicate keys to valid strict ES5. This plugin actually converts duplicate keys in objects to be computed properties, which then must be handled by the [transform-es2015-computed-properties](http://babeljs.io/docs/plugins/transform-es2015-computed-properties) plugin. The final result won't contain any object literals with duplicate keys. ## Example **In** ```javascript var x = { a: 5, a: 6 }; var y = { get a() {}, set a(x) {}, a: 3 }; ``` **Out** ```javascript var x = { a: 5, ["a"]: 6 }; var y = { get a() {}, set a(x) {}, ["a"]: 3 }; ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-duplicate-keys ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-es2015-duplicate-keys"] } ``` ### Via CLI ```sh babel --plugins transform-es2015-duplicate-keys script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-duplicate-keys"] }); ``` ├─ babel-plugin-transform-es2015-for-of@6.23.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-for-of │ ├─ name: babel-plugin-transform-es2015-for-of │ ├─ version: 6.23.0 │ ├─ description: Compile ES2015 for...of to ES5 │ └─ licenseText: # babel-plugin-transform-es2015-for-of > Compile ES2015 for...of to ES5 ## Example **In** ```js for (var i of foo) {} ``` **Out** ```js var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = foo[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var i = _step.value; } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator.return) { _iterator.return(); } } finally { if (_didIteratorError) { throw _iteratorError; } } } ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-for-of ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```js // without options { "plugins": ["transform-es2015-for-of"] } // with options { "plugins": [ ["transform-es2015-for-of", { "loose": true }] ] } ``` ### Via CLI ```sh babel --plugins transform-es2015-for-of script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-for-of"] }); ``` ## Options ### `loose` `boolean`, defaults to `false` In loose mode, arrays are put in a fast path, thus heavily increasing performance. All other iterables will continue to work fine. #### Example **In** ```js for (var i of foo) {} ``` **Out** ```js for (var _iterator = foo, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { var _ref; if (_isArray) { if (_i >= _iterator.length) break; _ref = _iterator[_i++]; } else { _i = _iterator.next(); if (_i.done) break; _ref = _i.value; } var i = _ref; } ``` #### Abrupt completions In loose mode an iterator's `return` method will not be called on abrupt completions caused by thrown errors. Please see [google/traceur-compiler#1773](https://github.com/google/traceur-compiler/issues/1773) and [babel/babel#838](https://github.com/babel/babel/issues/838) for more information. ### Optimization If a basic array is used, Babel will compile the for-of loop down to a regular for loop. **In** ```js for (let a of [1,2,3]) {} ``` **Out** ```js var _arr = [1, 2, 3]; for (var _i = 0; _i < _arr.length; _i++) { var a = _arr[_i]; } ``` ├─ babel-plugin-transform-es2015-function-name@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-function-name │ ├─ name: babel-plugin-transform-es2015-function-name │ ├─ version: 6.24.1 │ ├─ description: Apply ES2015 function.name semantics to all functions │ └─ licenseText: # babel-plugin-transform-es2015-function-name > Apply ES2015 function.name semantics to all functions ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-function-name ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-es2015-function-name"] } ``` ### Via CLI ```sh babel --plugins transform-es2015-function-name script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-function-name"] }); ``` ├─ babel-plugin-transform-es2015-literals@6.22.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-literals │ ├─ name: babel-plugin-transform-es2015-literals │ ├─ version: 6.22.0 │ ├─ description: Compile ES2015 unicode string and number literals to ES5 │ └─ licenseText: # babel-plugin-transform-es2015-literals > Compile ES2015 unicode string and number literals to ES5 ## Example **In** ```js var b = 0b11; // binary integer literal var o = 0o7; // octal integer literal const u = 'Hello\u{000A}\u{0009}!'; // unicode string literals, newline and tab ``` **Out** ```js var b = 3; // binary integer literal var o = 7; // octal integer literal const u = 'Hello\n\t!'; // unicode string literals, newline and tab ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-literals ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-es2015-literals"] } ``` ### Via CLI ```sh babel --plugins transform-es2015-literals script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-literals"] }); ``` ├─ babel-plugin-transform-es2015-modules-amd@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-modules-amd │ ├─ name: babel-plugin-transform-es2015-modules-amd │ ├─ version: 6.24.1 │ ├─ description: This plugin transforms ES2015 modules to AMD │ └─ licenseText: # babel-plugin-transform-es2015-modules-amd > This plugin transforms ES2015 modules to [Asynchronous Module Definition (AMD)](https://github.com/amdjs/amdjs-api). ## Example **In** ```javascript export default 42; ``` **Out** ```javascript define(["exports"], function (exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = 42; }); ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-modules-amd ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-es2015-modules-amd"] } ``` ### Via CLI ```sh babel --plugins transform-es2015-modules-amd script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-modules-amd"] }); ``` ### Options See options for `babel-plugin-transform-es2015-commonjs`. ├─ babel-plugin-transform-es2015-modules-commonjs@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-modules-commonjs │ ├─ name: babel-plugin-transform-es2015-modules-commonjs │ ├─ version: 6.24.1 │ ├─ description: This plugin transforms ES2015 modules to CommonJS │ └─ licenseText: # babel-plugin-transform-es2015-modules-commonjs > This plugin transforms ES2015 modules to [CommonJS](http://wiki.commonjs.org/wiki/Modules/1.1). ## Example **In** ```javascript export default 42; ``` **Out** ```javascript Object.defineProperty(exports, "__esModule", { value: true }); exports.default = 42; ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-modules-commonjs ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```js // without options { "plugins": ["transform-es2015-modules-commonjs"] } // with options { "plugins": [ ["transform-es2015-modules-commonjs", { "allowTopLevelThis": true }] ] } ``` ### Via CLI ```sh babel --plugins transform-es2015-modules-commonjs script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-modules-commonjs"] }); ``` ## Options ### `loose` `boolean`, defaults to `false`. As per the spec, `import` and `export` are only allowed to be used at the top level. When in loose mode these are allowed to be used anywhere. And by default, when using exports with babel a non-enumerable `__esModule` property is exported. ```javascript var foo = exports.foo = 5; Object.defineProperty(exports, "__esModule", { value: true }); ``` In environments that don't support this you can enable loose mode on `babel-plugin-transform-es20150-modules-commonjs` and instead of using `Object.defineProperty` an assignment will be used instead. ```javascript var foo = exports.foo = 5; exports.__esModule = true; ``` ### `strict` `boolean`, defaults to `false` By default, when using exports with babel a non-enumerable `__esModule` property is exported. In some cases this property is used to determine if the import _is_ the default export or if it _contains_ the default export. ```javascript var foo = exports.foo = 5; Object.defineProperty(exports, "__esModule", { value: true }); ``` In order to prevent the `__esModule` property from being exported, you can set the `strict` option to `true`. ### `noInterop` `boolean`, defaults to `false` By default, when using exports with babel a non-enumerable `__esModule` property is exported. This property is then used to determine if the import _is_ the default export or if it _contains_ the default export. ```javascript "use strict"; var _foo = require("foo"); var _foo2 = _interopRequireDefault(_foo); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } ``` In cases where the auto-unwrapping of `default` is not needed, you can set the `noInterop` option to `true` to avoid the usage of the `interopRequireDefault` helper (shown in inline form above). ├─ babel-plugin-transform-es2015-modules-systemjs@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-modules-systemjs │ ├─ name: babel-plugin-transform-es2015-modules-systemjs │ ├─ version: 6.24.1 │ ├─ description: This plugin transforms ES2015 modules to SystemJS │ └─ licenseText: # babel-plugin-transform-es2015-modules-systemjs > This plugin transforms ES2015 modules to [SystemJS](https://github.com/systemjs/systemjs). ## Example **In** ```javascript export default 42; ``` **Out** ```javascript System.register([], function (_export, _context) { return { setters: [], execute: function () { _export("default", 42); } }; }); ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-modules-systemjs ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** Without options: ```json { "plugins": ["transform-es2015-modules-systemjs"] } ``` With options: ```json { "plugins": [ ["transform-es2015-modules-systemjs", { // outputs SystemJS.register(...) "systemGlobal": "SystemJS" }] ] } ``` ### Via CLI ```sh babel --plugins transform-es2015-modules-systemjs script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-modules-systemjs"] }); ``` ├─ babel-plugin-transform-es2015-modules-umd@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-modules-umd │ ├─ name: babel-plugin-transform-es2015-modules-umd │ ├─ version: 6.24.1 │ ├─ description: This plugin transforms ES2015 modules to UMD │ └─ licenseText: # babel-plugin-transform-es2015-modules-umd > This plugin transforms ES2015 modules to [Universal Module Definition (UMD)](https://github.com/umdjs/umd). ## Example **In** ```javascript export default 42; ``` **Out** ```javascript (function (global, factory) { if (typeof define === "function" && define.amd) { define(["exports"], factory); } else if (typeof exports !== "undefined") { factory(exports); } else { var mod = { exports: {} }; factory(mod.exports); global.actual = mod.exports; } })(this, function (exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = 42; }); ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-modules-umd ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-es2015-modules-umd"] } ``` You can also override the names of particular libraries when this module is running in the browser. For example the `es6-promise` library exposes itself as `global.Promise` rather than `global.es6Promise`. This can be accommodated by: ```json { "plugins": [ ["transform-es2015-modules-umd", { "globals": { "es6-promise": "Promise" } }] ] } ``` #### Default semantics There are a few things to note about the default semantics. _First_, this transform uses the [basename](https://en.wikipedia.org/wiki/Basename) of each import to generate the global names in the UMD output. This means that if you're importing multiple modules with the same basename, like: ```js import fooBar1 from "foo-bar"; import fooBar2 from "./mylib/foo-bar"; ``` it will transpile into two references to the same browser global: ```js factory(global.fooBar, global.fooBar); ``` If you set the plugin options to: ```json { "globals": { "foo-bar": "fooBAR", "./mylib/foo-bar": "mylib.fooBar" } } ``` it will still transpile both to one browser global: ```js factory(global.fooBAR, global.fooBAR); ``` because again the transform is only using the basename of the import. _Second_, the specified override will still be passed to the `toIdentifier` function in [babel-types/src/converters](https://github.com/babel/babel/blob/master/packages/babel-types/src/converters.js). This means that if you specify an override as a member expression like: ```json { "globals": { "fizzbuzz": "fizz.buzz" } } ``` this will _not_ transpile to `factory(global.fizz.buzz)`. Instead, it will transpile to `factory(global.fizzBuzz)` based on the logic in `toIdentifier`. _Third_, you cannot override the exported global name. #### More flexible semantics with `exactGlobals: true` All of these behaviors can limit the flexibility of the `globals` map. To remove these limitations, you can set the `exactGlobals` option to `true`. Doing this instructs the plugin to: 1. always use the full import string instead of the basename when generating the global names 2. skip passing `globals` overrides to the `toIdentifier` function. Instead, they are used exactly as written, so you will get errors if you do not use valid identifiers or valid uncomputed (dot) member expressions. 3. allow the exported global name to be overridden via the `globals` map. Any override must again be a valid identifier or valid member expression. Thus, if you set `exactGlobals` to `true` and do not pass any overrides, the first example of: ```js import fooBar1 from "foo-bar"; import fooBar2 from "./mylib/foo-bar"; ``` will transpile to: ```js factory(global.fooBar, global.mylibFooBar); ``` And if you set the plugin options to: ```json { "globals": { "foo-bar": "fooBAR", "./mylib/foo-bar": "mylib.fooBar" }, "exactGlobals": true } ``` then it'll transpile to: ```js factory(global.fooBAR, global.mylib.fooBar) ``` Finally, with the plugin options set to: ```json { "plugins": [ "external-helpers", ["transform-es2015-modules-umd", { "globals": { "my/custom/module/name": "My.Custom.Module.Name" }, "exactGlobals": true }] ], "moduleId": "my/custom/module/name" } ``` it will transpile to: ```js factory(mod.exports); global.My = global.My || {}; global.My.Custom = global.My.Custom || {}; global.My.Custom.Module = global.My.Custom.Module || {}; global.My.Custom.Module.Name = mod.exports; ``` ### Via CLI ```sh babel --plugins transform-es2015-modules-umd script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-modules-umd"] }); ``` ├─ babel-plugin-transform-es2015-object-super@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-object-super │ ├─ name: babel-plugin-transform-es2015-object-super │ ├─ version: 6.24.1 │ ├─ description: Compile ES2015 object super to ES5 │ └─ licenseText: # babel-plugin-transform-es2015-object-super > Compile ES2015 object super to ES5 ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-object-super ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-es2015-object-super"] } ``` ### Via CLI ```sh babel --plugins transform-es2015-object-super script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-object-super"] }); ``` ├─ babel-plugin-transform-es2015-parameters@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-parameters │ ├─ name: babel-plugin-transform-es2015-parameters │ ├─ version: 6.24.1 │ ├─ description: Compile ES2015 default and rest parameters to ES5 │ └─ licenseText: # babel-plugin-transform-es2015-parameters > Compile ES2015 default and rest parameters to ES5 This plugin transforms ES2015 parameters to ES5, this includes: - Destructuring parameters - Default parameters - Rest parameters ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-parameters ``` ## Caveats Default parameters desugar into `let` declarations to retain proper semantics. If this is not supported in your environment then you'll need the [transform-block-scoping](http://babeljs.io/docs/plugins/transform-es2015-block-scoping) plugin. ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-es2015-parameters"] } ``` ### Via CLI ```sh babel --plugins transform-es2015-parameters script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-parameters"] }); ``` ├─ babel-plugin-transform-es2015-shorthand-properties@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-shorthand-properties │ ├─ name: babel-plugin-transform-es2015-shorthand-properties │ ├─ version: 6.24.1 │ ├─ description: Compile ES2015 shorthand properties to ES5 │ └─ licenseText: # babel-plugin-transform-es2015-shorthand-properties > Compile ES2015 shorthand properties to ES5 ## Example **In** ```js var o = { a, b, c }; ``` **Out** ```js var o = { a: a, b: b, c: c }; ``` **In** ```js var cat = { getName() { return name; } }; ``` **Out** ```js var cat = { getName: function () { return name; } }; ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-shorthand-properties ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-es2015-shorthand-properties"] } ``` ### Via CLI ```sh babel --plugins transform-es2015-shorthand-properties script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-shorthand-properties"] }); ``` ├─ babel-plugin-transform-es2015-spread@6.22.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-spread │ ├─ name: babel-plugin-transform-es2015-spread │ ├─ version: 6.22.0 │ ├─ description: Compile ES2015 spread to ES5 │ └─ licenseText: # babel-plugin-transform-es2015-spread > Compile ES2015 spread to ES5 ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-spread ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```js // without options { "plugins": ["transform-es2015-spread"] } // with options { "plugins": [ ["transform-es2015-spread", { "loose": true }] ] } ``` ### Via CLI ```sh babel --plugins transform-es2015-spread script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-spread"] }); ``` ## Options * `loose` - All iterables are assumed to be arrays. ├─ babel-plugin-transform-es2015-sticky-regex@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-sticky-regex │ ├─ name: babel-plugin-transform-es2015-sticky-regex │ ├─ version: 6.24.1 │ ├─ description: Compile ES2015 sticky regex to an ES5 RegExp constructor │ └─ licenseText: # babel-plugin-transform-es2015-sticky-regex > Compile ES2015 sticky regex to an ES5 RegExp constructor ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-sticky-regex ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-es2015-sticky-regex"] } ``` ### Via CLI ```sh babel --plugins transform-es2015-sticky-regex script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-sticky-regex"] }); ``` ├─ babel-plugin-transform-es2015-template-literals@6.22.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-template-literals │ ├─ name: babel-plugin-transform-es2015-template-literals │ ├─ version: 6.22.0 │ ├─ description: Compile ES2015 template literals to ES5 │ └─ licenseText: # babel-plugin-transform-es2015-template-literals > Compile ES2015 template literals to ES5 ## Example **In** ```javascript `foo${bar}`; ``` **Out** ```javascript "foo" + bar; ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-template-literals ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```js // without options { "plugins": ["transform-es2015-template-literals"] } // with options { "plugins": [ ["transform-es2015-template-literals", { "loose": true, "spec": true }] ] } ``` ### Via CLI ```sh babel --plugins transform-es2015-template-literals script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-template-literals"] }); ``` ## Options ### `loose` In loose mode, tagged template literal objects aren't frozen. ### `spec` This option wraps all template literal expressions with `String`. See [babel/babel#1065](https://github.com/babel/babel/issues/1065) for more info. **In** ```javascript `foo${bar}`; ``` **Out** ```javascript "foo" + String(bar); ``` ├─ babel-plugin-transform-es2015-typeof-symbol@6.23.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-typeof-symbol │ ├─ name: babel-plugin-transform-es2015-typeof-symbol │ ├─ version: 6.23.0 │ ├─ description: This transformer wraps all typeof expressions with a method that replicates native behaviour. (ie. returning “symbol” for symbols) │ └─ licenseText: # babel-plugin-transform-es2015-typeof-symbol > ES6 introduces a new native type called [symbols](https://babeljs.io/learn-es2015/#ecmascript-2015-features-symbols). This transformer wraps all `typeof` expressions with a method that replicates native behaviour. (ie. returning "symbol" for symbols) ## Example **In** ```javascript typeof Symbol() === "symbol"; ``` **Out** ```javascript var _typeof = function (obj) { return obj && obj.constructor === Symbol ? "symbol" : typeof obj; }; _typeof(Symbol()) === "symbol"; ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-typeof-symbol ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-es2015-typeof-symbol"] } ``` ### Via CLI ```sh babel --plugins transform-es2015-typeof-symbol script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-typeof-symbol"] }); ``` ├─ babel-plugin-transform-es2015-unicode-regex@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-unicode-regex │ ├─ name: babel-plugin-transform-es2015-unicode-regex │ ├─ version: 6.24.1 │ ├─ description: Compile ES2015 Unicode regex to ES5 │ └─ licenseText: # babel-plugin-transform-es2015-unicode-regex > Compile ES2015 unicode regex to ES5 ## Example **In** ```js var string = "foo💩bar"; var match = string.match(/foo(.)bar/u); ``` **Out** ```js var string = "foo💩bar"; var match = string.match(/foo((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]))bar/); ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-es2015-unicode-regex ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-es2015-unicode-regex"] } ``` ### Via CLI ```sh babel --plugins transform-es2015-unicode-regex script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-es2015-unicode-regex"] }); ``` ├─ babel-plugin-transform-flow-strip-types@6.22.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-flow-strip-types │ ├─ name: babel-plugin-transform-flow-strip-types │ ├─ version: 6.22.0 │ ├─ description: Strip flow type annotations from your output code. │ └─ licenseText: # babel-plugin-transform-flow-strip-types > Strip all [flow](http://flowtype.org) type annotations and declarations from your output code. ## Example **In** ```javascript function foo(one: any, two: number, three?): string {} ``` **Out** ```javascript function foo(one, two, three) {} ``` [Try in REPL](http://babeljs.io/repl/#?babili=false&evaluate=true&lineWrap=false&presets=react&code=function%20foo(one%3A%20any%2C%20two%3A%20number%2C%20three%3F)%3A%20string%20%7B%7D&experimental=false&loose=false&spec=false&playground=false&stage=0 ) ## Installation ```sh npm install --save-dev babel-plugin-transform-flow-strip-types ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-flow-strip-types"] } ``` ### Via CLI ```sh babel --plugins transform-flow-strip-types script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-flow-strip-types"] }); ``` ├─ babel-plugin-transform-object-rest-spread@6.23.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-object-rest-spread │ ├─ name: babel-plugin-transform-object-rest-spread │ ├─ version: 6.23.0 │ ├─ description: Compile object rest and spread to ES5 │ └─ licenseText: # babel-plugin-transform-object-rest-spread > This plugin allows Babel to transform rest properties for object destructuring assignment and spread properties for object literals. ## Example ```js // Rest properties let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 }; console.log(x); // 1 console.log(y); // 2 console.log(z); // { a: 3, b: 4 } // Spread properties let n = { x, y, ...z }; console.log(n); // { x: 1, y: 2, a: 3, b: 4 } ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-object-rest-spread ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-object-rest-spread"] } ``` ## Options This plugin will use babel's `extends` helper, which will polyfill `Object.assign` by default. * `useBuiltIns` - Do not use Babel's helper's and just transform to use the built-in method (Disabled by default). ```js { "plugins": [ ["transform-object-rest-spread", { "useBuiltIns": true }] ] } // source z = { x, ...y }; // compiled z = Object.assign({ x }, y); ``` ### Via CLI ```sh babel --plugins transform-object-rest-spread script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-object-rest-spread"] }); ``` ## References * [Proposal: Object Rest/Spread Properties for ECMAScript](https://github.com/sebmarkbage/ecmascript-rest-spread) * [Spec](http://sebmarkbage.github.io/ecmascript-rest-spread) ├─ babel-plugin-transform-react-display-name@6.25.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-display-name │ ├─ name: babel-plugin-transform-react-display-name │ ├─ version: 6.25.0 │ ├─ description: Add displayName to React.createClass calls │ └─ licenseText: # babel-plugin-transform-react-display-name > Add displayName to `createReactClass` (and `React.createClass`) calls ## Example **In** ```js var foo = React.createClass({}); // React <= 15 var bar = createReactClass({}); // React 16+ ``` **Out** ```js var foo = React.createClass({ displayName: "foo" }); // React <= 15 var bar = createReactClass({ displayName: "bar" }); // React 16+ ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-react-display-name ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-react-display-name"] } ``` ### Via CLI ```sh babel --plugins transform-react-display-name script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-react-display-name"] }); ``` ├─ babel-plugin-transform-react-jsx-self@6.22.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-jsx-self │ ├─ name: babel-plugin-transform-react-jsx-self │ ├─ version: 6.22.0 │ ├─ description: Add a __self prop to all JSX Elements │ └─ licenseText: # babel-plugin-transform-react-jsx-self > Adds `__self` prop to JSX elements, which React will use to generate some runtime warnings. All React users should enable this transform in dev mode. ## Example **In** ``` ``` **Out** ``` ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-react-jsx-self ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-react-jsx-self"] } ``` ### Via CLI ```sh babel --plugins transform-react-jsx-self script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-react-jsx-self"] }); ``` ├─ babel-plugin-transform-react-jsx-source@6.22.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-jsx-source │ ├─ name: babel-plugin-transform-react-jsx-source │ ├─ version: 6.22.0 │ ├─ description: Add a __source prop to all JSX Elements │ └─ licenseText: # babel-plugin-transform-react-jsx-source > Adds source file and line number to JSX elements. ## Example **In** ``` ``` **Out** ``` ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-react-jsx-source ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "plugins": ["transform-react-jsx-source"] } ``` ### Via CLI ```sh babel --plugins transform-react-jsx-source script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-react-jsx-source"] }); ``` ├─ babel-plugin-transform-react-jsx@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-jsx │ ├─ name: babel-plugin-transform-react-jsx │ ├─ version: 6.24.1 │ ├─ description: Turn JSX into React function calls │ └─ licenseText: # babel-plugin-transform-react-jsx > Turn JSX into React function calls ## Example ### React **In** ```javascript var profile =

{[user.firstName, user.lastName].join(' ')}

; ``` **Out** ```javascript var profile = React.createElement("div", null, React.createElement("img", { src: "avatar.png", className: "profile" }), React.createElement("h3", null, [user.firstName, user.lastName].join(" ")) ); ``` ### Custom **In** ```javascript /** @jsx dom */ var { dom } = require("deku"); var profile =

{[user.firstName, user.lastName].join(' ')}

; ``` **Out** ```javascript /** @jsx dom */ var dom = require("deku").dom; var profile = dom( "div", null, dom("img", { src: "avatar.png", className: "profile" }), dom("h3", null, [user.firstName, user.lastName].join(" ")) ); ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-react-jsx ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** Without options: ```json { "plugins": ["transform-react-jsx"] } ``` With options: ```json { "plugins": [ ["transform-react-jsx", { "pragma": "dom" // default pragma is React.createElement }] ] } ``` ### Via CLI ```sh babel --plugins transform-react-jsx script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-react-jsx"] }); ``` ## Options ### `pragma` `string`, defaults to `React.createElement`. Replace the function used when compiling JSX expressions. Note that the `@jsx React.DOM` pragma has been deprecated as of React v0.12 ### `useBuiltIns` `boolean`, defaults to `false`. When spreading props, use `Object.assign` directly instead of Babel's extend helper. ├─ babel-plugin-transform-regenerator@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-regenerator │ ├─ publisher: Ben Newman │ ├─ email: bn@cs.stanford.edu │ ├─ name: babel-plugin-transform-regenerator │ ├─ version: 6.24.1 │ ├─ description: Explode async and generator functions into a state machine. │ └─ licenseText: # babel-plugin-transform-regenerator > Transform async/generator functions with [regenerator](https://github.com/facebook/regenerator) ## Example **In** ```javascript function* a() { yield 1; } ``` **Out** ```javascript var _marked = [a].map(regeneratorRuntime.mark); function a() { return regeneratorRuntime.wrap(function a$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return 1; case 2: case "end": return _context.stop(); } } }, _marked[0], this); } ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-regenerator ``` ## Usage ### Via `.babelrc` (Recommended) Without options: ```json { "plugins": ["transform-regenerator"] } ``` With options: |name|default value| |---|---| |asyncGenerators|true| |generators|true| |async|true| ````json { "plugins": [ ["transform-regenerator", { asyncGenerators: false, generators: false, async: false }] ] } ``` ### Via CLI ```sh babel --plugins transform-regenerator script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-regenerator"] }); ``` ├─ babel-plugin-transform-strict-mode@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-strict-mode │ ├─ name: babel-plugin-transform-strict-mode │ ├─ version: 6.24.1 │ ├─ description: This plugin places a 'use strict'; directive at the top of all files to enable strict mode │ └─ licenseText: # babel-plugin-transform-strict-mode > This plugin places a `"use strict";` directive at the top of all files to enable [strict mode](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode). This plugin may be enabled via `babel-plugin-transform-es2015-modules-commonjs`. If you wish to disable it you can either turn `strict` off or pass `strictMode: false` as an option to the commonjs transform. ## Example **In** ```javascript foo(); ``` **Out** ```javascript "use strict"; foo(); ``` ## Installation ```sh npm install --save-dev babel-plugin-transform-strict-mode ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** Without options: ```json { "plugins": ["transform-strict-mode"] } ``` With options: ```json { "plugins": [ ["transform-strict-mode", { "strict": true }] ] } ``` ### Via CLI ```sh babel --plugins transform-strict-mode script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["transform-strict-mode"] }); ``` ├─ babel-polyfill@6.23.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-polyfill │ ├─ publisher: Sebastian McKenzie │ ├─ email: sebmck@gmail.com │ ├─ name: babel-polyfill │ ├─ version: 6.23.0 │ ├─ description: Provides polyfills necessary for a full ES2015+ environment │ └─ licenseText: # babel-polyfill ├─ babel-preset-es2015@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-preset-es2015 │ ├─ publisher: Sebastian McKenzie │ ├─ email: sebmck@gmail.com │ ├─ name: babel-preset-es2015 │ ├─ version: 6.24.1 │ ├─ description: Babel preset for all es2015 plugins. │ └─ licenseText: # babel-preset-es2015 > Babel preset for all es2015 plugins. ## Install ```sh npm install --save-dev babel-preset-es2015 ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "presets": ["es2015"] } ``` ### Via CLI ```sh babel script.js --presets es2015 ``` ### Via Node API ```javascript require("babel-core").transform("code", { presets: ["es2015"] }); ``` ## Options ### `loose` `boolean`, defaults to `false`. Enable "loose" transformations for any plugins in this preset that allow them. ### `modules` `"amd" | "umd" | "systemjs" | "commonjs" | false`, defaults to `"commonjs"`. Enable transformation of ES6 module syntax to another module type. Setting this to `false` will not transform modules. ### `spec` `boolean`, defaults to `false`. Enable "spec" transformations for any plugins in this preset that allow them. ├─ babel-preset-es2017@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-preset-es2017 │ ├─ publisher: Sebastian McKenzie │ ├─ email: sebmck@gmail.com │ ├─ name: babel-preset-es2017 │ ├─ version: 6.24.1 │ ├─ description: Babel preset for all es2017 plugins. │ └─ licenseText: # babel-preset-es2017 > Babel preset for all es2017 plugins. ## Install ```sh npm install --save-dev babel-preset-es2017 ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "presets": ["es2017"] } ``` ### Via CLI ```sh babel script.js --presets es2017 ``` ### Via Node API ```javascript require("babel-core").transform("code", { presets: ["es2017"] }); ``` ├─ babel-preset-flow@6.23.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-preset-flow │ ├─ publisher: James Kyle │ ├─ email: me@thejameskyle.com │ ├─ name: babel-preset-flow │ ├─ version: 6.23.0 │ ├─ description: Babel preset for all Flow plugins. │ └─ licenseText: # babel-preset-flow > Babel preset for all Flow plugins. This preset includes the following plugins: - [transform-flow-strip-types](https://babeljs.io/docs/plugins/transform-flow-strip-types/) ## Example **In** ```javascript function foo(one: any, two: number, three?): string {} ``` **Out** ```javascript function foo(one, two, three) {} ``` ## Installation ```sh npm install --save-dev babel-preset-flow ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "presets": ["flow"] } ``` ### Via CLI ```sh babel --presets flow script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { presets: ["flow"] }); ``` ├─ babel-preset-react-hmre@1.1.1 │ ├─ licenses: ISC │ ├─ repository: https://github.com/danmartinez101/babel-preset-react-hmre │ ├─ publisher: Daniel Martinez │ ├─ name: babel-preset-react-hmre │ ├─ version: 1.1.1 │ ├─ description: Babel preset for React HMR and Error Catching │ └─ licenseText: # Babel preset for React HMR and Error Catching [![Circle CI](https://circleci.com/gh/danmartinez101/babel-preset-react-hmre.svg?style=shield)](https://circleci.com/gh/danmartinez101/babel-preset-react-hmre) This preset will configure Babel 6 for https://github.com/gaearon/react-transform-hmr and friends. It is recommended that this preset only be configured for your development builds. ## Install ``` npm install babel-preset-react-hmre --save-dev ``` ## Configure babel via .babelrc ``` { "presets": ["react", "es2015"], "env": { "development": { "presets": ["react-hmre"] } } } ``` ├─ babel-preset-react@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-preset-react │ ├─ publisher: Sebastian McKenzie │ ├─ email: sebmck@gmail.com │ ├─ name: babel-preset-react │ ├─ version: 6.24.1 │ ├─ description: Babel preset for all React plugins. │ └─ licenseText: # babel-preset-react > Babel preset for all React plugins. This preset includes the following plugins/presets: - [preset-flow](https://babeljs.io/docs/plugins/preset-flow/) - [syntax-jsx](https://babeljs.io/docs/plugins/syntax-jsx/) - [transform-react-jsx](https://babeljs.io/docs/plugins/transform-react-jsx/) - [transform-react-display-name](https://babeljs.io/docs/plugins/transform-react-display-name/) ## Install > You can also check out the React [Getting Started page](https://facebook.github.io/react/docs/hello-world.html) > For more info, check out the setup page on the [cli](/docs/setup/) and the [usage](/docs/usage/cli/) docs. Install the CLI and this preset ```sh npm install --save-dev babel-cli babel-preset-react ``` Make a .babelrc config file with the preset ```sh echo '{ "presets": ["react"] }' > .babelrc ``` Create a file to run on ```sh echo '

Hello, world!

' > index.js ``` View the output ```sh ./node_modules/.bin/babel index.js ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```json { "presets": ["react"] } ``` ### Via CLI ```sh babel script.js --presets react ``` ### Via Node API ```javascript require("babel-core").transform("code", { presets: ["react"] }); ``` ├─ babel-register@6.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-register │ ├─ publisher: Sebastian McKenzie │ ├─ email: sebmck@gmail.com │ ├─ name: babel-register │ ├─ version: 6.24.1 │ ├─ description: babel require hook │ └─ licenseText: # babel-register > The require hook will bind itself to node's require and automatically compile files on the fly. One of the ways you can use Babel is through the require hook. The require hook will bind itself to node's `require` and automatically compile files on the fly. This is equivalent to CoffeeScript's [coffee-script/register](http://coffeescript.org/documentation/docs/register.html). ## Install ```sh npm install babel-register --save-dev ``` ## Usage ```js require("babel-register"); ``` All subsequent files required by node with the extensions `.es6`, `.es`, `.jsx` and `.js` will be transformed by Babel.

Polyfill not included

You must include the polyfill separately when using features that require it, like generators.

### Ignores `node_modules` by default **NOTE:** By default all requires to `node_modules` will be ignored. You can override this by passing an ignore regex via: ```js require("babel-register")({ // This will override `node_modules` ignoring - you can alternatively pass // an array of strings to be explicitly matched or a regex / glob ignore: false }); ``` ## Specifying options ```javascript require("babel-register")({ // Optional ignore regex - if any filenames **do** match this regex then they // aren't compiled. ignore: /regex/, // Ignore can also be specified as a function. ignore: function(filename) { if (filename === "/path/to/es6-file.js") { return false; } else { return true; } }, // Optional only regex - if any filenames **don't** match this regex then they // aren't compiled only: /my_es6_folder/, // Setting this will remove the currently hooked extensions of .es6, `.es`, `.jsx` // and .js so you'll have to add them back if you want them to be used again. extensions: [".es6", ".es", ".jsx", ".js"] }); ``` You can pass in all other [options](https://babeljs.io/docs/usage/api/#options) as well, including `plugins` and `presets`. But note that the closest [`.babelrc`](https://babeljs.io/docs/usage/babelrc/) to each file still applies, and takes precedence over any options you pass in here. ## Environment variables By default `babel-node` and `babel-register` will save to a json cache in your temporary directory. This will heavily improve with the startup and compilation of your files. There are however scenarios where you want to change this behaviour and there are environment variables exposed to allow you to do this. ### BABEL_CACHE_PATH Specify a different cache location. ```sh BABEL_CACHE_PATH=/foo/my-cache.json babel-node script.js ``` ### BABEL_DISABLE_CACHE Disable the cache. ```sh BABEL_DISABLE_CACHE=1 babel-node script.js ``` ├─ babel-runtime@6.23.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-runtime │ ├─ publisher: Sebastian McKenzie │ ├─ email: sebmck@gmail.com │ ├─ name: babel-runtime │ ├─ version: 6.23.0 │ ├─ description: babel selfContained runtime │ └─ licenseText: # babel-runtime ├─ babel-template@6.25.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-template │ ├─ publisher: Sebastian McKenzie │ ├─ email: sebmck@gmail.com │ ├─ name: babel-template │ ├─ version: 6.25.0 │ ├─ description: Generate an AST from a string template. │ └─ licenseText: # babel-template > Generate an AST from a string template. In computer science, this is known as an implementation of quasiquotes. ## Install ```sh npm install --save-dev babel-template ``` ## Usage ```js import template from "babel-template"; import generate from "babel-generator"; import * as t from "babel-types"; const buildRequire = template(` var IMPORT_NAME = require(SOURCE); `); const ast = buildRequire({ IMPORT_NAME: t.identifier("myModule"), SOURCE: t.stringLiteral("my-module") }); console.log(generate(ast).code); ``` ```js const myModule = require("my-module"); ``` ## API ### `template(code, [opts])` #### code Type: `string` #### options `babel-template` accepts all of the options from [babylon], and specifies some defaults of its own: * `allowReturnOutsideFunction` is set to `true` by default. * `allowSuperOutsideMethod` is set to `true` by default. ##### preserveComments Type: `boolean` Default: `false` Set this to `true` to preserve any comments from the `code` parameter. #### Return value `babel-template` returns a `function` which is invoked with an optional object of replacements. See the usage section for an example. [babylon]: https://github.com/babel/babylon#options ├─ babel-traverse@6.25.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-traverse │ ├─ publisher: Sebastian McKenzie │ ├─ email: sebmck@gmail.com │ ├─ name: babel-traverse │ ├─ version: 6.25.0 │ ├─ description: The Babel Traverse module maintains the overall tree state, and is responsible for replacing, removing, and adding nodes │ └─ licenseText: # babel-traverse ├─ babel-types@6.25.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babel/tree/master/packages/babel-types │ ├─ publisher: Sebastian McKenzie │ ├─ email: sebmck@gmail.com │ ├─ name: babel-types │ ├─ version: 6.25.0 │ ├─ description: Babel Types is a Lodash-esque utility library for AST nodes │ └─ licenseText: # babel-types > This module contains methods for building ASTs manually and for checking the types of AST nodes. ## Install ```sh npm install --save-dev babel-types ``` ## API ### anyTypeAnnotation ```javascript t.anyTypeAnnotation() ``` See also `t.isAnyTypeAnnotation(node, opts)` and `t.assertAnyTypeAnnotation(node, opts)`. Aliases: `Flow`, `FlowBaseAnnotation` --- ### arrayExpression ```javascript t.arrayExpression(elements) ``` See also `t.isArrayExpression(node, opts)` and `t.assertArrayExpression(node, opts)`. Aliases: `Expression` - `elements`: `Array` (default: `[]`) --- ### arrayPattern ```javascript t.arrayPattern(elements, typeAnnotation) ``` See also `t.isArrayPattern(node, opts)` and `t.assertArrayPattern(node, opts)`. Aliases: `Pattern`, `LVal` - `elements`: `Array` (required) - `typeAnnotation` (required) - `decorators`: `Array` (default: `null`) --- ### arrayTypeAnnotation ```javascript t.arrayTypeAnnotation(elementType) ``` See also `t.isArrayTypeAnnotation(node, opts)` and `t.assertArrayTypeAnnotation(node, opts)`. Aliases: `Flow` - `elementType` (required) --- ### arrowFunctionExpression ```javascript t.arrowFunctionExpression(params, body, async) ``` See also `t.isArrowFunctionExpression(node, opts)` and `t.assertArrowFunctionExpression(node, opts)`. Aliases: `Scopable`, `Function`, `BlockParent`, `FunctionParent`, `Expression`, `Pureish` - `params`: `Array` (required) - `body`: `BlockStatement | Expression` (required) - `async`: `boolean` (default: `false`) - `returnType` (default: `null`) - `typeParameters` (default: `null`) --- ### assignmentExpression ```javascript t.assignmentExpression(operator, left, right) ``` See also `t.isAssignmentExpression(node, opts)` and `t.assertAssignmentExpression(node, opts)`. Aliases: `Expression` - `operator`: `string` (required) - `left`: `LVal` (required) - `right`: `Expression` (required) --- ### assignmentPattern ```javascript t.assignmentPattern(left, right) ``` See also `t.isAssignmentPattern(node, opts)` and `t.assertAssignmentPattern(node, opts)`. Aliases: `Pattern`, `LVal` - `left`: `Identifier` (required) - `right`: `Expression` (required) - `decorators`: `Array` (default: `null`) --- ### awaitExpression ```javascript t.awaitExpression(argument) ``` See also `t.isAwaitExpression(node, opts)` and `t.assertAwaitExpression(node, opts)`. Aliases: `Expression`, `Terminatorless` - `argument`: `Expression` (required) --- ### binaryExpression ```javascript t.binaryExpression(operator, left, right) ``` See also `t.isBinaryExpression(node, opts)` and `t.assertBinaryExpression(node, opts)`. Aliases: `Binary`, `Expression` - `operator`: `'+' | '-' | '/' | '%' | '*' | '**' | '&' | '|' | '>>' | '>>>' | '<<' | '^' | '==' | '===' | '!=' | '!==' | 'in' | 'instanceof' | '>' | '<' | '>=' | '<='` (required) - `left`: `Expression` (required) - `right`: `Expression` (required) --- ### bindExpression ```javascript t.bindExpression(object, callee) ``` See also `t.isBindExpression(node, opts)` and `t.assertBindExpression(node, opts)`. Aliases: `Expression` - `object` (required) - `callee` (required) --- ### blockStatement ```javascript t.blockStatement(body, directives) ``` See also `t.isBlockStatement(node, opts)` and `t.assertBlockStatement(node, opts)`. Aliases: `Scopable`, `BlockParent`, `Block`, `Statement` - `body`: `Array` (required) - `directives`: `Array` (default: `[]`) --- ### booleanLiteral ```javascript t.booleanLiteral(value) ``` See also `t.isBooleanLiteral(node, opts)` and `t.assertBooleanLiteral(node, opts)`. Aliases: `Expression`, `Pureish`, `Literal`, `Immutable` - `value`: `boolean` (required) --- ### booleanLiteralTypeAnnotation ```javascript t.booleanLiteralTypeAnnotation() ``` See also `t.isBooleanLiteralTypeAnnotation(node, opts)` and `t.assertBooleanLiteralTypeAnnotation(node, opts)`. Aliases: `Flow` --- ### booleanTypeAnnotation ```javascript t.booleanTypeAnnotation() ``` See also `t.isBooleanTypeAnnotation(node, opts)` and `t.assertBooleanTypeAnnotation(node, opts)`. Aliases: `Flow`, `FlowBaseAnnotation` --- ### breakStatement ```javascript t.breakStatement(label) ``` See also `t.isBreakStatement(node, opts)` and `t.assertBreakStatement(node, opts)`. Aliases: `Statement`, `Terminatorless`, `CompletionStatement` - `label`: `Identifier` (default: `null`) --- ### callExpression ```javascript t.callExpression(callee, arguments) ``` See also `t.isCallExpression(node, opts)` and `t.assertCallExpression(node, opts)`. Aliases: `Expression` - `callee`: `Expression` (required) - `arguments`: `Array` (required) --- ### catchClause ```javascript t.catchClause(param, body) ``` See also `t.isCatchClause(node, opts)` and `t.assertCatchClause(node, opts)`. Aliases: `Scopable` - `param`: `Identifier` (required) - `body`: `BlockStatement` (required) --- ### classBody ```javascript t.classBody(body) ``` See also `t.isClassBody(node, opts)` and `t.assertClassBody(node, opts)`. - `body`: `Array` (required) --- ### classDeclaration ```javascript t.classDeclaration(id, superClass, body, decorators) ``` See also `t.isClassDeclaration(node, opts)` and `t.assertClassDeclaration(node, opts)`. Aliases: `Scopable`, `Class`, `Statement`, `Declaration`, `Pureish` - `id`: `Identifier` (required) - `superClass`: `Expression` (default: `null`) - `body`: `ClassBody` (required) - `decorators`: `Array` (required) - `implements` (default: `null`) - `mixins` (default: `null`) - `superTypeParameters` (default: `null`) - `typeParameters` (default: `null`) --- ### classExpression ```javascript t.classExpression(id, superClass, body, decorators) ``` See also `t.isClassExpression(node, opts)` and `t.assertClassExpression(node, opts)`. Aliases: `Scopable`, `Class`, `Expression`, `Pureish` - `id`: `Identifier` (default: `null`) - `superClass`: `Expression` (default: `null`) - `body`: `ClassBody` (required) - `decorators`: `Array` (required) - `implements` (default: `null`) - `mixins` (default: `null`) - `superTypeParameters` (default: `null`) - `typeParameters` (default: `null`) --- ### classImplements ```javascript t.classImplements(id, typeParameters) ``` See also `t.isClassImplements(node, opts)` and `t.assertClassImplements(node, opts)`. Aliases: `Flow` - `id` (required) - `typeParameters` (required) --- ### classMethod ```javascript t.classMethod(kind, key, params, body, computed, static) ``` See also `t.isClassMethod(node, opts)` and `t.assertClassMethod(node, opts)`. Aliases: `Function`, `Scopable`, `BlockParent`, `FunctionParent`, `Method` - `kind`: `"get" | "set" | "method" | "constructor"` (default: `'method'`) - `key`if computed then `Expression` else `Identifier | Literal` (required) - `params`: `Array` (required) - `body`: `BlockStatement` (required) - `computed`: `boolean` (default: `false`) - `static`: `boolean` (default: `false`) - `async`: `boolean` (default: `false`) - `decorators` (default: `null`) - `generator`: `boolean` (default: `false`) - `returnType` (default: `null`) - `typeParameters` (default: `null`) --- ### classProperty ```javascript t.classProperty(key, value, typeAnnotation, decorators, computed) ``` See also `t.isClassProperty(node, opts)` and `t.assertClassProperty(node, opts)`. Aliases: `Property` - `key` (required) - `value` (required) - `typeAnnotation` (required) - `decorators` (required) - `computed`: `boolean` (default: `false`) --- ### conditionalExpression ```javascript t.conditionalExpression(test, consequent, alternate) ``` See also `t.isConditionalExpression(node, opts)` and `t.assertConditionalExpression(node, opts)`. Aliases: `Expression`, `Conditional` - `test`: `Expression` (required) - `consequent`: `Expression` (required) - `alternate`: `Expression` (required) --- ### continueStatement ```javascript t.continueStatement(label) ``` See also `t.isContinueStatement(node, opts)` and `t.assertContinueStatement(node, opts)`. Aliases: `Statement`, `Terminatorless`, `CompletionStatement` - `label`: `Identifier` (default: `null`) --- ### debuggerStatement ```javascript t.debuggerStatement() ``` See also `t.isDebuggerStatement(node, opts)` and `t.assertDebuggerStatement(node, opts)`. Aliases: `Statement` --- ### declareClass ```javascript t.declareClass(id, typeParameters, extends, body) ``` See also `t.isDeclareClass(node, opts)` and `t.assertDeclareClass(node, opts)`. Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` - `id` (required) - `typeParameters` (required) - `extends` (required) - `body` (required) --- ### declareFunction ```javascript t.declareFunction(id) ``` See also `t.isDeclareFunction(node, opts)` and `t.assertDeclareFunction(node, opts)`. Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` - `id` (required) --- ### declareInterface ```javascript t.declareInterface(id, typeParameters, extends, body) ``` See also `t.isDeclareInterface(node, opts)` and `t.assertDeclareInterface(node, opts)`. Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` - `id` (required) - `typeParameters` (required) - `extends` (required) - `body` (required) --- ### declareModule ```javascript t.declareModule(id, body) ``` See also `t.isDeclareModule(node, opts)` and `t.assertDeclareModule(node, opts)`. Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` - `id` (required) - `body` (required) --- ### declareModuleExports ```javascript t.declareModuleExports(typeAnnotation) ``` See also `t.isDeclareModuleExports(node, opts)` and `t.assertDeclareModuleExports(node, opts)`. Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` - `typeAnnotation` (required) --- ### declareTypeAlias ```javascript t.declareTypeAlias(id, typeParameters, right) ``` See also `t.isDeclareTypeAlias(node, opts)` and `t.assertDeclareTypeAlias(node, opts)`. Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` - `id` (required) - `typeParameters` (required) - `right` (required) --- ### declareVariable ```javascript t.declareVariable(id) ``` See also `t.isDeclareVariable(node, opts)` and `t.assertDeclareVariable(node, opts)`. Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` - `id` (required) --- ### decorator ```javascript t.decorator(expression) ``` See also `t.isDecorator(node, opts)` and `t.assertDecorator(node, opts)`. - `expression`: `Expression` (required) --- ### directive ```javascript t.directive(value) ``` See also `t.isDirective(node, opts)` and `t.assertDirective(node, opts)`. - `value`: `DirectiveLiteral` (required) --- ### directiveLiteral ```javascript t.directiveLiteral(value) ``` See also `t.isDirectiveLiteral(node, opts)` and `t.assertDirectiveLiteral(node, opts)`. - `value`: `string` (required) --- ### doExpression ```javascript t.doExpression(body) ``` See also `t.isDoExpression(node, opts)` and `t.assertDoExpression(node, opts)`. Aliases: `Expression` - `body`: `BlockStatement` (required) --- ### doWhileStatement ```javascript t.doWhileStatement(test, body) ``` See also `t.isDoWhileStatement(node, opts)` and `t.assertDoWhileStatement(node, opts)`. Aliases: `Statement`, `BlockParent`, `Loop`, `While`, `Scopable` - `test`: `Expression` (required) - `body`: `Statement` (required) --- ### emptyStatement ```javascript t.emptyStatement() ``` See also `t.isEmptyStatement(node, opts)` and `t.assertEmptyStatement(node, opts)`. Aliases: `Statement` --- ### emptyTypeAnnotation ```javascript t.emptyTypeAnnotation() ``` See also `t.isEmptyTypeAnnotation(node, opts)` and `t.assertEmptyTypeAnnotation(node, opts)`. Aliases: `Flow`, `FlowBaseAnnotation` --- ### existentialTypeParam ```javascript t.existentialTypeParam() ``` See also `t.isExistentialTypeParam(node, opts)` and `t.assertExistentialTypeParam(node, opts)`. Aliases: `Flow` --- ### exportAllDeclaration ```javascript t.exportAllDeclaration(source) ``` See also `t.isExportAllDeclaration(node, opts)` and `t.assertExportAllDeclaration(node, opts)`. Aliases: `Statement`, `Declaration`, `ModuleDeclaration`, `ExportDeclaration` - `source`: `StringLiteral` (required) --- ### exportDefaultDeclaration ```javascript t.exportDefaultDeclaration(declaration) ``` See also `t.isExportDefaultDeclaration(node, opts)` and `t.assertExportDefaultDeclaration(node, opts)`. Aliases: `Statement`, `Declaration`, `ModuleDeclaration`, `ExportDeclaration` - `declaration`: `FunctionDeclaration | ClassDeclaration | Expression` (required) --- ### exportDefaultSpecifier ```javascript t.exportDefaultSpecifier(exported) ``` See also `t.isExportDefaultSpecifier(node, opts)` and `t.assertExportDefaultSpecifier(node, opts)`. Aliases: `ModuleSpecifier` - `exported`: `Identifier` (required) --- ### exportNamedDeclaration ```javascript t.exportNamedDeclaration(declaration, specifiers, source) ``` See also `t.isExportNamedDeclaration(node, opts)` and `t.assertExportNamedDeclaration(node, opts)`. Aliases: `Statement`, `Declaration`, `ModuleDeclaration`, `ExportDeclaration` - `declaration`: `Declaration` (default: `null`) - `specifiers`: `Array` (required) - `source`: `StringLiteral` (default: `null`) --- ### exportNamespaceSpecifier ```javascript t.exportNamespaceSpecifier(exported) ``` See also `t.isExportNamespaceSpecifier(node, opts)` and `t.assertExportNamespaceSpecifier(node, opts)`. Aliases: `ModuleSpecifier` - `exported`: `Identifier` (required) --- ### exportSpecifier ```javascript t.exportSpecifier(local, exported) ``` See also `t.isExportSpecifier(node, opts)` and `t.assertExportSpecifier(node, opts)`. Aliases: `ModuleSpecifier` - `local`: `Identifier` (required) - `exported`: `Identifier` (required) --- ### expressionStatement ```javascript t.expressionStatement(expression) ``` See also `t.isExpressionStatement(node, opts)` and `t.assertExpressionStatement(node, opts)`. Aliases: `Statement`, `ExpressionWrapper` - `expression`: `Expression` (required) --- ### file ```javascript t.file(program, comments, tokens) ``` See also `t.isFile(node, opts)` and `t.assertFile(node, opts)`. - `program`: `Program` (required) - `comments` (required) - `tokens` (required) --- ### forAwaitStatement ```javascript t.forAwaitStatement(left, right, body) ``` See also `t.isForAwaitStatement(node, opts)` and `t.assertForAwaitStatement(node, opts)`. Aliases: `Scopable`, `Statement`, `For`, `BlockParent`, `Loop`, `ForXStatement` - `left`: `VariableDeclaration | LVal` (required) - `right`: `Expression` (required) - `body`: `Statement` (required) --- ### forInStatement ```javascript t.forInStatement(left, right, body) ``` See also `t.isForInStatement(node, opts)` and `t.assertForInStatement(node, opts)`. Aliases: `Scopable`, `Statement`, `For`, `BlockParent`, `Loop`, `ForXStatement` - `left`: `VariableDeclaration | LVal` (required) - `right`: `Expression` (required) - `body`: `Statement` (required) --- ### forOfStatement ```javascript t.forOfStatement(left, right, body) ``` See also `t.isForOfStatement(node, opts)` and `t.assertForOfStatement(node, opts)`. Aliases: `Scopable`, `Statement`, `For`, `BlockParent`, `Loop`, `ForXStatement` - `left`: `VariableDeclaration | LVal` (required) - `right`: `Expression` (required) - `body`: `Statement` (required) --- ### forStatement ```javascript t.forStatement(init, test, update, body) ``` See also `t.isForStatement(node, opts)` and `t.assertForStatement(node, opts)`. Aliases: `Scopable`, `Statement`, `For`, `BlockParent`, `Loop` - `init`: `VariableDeclaration | Expression` (default: `null`) - `test`: `Expression` (default: `null`) - `update`: `Expression` (default: `null`) - `body`: `Statement` (required) --- ### functionDeclaration ```javascript t.functionDeclaration(id, params, body, generator, async) ``` See also `t.isFunctionDeclaration(node, opts)` and `t.assertFunctionDeclaration(node, opts)`. Aliases: `Scopable`, `Function`, `BlockParent`, `FunctionParent`, `Statement`, `Pureish`, `Declaration` - `id`: `Identifier` (required) - `params`: `Array` (required) - `body`: `BlockStatement` (required) - `generator`: `boolean` (default: `false`) - `async`: `boolean` (default: `false`) - `returnType` (default: `null`) - `typeParameters` (default: `null`) --- ### functionExpression ```javascript t.functionExpression(id, params, body, generator, async) ``` See also `t.isFunctionExpression(node, opts)` and `t.assertFunctionExpression(node, opts)`. Aliases: `Scopable`, `Function`, `BlockParent`, `FunctionParent`, `Expression`, `Pureish` - `id`: `Identifier` (default: `null`) - `params`: `Array` (required) - `body`: `BlockStatement` (required) - `generator`: `boolean` (default: `false`) - `async`: `boolean` (default: `false`) - `returnType` (default: `null`) - `typeParameters` (default: `null`) --- ### functionTypeAnnotation ```javascript t.functionTypeAnnotation(typeParameters, params, rest, returnType) ``` See also `t.isFunctionTypeAnnotation(node, opts)` and `t.assertFunctionTypeAnnotation(node, opts)`. Aliases: `Flow` - `typeParameters` (required) - `params` (required) - `rest` (required) - `returnType` (required) --- ### functionTypeParam ```javascript t.functionTypeParam(name, typeAnnotation) ``` See also `t.isFunctionTypeParam(node, opts)` and `t.assertFunctionTypeParam(node, opts)`. Aliases: `Flow` - `name` (required) - `typeAnnotation` (required) --- ### genericTypeAnnotation ```javascript t.genericTypeAnnotation(id, typeParameters) ``` See also `t.isGenericTypeAnnotation(node, opts)` and `t.assertGenericTypeAnnotation(node, opts)`. Aliases: `Flow` - `id` (required) - `typeParameters` (required) --- ### identifier ```javascript t.identifier(name) ``` See also `t.isIdentifier(node, opts)` and `t.assertIdentifier(node, opts)`. Aliases: `Expression`, `LVal` - `name``string` (required) - `decorators`: `Array` (default: `null`) - `typeAnnotation` (default: `null`) --- ### ifStatement ```javascript t.ifStatement(test, consequent, alternate) ``` See also `t.isIfStatement(node, opts)` and `t.assertIfStatement(node, opts)`. Aliases: `Statement`, `Conditional` - `test`: `Expression` (required) - `consequent`: `Statement` (required) - `alternate`: `Statement` (default: `null`) --- ### import ```javascript t.import() ``` See also `t.isImport(node, opts)` and `t.assertImport(node, opts)`. Aliases: `Expression` --- ### importDeclaration ```javascript t.importDeclaration(specifiers, source) ``` See also `t.isImportDeclaration(node, opts)` and `t.assertImportDeclaration(node, opts)`. Aliases: `Statement`, `Declaration`, `ModuleDeclaration` - `specifiers`: `Array` (required) - `source`: `StringLiteral` (required) --- ### importDefaultSpecifier ```javascript t.importDefaultSpecifier(local) ``` See also `t.isImportDefaultSpecifier(node, opts)` and `t.assertImportDefaultSpecifier(node, opts)`. Aliases: `ModuleSpecifier` - `local`: `Identifier` (required) --- ### importNamespaceSpecifier ```javascript t.importNamespaceSpecifier(local) ``` See also `t.isImportNamespaceSpecifier(node, opts)` and `t.assertImportNamespaceSpecifier(node, opts)`. Aliases: `ModuleSpecifier` - `local`: `Identifier` (required) --- ### importSpecifier ```javascript t.importSpecifier(local, imported) ``` See also `t.isImportSpecifier(node, opts)` and `t.assertImportSpecifier(node, opts)`. Aliases: `ModuleSpecifier` - `local`: `Identifier` (required) - `imported`: `Identifier` (required) - `importKind`: `null | 'type' | 'typeof'` (default: `null`) --- ### interfaceDeclaration ```javascript t.interfaceDeclaration(id, typeParameters, extends, body) ``` See also `t.isInterfaceDeclaration(node, opts)` and `t.assertInterfaceDeclaration(node, opts)`. Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` - `id` (required) - `typeParameters` (required) - `extends` (required) - `body` (required) --- ### interfaceExtends ```javascript t.interfaceExtends(id, typeParameters) ``` See also `t.isInterfaceExtends(node, opts)` and `t.assertInterfaceExtends(node, opts)`. Aliases: `Flow` - `id` (required) - `typeParameters` (required) --- ### intersectionTypeAnnotation ```javascript t.intersectionTypeAnnotation(types) ``` See also `t.isIntersectionTypeAnnotation(node, opts)` and `t.assertIntersectionTypeAnnotation(node, opts)`. Aliases: `Flow` - `types` (required) --- ### jSXAttribute ```javascript t.jSXAttribute(name, value) ``` See also `t.isJSXAttribute(node, opts)` and `t.assertJSXAttribute(node, opts)`. Aliases: `JSX`, `Immutable` - `name`: `JSXIdentifier | JSXNamespacedName` (required) - `value`: `JSXElement | StringLiteral | JSXExpressionContainer` (default: `null`) --- ### jSXClosingElement ```javascript t.jSXClosingElement(name) ``` See also `t.isJSXClosingElement(node, opts)` and `t.assertJSXClosingElement(node, opts)`. Aliases: `JSX`, `Immutable` - `name`: `JSXIdentifier | JSXMemberExpression` (required) --- ### jSXElement ```javascript t.jSXElement(openingElement, closingElement, children, selfClosing) ``` See also `t.isJSXElement(node, opts)` and `t.assertJSXElement(node, opts)`. Aliases: `JSX`, `Immutable`, `Expression` - `openingElement`: `JSXOpeningElement` (required) - `closingElement`: `JSXClosingElement` (default: `null`) - `children`: `Array` (required) - `selfClosing` (required) --- ### jSXEmptyExpression ```javascript t.jSXEmptyExpression() ``` See also `t.isJSXEmptyExpression(node, opts)` and `t.assertJSXEmptyExpression(node, opts)`. Aliases: `JSX`, `Expression` --- ### jSXExpressionContainer ```javascript t.jSXExpressionContainer(expression) ``` See also `t.isJSXExpressionContainer(node, opts)` and `t.assertJSXExpressionContainer(node, opts)`. Aliases: `JSX`, `Immutable` - `expression`: `Expression` (required) --- ### jSXIdentifier ```javascript t.jSXIdentifier(name) ``` See also `t.isJSXIdentifier(node, opts)` and `t.assertJSXIdentifier(node, opts)`. Aliases: `JSX`, `Expression` - `name`: `string` (required) --- ### jSXMemberExpression ```javascript t.jSXMemberExpression(object, property) ``` See also `t.isJSXMemberExpression(node, opts)` and `t.assertJSXMemberExpression(node, opts)`. Aliases: `JSX`, `Expression` - `object`: `JSXMemberExpression | JSXIdentifier` (required) - `property`: `JSXIdentifier` (required) --- ### jSXNamespacedName ```javascript t.jSXNamespacedName(namespace, name) ``` See also `t.isJSXNamespacedName(node, opts)` and `t.assertJSXNamespacedName(node, opts)`. Aliases: `JSX` - `namespace`: `JSXIdentifier` (required) - `name`: `JSXIdentifier` (required) --- ### jSXOpeningElement ```javascript t.jSXOpeningElement(name, attributes, selfClosing) ``` See also `t.isJSXOpeningElement(node, opts)` and `t.assertJSXOpeningElement(node, opts)`. Aliases: `JSX`, `Immutable` - `name`: `JSXIdentifier | JSXMemberExpression` (required) - `attributes`: `Array` (required) - `selfClosing`: `boolean` (default: `false`) --- ### jSXSpreadAttribute ```javascript t.jSXSpreadAttribute(argument) ``` See also `t.isJSXSpreadAttribute(node, opts)` and `t.assertJSXSpreadAttribute(node, opts)`. Aliases: `JSX` - `argument`: `Expression` (required) --- ### jSXSpreadChild ```javascript t.jSXSpreadChild(expression) ``` See also `t.isJSXSpreadChild(node, opts)` and `t.assertJSXSpreadChild(node, opts)`. Aliases: `JSX`, `Immutable` - `expression`: `Expression` (required) --- ### jSXText ```javascript t.jSXText(value) ``` See also `t.isJSXText(node, opts)` and `t.assertJSXText(node, opts)`. Aliases: `JSX`, `Immutable` - `value`: `string` (required) --- ### labeledStatement ```javascript t.labeledStatement(label, body) ``` See also `t.isLabeledStatement(node, opts)` and `t.assertLabeledStatement(node, opts)`. Aliases: `Statement` - `label`: `Identifier` (required) - `body`: `Statement` (required) --- ### logicalExpression ```javascript t.logicalExpression(operator, left, right) ``` See also `t.isLogicalExpression(node, opts)` and `t.assertLogicalExpression(node, opts)`. Aliases: `Binary`, `Expression` - `operator`: `'||' | '&&'` (required) - `left`: `Expression` (required) - `right`: `Expression` (required) --- ### memberExpression ```javascript t.memberExpression(object, property, computed) ``` See also `t.isMemberExpression(node, opts)` and `t.assertMemberExpression(node, opts)`. Aliases: `Expression`, `LVal` - `object`: `Expression` (required) - `property`if computed then `Expression` else `Identifier` (required) - `computed`: `boolean` (default: `false`) --- ### metaProperty ```javascript t.metaProperty(meta, property) ``` See also `t.isMetaProperty(node, opts)` and `t.assertMetaProperty(node, opts)`. Aliases: `Expression` - `meta`: `string` (required) - `property`: `string` (required) --- ### mixedTypeAnnotation ```javascript t.mixedTypeAnnotation() ``` See also `t.isMixedTypeAnnotation(node, opts)` and `t.assertMixedTypeAnnotation(node, opts)`. Aliases: `Flow`, `FlowBaseAnnotation` --- ### newExpression ```javascript t.newExpression(callee, arguments) ``` See also `t.isNewExpression(node, opts)` and `t.assertNewExpression(node, opts)`. Aliases: `Expression` - `callee`: `Expression` (required) - `arguments`: `Array` (required) --- ### noop ```javascript t.noop() ``` See also `t.isNoop(node, opts)` and `t.assertNoop(node, opts)`. --- ### nullLiteral ```javascript t.nullLiteral() ``` See also `t.isNullLiteral(node, opts)` and `t.assertNullLiteral(node, opts)`. Aliases: `Expression`, `Pureish`, `Literal`, `Immutable` --- ### nullLiteralTypeAnnotation ```javascript t.nullLiteralTypeAnnotation() ``` See also `t.isNullLiteralTypeAnnotation(node, opts)` and `t.assertNullLiteralTypeAnnotation(node, opts)`. Aliases: `Flow`, `FlowBaseAnnotation` --- ### nullableTypeAnnotation ```javascript t.nullableTypeAnnotation(typeAnnotation) ``` See also `t.isNullableTypeAnnotation(node, opts)` and `t.assertNullableTypeAnnotation(node, opts)`. Aliases: `Flow` - `typeAnnotation` (required) --- ### numberTypeAnnotation ```javascript t.numberTypeAnnotation() ``` See also `t.isNumberTypeAnnotation(node, opts)` and `t.assertNumberTypeAnnotation(node, opts)`. Aliases: `Flow`, `FlowBaseAnnotation` --- ### numericLiteral ```javascript t.numericLiteral(value) ``` See also `t.isNumericLiteral(node, opts)` and `t.assertNumericLiteral(node, opts)`. Aliases: `Expression`, `Pureish`, `Literal`, `Immutable` - `value`: `number` (required) --- ### numericLiteralTypeAnnotation ```javascript t.numericLiteralTypeAnnotation() ``` See also `t.isNumericLiteralTypeAnnotation(node, opts)` and `t.assertNumericLiteralTypeAnnotation(node, opts)`. Aliases: `Flow` --- ### objectExpression ```javascript t.objectExpression(properties) ``` See also `t.isObjectExpression(node, opts)` and `t.assertObjectExpression(node, opts)`. Aliases: `Expression` - `properties`: `Array` (required) --- ### objectMethod ```javascript t.objectMethod(kind, key, params, body, computed) ``` See also `t.isObjectMethod(node, opts)` and `t.assertObjectMethod(node, opts)`. Aliases: `UserWhitespacable`, `Function`, `Scopable`, `BlockParent`, `FunctionParent`, `Method`, `ObjectMember` - `kind`: `"method" | "get" | "set"` (default: `'method'`) - `key`if computed then `Expression` else `Identifier | Literal` (required) - `params` (required) - `body`: `BlockStatement` (required) - `computed`: `boolean` (default: `false`) - `async`: `boolean` (default: `false`) - `decorators`: `Array` (default: `null`) - `generator`: `boolean` (default: `false`) - `returnType` (default: `null`) - `typeParameters` (default: `null`) --- ### objectPattern ```javascript t.objectPattern(properties, typeAnnotation) ``` See also `t.isObjectPattern(node, opts)` and `t.assertObjectPattern(node, opts)`. Aliases: `Pattern`, `LVal` - `properties`: `Array` (required) - `typeAnnotation` (required) - `decorators`: `Array` (default: `null`) --- ### objectProperty ```javascript t.objectProperty(key, value, computed, shorthand, decorators) ``` See also `t.isObjectProperty(node, opts)` and `t.assertObjectProperty(node, opts)`. Aliases: `UserWhitespacable`, `Property`, `ObjectMember` - `key`if computed then `Expression` else `Identifier | Literal` (required) - `value`: `Expression | Pattern | RestElement` (required) - `computed`: `boolean` (default: `false`) - `shorthand`: `boolean` (default: `false`) - `decorators`: `Array` (default: `null`) --- ### objectTypeAnnotation ```javascript t.objectTypeAnnotation(properties, indexers, callProperties) ``` See also `t.isObjectTypeAnnotation(node, opts)` and `t.assertObjectTypeAnnotation(node, opts)`. Aliases: `Flow` - `properties` (required) - `indexers` (required) - `callProperties` (required) --- ### objectTypeCallProperty ```javascript t.objectTypeCallProperty(value) ``` See also `t.isObjectTypeCallProperty(node, opts)` and `t.assertObjectTypeCallProperty(node, opts)`. Aliases: `Flow`, `UserWhitespacable` - `value` (required) --- ### objectTypeIndexer ```javascript t.objectTypeIndexer(id, key, value) ``` See also `t.isObjectTypeIndexer(node, opts)` and `t.assertObjectTypeIndexer(node, opts)`. Aliases: `Flow`, `UserWhitespacable` - `id` (required) - `key` (required) - `value` (required) --- ### objectTypeProperty ```javascript t.objectTypeProperty(key, value) ``` See also `t.isObjectTypeProperty(node, opts)` and `t.assertObjectTypeProperty(node, opts)`. Aliases: `Flow`, `UserWhitespacable` - `key` (required) - `value` (required) --- ### objectTypeSpreadProperty ```javascript t.objectTypeSpreadProperty(argument) ``` See also `t.isObjectTypeSpreadProperty(node, opts)` and `t.assertObjectTypeSpreadProperty(node, opts)`. Aliases: `Flow`, `UserWhitespacable` - `argument` (required) --- ### parenthesizedExpression ```javascript t.parenthesizedExpression(expression) ``` See also `t.isParenthesizedExpression(node, opts)` and `t.assertParenthesizedExpression(node, opts)`. Aliases: `Expression`, `ExpressionWrapper` - `expression`: `Expression` (required) --- ### program ```javascript t.program(body, directives) ``` See also `t.isProgram(node, opts)` and `t.assertProgram(node, opts)`. Aliases: `Scopable`, `BlockParent`, `Block`, `FunctionParent` - `body`: `Array` (required) - `directives`: `Array` (default: `[]`) --- ### qualifiedTypeIdentifier ```javascript t.qualifiedTypeIdentifier(id, qualification) ``` See also `t.isQualifiedTypeIdentifier(node, opts)` and `t.assertQualifiedTypeIdentifier(node, opts)`. Aliases: `Flow` - `id` (required) - `qualification` (required) --- ### regExpLiteral ```javascript t.regExpLiteral(pattern, flags) ``` See also `t.isRegExpLiteral(node, opts)` and `t.assertRegExpLiteral(node, opts)`. Aliases: `Expression`, `Literal` - `pattern`: `string` (required) - `flags`: `string` (default: `''`) --- ### restElement ```javascript t.restElement(argument, typeAnnotation) ``` See also `t.isRestElement(node, opts)` and `t.assertRestElement(node, opts)`. Aliases: `LVal` - `argument`: `LVal` (required) - `typeAnnotation` (required) - `decorators`: `Array` (default: `null`) --- ### restProperty ```javascript t.restProperty(argument) ``` See also `t.isRestProperty(node, opts)` and `t.assertRestProperty(node, opts)`. Aliases: `UnaryLike` - `argument`: `LVal` (required) --- ### returnStatement ```javascript t.returnStatement(argument) ``` See also `t.isReturnStatement(node, opts)` and `t.assertReturnStatement(node, opts)`. Aliases: `Statement`, `Terminatorless`, `CompletionStatement` - `argument`: `Expression` (default: `null`) --- ### sequenceExpression ```javascript t.sequenceExpression(expressions) ``` See also `t.isSequenceExpression(node, opts)` and `t.assertSequenceExpression(node, opts)`. Aliases: `Expression` - `expressions`: `Array` (required) --- ### spreadElement ```javascript t.spreadElement(argument) ``` See also `t.isSpreadElement(node, opts)` and `t.assertSpreadElement(node, opts)`. Aliases: `UnaryLike` - `argument`: `Expression` (required) --- ### spreadProperty ```javascript t.spreadProperty(argument) ``` See also `t.isSpreadProperty(node, opts)` and `t.assertSpreadProperty(node, opts)`. Aliases: `UnaryLike` - `argument`: `Expression` (required) --- ### stringLiteral ```javascript t.stringLiteral(value) ``` See also `t.isStringLiteral(node, opts)` and `t.assertStringLiteral(node, opts)`. Aliases: `Expression`, `Pureish`, `Literal`, `Immutable` - `value`: `string` (required) --- ### stringLiteralTypeAnnotation ```javascript t.stringLiteralTypeAnnotation() ``` See also `t.isStringLiteralTypeAnnotation(node, opts)` and `t.assertStringLiteralTypeAnnotation(node, opts)`. Aliases: `Flow` --- ### stringTypeAnnotation ```javascript t.stringTypeAnnotation() ``` See also `t.isStringTypeAnnotation(node, opts)` and `t.assertStringTypeAnnotation(node, opts)`. Aliases: `Flow`, `FlowBaseAnnotation` --- ### super ```javascript t.super() ``` See also `t.isSuper(node, opts)` and `t.assertSuper(node, opts)`. Aliases: `Expression` --- ### switchCase ```javascript t.switchCase(test, consequent) ``` See also `t.isSwitchCase(node, opts)` and `t.assertSwitchCase(node, opts)`. - `test`: `Expression` (default: `null`) - `consequent`: `Array` (required) --- ### switchStatement ```javascript t.switchStatement(discriminant, cases) ``` See also `t.isSwitchStatement(node, opts)` and `t.assertSwitchStatement(node, opts)`. Aliases: `Statement`, `BlockParent`, `Scopable` - `discriminant`: `Expression` (required) - `cases`: `Array` (required) --- ### taggedTemplateExpression ```javascript t.taggedTemplateExpression(tag, quasi) ``` See also `t.isTaggedTemplateExpression(node, opts)` and `t.assertTaggedTemplateExpression(node, opts)`. Aliases: `Expression` - `tag`: `Expression` (required) - `quasi`: `TemplateLiteral` (required) --- ### templateElement ```javascript t.templateElement(value, tail) ``` See also `t.isTemplateElement(node, opts)` and `t.assertTemplateElement(node, opts)`. - `value` (required) - `tail`: `boolean` (default: `false`) --- ### templateLiteral ```javascript t.templateLiteral(quasis, expressions) ``` See also `t.isTemplateLiteral(node, opts)` and `t.assertTemplateLiteral(node, opts)`. Aliases: `Expression`, `Literal` - `quasis`: `Array` (required) - `expressions`: `Array` (required) --- ### thisExpression ```javascript t.thisExpression() ``` See also `t.isThisExpression(node, opts)` and `t.assertThisExpression(node, opts)`. Aliases: `Expression` --- ### thisTypeAnnotation ```javascript t.thisTypeAnnotation() ``` See also `t.isThisTypeAnnotation(node, opts)` and `t.assertThisTypeAnnotation(node, opts)`. Aliases: `Flow`, `FlowBaseAnnotation` --- ### throwStatement ```javascript t.throwStatement(argument) ``` See also `t.isThrowStatement(node, opts)` and `t.assertThrowStatement(node, opts)`. Aliases: `Statement`, `Terminatorless`, `CompletionStatement` - `argument`: `Expression` (required) --- ### tryStatement ```javascript t.tryStatement(block, handler, finalizer) ``` See also `t.isTryStatement(node, opts)` and `t.assertTryStatement(node, opts)`. Aliases: `Statement` - `block` (required) - `handler` (default: `null`) - `finalizer`: `BlockStatement` (default: `null`) - `body`: `BlockStatement` (default: `null`) --- ### tupleTypeAnnotation ```javascript t.tupleTypeAnnotation(types) ``` See also `t.isTupleTypeAnnotation(node, opts)` and `t.assertTupleTypeAnnotation(node, opts)`. Aliases: `Flow` - `types` (required) --- ### typeAlias ```javascript t.typeAlias(id, typeParameters, right) ``` See also `t.isTypeAlias(node, opts)` and `t.assertTypeAlias(node, opts)`. Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration` - `id` (required) - `typeParameters` (required) - `right` (required) --- ### typeAnnotation ```javascript t.typeAnnotation(typeAnnotation) ``` See also `t.isTypeAnnotation(node, opts)` and `t.assertTypeAnnotation(node, opts)`. Aliases: `Flow` - `typeAnnotation` (required) --- ### typeCastExpression ```javascript t.typeCastExpression(expression, typeAnnotation) ``` See also `t.isTypeCastExpression(node, opts)` and `t.assertTypeCastExpression(node, opts)`. Aliases: `Flow`, `ExpressionWrapper`, `Expression` - `expression` (required) - `typeAnnotation` (required) --- ### typeParameter ```javascript t.typeParameter(bound) ``` See also `t.isTypeParameter(node, opts)` and `t.assertTypeParameter(node, opts)`. Aliases: `Flow` - `bound` (required) --- ### typeParameterDeclaration ```javascript t.typeParameterDeclaration(params) ``` See also `t.isTypeParameterDeclaration(node, opts)` and `t.assertTypeParameterDeclaration(node, opts)`. Aliases: `Flow` - `params` (required) --- ### typeParameterInstantiation ```javascript t.typeParameterInstantiation(params) ``` See also `t.isTypeParameterInstantiation(node, opts)` and `t.assertTypeParameterInstantiation(node, opts)`. Aliases: `Flow` - `params` (required) --- ### typeofTypeAnnotation ```javascript t.typeofTypeAnnotation(argument) ``` See also `t.isTypeofTypeAnnotation(node, opts)` and `t.assertTypeofTypeAnnotation(node, opts)`. Aliases: `Flow` - `argument` (required) --- ### unaryExpression ```javascript t.unaryExpression(operator, argument, prefix) ``` See also `t.isUnaryExpression(node, opts)` and `t.assertUnaryExpression(node, opts)`. Aliases: `UnaryLike`, `Expression` - `operator`: `'void' | 'delete' | '!' | '+' | '-' | '++' | '--' | '~' | 'typeof'` (required) - `argument`: `Expression` (required) - `prefix`: `boolean` (default: `true`) --- ### unionTypeAnnotation ```javascript t.unionTypeAnnotation(types) ``` See also `t.isUnionTypeAnnotation(node, opts)` and `t.assertUnionTypeAnnotation(node, opts)`. Aliases: `Flow` - `types` (required) --- ### updateExpression ```javascript t.updateExpression(operator, argument, prefix) ``` See also `t.isUpdateExpression(node, opts)` and `t.assertUpdateExpression(node, opts)`. Aliases: `Expression` - `operator`: `'++' | '--'` (required) - `argument`: `Expression` (required) - `prefix`: `boolean` (default: `false`) --- ### variableDeclaration ```javascript t.variableDeclaration(kind, declarations) ``` See also `t.isVariableDeclaration(node, opts)` and `t.assertVariableDeclaration(node, opts)`. Aliases: `Statement`, `Declaration` - `kind`: `"var" | "let" | "const"` (required) - `declarations`: `Array` (required) --- ### variableDeclarator ```javascript t.variableDeclarator(id, init) ``` See also `t.isVariableDeclarator(node, opts)` and `t.assertVariableDeclarator(node, opts)`. - `id`: `LVal` (required) - `init`: `Expression` (default: `null`) --- ### voidTypeAnnotation ```javascript t.voidTypeAnnotation() ``` See also `t.isVoidTypeAnnotation(node, opts)` and `t.assertVoidTypeAnnotation(node, opts)`. Aliases: `Flow`, `FlowBaseAnnotation` --- ### whileStatement ```javascript t.whileStatement(test, body) ``` See also `t.isWhileStatement(node, opts)` and `t.assertWhileStatement(node, opts)`. Aliases: `Statement`, `BlockParent`, `Loop`, `While`, `Scopable` - `test`: `Expression` (required) - `body`: `BlockStatement | Statement` (required) --- ### withStatement ```javascript t.withStatement(object, body) ``` See also `t.isWithStatement(node, opts)` and `t.assertWithStatement(node, opts)`. Aliases: `Statement` - `object` (required) - `body`: `BlockStatement | Statement` (required) --- ### yieldExpression ```javascript t.yieldExpression(argument, delegate) ``` See also `t.isYieldExpression(node, opts)` and `t.assertYieldExpression(node, opts)`. Aliases: `Expression`, `Terminatorless` - `argument`: `Expression` (default: `null`) - `delegate`: `boolean` (default: `false`) --- ├─ babylon@6.17.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/babel/babylon │ ├─ publisher: Sebastian McKenzie │ ├─ email: sebmck@gmail.com │ ├─ name: babylon │ ├─ version: 6.17.4 │ ├─ description: A JavaScript parser │ ├─ licenseText: Copyright (C) 2012-2014 by various contributors (see AUTHORS) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (C) 2012-2014 by various contributors (see AUTHORS) ├─ balanced-match@0.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/juliangruber/balanced-match │ ├─ publisher: Julian Gruber │ ├─ email: mail@juliangruber.com │ ├─ url: http://juliangruber.com │ ├─ name: balanced-match │ ├─ version: 0.1.0 │ ├─ description: Match balanced character pairs, like "{" and "}" │ ├─ licenseText: # balanced-match Match balanced string pairs, like `{` and `}` or `` and ``. [![build status](https://secure.travis-ci.org/juliangruber/balanced-match.png)](http://travis-ci.org/juliangruber/balanced-match) [![testling badge](https://ci.testling.com/juliangruber/balanced-match.png)](https://ci.testling.com/juliangruber/balanced-match) ## Example Get the first non-nested matching pair of braces: ```js var balanced = require('balanced-match'); console.log(balanced('{', '}', 'pre{in{nested}}post')); console.log(balanced('{', '}', 'pre{first}between{second}post')); ``` The matches are: ```bash $ node example.js { start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' } { start: 3, end: 9, pre: 'pre', body: 'first', post: 'between{second}post' } ``` ## API ### var m = balanced(a, b, str) For the first non-nested matching pair of `a` and `b` in `str`, return an object with those keys: * **start** the index of the first match of `a` * **end** the index of the matching `b` * **pre** the preamble, `a` and `b` not included * **body** the match, `a` and `b` not included * **post** the postscript, `a` and `b` not included If there's no match, `undefined` will be returned. ## Installation With [npm](https://npmjs.org) do: ```bash npm install balanced-match ``` ## License (MIT) Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> ├─ balanced-match@0.4.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/juliangruber/balanced-match │ ├─ publisher: Julian Gruber │ ├─ email: mail@juliangruber.com │ ├─ url: http://juliangruber.com │ ├─ name: balanced-match │ ├─ version: 0.4.2 │ ├─ description: Match balanced character pairs, like "{" and "}" │ ├─ licenseText: (MIT) Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> ├─ balanced-match@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/juliangruber/balanced-match │ ├─ publisher: Julian Gruber │ ├─ email: mail@juliangruber.com │ ├─ url: http://juliangruber.com │ ├─ name: balanced-match │ ├─ version: 1.0.0 │ ├─ description: Match balanced character pairs, like "{" and "}" │ ├─ licenseText: (MIT) Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> ├─ base64-js@1.2.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/beatgammit/base64-js │ ├─ publisher: T. Jameson Little │ ├─ email: t.jameson.little@gmail.com │ ├─ name: base64-js │ ├─ version: 1.2.1 │ ├─ description: Base64 encoding/decoding in pure JS │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 ├─ batch@0.6.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/visionmedia/batch │ ├─ publisher: TJ Holowaychuk │ ├─ email: tj@vision-media.ca │ ├─ name: batch │ ├─ version: 0.6.1 │ ├─ description: Simple async batch with concurrency control and progress reporting. │ ├─ licenseText: (The MIT License) Copyright (c) 2013 TJ Holowaychuk Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 TJ Holowaychuk ├─ big.js@3.1.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/MikeMcl/big.js │ ├─ publisher: Michael Mclaughlin │ ├─ email: M8ch88l@gmail.com │ ├─ name: big.js │ ├─ version: 3.1.3 │ ├─ description: A small, fast, easy-to-use library for arbitrary-precision decimal arithmetic │ ├─ licenseText: The MIT Expat Licence. Copyright (c) 2012 Michael Mclaughlin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012 Michael Mclaughlin ├─ binary-extensions@1.8.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/binary-extensions │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: binary-extensions │ ├─ version: 1.8.0 │ ├─ description: List of binary file extensions │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ bluebird@2.11.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/petkaantonov/bluebird │ ├─ publisher: Petka Antonov │ ├─ email: petka_antonov@hotmail.com │ ├─ url: http://github.com/petkaantonov/ │ ├─ name: bluebird │ ├─ version: 2.11.0 │ ├─ description: Full featured Promises/A+ implementation with exceptionally good performance │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2013-2015 Petka Antonov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013-2015 Petka Antonov ├─ bluebird@3.5.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/petkaantonov/bluebird │ ├─ publisher: Petka Antonov │ ├─ email: petka_antonov@hotmail.com │ ├─ url: http://github.com/petkaantonov/ │ ├─ name: bluebird │ ├─ version: 3.5.0 │ ├─ description: Full featured Promises/A+ implementation with exceptionally good performance │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2013-2017 Petka Antonov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013-2017 Petka Antonov ├─ bn.js@4.11.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/bn.js │ ├─ publisher: Fedor Indutny │ ├─ email: fedor@indutny.com │ ├─ name: bn.js │ ├─ version: 4.11.7 │ ├─ description: Big number implementation in pure javascript │ ├─ licenseText: # bn.js > BigNum in pure javascript [![Build Status](https://secure.travis-ci.org/indutny/bn.js.png)](http://travis-ci.org/indutny/bn.js) ## Install `npm install --save bn.js` ## Usage ```js const BN = require('bn.js'); var a = new BN('dead', 16); var b = new BN('101010', 2); var res = a.add(b); console.log(res.toString(10)); // 57047 ``` **Note**: decimals are not supported in this library. ## Notation ### Prefixes There are several prefixes to instructions that affect the way the work. Here is the list of them in the order of appearance in the function name: * `i` - perform operation in-place, storing the result in the host object (on which the method was invoked). Might be used to avoid number allocation costs * `u` - unsigned, ignore the sign of operands when performing operation, or always return positive value. Second case applies to reduction operations like `mod()`. In such cases if the result will be negative - modulo will be added to the result to make it positive ### Postfixes The only available postfix at the moment is: * `n` - which means that the argument of the function must be a plain JavaScript Number. Decimals are not supported. ### Examples * `a.iadd(b)` - perform addition on `a` and `b`, storing the result in `a` * `a.umod(b)` - reduce `a` modulo `b`, returning positive value * `a.iushln(13)` - shift bits of `a` left by 13 ## Instructions Prefixes/postfixes are put in parens at the of the line. `endian` - could be either `le` (little-endian) or `be` (big-endian). ### Utilities * `a.clone()` - clone number * `a.toString(base, length)` - convert to base-string and pad with zeroes * `a.toNumber()` - convert to Javascript Number (limited to 53 bits) * `a.toJSON()` - convert to JSON compatible hex string (alias of `toString(16)`) * `a.toArray(endian, length)` - convert to byte `Array`, and optionally zero pad to length, throwing if already exceeding * `a.toArrayLike(type, endian, length)` - convert to an instance of `type`, which must behave like an `Array` * `a.toBuffer(endian, length)` - convert to Node.js Buffer (if available). For compatibility with browserify and similar tools, use this instead: `a.toArrayLike(Buffer, endian, length)` * `a.bitLength()` - get number of bits occupied * `a.zeroBits()` - return number of less-significant consequent zero bits (example: `1010000` has 4 zero bits) * `a.byteLength()` - return number of bytes occupied * `a.isNeg()` - true if the number is negative * `a.isEven()` - no comments * `a.isOdd()` - no comments * `a.isZero()` - no comments * `a.cmp(b)` - compare numbers and return `-1` (a `<` b), `0` (a `==` b), or `1` (a `>` b) depending on the comparison result (`ucmp`, `cmpn`) * `a.lt(b)` - `a` less than `b` (`n`) * `a.lte(b)` - `a` less than or equals `b` (`n`) * `a.gt(b)` - `a` greater than `b` (`n`) * `a.gte(b)` - `a` greater than or equals `b` (`n`) * `a.eq(b)` - `a` equals `b` (`n`) * `a.toTwos(width)` - convert to two's complement representation, where `width` is bit width * `a.fromTwos(width)` - convert from two's complement representation, where `width` is the bit width * `BN.isBN(object)` - returns true if the supplied `object` is a BN.js instance ### Arithmetics * `a.neg()` - negate sign (`i`) * `a.abs()` - absolute value (`i`) * `a.add(b)` - addition (`i`, `n`, `in`) * `a.sub(b)` - subtraction (`i`, `n`, `in`) * `a.mul(b)` - multiply (`i`, `n`, `in`) * `a.sqr()` - square (`i`) * `a.pow(b)` - raise `a` to the power of `b` * `a.div(b)` - divide (`divn`, `idivn`) * `a.mod(b)` - reduct (`u`, `n`) (but no `umodn`) * `a.divRound(b)` - rounded division ### Bit operations * `a.or(b)` - or (`i`, `u`, `iu`) * `a.and(b)` - and (`i`, `u`, `iu`, `andln`) (NOTE: `andln` is going to be replaced with `andn` in future) * `a.xor(b)` - xor (`i`, `u`, `iu`) * `a.setn(b)` - set specified bit to `1` * `a.shln(b)` - shift left (`i`, `u`, `iu`) * `a.shrn(b)` - shift right (`i`, `u`, `iu`) * `a.testn(b)` - test if specified bit is set * `a.maskn(b)` - clear bits with indexes higher or equal to `b` (`i`) * `a.bincn(b)` - add `1 << b` to the number * `a.notn(w)` - not (for the width specified by `w`) (`i`) ### Reduction * `a.gcd(b)` - GCD * `a.egcd(b)` - Extended GCD results (`{ a: ..., b: ..., gcd: ... }`) * `a.invm(b)` - inverse `a` modulo `b` ## Fast reduction When doing lots of reductions using the same modulo, it might be beneficial to use some tricks: like [Montgomery multiplication][0], or using special algorithm for [Mersenne Prime][1]. ### Reduction context To enable this tricks one should create a reduction context: ```js var red = BN.red(num); ``` where `num` is just a BN instance. Or: ```js var red = BN.red(primeName); ``` Where `primeName` is either of these [Mersenne Primes][1]: * `'k256'` * `'p224'` * `'p192'` * `'p25519'` Or: ```js var red = BN.mont(num); ``` To reduce numbers with [Montgomery trick][0]. `.mont()` is generally faster than `.red(num)`, but slower than `BN.red(primeName)`. ### Converting numbers Before performing anything in reduction context - numbers should be converted to it. Usually, this means that one should: * Convert inputs to reducted ones * Operate on them in reduction context * Convert outputs back from the reduction context Here is how one may convert numbers to `red`: ```js var redA = a.toRed(red); ``` Where `red` is a reduction context created using instructions above Here is how to convert them back: ```js var a = redA.fromRed(); ``` ### Red instructions Most of the instructions from the very start of this readme have their counterparts in red context: * `a.redAdd(b)`, `a.redIAdd(b)` * `a.redSub(b)`, `a.redISub(b)` * `a.redShl(num)` * `a.redMul(b)`, `a.redIMul(b)` * `a.redSqr()`, `a.redISqr()` * `a.redSqrt()` - square root modulo reduction context's prime * `a.redInvm()` - modular inverse of the number * `a.redNeg()` * `a.redPow(b)` - modular exponentiation ## LICENSE This software is licensed under the MIT License. Copyright Fedor Indutny, 2015. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. [0]: https://en.wikipedia.org/wiki/Montgomery_modular_multiplication [1]: https://en.wikipedia.org/wiki/Mersenne_prime │ └─ copyright: Copyright Fedor Indutny, 2015. ├─ bonjour@3.5.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/watson/bonjour │ ├─ publisher: Thomas Watson Steen │ ├─ email: w@tson.dk │ ├─ url: https://twitter.com/wa7son │ ├─ name: bonjour │ ├─ version: 3.5.0 │ ├─ description: A Bonjour/Zeroconf implementation in pure JavaScript │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015-2016 Thomas Watson Steen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015-2016 Thomas Watson Steen ├─ boolbase@1.0.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/fb55/boolbase │ ├─ publisher: Felix Boehm │ ├─ email: me@feedic.com │ ├─ name: boolbase │ ├─ version: 1.0.0 │ ├─ description: two functions: One that returns true, one that returns false │ └─ licenseText: #boolbase This very simple module provides two basic functions, one that always returns true (`trueFunc`) and one that always returns false (`falseFunc`). ###WTF? By having only a single instance of these functions around, it's possible to do some nice optimizations. Eg. [`CSSselect`](https://github.com/fb55/CSSselect) uses these functions to determine whether a selector won't match any elements. If that's the case, the DOM doesn't even have to be touched. ###And why is this a separate module? I'm trying to modularize `CSSselect` and most modules depend on these functions. IMHO, having a separate module is the easiest solution to this problem. ├─ bowser@1.7.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ded/bowser │ ├─ publisher: Dustin Diaz │ ├─ email: dustin@dustindiaz.com │ ├─ url: http://dustindiaz.com │ ├─ name: bowser │ ├─ version: 1.7.1 │ ├─ description: Lightweight browser detector │ ├─ licenseText: Copyright 2015, Dustin Diaz (the "Original Author") All rights reserved. MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. Distributions of all or part of the Software intended to be used by the recipients as they would use the unmodified Software, containing modifications that substantially alter, remove, or disable functionality of the Software, outside of the documented configuration mechanisms provided by the Software, shall be modified such that the Original Author's bug reporting email addresses and urls are either replaced with the contact information of the parties responsible for the changes, or removed entirely. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except where noted, this license applies to any and all software programs and associated documentation files created by the Original Author, when distributed with the Software. │ └─ copyright: Copyright 2015, Dustin Diaz (the "Original Author"). All rights reserved. ├─ brace-expansion@1.1.8 │ ├─ licenses: MIT │ ├─ repository: https://github.com/juliangruber/brace-expansion │ ├─ publisher: Julian Gruber │ ├─ email: mail@juliangruber.com │ ├─ url: http://juliangruber.com │ ├─ name: brace-expansion │ ├─ version: 1.1.8 │ ├─ description: Brace expansion as known from sh/bash │ ├─ licenseText: # brace-expansion [Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html), as known from sh/bash, in JavaScript. [![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion) [![downloads](https://img.shields.io/npm/dm/brace-expansion.svg)](https://www.npmjs.org/package/brace-expansion) [![Greenkeeper badge](https://badges.greenkeeper.io/juliangruber/brace-expansion.svg)](https://greenkeeper.io/) [![testling badge](https://ci.testling.com/juliangruber/brace-expansion.png)](https://ci.testling.com/juliangruber/brace-expansion) ## Example ```js var expand = require('brace-expansion'); expand('file-{a,b,c}.jpg') // => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg'] expand('-v{,,}') // => ['-v', '-v', '-v'] expand('file{0..2}.jpg') // => ['file0.jpg', 'file1.jpg', 'file2.jpg'] expand('file-{a..c}.jpg') // => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg'] expand('file{2..0}.jpg') // => ['file2.jpg', 'file1.jpg', 'file0.jpg'] expand('file{0..4..2}.jpg') // => ['file0.jpg', 'file2.jpg', 'file4.jpg'] expand('file-{a..e..2}.jpg') // => ['file-a.jpg', 'file-c.jpg', 'file-e.jpg'] expand('file{00..10..5}.jpg') // => ['file00.jpg', 'file05.jpg', 'file10.jpg'] expand('{{A..C},{a..c}}') // => ['A', 'B', 'C', 'a', 'b', 'c'] expand('ppp{,config,oe{,conf}}') // => ['ppp', 'pppconfig', 'pppoe', 'pppoeconf'] ``` ## API ```js var expand = require('brace-expansion'); ``` ### var expanded = expand(str) Return an array of all possible and valid expansions of `str`. If none are found, `[str]` is returned. Valid expansions are: ```js /^(.*,)+(.+)?$/ // {a,b,...} ``` A comma seperated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`. ```js /^-?\d+\.\.-?\d+(\.\.-?\d+)?$/ // {x..y[..incr]} ``` A numeric sequence from `x` to `y` inclusive, with optional increment. If `x` or `y` start with a leading `0`, all the numbers will be padded to have equal length. Negative numbers and backwards iteration work too. ```js /^-?\d+\.\.-?\d+(\.\.-?\d+)?$/ // {x..y[..incr]} ``` An alphabetic sequence from `x` to `y` inclusive, with optional increment. `x` and `y` must be exactly one character, and if given, `incr` must be a number. For compatibility reasons, the string `${` is not eligible for brace expansion. ## Installation With [npm](https://npmjs.org) do: ```bash npm install brace-expansion ``` ## Contributors - [Julian Gruber](https://github.com/juliangruber) - [Isaac Z. Schlueter](https://github.com/isaacs) ## License (MIT) Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> ├─ braces@1.8.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/braces │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: braces │ ├─ version: 1.8.5 │ ├─ description: Fastest brace expansion for node.js, with the most complete support for the Bash 4.3 braces specification. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2016, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2016, Jon Schlinkert. ├─ brorand@1.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/brorand │ ├─ publisher: Fedor Indutny │ ├─ email: fedor@indutny.com │ ├─ name: brorand │ ├─ version: 1.1.0 │ ├─ description: Random number generator for browsers and node.js │ ├─ licenseText: # Brorand #### LICENSE This software is licensed under the MIT License. Copyright Fedor Indutny, 2014. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Fedor Indutny, 2014. ├─ browserify-aes@1.0.6 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/browserify-aes │ ├─ name: browserify-aes │ ├─ version: 1.0.6 │ ├─ description: aes, for browserify │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2015 browserify-aes contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015 browserify-aes contributors ├─ browserify-cipher@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/browserify-cipher │ ├─ publisher: Calvin Metcalf │ ├─ email: calvin.metcalf@gmail.com │ ├─ name: browserify-cipher │ ├─ version: 1.0.0 │ ├─ description: ciphers for the browser │ └─ licenseText: browserify-cipher === [![Build Status](https://travis-ci.org/crypto-browserify/browserify-cipher.svg)](https://travis-ci.org/crypto-browserify/browserify-cipher) Provides createCipher, createDecipher, createCipheriv, createDecipheriv and getCiphers for the browserify. Includes AES and DES ciphers. ├─ browserify-des@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/browserify-des │ ├─ publisher: Calvin Metcalf │ ├─ email: calvin.metcalf@gmail.com │ ├─ name: browserify-des │ ├─ version: 1.0.0 │ ├─ description: browserify-des === │ └─ licenseText: browserify-des === DES for browserify ├─ browserify-rsa@4.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/browserify-rsa │ ├─ name: browserify-rsa │ ├─ version: 4.0.1 │ ├─ description: RSA for browserify │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2015 Calvin Metcalf & contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015 Calvin Metcalf & contributors ├─ browserify-sign@4.0.4 │ ├─ licenses: ISC │ ├─ repository: https://github.com/crypto-browserify/browserify-sign │ ├─ name: browserify-sign │ ├─ version: 4.0.4 │ ├─ description: adds node crypto signing for browsers │ ├─ licenseText: Copyright (c) 2014-2015 Calvin Metcalf and browserify-sign contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015 Calvin Metcalf and browserify-sign contributors ├─ browserify-zlib@0.1.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/devongovett/browserify-zlib │ ├─ publisher: Devon Govett │ ├─ email: devongovett@gmail.com │ ├─ name: browserify-zlib │ ├─ version: 0.1.4 │ ├─ description: Full zlib module for browserify │ └─ licenseText: # browserify-zlib Emulates Node's [zlib](http://nodejs.org/api/zlib.html) module for [Browserify](http://browserify.org) using [pako](https://github.com/nodeca/pako). It uses the actual Node source code and passes the Node zlib tests by emulating the C++ binding that actually calls zlib. [![browser support](https://ci.testling.com/devongovett/browserify-zlib.png) ](https://ci.testling.com/devongovett/browserify-zlib) [![node tests](https://travis-ci.org/devongovett/browserify-zlib.svg) ](https://travis-ci.org/devongovett/browserify-zlib) ## Not implemented The following options/methods are not supported because pako does not support them yet. * The `params` method * The `dictionary` option ## License MIT ├─ browserslist@1.7.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ai/browserslist │ ├─ publisher: Andrey Sitnik │ ├─ email: andrey@sitnik.ru │ ├─ name: browserslist │ ├─ version: 1.7.7 │ ├─ description: Share browsers list between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset │ ├─ licenseText: The MIT License (MIT) Copyright 2014 Andrey Sitnik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2014 Andrey Sitnik ├─ buffer-indexof@1.1.0 │ ├─ licenses: MIT* │ ├─ repository: https://github.com/soldair/node-buffer-indexof │ ├─ publisher: Ryan Day │ ├─ name: buffer-indexof │ ├─ version: 1.1.0 │ ├─ description: find the index of a buffer in a buffer │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2013 Ryan Day Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Ryan Day ├─ buffer-xor@1.0.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/buffer-xor │ ├─ publisher: Daniel Cousens │ ├─ name: buffer-xor │ ├─ version: 1.0.3 │ ├─ description: A simple module for bitwise-xor on buffers │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Daniel Cousens Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Daniel Cousens ├─ buffer@4.9.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/feross/buffer │ ├─ publisher: Feross Aboukhadijeh │ ├─ email: feross@feross.org │ ├─ url: http://feross.org │ ├─ name: buffer │ ├─ version: 4.9.1 │ ├─ description: Node.js Buffer API, for the browser │ ├─ licenseText: The MIT License (MIT) Copyright (c) Feross Aboukhadijeh, and other contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Feross Aboukhadijeh, and other contributors. ├─ builtin-modules@1.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/builtin-modules │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: builtin-modules │ ├─ version: 1.1.1 │ ├─ description: List of the Node.js builtin modules │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ builtin-status-codes@3.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/bendrucker/builtin-status-codes │ ├─ publisher: Ben Drucker │ ├─ email: bvdrucker@gmail.com │ ├─ url: bendrucker.me │ ├─ name: builtin-status-codes │ ├─ version: 3.0.0 │ ├─ description: The map of HTTP status codes from the builtin http module │ ├─ licenseText: The MIT License (MIT) Copyright (c) Ben Drucker (bendrucker.me) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Drucker (bendrucker.me) ├─ bytes@2.5.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/visionmedia/bytes.js │ ├─ publisher: TJ Holowaychuk │ ├─ email: tj@vision-media.ca │ ├─ url: http://tjholowaychuk.com │ ├─ name: bytes │ ├─ version: 2.5.0 │ ├─ description: Utility to parse a string bytes to bytes and vice-versa │ ├─ licenseText: (The MIT License) Copyright (c) 2012-2014 TJ Holowaychuk Copyright (c) 2015 Jed Watson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012-2014 TJ Holowaychuk . Copyright (c) 2015 Jed Watson ├─ camel-case@3.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/blakeembrey/camel-case │ ├─ publisher: Blake Embrey │ ├─ email: hello@blakeembrey.com │ ├─ url: http://blakeembrey.me │ ├─ name: camel-case │ ├─ version: 3.0.0 │ ├─ description: Camel case a string │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) ├─ camelcase-keys@2.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/camelcase-keys │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: http://sindresorhus.com │ ├─ name: camelcase-keys │ ├─ version: 2.1.0 │ ├─ description: Convert object keys to camelCase │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ camelcase@1.2.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/camelcase │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: http://sindresorhus.com │ ├─ name: camelcase │ ├─ version: 1.2.1 │ ├─ description: Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ camelcase@2.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/camelcase │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: http://sindresorhus.com │ ├─ name: camelcase │ ├─ version: 2.1.1 │ ├─ description: Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ camelcase@3.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/camelcase │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: http://sindresorhus.com │ ├─ name: camelcase │ ├─ version: 3.0.0 │ ├─ description: Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ caniuse-api@1.6.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/nyalab/caniuse-api │ ├─ name: caniuse-api │ ├─ version: 1.6.1 │ ├─ description: request the caniuse data to check browsers compatibilities │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Sébastien Balayn Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Sébastien Balayn ├─ caniuse-db@1.0.30000701 │ ├─ licenses: CC-BY-4.0 │ ├─ repository: https://github.com/Fyrd/caniuse │ ├─ publisher: Alexis Deveria │ ├─ email: adeveria@gmail.com │ ├─ name: caniuse-db │ ├─ version: 1.0.30000701 │ ├─ description: Raw browser/feature support data from caniuse.com │ └─ licenseText: Attribution 4.0 International ======================================================================= Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. Using Creative Commons Public Licenses Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC- licensed material, or material used under an exception or limitation to copyright. More considerations for licensors: wiki.creativecommons.org/Considerations_for_licensors Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason--for example, because of any applicable exception or limitation to copyright--then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More_considerations for the public: wiki.creativecommons.org/Considerations_for_licensees ======================================================================= Creative Commons Attribution 4.0 International Public License By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. Section 1 -- Definitions. a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. Section 2 -- Scope. a. License grant. 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: a. reproduce and Share the Licensed Material, in whole or in part; and b. produce, reproduce, and Share Adapted Material. 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. 3. Term. The term of this Public License is specified in Section 6(a). 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a) (4) never produces Adapted Material. 5. Downstream recipients. a. Offer from the Licensor -- Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. b. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). b. Other rights. 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. 2. Patent and trademark rights are not licensed under this Public License. 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. Section 3 -- License Conditions. Your exercise of the Licensed Rights is expressly made subject to the following conditions. a. Attribution. 1. If You Share the Licensed Material (including in modified form), You must: a. retain the following if it is supplied by the Licensor with the Licensed Material: i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); ii. a copyright notice; iii. a notice that refers to this Public License; iv. a notice that refers to the disclaimer of warranties; v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; b. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and c. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. Section 4 -- Sui Generis Database Rights. Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. Section 5 -- Disclaimer of Warranties and Limitation of Liability. a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. Section 6 -- Term and Termination. a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or 2. upon express reinstatement by the Licensor. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. Section 7 -- Other Terms and Conditions. a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. Section 8 -- Interpretation. a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. ======================================================================= Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” The text of the Creative Commons public licenses is dedicated to the public domain under the CC0 Public Domain Dedication. Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. Creative Commons may be contacted at creativecommons.org. ├─ center-align@0.1.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/center-align │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: center-align │ ├─ version: 0.1.3 │ ├─ description: Center-align the text in a string. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015, Jon Schlinkert. ├─ chain-function@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jquense/chain-function │ ├─ publisher: jquense │ ├─ name: chain-function │ ├─ version: 1.0.0 │ ├─ description: chain a bunch of functions together into a single call │ └─ licenseText: true ├─ chalk@1.1.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/chalk/chalk │ ├─ name: chalk │ ├─ version: 1.1.3 │ ├─ description: Terminal string styling done right. Much color. │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ chalk@2.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/chalk/chalk │ ├─ name: chalk │ ├─ version: 2.0.1 │ ├─ description: Terminal string styling done right. Much color │ ├─ licenseText: MIT License Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ charenc@0.0.2 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/pvorb/node-charenc │ ├─ publisher: Paul Vorbach │ ├─ email: paul@vorb.de │ ├─ url: http://vorb.de │ ├─ name: charenc │ ├─ version: 0.0.2 │ ├─ description: character encoding utilities │ ├─ licenseText: Copyright © 2011, Paul Vorbach. All rights reserved. Copyright © 2009, Jeff Mott. All rights reserved. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name Crypto-JS nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright © 2011, Paul Vorbach. All rights reserved.. Copyright © 2009, Jeff Mott. All rights reserved. ├─ chokidar@1.7.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/paulmillr/chokidar │ ├─ publisher: Paul Miller │ ├─ url: http://paulmillr.com │ ├─ name: chokidar │ ├─ version: 1.7.0 │ ├─ description: A neat wrapper around node.js fs.watch / fs.watchFile / fsevents. │ ├─ licenseText: # Chokidar [![Mac/Linux Build Status](https://img.shields.io/travis/paulmillr/chokidar/master.svg?label=Mac%20OSX%20%26%20Linux)](https://travis-ci.org/paulmillr/chokidar) [![Windows Build status](https://img.shields.io/appveyor/ci/es128/chokidar/master.svg?label=Windows)](https://ci.appveyor.com/project/es128/chokidar/branch/master) [![Coverage Status](https://coveralls.io/repos/paulmillr/chokidar/badge.svg)](https://coveralls.io/r/paulmillr/chokidar) [![Join the chat at https://gitter.im/paulmillr/chokidar](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/paulmillr/chokidar?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) > A neat wrapper around node.js fs.watch / fs.watchFile / fsevents. [![NPM](https://nodei.co/npm-dl/chokidar.png)](https://nodei.co/npm/chokidar/) [![NPM](https://nodei.co/npm/chokidar.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/chokidar/) ## Why? Node.js `fs.watch`: * Doesn't report filenames on OS X. * Doesn't report events at all when using editors like Sublime on OS X. * Often reports events twice. * Emits most changes as `rename`. * Has [a lot of other issues](https://github.com/joyent/node/search?q=fs.watch&type=Issues) * Does not provide an easy way to recursively watch file trees. Node.js `fs.watchFile`: * Almost as bad at event handling. * Also does not provide any recursive watching. * Results in high CPU utilization. Chokidar resolves these problems. Initially made for [brunch](http://brunch.io) (an ultra-swift web app build tool), it is now used in [gulp](https://github.com/gulpjs/gulp/), [karma](http://karma-runner.github.io), [PM2](https://github.com/Unitech/PM2), [browserify](http://browserify.org/), [webpack](http://webpack.github.io/), [BrowserSync](http://www.browsersync.io/), [Microsoft's Visual Studio Code](https://github.com/microsoft/vscode), and [many others](https://www.npmjs.org/browse/depended/chokidar/). It has proven itself in production environments. ## How? Chokidar does still rely on the Node.js core `fs` module, but when using `fs.watch` and `fs.watchFile` for watching, it normalizes the events it receives, often checking for truth by getting file stats and/or dir contents. On Mac OS X, chokidar by default uses a native extension exposing the Darwin `FSEvents` API. This provides very efficient recursive watching compared with implementations like `kqueue` available on most \*nix platforms. Chokidar still does have to do some work to normalize the events received that way as well. On other platforms, the `fs.watch`-based implementation is the default, which avoids polling and keeps CPU usage down. Be advised that chokidar will initiate watchers recursively for everything within scope of the paths that have been specified, so be judicious about not wasting system resources by watching much more than needed. ## Getting started Install with npm: npm install chokidar --save Then `require` and use it in your code: ```javascript var chokidar = require('chokidar'); // One-liner for current directory, ignores .dotfiles chokidar.watch('.', {ignored: /(^|[\/\\])\../}).on('all', (event, path) => { console.log(event, path); }); ``` ```javascript // Example of a more typical implementation structure: // Initialize watcher. var watcher = chokidar.watch('file, dir, glob, or array', { ignored: /(^|[\/\\])\../, persistent: true }); // Something to use when events are received. var log = console.log.bind(console); // Add event listeners. watcher .on('add', path => log(`File ${path} has been added`)) .on('change', path => log(`File ${path} has been changed`)) .on('unlink', path => log(`File ${path} has been removed`)); // More possible events. watcher .on('addDir', path => log(`Directory ${path} has been added`)) .on('unlinkDir', path => log(`Directory ${path} has been removed`)) .on('error', error => log(`Watcher error: ${error}`)) .on('ready', () => log('Initial scan complete. Ready for changes')) .on('raw', (event, path, details) => { log('Raw event info:', event, path, details); }); // 'add', 'addDir' and 'change' events also receive stat() results as second // argument when available: http://nodejs.org/api/fs.html#fs_class_fs_stats watcher.on('change', (path, stats) => { if (stats) console.log(`File ${path} changed size to ${stats.size}`); }); // Watch new files. watcher.add('new-file'); watcher.add(['new-file-2', 'new-file-3', '**/other-file*']); // Get list of actual paths being watched on the filesystem var watchedPaths = watcher.getWatched(); // Un-watch some files. watcher.unwatch('new-file*'); // Stop watching. watcher.close(); // Full list of options. See below for descriptions. (do not use this example) chokidar.watch('file', { persistent: true, ignored: '*.txt', ignoreInitial: false, followSymlinks: true, cwd: '.', disableGlobbing: false, usePolling: true, interval: 100, binaryInterval: 300, alwaysStat: false, depth: 99, awaitWriteFinish: { stabilityThreshold: 2000, pollInterval: 100 }, ignorePermissionErrors: false, atomic: true // or a custom 'atomicity delay', in milliseconds (default 100) }); ``` ## API `chokidar.watch(paths, [options])` * `paths` (string or array of strings). Paths to files, dirs to be watched recursively, or glob patterns. * `options` (object) Options object as defined below: #### Persistence * `persistent` (default: `true`). Indicates whether the process should continue to run as long as files are being watched. If set to `false` when using `fsevents` to watch, no more events will be emitted after `ready`, even if the process continues to run. #### Path filtering * `ignored` ([anymatch](https://github.com/es128/anymatch)-compatible definition) Defines files/paths to be ignored. The whole relative or absolute path is tested, not just filename. If a function with two arguments is provided, it gets called twice per path - once with a single argument (the path), second time with two arguments (the path and the [`fs.Stats`](http://nodejs.org/api/fs.html#fs_class_fs_stats) object of that path). * `ignoreInitial` (default: `false`). If set to `false` then `add`/`addDir` events are also emitted for matching paths while instantiating the watching as chokidar discovers these file paths (before the `ready` event). * `followSymlinks` (default: `true`). When `false`, only the symlinks themselves will be watched for changes instead of following the link references and bubbling events through the link's path. * `cwd` (no default). The base directory from which watch `paths` are to be derived. Paths emitted with events will be relative to this. * `disableGlobbing` (default: `false`). If set to `true` then the strings passed to `.watch()` and `.add()` are treated as literal path names, even if they look like globs. #### Performance * `usePolling` (default: `false`). Whether to use fs.watchFile (backed by polling), or fs.watch. If polling leads to high CPU utilization, consider setting this to `false`. It is typically necessary to **set this to `true` to successfully watch files over a network**, and it may be necessary to successfully watch files in other non-standard situations. Setting to `true` explicitly on OS X overrides the `useFsEvents` default. You may also set the CHOKIDAR_USEPOLLING env variable to true (1) or false (0) in order to override this option. * _Polling-specific settings_ (effective when `usePolling: true`) * `interval` (default: `100`). Interval of file system polling. You may also set the CHOKIDAR_INTERVAL env variable to override this option. * `binaryInterval` (default: `300`). Interval of file system polling for binary files. ([see list of binary extensions](https://github.com/sindresorhus/binary-extensions/blob/master/binary-extensions.json)) * `useFsEvents` (default: `true` on OS X). Whether to use the `fsevents` watching interface if available. When set to `true` explicitly and `fsevents` is available this supercedes the `usePolling` setting. When set to `false` on OS X, `usePolling: true` becomes the default. * `alwaysStat` (default: `false`). If relying upon the [`fs.Stats`](http://nodejs.org/api/fs.html#fs_class_fs_stats) object that may get passed with `add`, `addDir`, and `change` events, set this to `true` to ensure it is provided even in cases where it wasn't already available from the underlying watch events. * `depth` (default: `undefined`). If set, limits how many levels of subdirectories will be traversed. * `awaitWriteFinish` (default: `false`). By default, the `add` event will fire when a file first appears on disk, before the entire file has been written. Furthermore, in some cases some `change` events will be emitted while the file is being written. In some cases, especially when watching for large files there will be a need to wait for the write operation to finish before responding to a file creation or modification. Setting `awaitWriteFinish` to `true` (or a truthy value) will poll file size, holding its `add` and `change` events until the size does not change for a configurable amount of time. The appropriate duration setting is heavily dependent on the OS and hardware. For accurate detection this parameter should be relatively high, making file watching much less responsive. Use with caution. * *`options.awaitWriteFinish` can be set to an object in order to adjust timing params:* * `awaitWriteFinish.stabilityThreshold` (default: 2000). Amount of time in milliseconds for a file size to remain constant before emitting its event. * `awaitWriteFinish.pollInterval` (default: 100). File size polling interval. #### Errors * `ignorePermissionErrors` (default: `false`). Indicates whether to watch files that don't have read permissions if possible. If watching fails due to `EPERM` or `EACCES` with this set to `true`, the errors will be suppressed silently. * `atomic` (default: `true` if `useFsEvents` and `usePolling` are `false`). Automatically filters out artifacts that occur when using editors that use "atomic writes" instead of writing directly to the source file. If a file is re-added within 100 ms of being deleted, Chokidar emits a `change` event rather than `unlink` then `add`. If the default of 100 ms does not work well for you, you can override it by setting `atomic` to a custom value, in milliseconds. ### Methods & Events `chokidar.watch()` produces an instance of `FSWatcher`. Methods of `FSWatcher`: * `.add(path / paths)`: Add files, directories, or glob patterns for tracking. Takes an array of strings or just one string. * `.on(event, callback)`: Listen for an FS event. Available events: `add`, `addDir`, `change`, `unlink`, `unlinkDir`, `ready`, `raw`, `error`. Additionally `all` is available which gets emitted with the underlying event name and path for every event other than `ready`, `raw`, and `error`. * `.unwatch(path / paths)`: Stop watching files, directories, or glob patterns. Takes an array of strings or just one string. * `.close()`: Removes all listeners from watched files. * `.getWatched()`: Returns an object representing all the paths on the file system being watched by this `FSWatcher` instance. The object's keys are all the directories (using absolute paths unless the `cwd` option was used), and the values are arrays of the names of the items contained in each directory. ## CLI If you need a CLI interface for your file watching, check out [chokidar-cli](https://github.com/kimmobrunfeldt/chokidar-cli), allowing you to execute a command on each change, or get a stdio stream of change events. ## Install Troubleshooting * `npm WARN optional dep failed, continuing fsevents@n.n.n` * This message is normal part of how `npm` handles optional dependencies and is not indicative of a problem. Even if accompanied by other related error messages, Chokidar should function properly. * `ERR! stack Error: Python executable "python" is v3.4.1, which is not supported by gyp.` * You should be able to resolve this by installing python 2.7 and running: `npm config set python python2.7` * `gyp ERR! stack Error: not found: make` * On Mac, install the XCode command-line tools ## License The MIT License (MIT) Copyright (c) 2016 Paul Miller (http://paulmillr.com) & Elan Shanker Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 Paul Miller (http://paulmillr.com) & Elan Shanker ├─ cipher-base@1.0.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/cipher-base │ ├─ publisher: Calvin Metcalf │ ├─ email: calvin.metcalf@gmail.com │ ├─ name: cipher-base │ ├─ version: 1.0.4 │ ├─ description: abstract base class for crypto-streams │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2017 crypto-browserify contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2017 crypto-browserify contributors ├─ clap@1.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/lahmatiy/clap │ ├─ publisher: Roman Dvornov │ ├─ email: rdvornov@gmail.com │ ├─ name: clap │ ├─ version: 1.2.0 │ ├─ description: Command line argument parser │ ├─ licenseText: Copyright (C) 2014-2016 by Roman Dvornov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (C) 2014-2016 by Roman Dvornov ├─ classnames@2.2.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/JedWatson/classnames │ ├─ publisher: Jed Watson │ ├─ name: classnames │ ├─ version: 2.2.5 │ ├─ description: A simple utility for conditionally joining classNames together │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2016 Jed Watson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 Jed Watson ├─ clean-css@4.1.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jakubpawlowicz/clean-css │ ├─ publisher: Jakub Pawlowicz │ ├─ email: contact@jakubpawlowicz.com │ ├─ url: http://twitter.com/jakubpawlowicz │ ├─ name: clean-css │ ├─ version: 4.1.7 │ ├─ description: A well-tested CSS minifier │ ├─ licenseText: Copyright (C) 2017 JakubPawlowicz.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (C) 2017 JakubPawlowicz.com ├─ cliui@2.1.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/bcoe/cliui │ ├─ publisher: Ben Coe │ ├─ email: ben@npmjs.com │ ├─ name: cliui │ ├─ version: 2.1.0 │ ├─ description: easily create complex multi-column command-line-interfaces │ ├─ licenseText: Copyright (c) 2015, Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) 2015, Contributors ├─ cliui@3.2.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/yargs/cliui │ ├─ publisher: Ben Coe │ ├─ email: ben@npmjs.com │ ├─ name: cliui │ ├─ version: 3.2.0 │ ├─ description: easily create complex multi-column command-line-interfaces │ ├─ licenseText: Copyright (c) 2015, Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) 2015, Contributors ├─ clone@1.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/pvorb/node-clone │ ├─ publisher: Paul Vorbach │ ├─ email: paul@vorba.ch │ ├─ url: http://paul.vorba.ch/ │ ├─ name: clone │ ├─ version: 1.0.2 │ ├─ description: deep cloning of objects and arrays │ ├─ licenseText: Copyright © 2011-2015 Paul Vorbach Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright © 2011-2015 Paul Vorbach ├─ co@4.6.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/tj/co │ ├─ name: co │ ├─ version: 4.6.0 │ ├─ description: generator async control flow goodness │ ├─ licenseText: (The MIT License) Copyright (c) 2014 TJ Holowaychuk <tj@vision-media.ca> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 TJ Holowaychuk <tj@vision-media.ca> ├─ coa@1.0.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/veged/coa │ ├─ publisher: Sergey Berezhnoy │ ├─ email: veged@ya.ru │ ├─ url: http://github.com/veged │ ├─ name: coa │ ├─ version: 1.0.4 │ ├─ description: Command-Option-Argument: Yet another parser for command line options. │ └─ licenseText: # Command-Option-Argument [![build status](https://secure.travis-ci.org/veged/coa.png)](http://travis-ci.org/veged/coa) ## What is it? COA is a parser for command line options that aim to get maximum profit from formalization your program API. Once you write definition in terms of commands, options and arguments you automaticaly get: * Command line help text * Program API for use COA-based programs as modules * Shell completion ### Other features * Rich types for options and arguments, such as arrays, boolean flags and required * Commands can be async throught using promising (powered by [Q](https://github.com/kriskowal/q)) * Easy submoduling some existing commands to new top-level one * Combined validation and complex parsing of values ### TODO * Localization * Shell-mode * Configs * Aliases * Defaults ## Examples ````javascript require('coa').Cmd() // main (top level) command declaration .name(process.argv[1]) // set top level command name from program name .title('My awesome command line util') // title for use in text messages .helpful() // make command "helpful", i.e. options -h --help with usage message .opt() // add some option .name('version') // name for use in API .title('Version') // title for use in text messages .short('v') // short key: -v .long('version') // long key: --version .flag() // for options without value .act(function(opts) { // add action for option // return message as result of action return JSON.parse(require('fs').readFileSync(__dirname + '/package.json')) .version; }) .end() // end option chain and return to main command .cmd().name('subcommand').apply(require('./subcommand').COA).end() // load subcommand from module .cmd() // inplace subcommand declaration .name('othercommand').title('Awesome other subcommand').helpful() .opt() .name('input').title('input file, required') .short('i').long('input') .val(function(v) { // validator function, also for translate simple values return require('fs').createReadStream(v) }) .req() // make option required .end() // end option chain and return to command .end() // end subcommand chain and return to parent command .run(process.argv.slice(2)); // parse and run on process.argv ```` ````javascript // subcommand.js exports.COA = function() { this .title('Awesome subcommand').helpful() .opt() .name('output').title('output file') .short('o').long('output') .output() // use default preset for "output" option declaration .end() }; ```` ## API reference ### Cmd Command is a top level entity. Commands may have options and arguments. #### Cmd.api Returns object containing all its subcommands as methods to use from other programs.
**@returns** *{Object}* #### Cmd.name Set a canonical command identifier to be used anywhere in the API.
**@param** *String* `_name` command name
**@returns** *COA.Cmd* `this` instance (for chainability) #### Cmd.title Set a long description for command to be used anywhere in text messages.
**@param** *String* `_title` command title
**@returns** *COA.Cmd* `this` instance (for chainability) #### Cmd.cmd Create new or add existing subcommand for current command.
**@param** *COA.Cmd* `[cmd]` existing command instance
**@returns** *COA.Cmd* new or added subcommand instance #### Cmd.opt Create option for current command.
**@returns** *COA.Opt* `new` option instance #### Cmd.arg Create argument for current command.
**@returns** *COA.Opt* `new` argument instance #### Cmd.act Add (or set) action for current command.
**@param** *Function* `act` action function, invoked in the context of command instance and has the parameters:
- *Object* `opts` parsed options
- *Array* `args` parsed arguments
- *Object* `res` actions result accumulator
It can return rejected promise by Cmd.reject (in case of error) or any other value treated as result.
**@param** *{Boolean}* [force=false] flag for set action instead add to existings
**@returns** *COA.Cmd* `this` instance (for chainability) #### Cmd.apply Apply function with arguments in context of command instance.
**@param** *Function* `fn`
**@param** *Array* `args`
**@returns** *COA.Cmd* `this` instance (for chainability) #### Cmd.comp Set custom additional completion for current command.
**@param** *Function* `fn` completion generation function, invoked in the context of command instance. Accepts parameters:
- *Object* `opts` completion options
It can return promise or any other value treated as result.
**@returns** *COA.Cmd* `this` instance (for chainability) #### Cmd.helpful Make command "helpful", i.e. add -h --help flags for print usage.
**@returns** *COA.Cmd* `this` instance (for chainability) #### Cmd.completable Adds shell completion to command, adds "completion" subcommand, that makes all the magic.
Must be called only on root command.
**@returns** *COA.Cmd* `this` instance (for chainability) #### Cmd.usage Build full usage text for current command instance.
**@returns** *String* `usage` text #### Cmd.run Parse arguments from simple format like NodeJS process.argv and run ahead current program, i.e. call process.exit when all actions done.
**@param** *Array* `argv`
**@returns** *COA.Cmd* `this` instance (for chainability) #### Cmd.invoke Invoke specified (or current) command using provided options and arguments.
**@param** *String|Array* `cmds` subcommand to invoke (optional)
**@param** *Object* `opts` command options (optional)
**@param** *Object* `args` command arguments (optional)
**@returns** *Q.Promise* #### Cmd.reject Return reject of actions results promise.
Use in .act() for return with error.
**@param** *Object* `reason` reject reason
You can customize toString() method and exitCode property of reason object.
**@returns** *Q.promise* rejected promise #### Cmd.end Finish chain for current subcommand and return parent command instance.
**@returns** *COA.Cmd* `parent` command ### Opt Option is a named entity. Options may have short and long keys for use from command line.
**@namespace**
**@class** Presents option #### Opt.name Set a canonical option identifier to be used anywhere in the API.
**@param** *String* `_name` option name
**@returns** *COA.Opt* `this` instance (for chainability) #### Opt.title Set a long description for option to be used anywhere in text messages.
**@param** *String* `_title` option title
**@returns** *COA.Opt* `this` instance (for chainability) #### Opt.short Set a short key for option to be used with one hyphen from command line.
**@param** *String* `_short`
**@returns** *COA.Opt* `this` instance (for chainability) #### Opt.long Set a short key for option to be used with double hyphens from command line.
**@param** *String* `_long`
**@returns** *COA.Opt* `this` instance (for chainability) #### Opt.flag Make an option boolean, i.e. option without value.
**@returns** *COA.Opt* `this` instance (for chainability) #### Opt.arr Makes an option accepts multiple values.
Otherwise, the value will be used by the latter passed.
**@returns** *COA.Opt* `this` instance (for chainability) #### Opt.req Makes an option req.
**@returns** *COA.Opt* `this` instance (for chainability) #### Opt.only Makes an option to act as a command, i.e. program will exit just after option action.
**@returns** *COA.Opt* `this` instance (for chainability) #### Opt.val Set a validation (or value) function for argument.
Value from command line passes through before becoming available from API.
Using for validation and convertion simple types to any values.
**@param** *Function* `_val` validating function, invoked in the context of option instance and has one parameter with value from command line
**@returns** *COA.Opt* `this` instance (for chainability) #### Opt.def Set a default value for option. Default value passed through validation function as ordinary value.
**@param** *Object* `_def`
**@returns** *COA.Opt* `this` instance (for chainability) #### Opt.input Make option value inputting stream. It's add useful validation and shortcut for STDIN. **@returns** *{COA.Opt}* `this` instance (for chainability) #### Opt.output Make option value outputing stream.
It's add useful validation and shortcut for STDOUT.
**@returns** *COA.Opt* `this` instance (for chainability) #### Opt.act Add action for current option command. This action is performed if the current option is present in parsed options (with any value).
**@param** *Function* `act` action function, invoked in the context of command instance and has the parameters:
- *Object* `opts` parsed options
- *Array* `args` parsed arguments
- *Object* `res` actions result accumulator
It can return rejected promise by Cmd.reject (in case of error) or any other value treated as result.
**@returns** *COA.Opt* `this` instance (for chainability) #### Opt.comp Set custom additional completion for current option.
**@param** *Function* `fn` completion generation function, invoked in the context of command instance. Accepts parameters:
- *Object* `opts` completion options
It can return promise or any other value treated as result.
**@returns** *COA.Opt* `this` instance (for chainability) #### Opt.end Finish chain for current option and return parent command instance.
**@returns** *COA.Cmd* `parent` command ### Arg Argument is a unnamed entity.
From command line arguments passed as list of unnamed values. #### Arg.name Set a canonical argument identifier to be used anywhere in text messages.
**@param** *String* `_name` argument name
**@returns** *COA.Arg* `this` instance (for chainability) #### Arg.title Set a long description for argument to be used anywhere in text messages.
**@param** *String* `_title` argument title
**@returns** *COA.Arg* `this` instance (for chainability) #### Arg.arr Makes an argument accepts multiple values.
Otherwise, the value will be used by the latter passed.
**@returns** *COA.Arg* `this` instance (for chainability) #### Arg.req Makes an argument req.
**@returns** *COA.Arg* `this` instance (for chainability) #### Arg.val Set a validation (or value) function for argument.
Value from command line passes through before becoming available from API.
Using for validation and convertion simple types to any values.
**@param** *Function* `_val` validating function, invoked in the context of argument instance and has one parameter with value from command line
**@returns** *COA.Arg* `this` instance (for chainability) #### Arg.def Set a default value for argument. Default value passed through validation function as ordinary value.
**@param** *Object* `_def`
**@returns** *COA.Arg* `this` instance (for chainability) #### Arg.output Make argument value outputing stream.
It's add useful validation and shortcut for STDOUT.
**@returns** *COA.Arg* `this` instance (for chainability) #### Arg.comp Set custom additional completion for current argument.
**@param** *Function* `fn` completion generation function, invoked in the context of command instance. Accepts parameters:
- *Object* `opts` completion options
It can return promise or any other value treated as result.
**@returns** *COA.Arg* `this` instance (for chainability) #### Arg.end Finish chain for current option and return parent command instance.
**@returns** *COA.Cmd* `parent` command ├─ code-point-at@1.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/code-point-at │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: code-point-at │ ├─ version: 1.1.0 │ ├─ description: ES2015 `String#codePointAt()` ponyfill │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ color-convert@1.9.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/Qix-/color-convert │ ├─ publisher: Heather Arthur │ ├─ email: fayearthur@gmail.com │ ├─ name: color-convert │ ├─ version: 1.9.0 │ ├─ description: Plain color conversion functions │ ├─ licenseText: Copyright (c) 2011-2016 Heather Arthur Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2011-2016 Heather Arthur ├─ color-name@1.1.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/dfcreative/color-name │ ├─ publisher: DY │ ├─ email: dfcreative@gmail.com │ ├─ name: color-name │ ├─ version: 1.1.3 │ ├─ description: A list of color names and its values │ └─ licenseText: The MIT License (MIT) Copyright (c) 2015 Dmitry Ivanov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ color-string@0.3.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/harthur/color-string │ ├─ publisher: Heather Arthur │ ├─ email: fayearthur@gmail.com │ ├─ name: color-string │ ├─ version: 0.3.0 │ ├─ description: Parser and generator for CSS color strings │ ├─ licenseText: Copyright (c) 2011 Heather Arthur Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2011 Heather Arthur ├─ color@0.11.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/Qix-/color │ ├─ name: color │ ├─ version: 0.11.4 │ ├─ description: Color conversion and manipulation with CSS string support │ ├─ licenseText: Copyright (c) 2012 Heather Arthur Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012 Heather Arthur ├─ colormin@1.1.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/colormin │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: colormin │ ├─ version: 1.1.2 │ ├─ description: Turn a CSS color into its smallest representation. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ colors@1.1.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/Marak/colors.js │ ├─ publisher: Marak Squires │ ├─ name: colors │ ├─ version: 1.1.2 │ ├─ description: get colors in your node.js console │ └─ licenseText: Original Library - Copyright (c) Marak Squires Additional Functionality - Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ commander@2.9.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/tj/commander.js │ ├─ publisher: TJ Holowaychuk │ ├─ email: tj@vision-media.ca │ ├─ name: commander │ ├─ version: 2.9.0 │ ├─ description: the complete solution for node.js command-line programs │ ├─ licenseText: (The MIT License) Copyright (c) 2011 TJ Holowaychuk Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2011 TJ Holowaychuk ├─ commondir@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/substack/node-commondir │ ├─ publisher: James Halliday │ ├─ email: mail@substack.net │ ├─ url: http://substack.net │ ├─ name: commondir │ ├─ version: 1.0.1 │ ├─ description: compute the closest common parent for file paths │ ├─ licenseText: The MIT License Copyright (c) 2013 James Halliday (mail@substack.net) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 James Halliday (mail@substack.net) ├─ component-type@1.2.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/component/type │ ├─ name: component-type │ ├─ version: 1.2.1 │ ├─ description: Cross-browser type assertions (less broken typeof) │ └─ licenseText: # type Type assertions aka less-broken `typeof`. ## Example ```js var type = require('type'); var obj = new Date; if (type(obj) == 'date') ... ``` ## API ```js type(new Date) == 'date' type({}) == 'object' type(null) == 'null' type(undefined) == 'undefined' type("hey") == 'string' type(true) == 'boolean' type(false) == 'boolean' type(12) == 'number' type(type) == 'function' type(/asdf/) == 'regexp' type((function(){ return arguments })()) == 'arguments' type([]) == 'array' type(document.createElement('div')) == 'element' type(NaN) == 'nan' type(new Error('Ups! Something wrong...')) == 'error' type(new Buffer) == 'buffer' ``` ## License MIT ├─ compressible@2.0.10 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/compressible │ ├─ name: compressible │ ├─ version: 2.0.10 │ ├─ description: Compressible Content-Type / mime checking │ ├─ licenseText: (The MIT License) Copyright (c) 2013 Jonathan Ong Copyright (c) 2014 Jeremiah Senkpiel Copyright (c) 2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Jonathan Ong . Copyright (c) 2014 Jeremiah Senkpiel . Copyright (c) 2015 Douglas Christopher Wilson ├─ compression@1.7.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/expressjs/compression │ ├─ name: compression │ ├─ version: 1.7.0 │ ├─ description: Node.js compression middleware │ ├─ licenseText: (The MIT License) Copyright (c) 2014 Jonathan Ong Copyright (c) 2014-2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Jonathan Ong . Copyright (c) 2014-2015 Douglas Christopher Wilson ├─ concat-map@0.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/substack/node-concat-map │ ├─ publisher: James Halliday │ ├─ email: mail@substack.net │ ├─ url: http://substack.net │ ├─ name: concat-map │ ├─ version: 0.0.1 │ ├─ description: concatenative mapdashery │ └─ licenseText: This software is released under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ connect-history-api-fallback@1.3.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/bripkens/connect-history-api-fallback │ ├─ publisher: Ben Ripkens │ ├─ email: bripkens.dev@gmail.com │ ├─ url: http://bripkens.de │ ├─ name: connect-history-api-fallback │ ├─ version: 1.3.0 │ ├─ description: Provides a fallback for non-existing directories so that the HTML 5 history API can be used. │ ├─ licenseText: The MIT License Copyright (c) 2012 Ben Ripkens http://bripkens.de Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012 Ben Ripkens http://bripkens.de ├─ console-browserify@1.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/Raynos/console-browserify │ ├─ publisher: Raynos │ ├─ email: raynos2@gmail.com │ ├─ name: console-browserify │ ├─ version: 1.1.0 │ ├─ description: Emulate console for all the browsers │ ├─ licenseText: Copyright (c) 2012 Raynos. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012 Raynos. ├─ consolidated-events@1.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/lencioni/consolidated-events │ ├─ publisher: Joe Lencioni │ ├─ email: joe.lencioni@gmail.com │ ├─ name: consolidated-events │ ├─ version: 1.1.0 │ ├─ description: Manage multiple event handlers using few event listeners │ ├─ licenseText: MIT License Copyright (c) 2016 Joe Lencioni Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 Joe Lencioni ├─ constants-browserify@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/juliangruber/constants-browserify │ ├─ publisher: Julian Gruber │ ├─ email: julian@juliangruber.com │ ├─ url: http://juliangruber.com │ ├─ name: constants-browserify │ ├─ version: 1.0.0 │ ├─ description: node's constants module for the browser │ ├─ licenseText: # constants-browserify Node's `constants` module for the browser. [![downloads](https://img.shields.io/npm/dm/constants-browserify.svg)](https://www.npmjs.org/package/constants-browserify) ## Usage To use with browserify cli: ```bash $ browserify -r constants:constants-browserify script.js ``` To use with browserify api: ```js browserify() .require('constants-browserify', { expose: 'constants' }) .add(__dirname + '/script.js') .bundle() // ... ``` ## Installation With [npm](http://npmjs.org) do ```bash $ npm install constants-browserify ``` ## License Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> ├─ content-disposition@0.5.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/content-disposition │ ├─ name: content-disposition │ ├─ version: 0.5.2 │ ├─ description: Create and parse Content-Disposition header │ ├─ licenseText: (The MIT License) Copyright (c) 2014 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Douglas Christopher Wilson ├─ content-type@1.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/content-type │ ├─ publisher: Douglas Christopher Wilson │ ├─ email: doug@somethingdoug.com │ ├─ name: content-type │ ├─ version: 1.0.2 │ ├─ description: Create and parse HTTP Content-Type header │ ├─ licenseText: (The MIT License) Copyright (c) 2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Douglas Christopher Wilson ├─ convert-source-map@1.5.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/thlorenz/convert-source-map │ ├─ publisher: Thorsten Lorenz │ ├─ email: thlorenz@gmx.de │ ├─ url: http://thlorenz.com │ ├─ name: convert-source-map │ ├─ version: 1.5.0 │ ├─ description: Converts a source-map from/to different formats and allows adding/changing properties. │ ├─ licenseText: Copyright 2013 Thorsten Lorenz. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2013 Thorsten Lorenz. . All rights reserved. ├─ cookie-signature@1.0.6 │ ├─ licenses: MIT │ ├─ repository: https://github.com/visionmedia/node-cookie-signature │ ├─ publisher: TJ Holowaychuk │ ├─ email: tj@learnboost.com │ ├─ name: cookie-signature │ ├─ version: 1.0.6 │ ├─ description: Sign and unsign cookies │ ├─ licenseText: # cookie-signature Sign and unsign cookies. ## Example ```js var cookie = require('cookie-signature'); var val = cookie.sign('hello', 'tobiiscool'); val.should.equal('hello.DGDUkGlIkCzPz+C0B064FNgHdEjox7ch8tOBGslZ5QI'); var val = cookie.sign('hello', 'tobiiscool'); cookie.unsign(val, 'tobiiscool').should.equal('hello'); cookie.unsign(val, 'luna').should.be.false; ``` ## License (The MIT License) Copyright (c) 2012 LearnBoost <tj@learnboost.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012 LearnBoost <tj@learnboost.com> ├─ cookie@0.3.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/cookie │ ├─ publisher: Roman Shtylman │ ├─ email: shtylman@gmail.com │ ├─ name: cookie │ ├─ version: 0.3.1 │ ├─ description: HTTP server cookie parsing and serialization │ ├─ licenseText: (The MIT License) Copyright (c) 2012-2014 Roman Shtylman Copyright (c) 2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012-2014 Roman Shtylman . Copyright (c) 2015 Douglas Christopher Wilson ├─ copy-webpack-plugin@4.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/kevlened/copy-webpack-plugin │ ├─ publisher: Len Boyette │ ├─ name: copy-webpack-plugin │ ├─ version: 4.0.1 │ ├─ description: Copy files and directories in webpack │ ├─ licenseText: The MIT License Copyright (c) 2015 Len Boyette Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Len Boyette ├─ core-js@1.2.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/zloirock/core-js │ ├─ name: core-js │ ├─ version: 1.2.7 │ ├─ description: Standard library │ ├─ licenseText: Copyright (c) 2015 Denis Pushkarev Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Denis Pushkarev ├─ core-js@2.4.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/zloirock/core-js │ ├─ name: core-js │ ├─ version: 2.4.1 │ ├─ description: Standard library │ ├─ licenseText: Copyright (c) 2014-2016 Denis Pushkarev Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2016 Denis Pushkarev ├─ core-util-is@1.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/isaacs/core-util-is │ ├─ publisher: Isaac Z. Schlueter │ ├─ email: i@izs.me │ ├─ url: http://blog.izs.me/ │ ├─ name: core-util-is │ ├─ version: 1.0.2 │ ├─ description: The `util.is*` functions introduced in Node v0.12. │ ├─ licenseText: Copyright Node.js contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Node.js contributors. All rights reserved. ├─ create-ecdh@4.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/createECDH │ ├─ publisher: Calvin Metcalf │ ├─ name: create-ecdh │ ├─ version: 4.0.0 │ ├─ description: createECDH but browserifiable │ └─ licenseText: createECDH [![Build Status](https://travis-ci.org/crypto-browserify/createECDH.svg)](https://travis-ci.org/crypto-browserify/createECDH) ==== In io.js or node >= 0.11 this module is just a shortcut to crypto.createECDH. In node <= 0.11 or the browser this is a pure JavaScript implimentation, more specifically a wrapper around [elliptic](https://github.com/indutny/elliptic), to give it the same API as node. `secp256k1`, `secp224r1` (aka p224), `prime256v1` (aka p256, secp256r1), `prime192v1` (aka p192, secp192r1), `secp384r1` (aka p384), `secp521r1` (aka p521) curves all work in both this library and node (though only the highlighted name will work in node). ├─ create-hash@1.1.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/createHash │ ├─ name: create-hash │ ├─ version: 1.1.3 │ ├─ description: create hashes for browserify │ └─ licenseText: create-hash === [![Build Status](https://travis-ci.org/crypto-browserify/createHash.svg)](https://travis-ci.org/crypto-browserify/createHash) Node style hashes for use in the browser, with native hash functions in node. Api is the same as hashes in node: ```js var createHash = require('create-hash'); var hash = createHash('sha224'); hash.update('synchronous write'); //optional encoding parameter hash.digest();// synchronously get result with optional encoding parameter hash.write('write to it as a stream'); hash.end();//remember it's a stream hash.read();//only if you ended it as a stream though ``` To get the JavaScript version even in node do `require('create-hash/browser');` ├─ create-hmac@1.1.6 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/createHmac │ ├─ name: create-hmac │ ├─ version: 1.1.6 │ ├─ description: node style hmacs in the browser │ └─ licenseText: # create-hmac [![NPM Package](https://img.shields.io/npm/v/create-hmac.svg?style=flat-square)](https://www.npmjs.org/package/create-hmac) [![Build Status](https://img.shields.io/travis/crypto-browserify/createHmac.svg?branch=master&style=flat-square)](https://travis-ci.org/crypto-browserify/createHmac) [![Dependency status](https://img.shields.io/david/crypto-browserify/createHmac.svg?style=flat-square)](https://david-dm.org/crypto-browserify/createHmac#info=dependencies) [![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard) Node style HMACs for use in the browser, with native HMAC functions in node. API is the same as HMACs in node: ```js var createHmac = require('create-hmac') var hmac = createHmac('sha224', new Buffer("secret key")) hmac.update('synchronous write') //optional encoding parameter hmac.digest() // synchronously get result with optional encoding parameter hmac.write('write to it as a stream') hmac.end() //remember it's a stream hmac.read() //only if you ended it as a stream though ``` ├─ create-react-class@15.6.0 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/facebook/react │ ├─ name: create-react-class │ ├─ version: 15.6.0 │ ├─ description: Legacy API for creating React components. │ ├─ licenseText: BSD License For React software Copyright (c) 2013-present, Facebook, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name Facebook nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2013-present, Facebook, Inc.. All rights reserved. ├─ crypt@0.0.2 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/pvorb/node-crypt │ ├─ publisher: Paul Vorbach │ ├─ email: paul@vorb.de │ ├─ url: http://vorb.de │ ├─ name: crypt │ ├─ version: 0.0.2 │ ├─ description: utilities for encryption and hashing │ ├─ licenseText: Copyright © 2011, Paul Vorbach. All rights reserved. Copyright © 2009, Jeff Mott. All rights reserved. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name Crypto-JS nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright © 2011, Paul Vorbach. All rights reserved.. Copyright © 2009, Jeff Mott. All rights reserved. ├─ crypto-browserify@3.11.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/crypto-browserify │ ├─ publisher: Dominic Tarr │ ├─ email: dominic.tarr@gmail.com │ ├─ url: dominictarr.com │ ├─ name: crypto-browserify │ ├─ version: 3.11.1 │ ├─ description: implementation of crypto for the browser │ ├─ licenseText: The MIT License Copyright (c) 2013 Dominic Tarr Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Dominic Tarr ├─ css-color-function@1.3.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ianstormtaylor/css-color-function │ ├─ name: css-color-function │ ├─ version: 1.3.0 │ ├─ description: A parser and converter for Tab Atkins's proposed color function in CSS. │ └─ licenseText: # css-color-function A parser and converter for [Tab Atkins](https://github.com/tabatkins)'s [proposed color function](http://dev.w3.org/csswg/css-color/#modifying-colors) in CSS. ## Installation $ npm install css-color-function ## Example ```js var color = require('css-color-function'); color.convert('color(red tint(50%))'); // "rgb(255, 128, 128)" color.parse('color(red blue(+ 30))'); // { // type: 'function', // name: 'color', // arguments: [ // { // type: 'color', // value: 'red' // }, // { // type: 'function', // name: 'blue', // arguments: [ // { // type: 'modifier', // value: '+' // }, // { // type: 'number', // value: '30' // } // ] // } // ] // } ``` ## API ### color.convert(string) Convert a color function CSS `string` into an RGB color string. ### color.parse(string) Parse a color function CSS `string` and return an AST. ## License The MIT License (MIT) Copyright (c) 2013 Ian Storm Taylor <ian@segment.io> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ css-color-names@0.0.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/bahamas10/css-color-names │ ├─ publisher: Dave Eddy │ ├─ email: dave@daveeddy.com │ ├─ url: http://www.daveeddy.com │ ├─ name: css-color-names │ ├─ version: 0.0.4 │ ├─ description: A JSON Object of css color names mapped to their hex value │ └─ licenseText: css-color-names =============== A JSON Object of css color names mapped to their hex value Usage ----- ``` js var csscolors = require('css-color-names'); console.dir(csscolors); ``` yields ``` json { "aqua": "#00ffff", "aliceblue": "#f0f8ff", "antiquewhite": "#faebd7", "black": "#000000", "blue": "#0000ff", ... } ``` How was this list generated? ---------------------------- In the Makefile you'll see a line like this: ./getcolors.sh | ./stringify.js > $(FILE) The first command scrapes a site for the list, and outputs the results separated by newlines. The second command creates the JSON object and outputs it to stdout, which then gets redirected into `css-color-names.json` Installation ------------ npm install css-color-names License ------- MIT ├─ css-in-js-utils@1.0.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/rofrischmann/css-in-js-utils │ ├─ publisher: Robin Frischmann │ ├─ email: robin@rofrischmann.de │ ├─ name: css-in-js-utils │ ├─ version: 1.0.3 │ ├─ description: Useful utility functions for CSS in JS solutions │ ├─ licenseText: MIT License Copyright (c) 2017 Robin Frischmann Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2017 Robin Frischmann ├─ css-loader@0.25.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/css-loader │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: css-loader │ ├─ version: 0.25.0 │ ├─ description: css loader module for webpack │ └─ licenseText: # css loader for webpack ## installation `npm install css-loader --save-dev` ## Usage [Documentation: Using loaders](http://webpack.github.io/docs/using-loaders.html) ``` javascript var css = require("css!./file.css"); // => returns css code from file.css, resolves imports and url(...) ``` `@import` and `url(...)` are interpreted like `require()` and will be resolved by the css-loader. Good loaders for requiring your assets are the [file-loader](https://github.com/webpack/file-loader) and the [url-loader](https://github.com/webpack/url-loader) which you should specify in your config (see below). To be compatible with existing css files (if not in CSS Module mode): * `url(image.png)` => `require("./image.png")` * `url(~module/image.png)` => `require("module/image.png")` ### Example config This webpack config can load css files, embed small png images as Data Urls and jpg images as files. ``` javascript module.exports = { module: { loaders: [ { test: /\.css$/, loader: "style-loader!css-loader" }, { test: /\.png$/, loader: "url-loader?limit=100000" }, { test: /\.jpg$/, loader: "file-loader" } ] } }; ``` ### 'Root-relative' urls For urls that start with a `/`, the default behavior is to not translate them: * `url(/image.png)` => `url(/image.png)` If a `root` query parameter is set, however, it will be prepended to the url and then translated: With a config like: ``` javascript loaders: [ { test: /\.css$/, loader: "style-loader!css-loader?root=." }, ... ] ``` The result is: * `url(/image.png)` => `require("./image.png")` Using 'Root-relative' urls is not recommended. You should only use it for legacy CSS files. ### Local scope By default CSS exports all class names into a global selector scope. Styles can be locally scoped to avoid globally scoping styles. The syntax `:local(.className)` can be used to declare `className` in the local scope. The local identifiers are exported by the module. With `:local` (without brackets) local mode can be switched on for this selector. `:global(.className)` can be used to declare an explicit global selector. With `:global` (without brackets) global mode can be switched on for this selector. The loader replaces local selectors with unique identifiers. The choosen unique identifiers are exported by the module. Example: ``` css :local(.className) { background: red; } :local .className { color: green; } :local(.className .subClass) { color: green; } :local .className .subClass :global(.global-class-name) { color: blue; } ``` is transformed to ``` css ._23_aKvs-b8bW2Vg3fwHozO { background: red; } ._23_aKvs-b8bW2Vg3fwHozO { color: green; } ._23_aKvs-b8bW2Vg3fwHozO ._13LGdX8RMStbBE9w-t0gZ1 { color: green; } ._23_aKvs-b8bW2Vg3fwHozO ._13LGdX8RMStbBE9w-t0gZ1 .global-class-name { color: blue; } ``` and the identifiers are exported: ``` js exports.locals = { className: "_23_aKvs-b8bW2Vg3fwHozO", subClass: "_13LGdX8RMStbBE9w-t0gZ1" } ``` Camelcasing is recommended for local selectors. They are easier to use in the importing javascript module. `url(...)` URLs in block scoped (`:local .abc`) rules behave like requests in modules: * `./file.png` instead of `file.png` * `module/file.png` instead of `~module/file.png` You can use `:local(#someId)`, but this is not recommended. Use classes instead of ids. You can configure the generated ident with the `localIdentName` query parameter (default `[hash:base64]`). Example: `css-loader?localIdentName=[path][name]---[local]---[hash:base64:5]` for easier debugging. Note: For prerendering with extract-text-webpack-plugin you should use `css-loader/locals` instead of `style-loader!css-loader` **in the prerendering bundle**. It doesn't embed CSS but only exports the identifier mappings. ### CSS Modules See [CSS Modules](https://github.com/css-modules/css-modules). The query parameter `modules` enables the **CSS Modules** spec. (`css-loader?modules`) This enables Local scoped CSS by default. (You can switch it off with `:global(...)` or `:global` for selectors and/or rules.) ### Composing CSS classes When declaring a local class name you can compose a local class from another local class name. ``` css :local(.className) { background: red; color: yellow; } :local(.subClass) { composes: className; background: blue; } ``` This doesn't result in any change to the CSS itself but exports multiple class names: ``` js exports.locals = { className: "_23_aKvs-b8bW2Vg3fwHozO", subClass: "_13LGdX8RMStbBE9w-t0gZ1 _23_aKvs-b8bW2Vg3fwHozO" } ``` and CSS is transformed to: ``` css ._23_aKvs-b8bW2Vg3fwHozO { background: red; color: yellow; } ._13LGdX8RMStbBE9w-t0gZ1 { background: blue; } ``` ### Importing local class names To import a local class name from another module: ``` css :local(.continueButton) { composes: button from "library/button.css"; background: red; } ``` ``` css :local(.nameEdit) { composes: edit highlight from "./edit.css"; background: red; } ``` To import from multiple modules use multiple `composes:` rules. ``` css :local(.className) { composes: edit hightlight from "./edit.css"; composes: button from "module/button.css"; composes: classFromThisModule; background: red; } ``` ### SourceMaps To include SourceMaps set the `sourceMap` query param. `require("css-loader?sourceMap!./file.css")` I. e. the extract-text-webpack-plugin can handle them. They are not enabled by default because they expose a runtime overhead and increase in bundle size (JS SourceMap do not). In addition to that relative paths are buggy and you need to use an absolute public path which include the server url. ### importing and chained loaders The query parameter `importLoaders` allow to configure which loaders should be applied to `@import`ed resources. `importLoaders` (int): That many loaders after the css-loader are used to import resources. Examples: ``` js require("style-loader!css-loader?importLoaders=1!autoprefixer-loader!...") // => imported resources are handled this way: require("css-loader?importLoaders=1!autoprefixer-loader!...") require("style-loader!css-loader!stylus-loader!...") // => imported resources are handled this way: require("css-loader!...") ``` This may change in the future, when the module system (i. e. webpack) supports loader matching by origin. ### Minification By default the css-loader minimizes the css if specified by the module system. In some cases the minification is destructive to the css, so you can provide some options to it. cssnano is used for minification and you find a [list of options here](http://cssnano.co/options/). Just provide them as query parameter: i. e. `require("css-loader?-autoprefixer")` to disable removing of deprecated vendor prefixes. You can also disable or enforce minification with the `minimize` query parameter. `require("css-loader?minimize!./file.css")` (enforced) `require("css-loader?-minimize!./file.css")` (disabled) ### Disable behavior `css-loader?-url` disables `url(...)` handling. `css-loader?-import` disables `@import` handling. ### Camel case By default, the exported JSON keys mirror the class names. If you want to camelize class names (useful in Javascript), pass the query parameter `camelCase` to the loader. Example: `css-loader?camelCase` Usage: ```css /* file.css */ .class-name { /* ... */ } ``` ```js // javascript require('file.css').className ``` ## License MIT (http://www.opensource.org/licenses/mit-license.php) ├─ css-select@1.2.0 │ ├─ licenses: BSD* │ ├─ repository: https://github.com/fb55/css-select │ ├─ publisher: Felix Boehm │ ├─ email: me@feedic.com │ ├─ name: css-select │ ├─ version: 1.2.0 │ ├─ description: a CSS selector compiler/engine │ ├─ licenseText: Copyright (c) Felix Böhm All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) Felix Böhm. All rights reserved. ├─ css-selector-tokenizer@0.6.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/css-modules/css-selector-tokenizer │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: css-selector-tokenizer │ ├─ version: 0.6.0 │ ├─ description: Parses and stringifies CSS selectors │ └─ licenseText: # CSS Modules: CSS selector Tokenizer Parses and stringifies CSS selectors. ``` js import Tokenizer from "css-selector-tokenizer"; let input = "a#content.active > div::first-line [data-content], a:not(:visited)"; Tokenizer.parse(input); // === expected let expected = { type: "selectors", nodes: [ { type: "selector", nodes: [ { type: "element", name: "a" }, { type: "id", name: "content" }, { type: "class", name: "active" }, { type: "operator", operator: ">", before: " ", after: " " }, { type: "element", name: "div" }, { type: "pseudo-element", name: "first-line" }, { type: "spacing", value: " " }, { type: "attribute", content: "data-content" }, ] }, { type: "selector", nodes: [ { type: "element", name: "a" }, { type: "nested-pseudo-class", name: "not", nodes: [ { type: "selector", nodes: [ { type: "pseudo-class", name: "visited" } ] } ] } ], before: " " } ] } Tokenizer.stringify(expected) // === input // * => { type: "universal" } // foo|element = { type: "element", name: "element", namespace: "foo" } // *|* = { type: "universal", namespace: "*" } // :has(h1, h2) => { type: "nested-pseudo-class", name: "has", nodes: [ // { // type: "selector", // nodes: [ // { type: "element", name: "h1" } // ] // }, // { // type: "selector", // nodes: [ // { type: "element", name: "h2" } // ], // before: " " // } // ] } ``` ## Building ``` npm install npm test ``` [![Build Status](https://travis-ci.org/css-modules/css-selector-tokenizer.svg?branch=master)](https://travis-ci.org/css-modules/css-selector-tokenizer) * Lines: [![Coverage Status](https://coveralls.io/repos/css-modules/css-selector-tokenizer/badge.svg?branch=master)](https://coveralls.io/r/css-modules/css-selector-tokenizer?branch=master) * Statements: [![codecov.io](http://codecov.io/github/css-modules/css-selector-tokenizer/coverage.svg?branch=master)](http://codecov.io/github/css-modules/css-selector-tokenizer?branch=master) ## Development - `npm autotest` will watch `lib` and `test` for changes and retest ## License MIT ## With thanks - Mark Dalgleish - Glen Maddern - Guy Bedford --- Tobias Koppers, 2015. ├─ css-selector-tokenizer@0.7.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/css-modules/css-selector-tokenizer │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: css-selector-tokenizer │ ├─ version: 0.7.0 │ ├─ description: Parses and stringifies CSS selectors │ └─ licenseText: # CSS Modules: CSS selector Tokenizer Parses and stringifies CSS selectors. ``` js import Tokenizer from "css-selector-tokenizer"; let input = "a#content.active > div::first-line [data-content], a:not(:visited)"; Tokenizer.parse(input); // === expected let expected = { type: "selectors", nodes: [ { type: "selector", nodes: [ { type: "element", name: "a" }, { type: "id", name: "content" }, { type: "class", name: "active" }, { type: "operator", operator: ">", before: " ", after: " " }, { type: "element", name: "div" }, { type: "pseudo-element", name: "first-line" }, { type: "spacing", value: " " }, { type: "attribute", content: "data-content" }, ] }, { type: "selector", nodes: [ { type: "element", name: "a" }, { type: "nested-pseudo-class", name: "not", nodes: [ { type: "selector", nodes: [ { type: "pseudo-class", name: "visited" } ] } ] } ], before: " " } ] } Tokenizer.stringify(expected) // === input // * => { type: "universal" } // foo|element = { type: "element", name: "element", namespace: "foo" } // *|* = { type: "universal", namespace: "*" } // :has(h1, h2) => { type: "nested-pseudo-class", name: "has", nodes: [ // { // type: "selector", // nodes: [ // { type: "element", name: "h1" } // ] // }, // { // type: "selector", // nodes: [ // { type: "element", name: "h2" } // ], // before: " " // } // ] } ``` ## Building ``` npm install npm test ``` [![Build Status](https://travis-ci.org/css-modules/css-selector-tokenizer.svg?branch=master)](https://travis-ci.org/css-modules/css-selector-tokenizer) * Lines: [![Coverage Status](https://coveralls.io/repos/css-modules/css-selector-tokenizer/badge.svg?branch=master)](https://coveralls.io/r/css-modules/css-selector-tokenizer?branch=master) * Statements: [![codecov.io](http://codecov.io/github/css-modules/css-selector-tokenizer/coverage.svg?branch=master)](http://codecov.io/github/css-modules/css-selector-tokenizer?branch=master) ## Development - `npm autotest` will watch `lib` and `test` for changes and retest ## License MIT ## With thanks - Mark Dalgleish - Glen Maddern - Guy Bedford --- Tobias Koppers, 2015. ├─ css-what@2.1.0 │ ├─ licenses: BSD* │ ├─ repository: https://github.com/fb55/css-what │ ├─ publisher: Felix Böhm │ ├─ email: me@feedic.com │ ├─ url: http://feedic.com │ ├─ name: css-what │ ├─ version: 2.1.0 │ ├─ description: a CSS selector parser │ ├─ licenseText: Copyright (c) Felix Böhm All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) Felix Böhm. All rights reserved. ├─ cssesc@0.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/mathiasbynens/cssesc │ ├─ publisher: Mathias Bynens │ ├─ url: http://mathiasbynens.be/ │ ├─ name: cssesc │ ├─ version: 0.1.0 │ ├─ description: A JavaScript library for escaping CSS strings and identifiers while generating the shortest possible ASCII-only output. │ ├─ licenseText: Copyright Mathias Bynens Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Mathias Bynens ├─ cssnano@3.10.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/cssnano │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: cssnano │ ├─ version: 3.10.0 │ ├─ description: A modular minifier, built on top of the PostCSS ecosystem. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ csso@2.3.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/css/csso │ ├─ publisher: Sergey Kryzhanovsky │ ├─ email: skryzhanovsky@ya.ru │ ├─ url: https://github.com/afelix │ ├─ name: csso │ ├─ version: 2.3.2 │ ├─ description: CSSO (CSS Optimizer) is a CSS minifier with structural optimisations │ ├─ licenseText: Copyright (C) 2011-2015 by Sergey Kryzhanovsky Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (C) 2011-2015 by Sergey Kryzhanovsky ├─ currently-unhandled@0.4.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jamestalmage/currently-unhandled │ ├─ publisher: James Talmage │ ├─ email: james@talmage.io │ ├─ url: github.com/jamestalmage │ ├─ name: currently-unhandled │ ├─ version: 0.4.1 │ ├─ description: Track the list of currently unhandled promise rejections. │ ├─ licenseText: The MIT License (MIT) Copyright (c) James Talmage (github.com/jamestalmage) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) James Talmage (github.com/jamestalmage) ├─ date-now@0.1.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/Colingo/date-now │ ├─ publisher: Raynos │ ├─ email: raynos2@gmail.com │ ├─ name: date-now │ ├─ version: 0.1.4 │ ├─ description: A requirable version of Date.now() │ ├─ licenseText: Copyright (c) 2012 Colingo. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012 Colingo. ├─ debug@0.7.4 │ ├─ licenses: MIT* │ ├─ repository: https://github.com/visionmedia/debug │ ├─ publisher: TJ Holowaychuk │ ├─ email: tj@vision-media.ca │ ├─ name: debug │ ├─ version: 0.7.4 │ ├─ description: small debugging utility │ ├─ licenseText: # debug tiny node.js debugging utility modelled after node core's debugging technique. ## Installation ``` $ npm install debug ``` ## Usage With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you're used to work fine. A unique color is selected per-function for visibility. Example _app.js_: ```js var debug = require('debug')('http') , http = require('http') , name = 'My App'; // fake app debug('booting %s', name); http.createServer(function(req, res){ debug(req.method + ' ' + req.url); res.end('hello\n'); }).listen(3000, function(){ debug('listening'); }); // fake worker of some kind require('./worker'); ``` Example _worker.js_: ```js var debug = require('debug')('worker'); setInterval(function(){ debug('doing some work'); }, 1000); ``` The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples: ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png) ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png) ## Millisecond diff When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls. ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png) When stderr is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below: _(NOTE: Debug now uses stderr instead of stdout, so the correct shell command for this example is actually `DEBUG=* node example/worker 2> out &`)_ ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png) ## Conventions If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". ## Wildcards The "*" character may be used as a wildcard. Suppose for example your library has debuggers named "connect:bodyParser", "connect:compress", "connect:session", instead of listing all three with `DEBUG=connect:bodyParser,connect.compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`. You can also exclude specific debuggers by prefixing them with a "-" character. For example, `DEBUG=* -connect:*` would include all debuggers except those starting with "connect:". ## Browser support Debug works in the browser as well, currently persisted by `localStorage`. For example if you have `worker:a` and `worker:b` as shown below, and wish to debug both type `debug.enable('worker:*')` in the console and refresh the page, this will remain until you disable with `debug.disable()`. ```js a = debug('worker:a'); b = debug('worker:b'); setInterval(function(){ a('doing some work'); }, 1000); setInterval(function(){ a('doing some work'); }, 1200); ``` ## License (The MIT License) Copyright (c) 2011 TJ Holowaychuk <tj@vision-media.ca> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2011 TJ Holowaychuk <tj@vision-media.ca> ├─ debug@2.6.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/visionmedia/debug │ ├─ publisher: TJ Holowaychuk │ ├─ email: tj@vision-media.ca │ ├─ name: debug │ ├─ version: 2.6.7 │ ├─ description: small debugging utility │ ├─ licenseText: (The MIT License) Copyright (c) 2014 TJ Holowaychuk Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 TJ Holowaychuk ├─ debug@2.6.8 │ ├─ licenses: MIT │ ├─ repository: https://github.com/visionmedia/debug │ ├─ publisher: TJ Holowaychuk │ ├─ email: tj@vision-media.ca │ ├─ name: debug │ ├─ version: 2.6.8 │ ├─ description: small debugging utility │ ├─ licenseText: (The MIT License) Copyright (c) 2014 TJ Holowaychuk Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 TJ Holowaychuk ├─ debug@3.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/visionmedia/debug │ ├─ publisher: TJ Holowaychuk │ ├─ email: tj@vision-media.ca │ ├─ name: debug │ ├─ version: 3.1.0 │ ├─ description: small debugging utility │ ├─ licenseText: (The MIT License) Copyright (c) 2014 TJ Holowaychuk Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 TJ Holowaychuk ├─ decamelize@1.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/decamelize │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: decamelize │ ├─ version: 1.2.0 │ ├─ description: Convert a camelized string into a lowercased one with a custom separator: unicornRainbow → unicorn_rainbow │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ deep-equal@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/substack/node-deep-equal │ ├─ publisher: James Halliday │ ├─ email: mail@substack.net │ ├─ url: http://substack.net │ ├─ name: deep-equal │ ├─ version: 1.0.1 │ ├─ description: node's assert.deepEqual algorithm │ └─ licenseText: This software is released under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ defined@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/substack/defined │ ├─ publisher: James Halliday │ ├─ email: mail@substack.net │ ├─ url: http://substack.net │ ├─ name: defined │ ├─ version: 1.0.0 │ ├─ description: return the first argument that is `!== undefined` │ └─ licenseText: This software is released under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ del@3.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/del │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: del │ ├─ version: 3.0.0 │ ├─ description: Delete files and folders │ ├─ licenseText: MIT License Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ depd@1.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/dougwilson/nodejs-depd │ ├─ publisher: Douglas Christopher Wilson │ ├─ email: doug@somethingdoug.com │ ├─ name: depd │ ├─ version: 1.1.0 │ ├─ description: Deprecate all the things │ ├─ licenseText: (The MIT License) Copyright (c) 2014-2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015 Douglas Christopher Wilson ├─ des.js@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/des.js │ ├─ publisher: Fedor Indutny │ ├─ email: fedor@indutny.com │ ├─ name: des.js │ ├─ version: 1.0.0 │ ├─ description: DES implementation │ ├─ licenseText: # DES.js ## LICENSE This software is licensed under the MIT License. Copyright Fedor Indutny, 2015. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Fedor Indutny, 2015. ├─ destroy@1.0.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/stream-utils/destroy │ ├─ publisher: Jonathan Ong │ ├─ email: me@jongleberry.com │ ├─ url: http://jongleberry.com │ ├─ name: destroy │ ├─ version: 1.0.4 │ ├─ description: destroy a stream if possible │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Jonathan Ong me@jongleberry.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Jonathan Ong me@jongleberry.com ├─ detect-indent@4.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/detect-indent │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: detect-indent │ ├─ version: 4.0.0 │ ├─ description: Detect the indentation of code │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ detect-node@2.0.3 │ ├─ licenses: ISC │ ├─ repository: https://github.com/iliakan/detect-node │ ├─ publisher: Ilya Kantor │ ├─ name: detect-node │ ├─ version: 2.0.3 │ ├─ description: Detect Node.JS (as opposite to browser environment) (reliable) │ └─ licenseText: Usage: ```js var isNode = require('detect-node'); if (isNode) { console.log("Running under Node.JS"); } else { alert("Hello from browser (or whatever not-a-node env)"); } ``` The check is performed as: ```js module.exports = false; // Only Node.JS has a process variable that is of [[Class]] process try { module.exports = Object.prototype.toString.call(global.process) === '[object process]' } catch(e) {} ``` Thanks to Ingvar Stepanyan for the initial idea. This check is both **the most reliable I could find** and it does not use `process` env directly, which would cause browserify to include it into the build. ├─ diffie-hellman@5.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/diffie-hellman │ ├─ publisher: Calvin Metcalf │ ├─ name: diffie-hellman │ ├─ version: 5.0.2 │ ├─ description: pure js diffie-hellman │ └─ licenseText: diffie hellman [![Build Status](https://travis-ci.org/crypto-browserify/diffie-hellman.svg)](https://travis-ci.org/crypto-browserify/diffie-hellman) ==== pure js diffie-hellman, same api as node, most hard parts thanks to [bn.js](https://www.npmjs.org/package/bn.js) by [@indutny](https://github.com/indutny). In node just returns an object with `crypto.createDiffieHellman` and `crypto.getDiffieHellman` in the browser returns a shim. To require the pure JavaScript one in node `require('diffie-hellman/browser');`; ├─ dns-equal@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/watson/dns-equal │ ├─ publisher: Thomas Watson Steen │ ├─ email: w@tson.dk │ ├─ url: https://twitter.com/wa7son │ ├─ name: dns-equal │ ├─ version: 1.0.0 │ ├─ description: Compare DNS record strings for equality │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2016 Thomas Watson Steen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 Thomas Watson Steen ├─ dns-packet@1.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/mafintosh/dns-packet │ ├─ publisher: Mathias Buus │ ├─ name: dns-packet │ ├─ version: 1.1.1 │ ├─ description: An abstract-encoding compliant module for encoding / decoding DNS packets │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2016 Mathias Buus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 Mathias Buus ├─ dns-txt@2.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/watson/dns-txt │ ├─ publisher: Thomas Watson Steen │ ├─ email: w@tson.dk │ ├─ url: https://twitter.com/wa7son │ ├─ name: dns-txt │ ├─ version: 2.0.2 │ ├─ description: Encode/decode DNS-SD TXT record RDATA fields │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Thomas Watson Steen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Thomas Watson Steen ├─ dom-converter@0.1.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/AriaMinaei/dom-converter │ ├─ publisher: Aria Minaei │ ├─ name: dom-converter │ ├─ version: 0.1.4 │ ├─ description: converts bare objects to DOM objects or xml representations │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2013 Aria Minaei Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Aria Minaei ├─ dom-helpers@3.2.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jquense/dom-helpers │ ├─ publisher: Jason Quense │ ├─ email: monastic.panic@gmail.com │ ├─ name: dom-helpers │ ├─ version: 3.2.1 │ ├─ description: tiny modular DOM lib for ie8+ │ └─ licenseText: # dom-helpers tiny modular DOM lib for ie8+ ## Install ```sh npm i -S dom-helpers ``` Mostly just naive wrappers around common DOM API inconsistencies, Cross browser work is minimal and mostly taken from jQuery. This library doesn't do a lot to normalize behavior across browsers, it mostly seeks to provide a common interface, and eliminate the need to write the same damn `if (ie8)` statements in every project. For example `events.on` works in all browsers ie8+ but it uses the native event system so actual event oddities will continue to exist. If you need __robust__ cross-browser support, use jQuery. If you are just tired of rewriting: ```js if (document.addEventListener) return (node, eventName, handler, capture) => node.addEventListener(eventName, handler, capture || false); else if (document.attachEvent) return (node, eventName, handler) => node.attachEvent('on' + eventName, handler); ``` over and over again, or you need a ok `getComputedStyle` polyfill but don't want to include all of jQuery, use this. dom-helpers does expect certain, polyfillable, es5 features to be present for which you can use `es5-shim` for ie8 The real advantage to this collection is that any method can be required individually, meaning tools like Browserify or webpack will only include the exact methods you use. This is great for environments where jQuery doesn't make sense, such as `React` where you only occasionally need to do direct DOM manipulation. Each level of the module can be required as a whole or you can drill down for a specific method or section: ```js var helpers = require('dom-helpers') var query = require('dom-helpers/query') var offset = require('dom-helpers/query/offset') // style is a function require('dom-helpers/style')(node, { width: '40px' }) //and a namespace var gcs = require('dom-helpers/style/getComputedStyle') ``` - dom-helpers - `ownerDocument(element)`: returns the element's document owner - `ownerWindow(element)`: returns the element's document window - `activeElement`: return focused element safely - query + `querySelectorAll(element, selector)`: optimized qsa, uses `getElementBy{Id|TagName|ClassName}` if it can. + `contains(container, element)` + `height(element, useClientHeight)` + `width(element, useClientWidth)` + `matches(element, selector)`: `matches()` polyfill that works in ie8 + `offset(element)` -> `{ top: Number, left: Number, top: height, width: Number}` + `offsetParent(element)`: return the parent node that the element is offset from + `position(element, [offsetParent]`: return "offset" of the node to its offsetParent, optionally you can specify the offset parent if different than the "real" one + `scrollTop(element, [value])` + `scrollLeft(element, [value])` + `scrollParent(element)` - class - `addClass(element, className)` - `removeClass(element, className)` - `hasClass(element, className)` - `style(element, propName, [value])` or `style(element, objectOfPropValues)` + `removeStyle(element, styleName)` + `getComputedStyle(element)` -> `getPropertyValue(name)` - transition + `animate(node, properties, duration, easing, callback)` programmatically start css transitions + `end(node, handler, [duration])` listens for transition end, and ensures that the handler if called even if the transition fails to fire its end event. Will attempt to read duration from the element, otherwise one can be provided + `properties`: Object containing the various vendor specific transition and transform properties for your browser ```js { transform: // transform property: 'transform' end: // transitionend property: // transition-property timing: // transition-timing delay: // transition-delay duration: // transition-duration } ``` - events + `on(node, eventName, handler, [capture])`: capture is silently ignored in ie8 + `off(node, eventName, handler, [capture])`: capture is silently ignored in ie8 + `listen(node, eventName, handler, [capture])`: wraps `on` and returns a function that calls `off` for you + `filter(selector, fn)`: returns a function handler that only fires when the target matches or is contained in the selector ex: `events.on(list, 'click', events.filter('li > a', handler))` - util + `requestAnimationFrame(cb)` returns an ID for canceling * `requestAnimationFrame.cancel(id)` + `scrollTo(element, [scrollParent])` ├─ dom-serializer@0.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/cheeriojs/dom-renderer │ ├─ publisher: Felix Boehm │ ├─ email: me@feedic.com │ ├─ name: dom-serializer │ ├─ version: 0.1.0 │ ├─ description: render dom nodes to string │ ├─ licenseText: License (The MIT License) Copyright (c) 2014 The cheeriojs contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 The cheeriojs contributors ├─ dom-walk@0.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/Raynos/dom-walk │ ├─ publisher: Raynos │ ├─ email: raynos2@gmail.com │ ├─ name: dom-walk │ ├─ version: 0.1.1 │ ├─ description: iteratively walk a DOM node │ ├─ licenseText: Copyright (c) 2012 Raynos. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012 Raynos. ├─ domain-browser@1.1.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/bevry/domain-browser │ ├─ publisher: 2013+ Bevry Pty Ltd │ ├─ email: us@bevry.me │ ├─ url: http://bevry.me │ ├─ name: domain-browser │ ├─ version: 1.1.7 │ ├─ description: Node's domain module for the web browser. This is merely an evented try...catch with the same API as node, nothing more. │ └─ licenseText:

License

Unless stated otherwise all works are: and licensed under:

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
├─ domelementtype@1.1.3 │ ├─ licenses: BSD* │ ├─ repository: https://github.com/FB55/domelementtype │ ├─ publisher: Felix Boehm │ ├─ email: me@feedic.com │ ├─ name: domelementtype │ ├─ version: 1.1.3 │ ├─ description: all the types of nodes in htmlparser2's dom │ ├─ licenseText: Copyright (c) Felix Böhm All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) Felix Böhm. All rights reserved. ├─ domhandler@2.1.0 │ ├─ licenses: BSD* │ ├─ repository: https://github.com/fb55/domhandler │ ├─ publisher: Felix Boehm │ ├─ email: me@feedic.com │ ├─ name: domhandler │ ├─ version: 2.1.0 │ ├─ description: handler for htmlparser2 that turns pages into a dom │ ├─ licenseText: Copyright (c) Felix Böhm All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) Felix Böhm. All rights reserved. ├─ domutils@1.1.6 │ ├─ licenses: BSD* │ ├─ repository: https://github.com/FB55/domutils │ ├─ publisher: Felix Boehm │ ├─ email: me@feedic.com │ ├─ name: domutils │ ├─ version: 1.1.6 │ ├─ description: utilities for working with htmlparser2's dom │ ├─ licenseText: Copyright (c) Felix Böhm All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) Felix Böhm. All rights reserved. ├─ domutils@1.5.1 │ ├─ licenses: BSD* │ ├─ repository: https://github.com/FB55/domutils │ ├─ publisher: Felix Boehm │ ├─ email: me@feedic.com │ ├─ name: domutils │ ├─ version: 1.5.1 │ ├─ description: utilities for working with htmlparser2's dom │ ├─ licenseText: Copyright (c) Felix Böhm All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) Felix Böhm. All rights reserved. ├─ ee-first@1.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonathanong/ee-first │ ├─ publisher: Jonathan Ong │ ├─ email: me@jongleberry.com │ ├─ url: http://jongleberry.com │ ├─ name: ee-first │ ├─ version: 1.1.1 │ ├─ description: return the first event in a set of ee/event pairs │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Jonathan Ong me@jongleberry.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Jonathan Ong me@jongleberry.com ├─ electron-to-chromium@1.3.15 │ ├─ licenses: ISC │ ├─ repository: https://github.com/kilian/electron-to-chromium │ ├─ publisher: Kilian Valkhof │ ├─ name: electron-to-chromium │ ├─ version: 1.3.15 │ ├─ description: Provides a list of electron-to-chromium version mappings │ └─ licenseText: # Electron-to-Chromium [![npm](https://img.shields.io/npm/v/electron-to-chromium.svg)](https://www.npmjs.com/package/electron-to-chromium) [![travis](https://img.shields.io/travis/Kilian/electron-to-chromium/master.svg)](https://travis-ci.org/Kilian/electron-to-chromium) [![npm-downloads](https://img.shields.io/npm/dm/electron-to-chromium.svg)](https://www.npmjs.com/package/electron-to-chromium) [![codecov](https://codecov.io/gh/Kilian/electron-to-chromium/branch/master/graph/badge.svg)](https://codecov.io/gh/Kilian/electron-to-chromium) This repository provides a mapping of Electron versions to the Chromium version that it uses. This package is used in [Browserslist](https://github.com/ai/browserslist), so you can use e.g. `electron >= 1.4` in [Autoprefixer](https://github.com/postcss/autoprefixer), [Stylelint](https://github.com/stylelint/stylelint), [babel-preset-env](https://github.com/babel/babel-preset-env) and [eslint-plugin-compat](https://github.com/amilajack/eslint-plugin-compat). ## Install Install using `npm install electron-to-chromium`. ## Usage To include Electron-to-Chromium, require it: ```js var e2c = require('electron-to-chromium'); ``` ### Properties The Electron-to-Chromium object has 4 properties to use: #### `versions` An object of key-value pairs with a _major_ Electron version as the key, and the corresponding major Chromium version as the value. ```js var versions = e2c.versions; console.log(versions['1.4']); // returns "53" ``` #### `fullVersions` An object of key-value pairs with a Electron version as the key, and the corresponding full Chromium version as the value. ```js var versions = e2c.fullVersions; console.log(versions['1.4.11']); // returns "53.0.2785.143" ``` #### `chromiumVersions` An object of key-value pairs with a _major_ Chromium version as the key, and the corresponding major Electron version as the value. ```js var versions = e2c.chromiumVersions; console.log(versions['54']); // returns "1.4" ``` #### `fullChromiumVersions` An object of key-value pairs with a Chromium version as the key, and an array of the corresponding major Electron versions as the value. ```js var versions = e2c.fullChromiumVersions; console.log(versions['54.0.2840.101']); // returns ["1.5.1", "1.5.0"] ``` ### Functions #### `electronToChromium(query)` Arguments: * Query: string or number, required. A major or full Electron version. A function that returns the corresponding Chromium version for a given Electron function. Returns a string. If you provide it with a major Electron version, it will return a major Chromium version: ```js var chromeVersion = e2c.electronToChromium('1.4'); // chromeVersion is "53" ``` If you provide it with a full Electron version, it will return the full Chromium version. ```js var chromeVersion = e2c.electronToChromium('1.4.11'); // chromeVersion is "53.0.2785.143" ``` If a query does not match a Chromium version, it will return `undefined`. ```js var chromeVersion = e2c.electronToChromium('9000'); // chromeVersion is undefined ``` #### `chromiumToElectron(query)` Arguments: * Query: string or number, required. A major or full Chromium version. Returns a string with the corresponding Electron version for a given Chromium query. If you provide it with a major Chromium version, it will return a major Electron version: ```js var electronVersion = e2c.chromiumToElectron('54'); // electronVersion is "1.4" ``` If you provide it with a full Chrome version, it will return an array of full Electron versions. ```js var electronVersions = e2c.chromiumToElectron('56.0.2924.87'); // electronVersions is ["1.6.3", "1.6.2", "1.6.1", "1.6.0"] ``` If a query does not match an Electron version, it will return `undefined`. ```js var electronVersion = e2c.chromiumToElectron('10'); // chromeVersion is undefined ``` #### `electronToBrowserList(query)` **DEPRECATED** Arguments: * Query: string or number, required. A major Electron version. _**Deprecated**: Browserlist already includes electron-to-chromium._ A function that returns a [Browserslist](https://github.com/ai/browserslist) query that matches the given major Electron version. Returns a string. If you provide it with a major Electron version, it will return a Browserlist query string that matches the Chromium capabilities: ```js var query = e2c.electronToBrowserList('1.4'); // query is "Chrome >= 53" ``` If a query does not match a Chromium version, it will return `undefined`. ```js var query = e2c.electronToBrowserList('9000'); // query is undefined ``` ### Importing just versions, fullVersions, chromiumVersions and fullChromiumVersions All lists can be imported on their own, if file size is a concern. #### `versions` ```js var versions = require('electron-to-chromium/versions'); ``` #### `fullVersions` ```js var fullVersions = require('electron-to-chromium/full-versions'); ``` #### `chromiumVersions` ```js var chromiumVersions = require('electron-to-chromium/chromium-versions'); ``` #### `fullChromiumVersions` ```js var fullChromiumVersions = require('electron-to-chromium/full-chromium-versions'); ``` ## Updating This package will be updated with each new Electron release. To update the list, run `npm run build.js`. Requires internet access as it downloads from the canonical list of Electron versions. To verify correct behaviour, run `npm test`. ├─ element-class@0.2.2 │ ├─ licenses: ISC │ ├─ repository: https://github.com/maxogden/element-class │ ├─ publisher: Max Ogden │ ├─ email: max@maxogden.com │ ├─ name: element-class │ ├─ version: 0.2.2 │ ├─ description: add and remove classes from dom elements │ └─ licenseText: # element-class like .addClass, .removeClass .toggleClass and .hasClass from jquery but without dependencies [![testling badge](https://ci.testling.com/maxogden/element-class.png)](https://ci.testling.com/maxogden/element-class) ``` npm install element-class ``` ```javascript var elementClass = require('element-class') // get an element var foo = document.querySelector('.foo') // remove a class elementClass(foo).remove('foo') // add a class elementClass(foo).add('foo') // toggle a class elementClass(foo).toggle('foo') // check if element has a class elementClass(foo).has('foo') ``` ## license BSD ├─ elliptic@6.4.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/elliptic │ ├─ publisher: Fedor Indutny │ ├─ email: fedor@indutny.com │ ├─ name: elliptic │ ├─ version: 6.4.0 │ ├─ description: EC cryptography │ ├─ licenseText: # Elliptic [![Build Status](https://secure.travis-ci.org/indutny/elliptic.png)](http://travis-ci.org/indutny/elliptic) [![Coverage Status](https://coveralls.io/repos/indutny/elliptic/badge.svg?branch=master&service=github)](https://coveralls.io/github/indutny/elliptic?branch=master) [![Code Climate](https://codeclimate.com/github/indutny/elliptic/badges/gpa.svg)](https://codeclimate.com/github/indutny/elliptic) [![Saucelabs Test Status](https://saucelabs.com/browser-matrix/gh-indutny-elliptic.svg)](https://saucelabs.com/u/gh-indutny-elliptic) Fast elliptic-curve cryptography in a plain javascript implementation. NOTE: Please take a look at http://safecurves.cr.yp.to/ before choosing a curve for your cryptography operations. ## Incentive ECC is much slower than regular RSA cryptography, the JS implementations are even more slower. ## Benchmarks ```bash $ node benchmarks/index.js Benchmarking: sign elliptic#sign x 262 ops/sec ±0.51% (177 runs sampled) eccjs#sign x 55.91 ops/sec ±0.90% (144 runs sampled) ------------------------ Fastest is elliptic#sign ======================== Benchmarking: verify elliptic#verify x 113 ops/sec ±0.50% (166 runs sampled) eccjs#verify x 48.56 ops/sec ±0.36% (125 runs sampled) ------------------------ Fastest is elliptic#verify ======================== Benchmarking: gen elliptic#gen x 294 ops/sec ±0.43% (176 runs sampled) eccjs#gen x 62.25 ops/sec ±0.63% (129 runs sampled) ------------------------ Fastest is elliptic#gen ======================== Benchmarking: ecdh elliptic#ecdh x 136 ops/sec ±0.85% (156 runs sampled) ------------------------ Fastest is elliptic#ecdh ======================== ``` ## API ### ECDSA ```javascript var EC = require('elliptic').ec; // Create and initialize EC context // (better do it once and reuse it) var ec = new EC('secp256k1'); // Generate keys var key = ec.genKeyPair(); // Sign message (must be an array, or it'll be treated as a hex sequence) var msg = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]; var signature = key.sign(msg); // Export DER encoded signature in Array var derSign = signature.toDER(); // Verify signature console.log(key.verify(msg, derSign)); // CHECK WITH NO PRIVATE KEY // Public key as '04 + x + y' var pub = '04bb1fa3...'; // Signature MUST be either: // 1) hex-string of DER-encoded signature; or // 2) DER-encoded signature as buffer; or // 3) object with two hex-string properties (r and s) var signature = 'b102ac...'; // case 1 var signature = new Buffer('...'); // case 2 var signature = { r: 'b1fc...', s: '9c42...' }; // case 3 // Import public key var key = ec.keyFromPublic(pub, 'hex'); // Verify signature console.log(key.verify(msg, signature)); ``` ### EdDSA ```javascript var EdDSA = require('elliptic').eddsa; // Create and initialize EdDSA context // (better do it once and reuse it) var ec = new EdDSA('ed25519'); // Create key pair from secret var key = ec.keyFromSecret('693e3c...'); // hex string, array or Buffer // Sign message (must be an array, or it'll be treated as a hex sequence) var msg = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]; var signature = key.sign(msg).toHex(); // Verify signature console.log(key.verify(msg, signature)); // CHECK WITH NO PRIVATE KEY // Import public key var pub = '0a1af638...'; var key = ec.keyFromPublic(pub, 'hex'); // Verify signature var signature = '70bed1...'; console.log(key.verify(msg, signature)); ``` ### ECDH ```javascript var EC = require('elliptic').ec; var ec = new EC('curve25519'); // Generate keys var key1 = ec.genKeyPair(); var key2 = ec.genKeyPair(); var shared1 = key1.derive(key2.getPublic()); var shared2 = key2.derive(key1.getPublic()); console.log('Both shared secrets are BN instances'); console.log(shared1.toString(16)); console.log(shared2.toString(16)); ``` three and more members: ```javascript var EC = require('elliptic').ec; var ec = new EC('curve25519'); var A = ec.genKeyPair(); var B = ec.genKeyPair(); var C = ec.genKeyPair(); var AB = A.getPublic().mul(B.getPrivate()) var BC = B.getPublic().mul(C.getPrivate()) var CA = C.getPublic().mul(A.getPrivate()) var ABC = AB.mul(C.getPrivate()) var BCA = BC.mul(A.getPrivate()) var CAB = CA.mul(B.getPrivate()) console.log(ABC.getX().toString(16)) console.log(BCA.getX().toString(16)) console.log(CAB.getX().toString(16)) ``` NOTE: `.derive()` returns a [BN][1] instance. ## Supported curves Elliptic.js support following curve types: * Short Weierstrass * Montgomery * Edwards * Twisted Edwards Following curve 'presets' are embedded into the library: * `secp256k1` * `p192` * `p224` * `p256` * `p384` * `p521` * `curve25519` * `ed25519` NOTE: That `curve25519` could not be used for ECDSA, use `ed25519` instead. ### Implementation details ECDSA is using deterministic `k` value generation as per [RFC6979][0]. Most of the curve operations are performed on non-affine coordinates (either projective or extended), various windowing techniques are used for different cases. All operations are performed in reduction context using [bn.js][1], hashing is provided by [hash.js][2] ### Related projects * [eccrypto][3]: isomorphic implementation of ECDSA, ECDH and ECIES for both browserify and node (uses `elliptic` for browser and [secp256k1-node][4] for node) #### LICENSE This software is licensed under the MIT License. Copyright Fedor Indutny, 2014. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. [0]: http://tools.ietf.org/html/rfc6979 [1]: https://github.com/indutny/bn.js [2]: https://github.com/indutny/hash.js [3]: https://github.com/bitchan/eccrypto [4]: https://github.com/wanderer/secp256k1-node │ └─ copyright: Copyright Fedor Indutny, 2014. ├─ emojis-list@2.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/kikobeats/emojis-list │ ├─ publisher: Kiko Beats │ ├─ email: josefrancisco.verdu@gmail.com │ ├─ url: https://github.com/Kikobeats │ ├─ name: emojis-list │ ├─ version: 2.1.0 │ ├─ description: Complete list of standard emojis. │ ├─ licenseText: The MIT License (MIT) Copyright © 2015 Kiko Beats Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright © 2015 Kiko Beats ├─ encodeurl@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/pillarjs/encodeurl │ ├─ name: encodeurl │ ├─ version: 1.0.1 │ ├─ description: Encode a URL to a percent-encoded form, excluding already-encoded sequences │ ├─ licenseText: (The MIT License) Copyright (c) 2016 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 Douglas Christopher Wilson ├─ encoding@0.1.12 │ ├─ licenses: MIT │ ├─ repository: https://github.com/andris9/encoding │ ├─ publisher: Andris Reinman │ ├─ name: encoding │ ├─ version: 0.1.12 │ ├─ description: Convert encodings, uses iconv by default and fallbacks to iconv-lite if needed │ ├─ licenseText: Copyright (c) 2012-2014 Andris Reinman Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012-2014 Andris Reinman ├─ enhanced-resolve@3.3.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/enhanced-resolve │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: enhanced-resolve │ ├─ version: 3.3.0 │ ├─ description: Offers a async require.resolve function. It's highly configurable. │ ├─ licenseText: # enhanced-resolve Offers a async require.resolve function. It's highly configurable. ## Features * plugin system * provide a custom filesystem * sync and async node.js filesystems included ## Tests ``` javascript npm test ``` [![Build Status](https://secure.travis-ci.org/webpack/enhanced-resolve.png?branch=master)](http://travis-ci.org/webpack/enhanced-resolve) ## Contributing Take a look at `lib/ResolveFactory.js` to understand how everything fits together. It provides a `createResolver(options)` function and these are the possible options: | Field | Default | Description | | ------------------------ | --------------------------- | ---------------------------------------------------------------------------------- | | modules | ["node_modules"] | A list of directories to resolve modules from, can be absolute path or folder name | | descriptionFiles | ["package.json"] | A list of description files to read from | | plugins | [] | A list of additional resolve plugins which should be applied | | mainFields | ["main"] | A list of main fields in description files | | aliasFields | [] | A list of alias fields in description files | | mainFiles | ["index"] | A list of main files in directories | | extensions | [".js", ".json", ".node"] | A list of extensions which should be tried for files | | enforceExtension | false | Enforce that a extension from extensions must be used | | moduleExtensions | [] | A list of module extensions which should be tried for modules | | enforceModuleExtension | false | Enforce that a extension from moduleExtensions must be used | | alias | [] | A list of module alias configurations or an object which maps key to value | | resolveToContext | false | Resolve to a context instead of a file | | unsafeCache | false | Use this cache object to unsafely cache the successful requests | | cacheWithContext | true | If unsafe cache is enabled, includes `request.context` in the cache key | | cachePredicate | function() { return true }; | A function which decides whether a request should be cached or not. An object is passed to the function with `path` and `request` properties. | | fileSystem | | The file system which should be used | | resolver | undefined | A prepared Resolver to which the plugins are attached | The options are passed from the `resolve` key of your webpack configuration e.g.: ``` resolve: { extensions: ['', '.js', '.jsx'], modules: ['src', 'node_modules'], plugins: [new DirectoryNamedWebpackPlugin()] ... }, ``` ## License Copyright (c) 2012-2016 Tobias Koppers MIT (http://www.opensource.org/licenses/mit-license.php) │ └─ copyright: Copyright (c) 2012-2016 Tobias Koppers ├─ entities@1.1.1 │ ├─ licenses: BSD* │ ├─ repository: https://github.com/fb55/node-entities │ ├─ publisher: Felix Boehm │ ├─ email: me@feedic.com │ ├─ name: entities │ ├─ version: 1.1.1 │ ├─ description: Encode & decode XML/HTML entities with ease │ ├─ licenseText: Copyright (c) Felix Böhm All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) Felix Böhm. All rights reserved. ├─ errno@0.1.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/rvagg/node-errno │ ├─ name: errno │ ├─ version: 0.1.4 │ ├─ description: libuv errno details exposed │ └─ licenseText: # node-errno Better [libuv](https://github.com/libuv/libuv)/[Node.js](https://nodejs.org)/[io.js](https://iojs.org) error handling & reporting. Available in npm as *errno*. * [errno exposed](#errnoexposed) * [Custom errors](#customerrors) ## errno exposed Ever find yourself needing more details about Node.js errors? Me too, so *node-errno* contains the errno mappings direct from libuv so you can use them in your code. **By errno:** ```js require('errno').errno[3] // → { // "errno": 3, // "code": "EACCES", // "description": "permission denied" // } ``` **By code:** ```js require('errno').code.ENOTEMPTY // → { // "errno": 53, // "code": "ENOTEMPTY", // "description": "directory not empty" // } ``` **Make your errors more descriptive:** ```js var errno = require('errno') function errmsg(err) { var str = 'Error: ' // if it's a libuv error then get the description from errno if (errno.errno[err.errno]) str += errno.errno[err.errno].description else str += err.message // if it's a `fs` error then it'll have a 'path' property if (err.path) str += ' [' + err.path + ']' return str } var fs = require('fs') fs.readFile('thisisnotarealfile.txt', function (err, data) { if (err) console.log(errmsg(err)) }) ``` **Use as a command line tool:** ``` ~ $ errno 53 { "errno": 53, "code": "ENOTEMPTY", "description": "directory not empty" } ~ $ errno EROFS { "errno": 56, "code": "EROFS", "description": "read-only file system" } ~ $ errno foo No such errno/code: "foo" ``` Supply no arguments for the full list. Error codes are processed case-insensitive. You will need to install with `npm install errno -g` if you want the `errno` command to be available without supplying a full path to the node_modules installation. ## Custom errors Use `errno.custom.createError()` to create custom `Error` objects to throw around in your Node.js library. Create error heirachies so `instanceof` becomes a useful tool in tracking errors. Call-stack is correctly captured at the time you create an instance of the error object, plus a `cause` property will make available the original error object if you pass one in to the constructor. ```js var create = require('errno').custom.createError var MyError = create('MyError') // inherits from Error var SpecificError = create('SpecificError', MyError) // inherits from MyError var OtherError = create('OtherError', MyError) // use them! if (condition) throw new SpecificError('Eeek! Something bad happened') if (err) return callback(new OtherError(err)) ``` Also available is a `errno.custom.FilesystemError` with in-built access to errno properties: ```js fs.readFile('foo', function (err, data) { if (err) return callback(new errno.custom.FilesystemError(err)) // do something else }) ``` The resulting error object passed through the callback will have the following properties: `code`, `errno`, `path` and `message` will contain a descriptive human-readable message. ## Contributors * [bahamas10](https://github.com/bahamas10) (Dave Eddy) - Added CLI * [ralphtheninja](https://github.com/ralphtheninja) (Lars-Magnus Skog) ## Copyright & Licence *Copyright (c) 2012-2015 [Rod Vagg](https://github.com/rvagg) ([@rvagg](https://twitter.com/rvagg))* Made available under the MIT licence: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ error-ex@1.3.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/qix-/node-error-ex │ ├─ name: error-ex │ ├─ version: 1.3.1 │ ├─ description: Easy error subclassing and stack customization │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 JD Ballard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 JD Ballard ├─ error-stack-parser@1.3.6 │ ├─ licenses: Unlicense │ ├─ repository: https://github.com/stacktracejs/error-stack-parser │ ├─ name: error-stack-parser │ ├─ version: 1.3.6 │ ├─ description: Extract meaning from JS Errors │ └─ licenseText: This is free and unencumbered software released into the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to ├─ escape-html@1.0.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/component/escape-html │ ├─ name: escape-html │ ├─ version: 1.0.3 │ ├─ description: Escape string for use in HTML │ ├─ licenseText: (The MIT License) Copyright (c) 2012-2013 TJ Holowaychuk Copyright (c) 2015 Andreas Lubbe Copyright (c) 2015 Tiancheng "Timothy" Gu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012-2013 TJ Holowaychuk. Copyright (c) 2015 Andreas Lubbe. Copyright (c) 2015 Tiancheng "Timothy" Gu ├─ escape-string-regexp@1.0.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/escape-string-regexp │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: escape-string-regexp │ ├─ version: 1.0.5 │ ├─ description: Escape RegExp special characters │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ esprima@2.7.3 │ ├─ licenses: BSD-2-Clause │ ├─ repository: https://github.com/jquery/esprima │ ├─ publisher: Ariya Hidayat │ ├─ email: ariya.hidayat@gmail.com │ ├─ name: esprima │ ├─ version: 2.7.3 │ ├─ description: ECMAScript parsing infrastructure for multipurpose analysis │ ├─ licenseText: Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved. ├─ esutils@2.0.2 │ ├─ licenses: BSD │ ├─ repository: https://github.com/estools/esutils │ ├─ name: esutils │ ├─ version: 2.0.2 │ ├─ description: utility box for ECMAScript language tools │ └─ licenseText: Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ├─ etag@1.8.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/etag │ ├─ name: etag │ ├─ version: 1.8.0 │ ├─ description: Create simple HTTP ETags │ ├─ licenseText: (The MIT License) Copyright (c) 2014-2016 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2016 Douglas Christopher Wilson ├─ eventemitter3@1.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/primus/eventemitter3 │ ├─ publisher: Arnout Kazemier │ ├─ name: eventemitter3 │ ├─ version: 1.2.0 │ ├─ description: EventEmitter3 focuses on performance while maintaining a Node.js AND browser compatible interface. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Arnout Kazemier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Arnout Kazemier ├─ events@1.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/Gozala/events │ ├─ publisher: Irakli Gozalishvili │ ├─ email: rfobic@gmail.com │ ├─ url: http://jeditoolkit.com │ ├─ name: events │ ├─ version: 1.1.1 │ ├─ description: Node's event emitter for all engines. │ ├─ licenseText: MIT Copyright Joyent, Inc. and other Node contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Joyent, Inc. and other Node contributors. ├─ eventsource@0.1.6 │ ├─ licenses: MIT │ ├─ repository: https://github.com/aslakhellesoy/eventsource-node │ ├─ publisher: Aslak Hellesøy │ ├─ email: aslak.hellesoy@gmail.com │ ├─ name: eventsource │ ├─ version: 0.1.6 │ ├─ description: W3C compliant EventSource client for Node.js │ ├─ licenseText: The MIT License Copyright (c) 2012, 2013, 2014 Aslak Hellesøy Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012, 2013, 2014 Aslak Hellesøy ├─ evp_bytestokey@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/EVP_BytesToKey │ ├─ publisher: Calvin Metcalf │ ├─ email: calvin.metcalf@gmail.com │ ├─ name: evp_bytestokey │ ├─ version: 1.0.0 │ ├─ description: he super secure key derivation algorithm from openssl │ └─ licenseText: EVP_BytesToKey === The super secure [key derivation algorithm from openssl](https://wiki.openssl.org/index.php/Manual:EVP_BytesToKey(3)) (spoiler alert not actually secure, only every use it for compatibility reasons). Api: === ```js var result = EVP_BytesToKey('password', 'salt', keyLen, ivLen); Buffer.isBuffer(result.password); // true Buffer.isBuffer(result.iv); // true ``` ├─ exenv@1.2.0 │ ├─ licenses: BSD* │ ├─ repository: https://github.com/JedWatson/exenv │ ├─ publisher: Jed Watson │ ├─ name: exenv │ ├─ version: 1.2.0 │ ├─ description: React's ExecutionEnvironment module extracted for use in other packages & components │ ├─ licenseText: BSD License For React software Copyright (c) 2013-2015, Facebook, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name Facebook nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2013-2015, Facebook, Inc.. All rights reserved. ├─ expand-brackets@0.1.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/expand-brackets │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: expand-brackets │ ├─ version: 0.1.5 │ ├─ description: Expand POSIX bracket expressions (character classes) in glob patterns. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015-2016, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015-2016, Jon Schlinkert. ├─ expand-range@1.8.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/expand-range │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: expand-range │ ├─ version: 1.8.2 │ ├─ description: Fast, bash-like range expansion. Expand a range of numbers or letters, uppercase or lowercase. See the benchmarks. Used by micromatch. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2016, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2016, Jon Schlinkert. ├─ express@4.15.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/expressjs/express │ ├─ publisher: TJ Holowaychuk │ ├─ email: tj@vision-media.ca │ ├─ name: express │ ├─ version: 4.15.3 │ ├─ description: Fast, unopinionated, minimalist web framework │ ├─ licenseText: (The MIT License) Copyright (c) 2009-2014 TJ Holowaychuk Copyright (c) 2013-2014 Roman Shtylman Copyright (c) 2014-2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2009-2014 TJ Holowaychuk . Copyright (c) 2013-2014 Roman Shtylman . Copyright (c) 2014-2015 Douglas Christopher Wilson ├─ extglob@0.3.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/extglob │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: extglob │ ├─ version: 0.3.2 │ ├─ description: Convert extended globs to regex-compatible strings. Add (almost) the expressive power of regular expressions to glob patterns. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015, Jon Schlinkert. ├─ fastparse@1.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/fastparse │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: fastparse │ ├─ version: 1.1.1 │ ├─ description: A very simple and stupid parser, based on a statemachine and regular expressions. │ └─ licenseText: # fastparse A very simple and stupid parser, based on a statemachine and regular expressions. It's not intended for complex languages. It's intended to easily write a simple parser for a simple language. ## Usage Pass a description of statemachine to the constructor. The description must be in this form: ``` javascript new Parser(description) description is { // The key is the name of the state // The value is an object containing possible transitions "state-name": { // The key is a regular expression // If the regular expression matches the transition is executed // The value can be "true", a other state name or a function "a": true, // true will make the parser stay in the current state "b": "other-state-name", // a string will make the parser transit to a new state "[cde]": function(match, index, matchLength) { // "match" will be the matched string // "index" will be the position in the complete string // "matchLength" will be "match.length" // "this" will be the "context" passed to the "parse" method" // A new state name (string) can be returned return "other-state-name"; }, "([0-9]+)(\\.[0-9]+)?": function(match, first, second, index, matchLength) { // groups can be used in the regular expression // they will match to arguments "first", "second" }, // the parser stops when it cannot match the string anymore // order of keys is the order in which regular expressions are matched // if the javascript runtime preserves the order of keys in an object // (this is not standardized, but it's a de-facto standard) } } ``` The statemachine is compiled down to a single regular expression per state. So basically the parsing work is delegated to the (native) regular expression logic of the javascript runtime. ``` javascript Parser.prototype.parse(initialState: String, parsedString: String, context: Object) ``` `initialState`: state where the parser starts to parse. `parsedString`: the string which should be parsed. `context`: an object which can be used to save state and results. Available as `this` in transition functions. returns `context` ## Example ``` javascript var Parser = require("fastparse"); // A simple parser that extracts @licence ... from comments in a JS file var parser = new Parser({ // The "source" state "source": { // matches comment start "/\\*": "comment", "//": "linecomment", // this would be necessary for a complex language like JS // but omitted here for simplicity // "\"": "string1", // "\'": "string2", // "\/": "regexp" }, // The "comment" state "comment": { "\\*/": "source", "@licen[cs]e\\s((?:[^*\n]|\\*+[^*/\n])*)": function(match, licenseText) { this.licences.push(licenseText.trim()); } }, // The "linecomment" state "linecomment": { "\n": "source", "@licen[cs]e\\s(.*)": function(match, licenseText) { this.licences.push(licenseText.trim()); } } }); var licences = parser.parse("source", sourceCode, { licences: [] }).licences; console.log(licences); ``` ## License MIT (http://www.opensource.org/licenses/mit-license.php) ├─ faye-websocket@0.10.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/faye/faye-websocket-node │ ├─ publisher: James Coglan │ ├─ email: jcoglan@gmail.com │ ├─ url: http://jcoglan.com/ │ ├─ name: faye-websocket │ ├─ version: 0.10.0 │ ├─ description: Standards-compliant WebSocket server and client │ ├─ licenseText: # faye-websocket * Travis CI build: [![Build status](https://secure.travis-ci.org/faye/faye-websocket-node.svg)](http://travis-ci.org/faye/faye-websocket-node) * Autobahn tests: [server](http://faye.jcoglan.com/autobahn/servers/), [client](http://faye.jcoglan.com/autobahn/clients/) This is a general-purpose WebSocket implementation extracted from the [Faye](http://faye.jcoglan.com) project. It provides classes for easily building WebSocket servers and clients in Node. It does not provide a server itself, but rather makes it easy to handle WebSocket connections within an existing [Node](http://nodejs.org/) application. It does not provide any abstraction other than the standard [WebSocket API](http://dev.w3.org/html5/websockets/). It also provides an abstraction for handling [EventSource](http://dev.w3.org/html5/eventsource/) connections, which are one-way connections that allow the server to push data to the client. They are based on streaming HTTP responses and can be easier to access via proxies than WebSockets. ## Installation ``` $ npm install faye-websocket ``` ## Handling WebSocket connections in Node You can handle WebSockets on the server side by listening for HTTP Upgrade requests, and creating a new socket for the request. This socket object exposes the usual WebSocket methods for receiving and sending messages. For example this is how you'd implement an echo server: ```js var WebSocket = require('faye-websocket'), http = require('http'); var server = http.createServer(); server.on('upgrade', function(request, socket, body) { if (WebSocket.isWebSocket(request)) { var ws = new WebSocket(request, socket, body); ws.on('message', function(event) { ws.send(event.data); }); ws.on('close', function(event) { console.log('close', event.code, event.reason); ws = null; }); } }); server.listen(8000); ``` `WebSocket` objects are also duplex streams, so you could replace the `ws.on('message', ...)` line with: ```js ws.pipe(ws); ``` Note that under certain circumstances (notably a draft-76 client connecting through an HTTP proxy), the WebSocket handshake will not be complete after you call `new WebSocket()` because the server will not have received the entire handshake from the client yet. In this case, calls to `ws.send()` will buffer the message in memory until the handshake is complete, at which point any buffered messages will be sent to the client. If you need to detect when the WebSocket handshake is complete, you can use the `onopen` event. If the connection's protocol version supports it, you can call `ws.ping()` to send a ping message and wait for the client's response. This method takes a message string, and an optional callback that fires when a matching pong message is received. It returns `true` if and only if a ping message was sent. If the client does not support ping/pong, this method sends no data and returns `false`. ```js ws.ping('Mic check, one, two', function() { // fires when pong is received }); ``` ## Using the WebSocket client The client supports both the plain-text `ws` protocol and the encrypted `wss` protocol, and has exactly the same interface as a socket you would use in a web browser. On the wire it identifies itself as `hybi-13`. ```js var WebSocket = require('faye-websocket'), ws = new WebSocket.Client('ws://www.example.com/'); ws.on('open', function(event) { console.log('open'); ws.send('Hello, world!'); }); ws.on('message', function(event) { console.log('message', event.data); }); ws.on('close', function(event) { console.log('close', event.code, event.reason); ws = null; }); ``` The WebSocket client also lets you inspect the status and headers of the handshake response via its `statusCode` and `headers` properties. To connect via a proxy, set the `proxy` option to the HTTP origin of the proxy, including any authorization information, custom headers and TLS config you require. Only the `origin` setting is required. ```js var ws = new WebSocket.Client('ws://www.example.com/', [], { proxy: { origin: 'http://username:password@proxy.example.com', headers: {'User-Agent': 'node'}, tls: {cert: fs.readFileSync('client.crt')} } }); ``` The `tls` value is a Node 'TLS options' object that will be passed to [`tls.connect()`](http://nodejs.org/api/tls.html#tls_tls_connect_options_callback). ## Subprotocol negotiation The WebSocket protocol allows peers to select and identify the application protocol to use over the connection. On the client side, you can set which protocols the client accepts by passing a list of protocol names when you construct the socket: ```js var ws = new WebSocket.Client('ws://www.example.com/', ['irc', 'amqp']); ``` On the server side, you can likewise pass in the list of protocols the server supports after the other constructor arguments: ```js var ws = new WebSocket(request, socket, body, ['irc', 'amqp']); ``` If the client and server agree on a protocol, both the client- and server-side socket objects expose the selected protocol through the `ws.protocol` property. ## Protocol extensions faye-websocket is based on the [websocket-extensions](https://github.com/faye/websocket-extensions-node) framework that allows extensions to be negotiated via the `Sec-WebSocket-Extensions` header. To add extensions to a connection, pass an array of extensions to the `:extensions` option. For example, to add [permessage-deflate](https://github.com/faye/permessage-deflate-node): ```js var deflate = require('permessage-deflate'); var ws = new WebSocket(request, socket, body, [], {extensions: [deflate]}); ``` ## Initialization options Both the server- and client-side classes allow an options object to be passed in at initialization time, for example: ```js var ws = new WebSocket(request, socket, body, protocols, options); var ws = new WebSocket.Client(url, protocols, options); ``` `protocols` is an array of subprotocols as described above, or `null`. `options` is an optional object containing any of these fields: * `extensions` - an array of [websocket-extensions](https://github.com/faye/websocket-extensions-node) compatible extensions, as described above * `headers` - an object containing key-value pairs representing HTTP headers to be sent during the handshake process * `maxLength` - the maximum allowed size of incoming message frames, in bytes. The default value is `2^26 - 1`, or 1 byte short of 64 MiB. * `ping` - an integer that sets how often the WebSocket should send ping frames, measured in seconds The client accepts some additional options: * `proxy` - settings for a proxy as described above * `tls` - a Node 'TLS options' object containing TLS settings for the origin server, this will be passed to [`tls.connect()`](http://nodejs.org/api/tls.html#tls_tls_connect_options_callback) * `ca` - (legacy) a shorthand for passing `{tls: {ca: value}}` ## WebSocket API Both server- and client-side `WebSocket` objects support the following API. * `on('open', function(event) {})` fires when the socket connection is established. Event has no attributes. * `on('message', function(event) {})` fires when the socket receives a message. Event has one attribute, `data`, which is either a `String` (for text frames) or a `Buffer` (for binary frames). * `on('error', function(event) {})` fires when there is a protocol error due to bad data sent by the other peer. This event is purely informational, you do not need to implement error recover. * `on('close', function(event) {})` fires when either the client or the server closes the connection. Event has two optional attributes, `code` and `reason`, that expose the status code and message sent by the peer that closed the connection. * `send(message)` accepts either a `String` or a `Buffer` and sends a text or binary message over the connection to the other peer. * `ping(message, function() {})` sends a ping frame with an optional message and fires the callback when a matching pong is received. * `close(code, reason)` closes the connection, sending the given status code and reason text, both of which are optional. * `version` is a string containing the version of the `WebSocket` protocol the connection is using. * `protocol` is a string (which may be empty) identifying the subprotocol the socket is using. ## Handling EventSource connections in Node EventSource connections provide a very similar interface, although because they only allow the server to send data to the client, there is no `onmessage` API. EventSource allows the server to push text messages to the client, where each message has an optional event-type and ID. ```js var WebSocket = require('faye-websocket'), EventSource = WebSocket.EventSource, http = require('http'); var server = http.createServer(); server.on('request', function(request, response) { if (EventSource.isEventSource(request)) { var es = new EventSource(request, response); console.log('open', es.url, es.lastEventId); // Periodically send messages var loop = setInterval(function() { es.send('Hello') }, 1000); es.on('close', function() { clearInterval(loop); es = null; }); } else { // Normal HTTP request response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello'); } }); server.listen(8000); ``` The `send` method takes two optional parameters, `event` and `id`. The default event-type is `'message'` with no ID. For example, to send a `notification` event with ID `99`: ```js es.send('Breaking News!', {event: 'notification', id: '99'}); ``` The `EventSource` object exposes the following properties: * `url` is a string containing the URL the client used to create the EventSource. * `lastEventId` is a string containing the last event ID received by the client. You can use this when the client reconnects after a dropped connection to determine which messages need resending. When you initialize an EventSource with ` new EventSource()`, you can pass configuration options after the `response` parameter. Available options are: * `headers` is an object containing custom headers to be set on the EventSource response. * `retry` is a number that tells the client how long (in seconds) it should wait after a dropped connection before attempting to reconnect. * `ping` is a number that tells the server how often (in seconds) to send 'ping' packets to the client to keep the connection open, to defeat timeouts set by proxies. The client will ignore these messages. For example, this creates a connection that allows access from any origin, pings every 15 seconds and is retryable every 10 seconds if the connection is broken: ```js var es = new EventSource(request, response, { headers: {'Access-Control-Allow-Origin': '*'}, ping: 15, retry: 10 }); ``` You can send a ping message at any time by calling `es.ping()`. Unlike WebSocket, the client does not send a response to this; it is merely to send some data over the wire to keep the connection alive. ## License (The MIT License) Copyright (c) 2010-2015 James Coglan Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2010-2015 James Coglan ├─ faye-websocket@0.11.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/faye/faye-websocket-node │ ├─ publisher: James Coglan │ ├─ email: jcoglan@gmail.com │ ├─ url: http://jcoglan.com/ │ ├─ name: faye-websocket │ ├─ version: 0.11.1 │ ├─ description: Standards-compliant WebSocket server and client │ ├─ licenseText: # faye-websocket * Travis CI build: [![Build status](https://secure.travis-ci.org/faye/faye-websocket-node.svg)](http://travis-ci.org/faye/faye-websocket-node) * Autobahn tests: [server](http://faye.jcoglan.com/autobahn/servers/), [client](http://faye.jcoglan.com/autobahn/clients/) This is a general-purpose WebSocket implementation extracted from the [Faye](http://faye.jcoglan.com) project. It provides classes for easily building WebSocket servers and clients in Node. It does not provide a server itself, but rather makes it easy to handle WebSocket connections within an existing [Node](https://nodejs.org/) application. It does not provide any abstraction other than the standard [WebSocket API](https://html.spec.whatwg.org/multipage/comms.html#network). It also provides an abstraction for handling [EventSource](https://html.spec.whatwg.org/multipage/comms.html#server-sent-events) connections, which are one-way connections that allow the server to push data to the client. They are based on streaming HTTP responses and can be easier to access via proxies than WebSockets. ## Installation ``` $ npm install faye-websocket ``` ## Handling WebSocket connections in Node You can handle WebSockets on the server side by listening for HTTP Upgrade requests, and creating a new socket for the request. This socket object exposes the usual WebSocket methods for receiving and sending messages. For example this is how you'd implement an echo server: ```js var WebSocket = require('faye-websocket'), http = require('http'); var server = http.createServer(); server.on('upgrade', function(request, socket, body) { if (WebSocket.isWebSocket(request)) { var ws = new WebSocket(request, socket, body); ws.on('message', function(event) { ws.send(event.data); }); ws.on('close', function(event) { console.log('close', event.code, event.reason); ws = null; }); } }); server.listen(8000); ``` `WebSocket` objects are also duplex streams, so you could replace the `ws.on('message', ...)` line with: ```js ws.pipe(ws); ``` Note that under certain circumstances (notably a draft-76 client connecting through an HTTP proxy), the WebSocket handshake will not be complete after you call `new WebSocket()` because the server will not have received the entire handshake from the client yet. In this case, calls to `ws.send()` will buffer the message in memory until the handshake is complete, at which point any buffered messages will be sent to the client. If you need to detect when the WebSocket handshake is complete, you can use the `onopen` event. If the connection's protocol version supports it, you can call `ws.ping()` to send a ping message and wait for the client's response. This method takes a message string, and an optional callback that fires when a matching pong message is received. It returns `true` if and only if a ping message was sent. If the client does not support ping/pong, this method sends no data and returns `false`. ```js ws.ping('Mic check, one, two', function() { // fires when pong is received }); ``` ## Using the WebSocket client The client supports both the plain-text `ws` protocol and the encrypted `wss` protocol, and has exactly the same interface as a socket you would use in a web browser. On the wire it identifies itself as `hybi-13`. ```js var WebSocket = require('faye-websocket'), ws = new WebSocket.Client('ws://www.example.com/'); ws.on('open', function(event) { console.log('open'); ws.send('Hello, world!'); }); ws.on('message', function(event) { console.log('message', event.data); }); ws.on('close', function(event) { console.log('close', event.code, event.reason); ws = null; }); ``` The WebSocket client also lets you inspect the status and headers of the handshake response via its `statusCode` and `headers` properties. To connect via a proxy, set the `proxy` option to the HTTP origin of the proxy, including any authorization information, custom headers and TLS config you require. Only the `origin` setting is required. ```js var ws = new WebSocket.Client('ws://www.example.com/', [], { proxy: { origin: 'http://username:password@proxy.example.com', headers: {'User-Agent': 'node'}, tls: {cert: fs.readFileSync('client.crt')} } }); ``` The `tls` value is an object that will be passed to [`tls.connect()`](https://nodejs.org/api/tls.html#tls_tls_connect_options_callback). ## Subprotocol negotiation The WebSocket protocol allows peers to select and identify the application protocol to use over the connection. On the client side, you can set which protocols the client accepts by passing a list of protocol names when you construct the socket: ```js var ws = new WebSocket.Client('ws://www.example.com/', ['irc', 'amqp']); ``` On the server side, you can likewise pass in the list of protocols the server supports after the other constructor arguments: ```js var ws = new WebSocket(request, socket, body, ['irc', 'amqp']); ``` If the client and server agree on a protocol, both the client- and server-side socket objects expose the selected protocol through the `ws.protocol` property. ## Protocol extensions faye-websocket is based on the [websocket-extensions](https://github.com/faye/websocket-extensions-node) framework that allows extensions to be negotiated via the `Sec-WebSocket-Extensions` header. To add extensions to a connection, pass an array of extensions to the `:extensions` option. For example, to add [permessage-deflate](https://github.com/faye/permessage-deflate-node): ```js var deflate = require('permessage-deflate'); var ws = new WebSocket(request, socket, body, [], {extensions: [deflate]}); ``` ## Initialization options Both the server- and client-side classes allow an options object to be passed in at initialization time, for example: ```js var ws = new WebSocket(request, socket, body, protocols, options); var ws = new WebSocket.Client(url, protocols, options); ``` `protocols` is an array of subprotocols as described above, or `null`. `options` is an optional object containing any of these fields: * `extensions` - an array of [websocket-extensions](https://github.com/faye/websocket-extensions-node) compatible extensions, as described above * `headers` - an object containing key-value pairs representing HTTP headers to be sent during the handshake process * `maxLength` - the maximum allowed size of incoming message frames, in bytes. The default value is `2^26 - 1`, or 1 byte short of 64 MiB. * `ping` - an integer that sets how often the WebSocket should send ping frames, measured in seconds The client accepts some additional options: * `proxy` - settings for a proxy as described above * `net` - an object containing settings for the origin server that will be passed to [`net.connect()`](https://nodejs.org/api/net.html#net_socket_connect_options_connectlistener) * `tls` - an object containing TLS settings for the origin server, this will be passed to [`tls.connect()`](https://nodejs.org/api/tls.html#tls_tls_connect_options_callback) * `ca` - (legacy) a shorthand for passing `{tls: {ca: value}}` ## WebSocket API Both server- and client-side `WebSocket` objects support the following API. * `on('open', function(event) {})` fires when the socket connection is established. Event has no attributes. * `on('message', function(event) {})` fires when the socket receives a message. Event has one attribute, `data`, which is either a `String` (for text frames) or a `Buffer` (for binary frames). * `on('error', function(event) {})` fires when there is a protocol error due to bad data sent by the other peer. This event is purely informational, you do not need to implement error recover. * `on('close', function(event) {})` fires when either the client or the server closes the connection. Event has two optional attributes, `code` and `reason`, that expose the status code and message sent by the peer that closed the connection. * `send(message)` accepts either a `String` or a `Buffer` and sends a text or binary message over the connection to the other peer. * `ping(message, function() {})` sends a ping frame with an optional message and fires the callback when a matching pong is received. * `close(code, reason)` closes the connection, sending the given status code and reason text, both of which are optional. * `version` is a string containing the version of the `WebSocket` protocol the connection is using. * `protocol` is a string (which may be empty) identifying the subprotocol the socket is using. ## Handling EventSource connections in Node EventSource connections provide a very similar interface, although because they only allow the server to send data to the client, there is no `onmessage` API. EventSource allows the server to push text messages to the client, where each message has an optional event-type and ID. ```js var WebSocket = require('faye-websocket'), EventSource = WebSocket.EventSource, http = require('http'); var server = http.createServer(); server.on('request', function(request, response) { if (EventSource.isEventSource(request)) { var es = new EventSource(request, response); console.log('open', es.url, es.lastEventId); // Periodically send messages var loop = setInterval(function() { es.send('Hello') }, 1000); es.on('close', function() { clearInterval(loop); es = null; }); } else { // Normal HTTP request response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello'); } }); server.listen(8000); ``` The `send` method takes two optional parameters, `event` and `id`. The default event-type is `'message'` with no ID. For example, to send a `notification` event with ID `99`: ```js es.send('Breaking News!', {event: 'notification', id: '99'}); ``` The `EventSource` object exposes the following properties: * `url` is a string containing the URL the client used to create the EventSource. * `lastEventId` is a string containing the last event ID received by the client. You can use this when the client reconnects after a dropped connection to determine which messages need resending. When you initialize an EventSource with ` new EventSource()`, you can pass configuration options after the `response` parameter. Available options are: * `headers` is an object containing custom headers to be set on the EventSource response. * `retry` is a number that tells the client how long (in seconds) it should wait after a dropped connection before attempting to reconnect. * `ping` is a number that tells the server how often (in seconds) to send 'ping' packets to the client to keep the connection open, to defeat timeouts set by proxies. The client will ignore these messages. For example, this creates a connection that allows access from any origin, pings every 15 seconds and is retryable every 10 seconds if the connection is broken: ```js var es = new EventSource(request, response, { headers: {'Access-Control-Allow-Origin': '*'}, ping: 15, retry: 10 }); ``` You can send a ping message at any time by calling `es.ping()`. Unlike WebSocket, the client does not send a response to this; it is merely to send some data over the wire to keep the connection alive. ## License (The MIT License) Copyright (c) 2010-2017 James Coglan Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2010-2017 James Coglan ├─ fbjs@0.8.12 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/facebook/fbjs │ ├─ name: fbjs │ ├─ version: 0.8.12 │ ├─ description: A collection of utility libraries used by other Facebook JS projects │ ├─ licenseText: BSD License For fbjs software Copyright (c) 2013-present, Facebook, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name Facebook nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2013-present, Facebook, Inc.. All rights reserved. ├─ file-loader@0.11.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/file-loader │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: file-loader │ ├─ version: 0.11.2 │ ├─ description: file loader module for webpack │ ├─ licenseText: Copyright JS Foundation and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright JS Foundation and other contributors ├─ filename-regex@2.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/regexhq/filename-regex │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: filename-regex │ ├─ version: 2.0.1 │ ├─ description: Regular expression for matching file names, with or without extension. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2015, 2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015, 2017, Jon Schlinkert ├─ filesize@3.5.10 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/avoidwork/filesize.js │ ├─ publisher: Jason Mulligan │ ├─ email: jason.mulligan@avoidwork.com │ ├─ name: filesize │ ├─ version: 3.5.10 │ ├─ description: JavaScript library to generate a human readable String describing the file size │ ├─ licenseText: Copyright (c) 2017, Jason Mulligan All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of filesize nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2017, Jason Mulligan. All rights reserved. ├─ fill-range@2.2.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/fill-range │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: fill-range │ ├─ version: 2.2.3 │ ├─ description: Fill in a range of numbers or letters, optionally passing an increment or multiplier to use. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015, Jon Schlinkert. ├─ finalhandler@1.0.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/pillarjs/finalhandler │ ├─ publisher: Douglas Christopher Wilson │ ├─ email: doug@somethingdoug.com │ ├─ name: finalhandler │ ├─ version: 1.0.3 │ ├─ description: Node.js final http responder │ ├─ licenseText: (The MIT License) Copyright (c) 2014-2017 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2017 Douglas Christopher Wilson ├─ find-cache-dir@0.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jamestalmage/find-cache-dir │ ├─ publisher: James Talmage │ ├─ email: james@talmage.io │ ├─ url: github.com/jamestalmage │ ├─ name: find-cache-dir │ ├─ version: 0.1.1 │ ├─ description: My well-made module │ ├─ licenseText: The MIT License (MIT) Copyright (c) James Talmage (github.com/jamestalmage) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) James Talmage (github.com/jamestalmage) ├─ find-up@1.1.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/find-up │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: find-up │ ├─ version: 1.1.2 │ ├─ description: Find a file by walking up parent directories │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ flatten@1.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jesusabdullah/node-flatten │ ├─ publisher: Joshua Holbrook │ ├─ email: josh.holbrook@gmail.com │ ├─ url: http://jesusabdullah.net │ ├─ name: flatten │ ├─ version: 1.0.2 │ ├─ description: Flatten arbitrarily nested arrays into a non-nested list of non-array items │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2016 Joshua Holbrook Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 Joshua Holbrook ├─ follow-redirects@1.5.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/olalonde/follow-redirects │ ├─ publisher: Olivier Lalonde │ ├─ email: olalonde@gmail.com │ ├─ url: http://www.syskall.com │ ├─ name: follow-redirects │ ├─ version: 1.5.1 │ ├─ description: HTTP and HTTPS modules that follow redirects. │ ├─ licenseText: Copyright 2017 Olivier Lalonde , James Talmage , Ruben Verborgh Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2017 Olivier Lalonde , James Talmage , Ruben Verborgh ├─ for-in@1.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/for-in │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: for-in │ ├─ version: 1.0.2 │ ├─ description: Iterate over the own and inherited enumerable properties of an object, and return an object with properties that evaluate to true from the callback. Exit early by returning `false`. JavaScript/Node.js │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2017, Jon Schlinkert ├─ for-own@0.1.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/for-own │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: for-own │ ├─ version: 0.1.5 │ ├─ description: Iterate over the own enumerable properties of an object, and return an object with properties that evaluate to true from the callback. Exit early by returning `false`. JavaScript/Node.js. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2015, 2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015, 2017, Jon Schlinkert ├─ forwarded@0.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/forwarded │ ├─ name: forwarded │ ├─ version: 0.1.0 │ ├─ description: Parse HTTP X-Forwarded-For header │ ├─ licenseText: (The MIT License) Copyright (c) 2014 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Douglas Christopher Wilson ├─ fresh@0.5.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/fresh │ ├─ publisher: TJ Holowaychuk │ ├─ email: tj@vision-media.ca │ ├─ url: http://tjholowaychuk.com │ ├─ name: fresh │ ├─ version: 0.5.0 │ ├─ description: HTTP response freshness testing │ ├─ licenseText: (The MIT License) Copyright (c) 2012 TJ Holowaychuk Copyright (c) 2016-2017 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012 TJ Holowaychuk . Copyright (c) 2016-2017 Douglas Christopher Wilson ├─ fs-extra@0.26.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jprichardson/node-fs-extra │ ├─ publisher: JP Richardson │ ├─ email: jprichardson@gmail.com │ ├─ name: fs-extra │ ├─ version: 0.26.7 │ ├─ description: fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as mkdir -p, cp -r, and rm -rf. │ ├─ licenseText: (The MIT License) Copyright (c) 2011-2016 JP Richardson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2011-2016 JP Richardson ├─ fs-extra@0.30.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jprichardson/node-fs-extra │ ├─ publisher: JP Richardson │ ├─ email: jprichardson@gmail.com │ ├─ name: fs-extra │ ├─ version: 0.30.0 │ ├─ description: fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as mkdir -p, cp -r, and rm -rf. │ ├─ licenseText: (The MIT License) Copyright (c) 2011-2016 JP Richardson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2011-2016 JP Richardson ├─ fs.realpath@1.0.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/isaacs/fs.realpath │ ├─ publisher: Isaac Z. Schlueter │ ├─ email: i@izs.me │ ├─ url: http://blog.izs.me/ │ ├─ name: fs.realpath │ ├─ version: 1.0.0 │ ├─ description: Use node's fs.realpath, but fall back to the JS implementation if the native one fails │ ├─ licenseText: The ISC License Copyright (c) Isaac Z. Schlueter and Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ---- This library bundles a version of the `fs.realpath` and `fs.realpathSync` methods from Node.js v0.10 under the terms of the Node.js MIT license. Node's license follows, also included at the header of `old.js` which contains the licensed code: Copyright Joyent, Inc. and other Node contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Isaac Z. Schlueter and Contributors ├─ function-bind@1.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/Raynos/function-bind │ ├─ publisher: Raynos │ ├─ email: raynos2@gmail.com │ ├─ name: function-bind │ ├─ version: 1.1.0 │ ├─ description: Implementation of Function.prototype.bind │ ├─ licenseText: Copyright (c) 2013 Raynos. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Raynos. ├─ get-caller-file@1.0.2 │ ├─ licenses: ISC │ ├─ repository: https://github.com/stefanpenner/get-caller-file │ ├─ publisher: Stefan Penner │ ├─ name: get-caller-file │ ├─ version: 1.0.2 │ ├─ description: [![Build Status](https://travis-ci.org/ember-cli/ember-cli.svg?branch=master)](https://travis-ci.org/ember-cli/ember-cli) [![Build status](https://ci.appveyor.com/api/projects/status/ol2q94g1932cy14a/branch/master?svg=true)](https://ci.appveyor.com/project/embercli/get-caller-file/branch/master) │ └─ licenseText: # get-caller-file [![Build Status](https://travis-ci.org/ember-cli/ember-cli.svg?branch=master)](https://travis-ci.org/ember-cli/ember-cli) [![Build status](https://ci.appveyor.com/api/projects/status/ol2q94g1932cy14a/branch/master?svg=true)](https://ci.appveyor.com/project/embercli/get-caller-file/branch/master) ├─ get-stdin@4.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/get-stdin │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: http://sindresorhus.com │ ├─ name: get-stdin │ ├─ version: 4.0.1 │ ├─ description: Easier stdin │ └─ licenseText: # get-stdin [![Build Status](https://travis-ci.org/sindresorhus/get-stdin.svg?branch=master)](https://travis-ci.org/sindresorhus/get-stdin) > Easier stdin ## Install ```sh $ npm install --save get-stdin ``` ## Usage ```js // example.js var stdin = require('get-stdin'); stdin(function (data) { console.log(data); //=> unicorns }); ``` ```sh $ echo unicorns | node example.js unicorns ``` ## API ### stdin(callback) Get `stdin` as a string. ### stdin.buffer(callback) Get `stdin` as a buffer. ## License MIT © [Sindre Sorhus](http://sindresorhus.com) ├─ glamor@3.0.0-3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/threepointone/glamor │ ├─ publisher: Sunil Pai │ ├─ email: threepointone@gmail.com │ ├─ name: glamor │ ├─ version: 3.0.0-3 │ ├─ description: inline css for component systems │ └─ licenseText: true ├─ glob-base@0.3.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/glob-base │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: glob-base │ ├─ version: 0.3.0 │ ├─ description: Returns an object with the (non-glob) base path and the actual pattern. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015, Jon Schlinkert. ├─ glob-parent@2.0.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/es128/glob-parent │ ├─ publisher: Elan Shanker │ ├─ name: glob-parent │ ├─ version: 2.0.0 │ ├─ description: Strips glob magic from a string to provide the parent path │ ├─ licenseText: The ISC License Copyright (c) 2015 Elan Shanker Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) 2015 Elan Shanker ├─ glob@6.0.4 │ ├─ licenses: ISC │ ├─ repository: https://github.com/isaacs/node-glob │ ├─ publisher: Isaac Z. Schlueter │ ├─ email: i@izs.me │ ├─ url: http://blog.izs.me/ │ ├─ name: glob │ ├─ version: 6.0.4 │ ├─ description: a little globber │ ├─ licenseText: The ISC License Copyright (c) Isaac Z. Schlueter and Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) Isaac Z. Schlueter and Contributors ├─ glob@7.1.2 │ ├─ licenses: ISC │ ├─ repository: https://github.com/isaacs/node-glob │ ├─ publisher: Isaac Z. Schlueter │ ├─ email: i@izs.me │ ├─ url: http://blog.izs.me/ │ ├─ name: glob │ ├─ version: 7.1.2 │ ├─ description: a little globber │ ├─ licenseText: The ISC License Copyright (c) Isaac Z. Schlueter and Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) Isaac Z. Schlueter and Contributors ├─ global@4.3.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/Raynos/global │ ├─ publisher: Raynos │ ├─ email: raynos2@gmail.com │ ├─ name: global │ ├─ version: 4.3.2 │ ├─ description: Require global variables │ ├─ licenseText: Copyright (c) 2012 Colingo. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012 Colingo. ├─ globals@9.18.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/globals │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: http://sindresorhus.com │ ├─ name: globals │ ├─ version: 9.18.0 │ ├─ description: Global identifiers from different JavaScript environments │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ globby@6.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/globby │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: globby │ ├─ version: 6.1.0 │ ├─ description: Extends `glob` with support for multiple patterns and exposes a Promise API │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ graceful-fs@4.1.11 │ ├─ licenses: ISC │ ├─ repository: https://github.com/isaacs/node-graceful-fs │ ├─ name: graceful-fs │ ├─ version: 4.1.11 │ ├─ description: A drop-in replacement for fs, making various improvements. │ ├─ licenseText: The ISC License Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors ├─ graceful-readlink@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/zhiyelee/graceful-readlink │ ├─ publisher: zhiyelee │ ├─ name: graceful-readlink │ ├─ version: 1.0.1 │ ├─ description: graceful fs.readlink │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Zhiye Li Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Zhiye Li ├─ handle-thing@1.2.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/handle-thing │ ├─ publisher: Fedor Indutny │ ├─ email: fedor@indutny.com │ ├─ name: handle-thing │ ├─ version: 1.2.5 │ ├─ description: Wrap Streams2 instance into a HandleWrap │ ├─ licenseText: # Handle Thing [![Build Status](https://secure.travis-ci.org/indutny/handle-thing.png)](http://travis-ci.org/indutny/handle-thing) [![NPM version](https://badge.fury.io/js/handle-thing.svg)](http://badge.fury.io/js/handle-thing) The right thing when you need it ## LICENSE This software is licensed under the MIT License. Copyright Fedor Indutny, 2015. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Fedor Indutny, 2015. ├─ has-ansi@2.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/has-ansi │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: has-ansi │ ├─ version: 2.0.0 │ ├─ description: Check if a string has ANSI escape codes │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ has-flag@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/has-flag │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: has-flag │ ├─ version: 1.0.0 │ ├─ description: Check if argv has a specific flag │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ has-flag@2.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/has-flag │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: has-flag │ ├─ version: 2.0.0 │ ├─ description: Check if argv has a specific flag │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ has@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/tarruda/has │ ├─ publisher: Thiago de Arruda │ ├─ email: tpadilha84@gmail.com │ ├─ name: has │ ├─ version: 1.0.1 │ ├─ description: Object.prototype.hasOwnProperty.call shortcut │ ├─ licenseText: Copyright (c) 2013 Thiago de Arruda Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Thiago de Arruda ├─ hash-base@2.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/hash-base │ ├─ publisher: Kirill Fomichev │ ├─ email: fanatid@ya.ru │ ├─ url: https://github.com/fanatid │ ├─ name: hash-base │ ├─ version: 2.0.2 │ ├─ description: abstract base class for hash-streams │ └─ licenseText: # hash-base [![NPM Package](https://img.shields.io/npm/v/hash-base.svg?style=flat-square)](https://www.npmjs.org/package/hash-base) [![Build Status](https://img.shields.io/travis/crypto-browserify/hash-base.svg?branch=master&style=flat-square)](https://travis-ci.org/crypto-browserify/hash-base) [![Dependency status](https://img.shields.io/david/crypto-browserify/hash-base.svg?style=flat-square)](https://david-dm.org/crypto-browserify/hash-base#info=dependencies) [![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard) Abstract base class to inherit from if you want to create streams implementing the same API as node crypto [Hash][1] (for [Cipher][2] / [Decipher][3] check [crypto-browserify/cipher-base][4]). ## Example ```js function MyHash () { HashBase.call(64) // in bytes } inherti(MyHash, HashBase) MyHash.prototype._update = function () { // hashing one block with buffer this._block } MyHash.prototype._digest = function () { // create padding and produce result } ``` You also can check [source code](index.js) or [crypto-browserify/md5.js][5] ## LICENSE MIT [1]: https://nodejs.org/api/crypto.html#crypto_class_hash [2]: https://nodejs.org/api/crypto.html#crypto_class_cipher [3]: https://nodejs.org/api/crypto.html#crypto_class_decipher [4]: https://github.com/crypto-browserify/cipher-base [5]: https://github.com/crypto-browserify/md5.js ├─ hash.js@1.1.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/hash.js │ ├─ publisher: Fedor Indutny │ ├─ email: fedor@indutny.com │ ├─ name: hash.js │ ├─ version: 1.1.3 │ ├─ description: Various hash functions that could be run by both browser and node │ ├─ licenseText: # hash.js [![Build Status](https://secure.travis-ci.org/indutny/hash.js.svg)](http://travis-ci.org/indutny/hash.js) Just a bike-shed. ## Install ```sh npm install hash.js ``` ## Usage ```js var hash = require('hash.js') hash.sha256().update('abc').digest('hex') ``` ## Selective hash usage ```js var sha512 = require('hash.js/lib/hash/sha/512'); sha512().update('abc').digest('hex'); ``` #### LICENSE This software is licensed under the MIT License. Copyright Fedor Indutny, 2014. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Fedor Indutny, 2014. ├─ he@1.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/mathiasbynens/he │ ├─ publisher: Mathias Bynens │ ├─ url: https://mathiasbynens.be/ │ ├─ name: he │ ├─ version: 1.1.1 │ ├─ description: A robust HTML entities encoder/decoder with full Unicode support. │ ├─ licenseText: Copyright Mathias Bynens Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Mathias Bynens ├─ hmac-drbg@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/hmac-drbg │ ├─ publisher: Fedor Indutny │ ├─ email: fedor@indutny.com │ ├─ name: hmac-drbg │ ├─ version: 1.0.1 │ ├─ description: Deterministic random bit generator (hmac) │ ├─ licenseText: # hmac-drbg [![Build Status](https://secure.travis-ci.org/indutny/hmac-drbg.svg)](http://travis-ci.org/indutny/hmac-drbg) [![NPM version](https://badge.fury.io/js/hmac-drbg.svg)](http://badge.fury.io/js/hmac-drbg) JS-only implementation of [HMAC DRBG][0]. ## Usage ```js const DRBG = require('hmac-drbg'); const hash = require('hash.js'); const d = new DRBG({ hash: hash.sha256, entropy: '0123456789abcdef', nonce: '0123456789abcdef', pers: '0123456789abcdef' /* or `null` */ }); d.generate(32, 'hex'); ``` #### LICENSE This software is licensed under the MIT License. Copyright Fedor Indutny, 2017. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. [0]: http://csrc.nist.gov/groups/ST/toolkit/documents/rng/HashBlockCipherDRBG.pdf │ └─ copyright: Copyright Fedor Indutny, 2017. ├─ hoist-non-react-statics@1.2.0 │ ├─ licenses: BSD │ ├─ repository: https://github.com/mridgway/hoist-non-react-statics │ ├─ publisher: Michael Ridgway │ ├─ email: mridgway@yahoo-inc.com │ ├─ name: hoist-non-react-statics │ ├─ version: 1.2.0 │ ├─ description: Copies non-react specific statics from a child component to a parent component │ ├─ licenseText: Software License Agreement (BSD License) ======================================== Copyright (c) 2015, Yahoo! Inc. All rights reserved. ---------------------------------------------------- Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Yahoo! Inc. nor the names of YUI's contributors may be used to endorse or promote products derived from this software without specific prior written permission of Yahoo! Inc. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2015, Yahoo! Inc. All rights reserved.. ---------------------------------------------------- ├─ hoist-non-react-statics@2.3.1 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/mridgway/hoist-non-react-statics │ ├─ publisher: Michael Ridgway │ ├─ email: mcridgway@gmail.com │ ├─ name: hoist-non-react-statics │ ├─ version: 2.3.1 │ ├─ description: Copies non-react specific statics from a child component to a parent component │ ├─ licenseText: Software License Agreement (BSD License) ======================================== Copyright (c) 2015, Yahoo! Inc. All rights reserved. ---------------------------------------------------- Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Yahoo! Inc. nor the names of YUI's contributors may be used to endorse or promote products derived from this software without specific prior written permission of Yahoo! Inc. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2015, Yahoo! Inc. All rights reserved.. ---------------------------------------------------- ├─ home-or-tmp@2.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/home-or-tmp │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: home-or-tmp │ ├─ version: 2.0.0 │ ├─ description: Get the user home directory with fallback to the system temp directory │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ hosted-git-info@2.5.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/npm/hosted-git-info │ ├─ publisher: Rebecca Turner │ ├─ email: me@re-becca.org │ ├─ url: http://re-becca.org │ ├─ name: hosted-git-info │ ├─ version: 2.5.0 │ ├─ description: Provides metadata and conversions from repository urls for Github, Bitbucket and Gitlab │ ├─ licenseText: Copyright (c) 2015, Rebecca Turner Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) 2015, Rebecca Turner ├─ hpack.js@2.1.6 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/hpack.js │ ├─ publisher: Fedor Indutny │ ├─ email: fedor@indutny.com │ ├─ name: hpack.js │ ├─ version: 2.1.6 │ ├─ description: HPACK implementation │ ├─ licenseText: # HPACK.js [![Build Status](https://secure.travis-ci.org/indutny/hpack.js.png)](http://travis-ci.org/indutny/hpack.js) [![NPM version](https://badge.fury.io/js/hpack.js.svg)](http://badge.fury.io/js/hpack.js) Plain-JS implementation of [HPACK][0]. ## Usage ```javascript var hpack = require('hpack.js'); var comp = hpack.compressor.create({ table: { size: 256 } }); var decomp = hpack.decompressor.create({ table: { size: 256 } }); comp.write([ { name: 'host', value: 'localhost' } ]); var raw = comp.read(); console.log(raw); // decomp.write(raw); decomp.execute(); console.log(decomp.read()); // { name: 'host', value: 'localhost', neverIndex: false } ``` #### LICENSE This software is licensed under the MIT License. Copyright Fedor Indutny, 2015. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. [0]: https://tools.ietf.org/html/rfc7541 │ └─ copyright: Copyright Fedor Indutny, 2015. ├─ html-comment-regex@1.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/stevemao/html-comment-regex │ ├─ publisher: Steve Mao │ ├─ email: maochenyan@gmail.com │ ├─ url: https://github.com/stevemao │ ├─ name: html-comment-regex │ ├─ version: 1.1.1 │ ├─ description: Regular expression for matching HTML comments │ └─ licenseText: # [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] > Regular expression for matching HTML comments ## Install ```sh $ npm install --save html-comment-regex ``` ## Usage ```js var htmlCommentRegex = require('html-comment-regex'); htmlCommentRegex.test('Document'); //=> true htmlCommentRegex.test('Document'); //=> false ``` ## License MIT © [Steve Mao](https://github.com/stevemao) [npm-image]: https://badge.fury.io/js/html-comment-regex.svg [npm-url]: https://npmjs.org/package/html-comment-regex [travis-image]: https://travis-ci.org/stevemao/html-comment-regex.svg?branch=master [travis-url]: https://travis-ci.org/stevemao/html-comment-regex ├─ html-entities@1.2.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/mdevils/node-html-entities │ ├─ publisher: Marat Dulin │ ├─ email: mdevils@yandex.ru │ ├─ name: html-entities │ ├─ version: 1.2.1 │ ├─ description: Faster HTML entities encode/decode library. │ ├─ licenseText: Copyright (c) 2013 Dulin Marat Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Dulin Marat ├─ html-minifier@3.5.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/kangax/html-minifier │ ├─ publisher: Juriy "kangax" Zaytsev │ ├─ name: html-minifier │ ├─ version: 3.5.2 │ ├─ description: Highly configurable, well-tested, JavaScript-based HTML minifier. │ ├─ licenseText: Copyright (c) 2010-2016 Juriy "kangax" Zaytsev Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2010-2016 Juriy "kangax" Zaytsev ├─ html-webpack-plugin@2.24.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ampedandwired/html-webpack-plugin │ ├─ publisher: Charles Blaxland │ ├─ email: charles.blaxland@gmail.com │ ├─ url: https://github.com/ampedandwired │ ├─ name: html-webpack-plugin │ ├─ version: 2.24.1 │ ├─ description: Simplifies creation of HTML files to serve your webpack bundles │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Charles Blaxland Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Charles Blaxland ├─ htmlparser2@3.3.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/fb55/htmlparser2 │ ├─ publisher: Felix Boehm │ ├─ email: me@feedic.com │ ├─ name: htmlparser2 │ ├─ version: 3.3.0 │ ├─ description: Fast & forgiving HTML/XML/RSS parser │ ├─ licenseText: Copyright 2010, 2011, Chris Winberry . All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2010, 2011, Chris Winberry . All rights reserved.. Permission is hereby granted, free of charge, to any person obtaining a copy. of this software and associated documentation files (the "Software"), to. deal in the Software without restriction, including without limitation the. rights to use, copy, modify, merge, publish, distribute, sublicense, and/or. sell copies of the Software, and to permit persons to whom the Software is. furnished to do so, subject to the following conditions:. . The above copyright notice and this permission notice shall be included in. all copies or substantial portions of the Software.. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE. AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER. LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING. FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS. IN THE SOFTWARE. ├─ http-deceiver@1.2.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/http-deceiver │ ├─ publisher: Fedor Indutny │ ├─ email: fedor@indutny.com │ ├─ name: http-deceiver │ ├─ version: 1.2.7 │ ├─ description: Deceive HTTP parser │ ├─ licenseText: # HTTP Deceiver [![Build Status](https://secure.travis-ci.org/indutny/http-deceiver.png)](http://travis-ci.org/indutny/http-deceiver) [![NPM version](https://badge.fury.io/js/http-deceiver.svg)](http://badge.fury.io/js/http-deceiver) Deceive! ## LICENSE This software is licensed under the MIT License. Copyright Fedor Indutny, 2015. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Fedor Indutny, 2015. ├─ http-errors@1.6.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/http-errors │ ├─ publisher: Jonathan Ong │ ├─ email: me@jongleberry.com │ ├─ url: http://jongleberry.com │ ├─ name: http-errors │ ├─ version: 1.6.1 │ ├─ description: Create HTTP error objects │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Jonathan Ong me@jongleberry.com Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Jonathan Ong me@jongleberry.com. Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com ├─ http-proxy-middleware@0.17.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/chimurai/http-proxy-middleware │ ├─ publisher: Steven Chim │ ├─ name: http-proxy-middleware │ ├─ version: 0.17.4 │ ├─ description: The one-liner node.js proxy middleware for connect, express and browser-sync │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Steven Chim Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Steven Chim ├─ http-proxy@1.16.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/nodejitsu/node-http-proxy │ ├─ publisher: Charlie Robbins │ ├─ email: charlie.robbins@gmail.com │ ├─ name: http-proxy │ ├─ version: 1.16.2 │ ├─ description: HTTP proxying for the masses │ └─ licenseText: node-http-proxy Copyright (c) 2010-2016 Charlie Robbins, Jarrett Cruger & the Contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ https-browserify@0.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/substack/https-browserify │ ├─ publisher: James Halliday │ ├─ email: mail@substack.net │ ├─ url: http://substack.net │ ├─ name: https-browserify │ ├─ version: 0.0.1 │ ├─ description: https module compatability for browserify │ └─ licenseText: This software is released under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ hyphenate-style-name@1.0.2 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/rexxars/hyphenate-style-name │ ├─ publisher: Espen Hovlandsdal │ ├─ email: espen@hovlandsdal.com │ ├─ name: hyphenate-style-name │ ├─ version: 1.0.2 │ ├─ description: Hyphenates a camelcased CSS property name │ ├─ licenseText: Copyright (c) 2015, Espen Hovlandsdal All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of hyphenate-style-name nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2015, Espen Hovlandsdal. All rights reserved. ├─ iconv-lite@0.4.15 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ashtuchkin/iconv-lite │ ├─ publisher: Alexander Shtuchkin │ ├─ email: ashtuchkin@gmail.com │ ├─ name: iconv-lite │ ├─ version: 0.4.15 │ ├─ description: Convert character encodings in pure javascript. │ ├─ licenseText: Copyright (c) 2011 Alexander Shtuchkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2011 Alexander Shtuchkin ├─ icss-replace-symbols@1.1.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/css-modules/icss-replace-symbols │ ├─ publisher: Glen Maddern │ ├─ name: icss-replace-symbols │ ├─ version: 1.1.0 │ ├─ description: Replacing symbols during the linking phase of ICSS │ └─ licenseText: [![Build Status](https://img.shields.io/travis/css-modules/icss-replace-symbols/master.svg?style=flat-square)]() # ICSS — Replace Symbols Governs the way tokens are searched & replaced during the linking stage of ICSS loading. This is broken into its own module in case the behaviour needs to be replicated in other PostCSS plugins (i.e. [CSS Modules Constants](https://github.com/css-modules/postcss-modules-constants)) ## API ```js import replaceSymbols from "icss-replace-symbols" replaceSymbols(css, translations) ``` Where: - `css` is the PostCSS tree you're working with - `translations` is an JS object of `symbol: "replacement"` pairs, where all occurrences of `symbol` are replaced with `replacement`. ## Behaviour A symbol is a string of alphanumeric, `-` or `_` characters. A replacement can be any string. They are replaced in the following places: - In the value of a declaration, i.e. `color: my_symbol;` or `box-shadow: 0 0 blur spread shadow-color` - In a media expression i.e. `@media small {}` or `@media screen and not-large {}` ## License ISC --- Glen Maddern, 2015. ├─ ieee754@1.1.8 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/feross/ieee754 │ ├─ publisher: Feross Aboukhadijeh │ ├─ email: feross@feross.org │ ├─ url: http://feross.org │ ├─ name: ieee754 │ ├─ version: 1.1.8 │ ├─ description: Read/write IEEE754 floating point numbers from/to a Buffer or array-like object │ ├─ licenseText: Copyright (c) 2008, Fair Oaks Labs, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Fair Oaks Labs, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2008, Fair Oaks Labs, Inc.. All rights reserved. ├─ indent-string@2.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/indent-string │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: indent-string │ ├─ version: 2.1.0 │ ├─ description: Indent each line in a string │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ indexes-of@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/dominictarr/indexes-of │ ├─ publisher: Dominic Tarr │ ├─ email: dominic.tarr@gmail.com │ ├─ url: dominictarr.com │ ├─ name: indexes-of │ ├─ version: 1.0.1 │ ├─ description: line String/Array#indexOf but return all the indexes in an array │ ├─ licenseText: Copyright (c) 2013 Dominic Tarr Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Dominic Tarr ├─ indexof@0.0.1 │ ├─ licenses: MIT* │ ├─ name: indexof │ ├─ version: 0.0.1 │ ├─ description: Microsoft sucks │ ├─ repository: │ └─ licenseText: # indexOf Lame indexOf thing, thanks microsoft ## Example ```js var index = require('indexof'); index(arr, obj); ``` ## License MIT ├─ inflight@1.0.6 │ ├─ licenses: ISC │ ├─ repository: https://github.com/npm/inflight │ ├─ publisher: Isaac Z. Schlueter │ ├─ email: i@izs.me │ ├─ url: http://blog.izs.me/ │ ├─ name: inflight │ ├─ version: 1.0.6 │ ├─ description: Add callbacks to requests in flight to avoid async duplication │ ├─ licenseText: The ISC License Copyright (c) Isaac Z. Schlueter Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) Isaac Z. Schlueter ├─ inherits@2.0.1 │ ├─ licenses: ISC │ ├─ repository: https://github.com/isaacs/inherits │ ├─ name: inherits │ ├─ version: 2.0.1 │ ├─ description: Browser-friendly inheritance fully compatible with standard node.js inherits() │ ├─ licenseText: The ISC License Copyright (c) Isaac Z. Schlueter Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) Isaac Z. Schlueter ├─ inherits@2.0.3 │ ├─ licenses: ISC │ ├─ repository: https://github.com/isaacs/inherits │ ├─ name: inherits │ ├─ version: 2.0.3 │ ├─ description: Browser-friendly inheritance fully compatible with standard node.js inherits() │ ├─ licenseText: The ISC License Copyright (c) Isaac Z. Schlueter Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) Isaac Z. Schlueter ├─ inline-style-prefixer@3.0.6 │ ├─ licenses: MIT │ ├─ repository: https://github.com/rofrischmann/inline-style-prefixer │ ├─ publisher: Robin Frischmann │ ├─ name: inline-style-prefixer │ ├─ version: 3.0.6 │ ├─ description: Run-time Autoprefixer for JavaScript style objects │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Robin Frischmann Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Robin Frischmann ├─ internal-ip@1.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/internal-ip │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: internal-ip │ ├─ version: 1.2.0 │ ├─ description: Get your internal IPv4 or IPv6 address │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ interpret@1.0.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/tkellen/node-interpret │ ├─ publisher: Tyler Kellen │ ├─ url: http://goingslowly.com/ │ ├─ name: interpret │ ├─ version: 1.0.3 │ ├─ description: A dictionary of file extensions and associated module loaders. │ ├─ licenseText: Copyright (c) 2014 Tyler Kellen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Tyler Kellen ├─ invariant@2.2.2 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/zertosh/invariant │ ├─ publisher: Andres Suarez │ ├─ email: zertosh@gmail.com │ ├─ name: invariant │ ├─ version: 2.2.2 │ ├─ description: invariant │ ├─ licenseText: Copyright (c) 2016, Andres Suarez All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of invariant nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2016, Andres Suarez. All rights reserved. ├─ invert-kv@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/invert-kv │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: http://sindresorhus.com │ ├─ name: invert-kv │ ├─ version: 1.0.0 │ ├─ description: Invert the key/value of an object. Example: {foo: 'bar'} → {bar: 'foo'} │ └─ licenseText: # invert-kv [![Build Status](https://travis-ci.org/sindresorhus/invert-kv.svg?branch=master)](https://travis-ci.org/sindresorhus/invert-kv) > Invert the key/value of an object. Example: `{foo: 'bar'}` → `{bar: 'foo'}` ## Install ```sh $ npm install --save invert-kv ``` ## Usage ```js var invertKv = require('invert-kv'); invertKv({foo: 'bar', unicorn: 'rainbow'}); //=> {bar: 'foo', rainbow: 'unicorn'} ``` ## License MIT © [Sindre Sorhus](http://sindresorhus.com) ├─ ip@1.1.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/node-ip │ ├─ publisher: Fedor Indutny │ ├─ email: fedor@indutny.com │ ├─ name: ip │ ├─ version: 1.1.5 │ ├─ description: [![](https://badge.fury.io/js/ip.svg)](https://www.npmjs.com/package/ip) │ ├─ licenseText: # IP [![](https://badge.fury.io/js/ip.svg)](https://www.npmjs.com/package/ip) IP address utilities for node.js ## Installation ### npm ```shell npm install ip ``` ### git ```shell git clone https://github.com/indutny/node-ip.git ``` ## Usage Get your ip address, compare ip addresses, validate ip addresses, etc. ```js var ip = require('ip'); ip.address() // my ip address ip.isEqual('::1', '::0:1'); // true ip.toBuffer('127.0.0.1') // Buffer([127, 0, 0, 1]) ip.toString(new Buffer([127, 0, 0, 1])) // 127.0.0.1 ip.fromPrefixLen(24) // 255.255.255.0 ip.mask('192.168.1.134', '255.255.255.0') // 192.168.1.0 ip.cidr('192.168.1.134/26') // 192.168.1.128 ip.not('255.255.255.0') // 0.0.0.255 ip.or('192.168.1.134', '0.0.0.255') // 192.168.1.255 ip.isPrivate('127.0.0.1') // true ip.isV4Format('127.0.0.1'); // true ip.isV6Format('::ffff:127.0.0.1'); // true // operate on buffers in-place var buf = new Buffer(128); var offset = 64; ip.toBuffer('127.0.0.1', buf, offset); // [127, 0, 0, 1] at offset 64 ip.toString(buf, offset, 4); // '127.0.0.1' // subnet information ip.subnet('192.168.1.134', '255.255.255.192') // { networkAddress: '192.168.1.128', // firstAddress: '192.168.1.129', // lastAddress: '192.168.1.190', // broadcastAddress: '192.168.1.191', // subnetMask: '255.255.255.192', // subnetMaskLength: 26, // numHosts: 62, // length: 64, // contains: function(addr){...} } ip.cidrSubnet('192.168.1.134/26') // Same as previous. // range checking ip.cidrSubnet('192.168.1.134/26').contains('192.168.1.190') // true // ipv4 long conversion ip.toLong('127.0.0.1'); // 2130706433 ip.fromLong(2130706433); // '127.0.0.1' ``` ### License This software is licensed under the MIT License. Copyright Fedor Indutny, 2012. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Fedor Indutny, 2012. ├─ ipaddr.js@1.3.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/whitequark/ipaddr.js │ ├─ publisher: whitequark │ ├─ email: whitequark@whitequark.org │ ├─ name: ipaddr.js │ ├─ version: 1.3.0 │ ├─ description: A library for manipulating IPv4 and IPv6 addresses in JavaScript. │ ├─ licenseText: Copyright (C) 2011 Peter Zotov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (C) 2011 Peter Zotov ├─ is-absolute-url@2.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/is-absolute-url │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: http://sindresorhus.com │ ├─ name: is-absolute-url │ ├─ version: 2.1.0 │ ├─ description: Check if an URL is absolute │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ is-arrayish@0.2.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/qix-/node-is-arrayish │ ├─ publisher: Qix │ ├─ url: http://github.com/qix- │ ├─ name: is-arrayish │ ├─ version: 0.2.1 │ ├─ description: Determines if an object can be used as an array │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 JD Ballard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 JD Ballard ├─ is-binary-path@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/is-binary-path │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: is-binary-path │ ├─ version: 1.0.1 │ ├─ description: Check if a filepath is a binary file │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ is-buffer@1.1.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/feross/is-buffer │ ├─ publisher: Feross Aboukhadijeh │ ├─ email: feross@feross.org │ ├─ url: http://feross.org/ │ ├─ name: is-buffer │ ├─ version: 1.1.5 │ ├─ description: Determine if an object is a Buffer │ ├─ licenseText: The MIT License (MIT) Copyright (c) Feross Aboukhadijeh Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Feross Aboukhadijeh ├─ is-buffer@1.1.6 │ ├─ licenses: MIT │ ├─ repository: https://github.com/feross/is-buffer │ ├─ publisher: Feross Aboukhadijeh │ ├─ email: feross@feross.org │ ├─ url: http://feross.org/ │ ├─ name: is-buffer │ ├─ version: 1.1.6 │ ├─ description: Determine if an object is a Buffer │ ├─ licenseText: The MIT License (MIT) Copyright (c) Feross Aboukhadijeh Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Feross Aboukhadijeh ├─ is-builtin-module@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/is-builtin-module │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: is-builtin-module │ ├─ version: 1.0.0 │ ├─ description: Check if a string matches the name of a Node.js builtin module │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ is-dotfile@1.0.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/is-dotfile │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: is-dotfile │ ├─ version: 1.0.3 │ ├─ description: Return true if a file path is (or has) a dotfile. Returns false if the path is a dot directory. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015-2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015-2017, Jon Schlinkert ├─ is-equal-shallow@0.1.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/is-equal-shallow │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: is-equal-shallow │ ├─ version: 0.1.3 │ ├─ description: Does a shallow comparison of two objects, returning false if the keys or values differ. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015, Jon Schlinkert. ├─ is-extendable@0.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/is-extendable │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: is-extendable │ ├─ version: 0.1.1 │ ├─ description: Returns true if a value is any of the object types: array, regexp, plain object, function or date. This is useful for determining if a value can be extended, e.g. "can the value have keys?" │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015, Jon Schlinkert. ├─ is-extglob@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/is-extglob │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: is-extglob │ ├─ version: 1.0.0 │ ├─ description: Returns true if a string has an extglob. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015, Jon Schlinkert. ├─ is-extglob@2.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/is-extglob │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: is-extglob │ ├─ version: 2.1.1 │ ├─ description: Returns true if a string has an extglob. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2016, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2016, Jon Schlinkert ├─ is-finite@1.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/is-finite │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: is-finite │ ├─ version: 1.0.2 │ ├─ description: ES2015 Number.isFinite() ponyfill │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ is-fullwidth-code-point@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/is-fullwidth-code-point │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: is-fullwidth-code-point │ ├─ version: 1.0.0 │ ├─ description: Check if the character represented by a given Unicode code point is fullwidth │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ is-glob@2.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/is-glob │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: is-glob │ ├─ version: 2.0.1 │ ├─ description: Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a better user experience. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015, Jon Schlinkert. ├─ is-glob@3.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/is-glob │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: is-glob │ ├─ version: 3.1.0 │ ├─ description: Returns `true` if the given string looks like a glob pattern or an extglob pattern. This makes it easy to create code that only uses external modules like node-glob when necessary, resulting in much faster code execution and initialization time, and a better user experience. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2016, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2016, Jon Schlinkert. ├─ is-number@2.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/is-number │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: is-number │ ├─ version: 2.1.0 │ ├─ description: Returns true if the value is a number. comprehensive tests. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015, Jon Schlinkert. ├─ is-number@3.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/is-number │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: is-number │ ├─ version: 3.0.0 │ ├─ description: Returns true if the value is a number. comprehensive tests. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2016, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2016, Jon Schlinkert ├─ is-path-cwd@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/is-path-cwd │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: http://sindresorhus.com │ ├─ name: is-path-cwd │ ├─ version: 1.0.0 │ ├─ description: Check if a path is CWD │ └─ licenseText: # is-path-cwd [![Build Status](https://travis-ci.org/sindresorhus/is-path-cwd.svg?branch=master)](https://travis-ci.org/sindresorhus/is-path-cwd) > Check if a path is [CWD](http://en.wikipedia.org/wiki/Working_directory) ## Install ```sh $ npm install --save is-path-cwd ``` ## Usage ```js var isPathCwd = require('is-path-cwd'); isPathCwd(process.cwd()); //=> true isPathCwd('unicorn'); //=> false ``` ## License MIT © [Sindre Sorhus](http://sindresorhus.com) ├─ is-path-in-cwd@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/is-path-in-cwd │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: http://sindresorhus.com │ ├─ name: is-path-in-cwd │ ├─ version: 1.0.0 │ ├─ description: Check if a path is in the current working directory │ └─ licenseText: # is-path-in-cwd [![Build Status](https://travis-ci.org/sindresorhus/is-path-in-cwd.svg?branch=master)](https://travis-ci.org/sindresorhus/is-path-in-cwd) > Check if a path is in the [current working directory](http://en.wikipedia.org/wiki/Working_directory) ## Install ```sh $ npm install --save is-path-in-cwd ``` ## Usage ```js var isPathInCwd = require('is-path-in-cwd'); isPathInCwd('unicorn'); //=> true isPathInCwd('../rainbow'); //=> false ``` ## License MIT © [Sindre Sorhus](http://sindresorhus.com) ├─ is-path-inside@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/is-path-inside │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: http://sindresorhus.com │ ├─ name: is-path-inside │ ├─ version: 1.0.0 │ ├─ description: Check if a path is inside another path │ └─ licenseText: # is-path-inside [![Build Status](https://travis-ci.org/sindresorhus/is-path-inside.svg?branch=master)](https://travis-ci.org/sindresorhus/is-path-inside) > Check if a path is inside another path ## Install ```sh $ npm install --save is-path-inside ``` ## Usage ```js var isPathInside = require('is-path-inside'); isPathInside('a/b', 'a/b/c'); //=> true isPathInside('x/y', 'a/b/c'); //=> false isPathInside('a/b/c', 'a/b/c'); //=> false ``` ## License MIT © [Sindre Sorhus](http://sindresorhus.com) ├─ is-plain-obj@1.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/is-plain-obj │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: is-plain-obj │ ├─ version: 1.1.0 │ ├─ description: Check if a value is a plain object │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ is-posix-bracket@0.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/is-posix-bracket │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: is-posix-bracket │ ├─ version: 0.1.1 │ ├─ description: Returns true if the given string is a POSIX bracket expression (POSIX character class). │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015-2016, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015-2016, Jon Schlinkert. ├─ is-primitive@2.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/is-primitive │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: is-primitive │ ├─ version: 2.0.0 │ ├─ description: Returns `true` if the value is a primitive. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015, Jon Schlinkert. ├─ is-retry-allowed@1.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/floatdrop/is-retry-allowed │ ├─ publisher: Vsevolod Strukchinsky │ ├─ email: floatdrop@gmail.com │ ├─ url: github.com/floatdrop │ ├─ name: is-retry-allowed │ ├─ version: 1.1.0 │ ├─ description: My prime module │ ├─ licenseText: The MIT License (MIT) Copyright (c) Vsevolod Strukchinsky (github.com/floatdrop) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Vsevolod Strukchinsky (github.com/floatdrop) ├─ is-stream@1.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/is-stream │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: is-stream │ ├─ version: 1.1.0 │ ├─ description: Check if something is a Node.js stream │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ is-svg@2.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/is-svg │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: is-svg │ ├─ version: 2.1.0 │ ├─ description: Check if a string or buffer is SVG │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ is-utf8@0.2.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/wayfind/is-utf8 │ ├─ publisher: wayfind │ ├─ name: is-utf8 │ ├─ version: 0.2.1 │ ├─ description: Detect if a buffer is utf8 encoded. │ ├─ licenseText: The MIT License (MIT) Copyright (C) 2014 Wei Fanzhe Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (C) 2014 Wei Fanzhe ├─ isarray@0.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/juliangruber/isarray │ ├─ publisher: Julian Gruber │ ├─ email: mail@juliangruber.com │ ├─ url: http://juliangruber.com │ ├─ name: isarray │ ├─ version: 0.0.1 │ ├─ description: Array#isArray for older browsers │ ├─ licenseText: # isarray `Array#isArray` for older browsers. ## Usage ```js var isArray = require('isarray'); console.log(isArray([])); // => true console.log(isArray({})); // => false ``` ## Installation With [npm](http://npmjs.org) do ```bash $ npm install isarray ``` Then bundle for the browser with [browserify](https://github.com/substack/browserify). With [component](http://component.io) do ```bash $ component install juliangruber/isarray ``` ## License (MIT) Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> ├─ isarray@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/juliangruber/isarray │ ├─ publisher: Julian Gruber │ ├─ email: mail@juliangruber.com │ ├─ url: http://juliangruber.com │ ├─ name: isarray │ ├─ version: 1.0.0 │ ├─ description: Array#isArray for older browsers │ ├─ licenseText: # isarray `Array#isArray` for older browsers. [![build status](https://secure.travis-ci.org/juliangruber/isarray.svg)](http://travis-ci.org/juliangruber/isarray) [![downloads](https://img.shields.io/npm/dm/isarray.svg)](https://www.npmjs.org/package/isarray) [![browser support](https://ci.testling.com/juliangruber/isarray.png) ](https://ci.testling.com/juliangruber/isarray) ## Usage ```js var isArray = require('isarray'); console.log(isArray([])); // => true console.log(isArray({})); // => false ``` ## Installation With [npm](http://npmjs.org) do ```bash $ npm install isarray ``` Then bundle for the browser with [browserify](https://github.com/substack/browserify). With [component](http://component.io) do ```bash $ component install juliangruber/isarray ``` ## License (MIT) Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> ├─ isobject@2.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/isobject │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: isobject │ ├─ version: 2.1.0 │ ├─ description: Returns true if the value is an object and not an array or null. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2016, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2016, Jon Schlinkert. ├─ isomorphic-fetch@2.2.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/matthew-andrews/isomorphic-fetch │ ├─ publisher: Matt Andrews │ ├─ email: matt@mattandre.ws │ ├─ name: isomorphic-fetch │ ├─ version: 2.2.1 │ ├─ description: Isomorphic WHATWG Fetch API, for Node & Browserify │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Matt Andrews Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Matt Andrews ├─ join-component@1.1.0 │ ├─ licenses: MIT │ ├─ name: join-component │ ├─ version: 1.1.0 │ ├─ description: Join a list │ ├─ repository: │ └─ licenseText: # join Join a list in a nice human friendly way. ## Installation $ component install component/join ## API - [join(arr)](#joinarr) - [join(arr, str)](#joinarr-str) - [join(arr, str) with Oxford comma](#joinarr-str-with-oxford-comma) # join(arr) should default to "and". ```js join(['foo', 'bar']).should.equal('foo and bar'); ``` # join(arr, str) should join. ```js join([], 'and').should.equal(''); join(['foo'], 'and').should.equal('foo'); join(['foo', 'bar'], 'and').should.equal('foo and bar'); join(['foo', 'bar', 'baz'], 'or').should.equal('foo, bar or baz'); ``` # join(arr, str) with Oxford comma should remove comma with less than 3 items. ```js join([], ', or').should.equal(''); join(['foo'], ', or').should.equal('foo'); join(['foo', 'bar'], ', or').should.equal('foo or bar'); ``` should join with 3 or more items. ```js join(['foo', 'bar', 'baz'], ', and').should.equal('foo, bar, and baz'); ``` ## License MIT ├─ js-base64@2.1.9 │ ├─ licenses: BSD* │ ├─ repository: https://github.com/dankogai/js-base64 │ ├─ publisher: Dan Kogai │ ├─ name: js-base64 │ ├─ version: 2.1.9 │ ├─ description: Yet another Base64 transcoder in pure-JS │ ├─ licenseText: Copyright (c) 2014, Dan Kogai All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of {{{project}}} nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2014, Dan Kogai. All rights reserved. ├─ js-tokens@3.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/lydell/js-tokens │ ├─ publisher: Simon Lydell │ ├─ name: js-tokens │ ├─ version: 3.0.2 │ ├─ description: A regex that tokenizes JavaScript. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014, 2015, 2016, 2017 Simon Lydell Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014, 2015, 2016, 2017 Simon Lydell ├─ js-yaml@3.7.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/nodeca/js-yaml │ ├─ publisher: Vladimir Zapparov │ ├─ email: dervus.grim@gmail.com │ ├─ name: js-yaml │ ├─ version: 3.7.0 │ ├─ description: YAML 1.2 parser and serializer │ ├─ licenseText: (The MIT License) Copyright (C) 2011-2015 by Vitaly Puzrin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (C) 2011-2015 by Vitaly Puzrin ├─ jsesc@0.5.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/mathiasbynens/jsesc │ ├─ publisher: Mathias Bynens │ ├─ url: http://mathiasbynens.be/ │ ├─ name: jsesc │ ├─ version: 0.5.0 │ ├─ description: A JavaScript library for escaping JavaScript strings while generating the shortest possible valid output. │ ├─ licenseText: Copyright Mathias Bynens Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Mathias Bynens ├─ jsesc@1.3.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/mathiasbynens/jsesc │ ├─ publisher: Mathias Bynens │ ├─ url: https://mathiasbynens.be/ │ ├─ name: jsesc │ ├─ version: 1.3.0 │ ├─ description: A JavaScript library for escaping JavaScript strings while generating the shortest possible valid output. │ ├─ licenseText: Copyright Mathias Bynens Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Mathias Bynens ├─ json-loader@0.5.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/json-loader │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: json-loader │ ├─ version: 0.5.4 │ ├─ description: json loader module for webpack │ └─ licenseText: # json loader for webpack ## Installation `npm install json-loader` ## Usage ``` javascript var json = require("json!./file.json"); // => returns file.json content as json parsed object ``` Don't forget to polyfill `require` if you want to use it in node. See `webpack` documentation. ## License MIT (http://www.opensource.org/licenses/mit-license.php) ├─ json-stable-stringify@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/substack/json-stable-stringify │ ├─ publisher: James Halliday │ ├─ email: mail@substack.net │ ├─ url: http://substack.net │ ├─ name: json-stable-stringify │ ├─ version: 1.0.1 │ ├─ description: deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results │ └─ licenseText: This software is released under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ json3@3.3.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/bestiejs/json3 │ ├─ publisher: Kit Cambridge │ ├─ email: github@kitcambridge.be │ ├─ url: http://kitcambridge.be/ │ ├─ name: json3 │ ├─ version: 3.3.2 │ ├─ description: A modern JSON implementation compatible with nearly all JavaScript platforms. │ ├─ licenseText: Copyright (c) 2012-2014 Kit Cambridge. http://kitcambridge.be/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012-2014 Kit Cambridge.. http://kitcambridge.be/ ├─ json5@0.5.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/aseemk/json5 │ ├─ publisher: Aseem Kishore │ ├─ email: aseem.kishore@gmail.com │ ├─ name: json5 │ ├─ version: 0.5.1 │ ├─ description: JSON for the ES5 era. │ ├─ licenseText: MIT License Copyright (c) 2012-2016 Aseem Kishore, and [others](https://github.com/aseemk/json5/contributors). Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012-2016 Aseem Kishore, and [others](https://github.com/aseemk/json5/contributors). ├─ jsonfile@2.4.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jprichardson/node-jsonfile │ ├─ publisher: JP Richardson │ ├─ email: jprichardson@gmail.com │ ├─ name: jsonfile │ ├─ version: 2.4.0 │ ├─ description: Easily read/write JSON files. │ ├─ licenseText: (The MIT License) Copyright (c) 2012-2015, JP Richardson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012-2015, JP Richardson ├─ jsonify@0.0.0 │ ├─ licenses: Public Domain │ ├─ repository: https://github.com/substack/jsonify │ ├─ publisher: Douglas Crockford │ ├─ url: http://crockford.com/ │ ├─ name: jsonify │ ├─ version: 0.0.0 │ ├─ description: JSON without touching any globals │ └─ licenseText: jsonify ======= This module provides Douglas Crockford's JSON implementation without modifying any globals. `stringify` and `parse` are merely exported without respect to whether or not a global `JSON` object exists. methods ======= var json = require('jsonify'); json.parse(source, reviver) --------------------------- Return a new javascript object from a parse of the `source` string. If a `reviver` function is specified, walk the structure passing each name/value pair to `reviver.call(parent, key, value)` to transform the `value` before parsing it. json.stringify(value, replacer, space) -------------------------------------- Return a string representation for `value`. If `replacer` is specified, walk the structure passing each name/value pair to `replacer.call(parent, key, value)` to transform the `value` before stringifying it. If `space` is a number, indent the result by that many spaces. If `space` is a string, use `space` as the indentation. ├─ kind-of@3.2.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/kind-of │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: kind-of │ ├─ version: 3.2.2 │ ├─ description: Get the native type of a value. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2017, Jon Schlinkert ├─ kind-of@4.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/kind-of │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: kind-of │ ├─ version: 4.0.0 │ ├─ description: Get the native type of a value. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2017, Jon Schlinkert ├─ klaw@1.3.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jprichardson/node-klaw │ ├─ publisher: JP Richardson │ ├─ name: klaw │ ├─ version: 1.3.1 │ ├─ description: File system walker with Readable stream interface. │ ├─ licenseText: (The MIT License) Copyright (c) 2015-2016 JP Richardson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015-2016 JP Richardson ├─ lazy-cache@1.0.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/lazy-cache │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: lazy-cache │ ├─ version: 1.0.4 │ ├─ description: Cache requires to be lazy-loaded when needed. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015-2016, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015-2016, Jon Schlinkert. ├─ lcid@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/lcid │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: lcid │ ├─ version: 1.0.0 │ ├─ description: Mapping between standard locale identifiers and Windows locale identifiers (LCID) │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ load-json-file@1.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/load-json-file │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: load-json-file │ ├─ version: 1.1.0 │ ├─ description: Read and parse a JSON file │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ loader-runner@2.3.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/loader-runner │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: loader-runner │ ├─ version: 2.3.0 │ ├─ description: Runs (webpack) loaders │ └─ licenseText: # loader-runner ``` js import { runLoaders } from "loader-runner"; runLoaders({ resource: "/abs/path/to/file.txt?query", // String: Absolute path to the resource (optionally including query string) loaders: ["/abs/path/to/loader.js?query"], // String[]: Absolute paths to the loaders (optionally including query string) // {loader, options}[]: Absolute paths to the loaders with options object context: { minimize: true }, // Additional loader context which is used as base context readResource: fs.readFile.bind(fs) // A function to read the resource // Must have signature function(path, function(err, buffer)) }, function(err, result) { // err: Error? // result.result: Buffer | String // The result // result.resourceBuffer: Buffer // The raw resource as Buffer (useful for SourceMaps) // result.cacheable: Bool // Is the result cacheable or do it require reexecution? // result.fileDependencies: String[] // An array of paths (files) on which the result depends on // result.contextDependencies: String[] // An array of paths (directories) on which the result depends on }) ``` More documentation following... ├─ loader-utils@0.2.17 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/loader-utils │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: loader-utils │ ├─ version: 0.2.17 │ ├─ description: utils for webpack loaders │ ├─ licenseText: (The MIT License) Copyright (c) 2012 - 2015 Tobias Koppers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012 - 2015 Tobias Koppers ├─ loader-utils@1.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/loader-utils │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: loader-utils │ ├─ version: 1.1.0 │ ├─ description: utils for webpack loaders │ ├─ licenseText: Copyright JS Foundation and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright JS Foundation and other contributors ├─ lodash-es@4.17.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/lodash/lodash │ ├─ publisher: John-David Dalton │ ├─ email: john.david.dalton@gmail.com │ ├─ url: http://allyoucanleet.com/ │ ├─ name: lodash-es │ ├─ version: 4.17.4 │ ├─ description: Lodash exported as ES modules. │ ├─ licenseText: Copyright JS Foundation and other contributors Based on Underscore.js, copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision history available at https://github.com/lodash/lodash The following license applies to all parts of this software except as documented below: ==== Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ==== Copyright and related rights for sample code are waived via CC0. Sample code is defined as all source code displayed within the prose of the documentation. CC0: http://creativecommons.org/publicdomain/zero/1.0/ ==== Files located in the node_modules and vendor directories are externally maintained libraries used by this software which have their own licenses; we recommend you read them, as their terms may differ from the terms above. │ └─ copyright: Copyright JS Foundation and other contributors ├─ lodash._createcompounder@3.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/lodash/lodash │ ├─ publisher: John-David Dalton │ ├─ email: john.david.dalton@gmail.com │ ├─ url: http://allyoucanleet.com/ │ ├─ name: lodash._createcompounder │ ├─ version: 3.0.0 │ ├─ description: The modern build of lodash’s internal `createCompounder` as a module. │ ├─ licenseText: Copyright 2012-2015 The Dojo Foundation Based on Underscore.js 1.7.0, copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2012-2015 The Dojo Foundation . Based on Underscore.js 1.7.0, copyright 2009-2015 Jeremy Ashkenas,. DocumentCloud and Investigative Reporters & Editors ├─ lodash._root@3.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/lodash/lodash │ ├─ publisher: John-David Dalton │ ├─ email: john.david.dalton@gmail.com │ ├─ url: http://allyoucanleet.com/ │ ├─ name: lodash._root │ ├─ version: 3.0.1 │ ├─ description: The internal lodash function `root` exported as a module. │ ├─ licenseText: The MIT License (MIT) Copyright 2012-2016 The Dojo Foundation Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2012-2016 The Dojo Foundation . Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas,. DocumentCloud and Investigative Reporters & Editors ├─ lodash.assign@4.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/lodash/lodash │ ├─ publisher: John-David Dalton │ ├─ email: john.david.dalton@gmail.com │ ├─ url: http://allyoucanleet.com/ │ ├─ name: lodash.assign │ ├─ version: 4.2.0 │ ├─ description: The lodash method `_.assign` exported as a module. │ ├─ licenseText: Copyright jQuery Foundation and other contributors Based on Underscore.js, copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision history available at https://github.com/lodash/lodash The following license applies to all parts of this software except as documented below: ==== Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ==== Copyright and related rights for sample code are waived via CC0. Sample code is defined as all source code displayed within the prose of the documentation. CC0: http://creativecommons.org/publicdomain/zero/1.0/ ==== Files located in the node_modules and vendor directories are externally maintained libraries used by this software which have their own licenses; we recommend you read them, as their terms may differ from the terms above. │ └─ copyright: Copyright jQuery Foundation and other contributors ├─ lodash.camelcase@3.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/lodash/lodash │ ├─ publisher: John-David Dalton │ ├─ email: john.david.dalton@gmail.com │ ├─ url: http://allyoucanleet.com/ │ ├─ name: lodash.camelcase │ ├─ version: 3.0.1 │ ├─ description: The modern build of lodash’s `_.camelCase` as a module. │ ├─ licenseText: Copyright 2012-2015 The Dojo Foundation Based on Underscore.js 1.7.0, copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2012-2015 The Dojo Foundation . Based on Underscore.js 1.7.0, copyright 2009-2015 Jeremy Ashkenas,. DocumentCloud and Investigative Reporters & Editors ├─ lodash.deburr@3.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/lodash/lodash │ ├─ publisher: John-David Dalton │ ├─ email: john.david.dalton@gmail.com │ ├─ url: http://allyoucanleet.com/ │ ├─ name: lodash.deburr │ ├─ version: 3.2.0 │ ├─ description: The lodash method `_.deburr` exported as a module. │ ├─ licenseText: Copyright 2012-2016 The Dojo Foundation Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2012-2016 The Dojo Foundation . Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas,. DocumentCloud and Investigative Reporters & Editors ├─ lodash.isstring@4.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/lodash/lodash │ ├─ publisher: John-David Dalton │ ├─ email: john.david.dalton@gmail.com │ ├─ url: http://allyoucanleet.com/ │ ├─ name: lodash.isstring │ ├─ version: 4.0.1 │ ├─ description: The lodash method `_.isString` exported as a module. │ ├─ licenseText: Copyright 2012-2016 The Dojo Foundation Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2012-2016 The Dojo Foundation . Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas,. DocumentCloud and Investigative Reporters & Editors ├─ lodash.memoize@4.1.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/lodash/lodash │ ├─ publisher: John-David Dalton │ ├─ email: john.david.dalton@gmail.com │ ├─ url: http://allyoucanleet.com/ │ ├─ name: lodash.memoize │ ├─ version: 4.1.2 │ ├─ description: The lodash method `_.memoize` exported as a module. │ ├─ licenseText: Copyright jQuery Foundation and other contributors Based on Underscore.js, copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision history available at https://github.com/lodash/lodash The following license applies to all parts of this software except as documented below: ==== Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ==== Copyright and related rights for sample code are waived via CC0. Sample code is defined as all source code displayed within the prose of the documentation. CC0: http://creativecommons.org/publicdomain/zero/1.0/ ==== Files located in the node_modules and vendor directories are externally maintained libraries used by this software which have their own licenses; we recommend you read them, as their terms may differ from the terms above. │ └─ copyright: Copyright jQuery Foundation and other contributors ├─ lodash.uniq@4.5.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/lodash/lodash │ ├─ publisher: John-David Dalton │ ├─ email: john.david.dalton@gmail.com │ ├─ url: http://allyoucanleet.com/ │ ├─ name: lodash.uniq │ ├─ version: 4.5.0 │ ├─ description: The lodash method `_.uniq` exported as a module. │ ├─ licenseText: Copyright jQuery Foundation and other contributors Based on Underscore.js, copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision history available at https://github.com/lodash/lodash The following license applies to all parts of this software except as documented below: ==== Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ==== Copyright and related rights for sample code are waived via CC0. Sample code is defined as all source code displayed within the prose of the documentation. CC0: http://creativecommons.org/publicdomain/zero/1.0/ ==== Files located in the node_modules and vendor directories are externally maintained libraries used by this software which have their own licenses; we recommend you read them, as their terms may differ from the terms above. │ └─ copyright: Copyright jQuery Foundation and other contributors ├─ lodash.words@3.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/lodash/lodash │ ├─ publisher: John-David Dalton │ ├─ email: john.david.dalton@gmail.com │ ├─ url: http://allyoucanleet.com/ │ ├─ name: lodash.words │ ├─ version: 3.2.0 │ ├─ description: The lodash method `_.words` exported as a module. │ ├─ licenseText: Copyright 2012-2016 The Dojo Foundation Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2012-2016 The Dojo Foundation . Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas,. DocumentCloud and Investigative Reporters & Editors ├─ lodash@4.17.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/lodash/lodash │ ├─ publisher: John-David Dalton │ ├─ email: john.david.dalton@gmail.com │ ├─ url: http://allyoucanleet.com/ │ ├─ name: lodash │ ├─ version: 4.17.4 │ ├─ description: Lodash modular utilities. │ ├─ licenseText: Copyright JS Foundation and other contributors Based on Underscore.js, copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors This software consists of voluntary contributions made by many individuals. For exact contribution history, see the revision history available at https://github.com/lodash/lodash The following license applies to all parts of this software except as documented below: ==== Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ==== Copyright and related rights for sample code are waived via CC0. Sample code is defined as all source code displayed within the prose of the documentation. CC0: http://creativecommons.org/publicdomain/zero/1.0/ ==== Files located in the node_modules and vendor directories are externally maintained libraries used by this software which have their own licenses; we recommend you read them, as their terms may differ from the terms above. │ └─ copyright: Copyright JS Foundation and other contributors ├─ longest@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/longest │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: longest │ ├─ version: 1.0.1 │ ├─ description: Get the longest item in an array. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015, Jon Schlinkert. ├─ loose-envify@1.3.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/zertosh/loose-envify │ ├─ publisher: Andres Suarez │ ├─ email: zertosh@gmail.com │ ├─ name: loose-envify │ ├─ version: 1.3.1 │ ├─ description: Fast (and loose) selective `process.env` replacer using js-tokens instead of an AST │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Andres Suarez Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Andres Suarez ├─ loud-rejection@1.6.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/loud-rejection │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: loud-rejection │ ├─ version: 1.6.0 │ ├─ description: Make unhandled promise rejections fail loudly instead of the default silent fail │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ lower-case@1.1.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/blakeembrey/lower-case │ ├─ publisher: Blake Embrey │ ├─ email: hello@blakeembrey.com │ ├─ url: http://blakeembrey.me │ ├─ name: lower-case │ ├─ version: 1.1.4 │ ├─ description: Lowercase a string │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) ├─ macaddress@0.2.8 │ ├─ licenses: MIT │ ├─ repository: https://github.com/scravy/node-macaddress │ ├─ publisher: Julian Fleischer │ ├─ name: macaddress │ ├─ version: 0.2.8 │ ├─ description: Get the MAC addresses (hardware addresses) of the hosts network interfaces. │ └─ licenseText: node-macaddress =============== [![Build Status](https://travis-ci.org/scravy/node-macaddress.svg?branch=master)](https://travis-ci.org/scravy/node-macaddress) Retrieve MAC addresses in Linux, OS X, and Windows. A common misconception about MAC addresses is that every *host* had *one* MAC address, while a host may have *multiple* MAC addresses – since *every network interface* may have its own MAC address. This library allows to discover the MAC address per network interface and chooses an appropriate interface if all you're interested in is *one* MAC address identifying the host system (see `API + Examples` below). **Features:** + works on `Linux`, `Mac OS X`, `Windows`, and on most `UNIX` systems. + `node ≥ 0.12` and `io.js` report MAC addresses in `os.networkInterfaces()` this library utilizes this information when available. + also features a sane replacement for `os.networkInterfaces()` (see `API + Examples` below). + works with stoneage node versions ≥ v0.8 (...) Usage ----- ``` npm install --save macaddress ``` ```JavaScript var macaddress = require('macaddress'); ``` API + Examples -------------- (async) .one(iface, callback) → string (async) .one(callback) → string (async) .all(callback) → { iface: { type: address } } (sync) .networkInterfaces() → { iface: { type: address } } --- ### `.one([iface], callback)` Retrieves the MAC address of the given `iface`. If `iface` is omitted, this function automatically chooses an appropriate device (e.g. `eth0` in Linux, `en0` in OS X, etc.). **Without `iface` parameter:** ```JavaScript macaddress.one(function (err, mac) { console.log("Mac address for this host: %s", mac); }); ``` ``` → Mac address for this host: ab:42:de:13:ef:37 ``` **With `iface` parameter:** ```JavaScript macaddress.one('awdl0', function (err, mac) { console.log("Mac address for awdl0: %s", mac); }); ``` ``` → Mac address for awdl0: ab:cd:ef:34:12:56 ``` --- ### `.all(callback)` Retrieves the MAC addresses for all non-internal interfaces. ```JavaScript macaddress.all(function (err, all) { console.log(JSON.stringify(all, null, 2)); }); ``` ```JavaScript { "en0": { "ipv6": "fe80::cae0:ebff:fe14:1da9", "ipv4": "192.168.178.20", "mac": "ab:42:de:13:ef:37" }, "awdl0": { "ipv6": "fe80::58b9:daff:fea9:23a9", "mac": "ab:cd:ef:34:12:56" } } ``` --- ### `.networkInterfaces()` A useful replacement of `os.networkInterfaces()`. Reports only non-internal interfaces. ```JavaScript console.log(JSON.stringify(macaddress.networkInterfaces(), null, 2)); ``` ```JavaScript { "en0": { "ipv6": "fe80::cae0:ebff:fe14:1dab", "ipv4": "192.168.178.22" }, "awdl0": { "ipv6": "fe80::58b9:daff:fea9:23a9" } } ``` ├─ map-obj@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/map-obj │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: map-obj │ ├─ version: 1.0.1 │ ├─ description: Map object keys and values into a new object │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ math-expression-evaluator@1.2.17 │ ├─ licenses: MIT │ ├─ repository: https://github.com/redhivesoftware/math-expression-evaluator.git#readme │ ├─ publisher: Ankit │ ├─ email: ankitbug94@gmail.com │ ├─ name: math-expression-evaluator │ ├─ version: 1.2.17 │ ├─ description: A flexible math expression evaluator │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Ankit G. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Ankit G. ├─ md5@2.2.1 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/pvorb/node-md5 │ ├─ publisher: Paul Vorbach │ ├─ email: paul@vorba.ch │ ├─ url: http://paul.vorba.ch │ ├─ name: md5 │ ├─ version: 2.2.1 │ ├─ description: js function for hashing messages with MD5 │ ├─ licenseText: Copyright © 2011-2012, Paul Vorbach. Copyright © 2009, Jeff Mott. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name Crypto-JS nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright © 2011-2012, Paul Vorbach.. Copyright © 2009, Jeff Mott. ├─ media-typer@0.3.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/media-typer │ ├─ publisher: Douglas Christopher Wilson │ ├─ email: doug@somethingdoug.com │ ├─ name: media-typer │ ├─ version: 0.3.0 │ ├─ description: Simple RFC 6838 media type parser and formatter │ ├─ licenseText: (The MIT License) Copyright (c) 2014 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Douglas Christopher Wilson ├─ memory-fs@0.4.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/memory-fs │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: memory-fs │ ├─ version: 0.4.1 │ ├─ description: A simple in-memory filesystem. Holds data in a javascript object. │ ├─ licenseText: # memory-fs A simple in-memory filesystem. Holds data in a javascript object. ``` javascript var MemoryFileSystem = require("memory-fs"); var fs = new MemoryFileSystem(); // Optionally pass a javascript object fs.mkdirpSync("/a/test/dir"); fs.writeFileSync("/a/test/dir/file.txt", "Hello World"); fs.readFileSync("/a/test/dir/file.txt"); // returns Buffer("Hello World") // Async variants too fs.unlink("/a/test/dir/file.txt", function(err) { // ... }); fs.readdirSync("/a/test"); // returns ["dir"] fs.statSync("/a/test/dir").isDirectory(); // returns true fs.rmdirSync("/a/test/dir"); fs.mkdirpSync("C:\\use\\windows\\style\\paths"); ``` ## License Copyright (c) 2012-2014 Tobias Koppers MIT (http://www.opensource.org/licenses/mit-license.php) │ └─ copyright: Copyright (c) 2012-2014 Tobias Koppers ├─ meow@3.7.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/meow │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: meow │ ├─ version: 3.7.0 │ ├─ description: CLI app helper │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ merge-descriptors@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/component/merge-descriptors │ ├─ publisher: Jonathan Ong │ ├─ email: me@jongleberry.com │ ├─ url: http://jongleberry.com │ ├─ name: merge-descriptors │ ├─ version: 1.0.1 │ ├─ description: Merge objects using descriptors │ ├─ licenseText: (The MIT License) Copyright (c) 2013 Jonathan Ong Copyright (c) 2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Jonathan Ong . Copyright (c) 2015 Douglas Christopher Wilson ├─ methods@1.1.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/methods │ ├─ name: methods │ ├─ version: 1.1.2 │ ├─ description: HTTP methods that node supports │ ├─ licenseText: (The MIT License) Copyright (c) 2013-2014 TJ Holowaychuk Copyright (c) 2015-2016 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013-2014 TJ Holowaychuk . Copyright (c) 2015-2016 Douglas Christopher Wilson ├─ micromatch@2.3.11 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/micromatch │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: micromatch │ ├─ version: 2.3.11 │ ├─ description: Glob matching for javascript/node.js. A drop-in replacement and faster alternative to minimatch and multimatch. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015, Jon Schlinkert. ├─ miller-rabin@4.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/miller-rabin │ ├─ publisher: Fedor Indutny │ ├─ email: fedor@indutny.com │ ├─ name: miller-rabin │ ├─ version: 4.0.0 │ ├─ description: Miller Rabin algorithm for primality test │ ├─ licenseText: # Miller-Rabin #### LICENSE This software is licensed under the MIT License. Copyright Fedor Indutny, 2014. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Fedor Indutny, 2014. ├─ mime-db@1.27.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/mime-db │ ├─ name: mime-db │ ├─ version: 1.27.0 │ ├─ description: Media Type Database │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Jonathan Ong me@jongleberry.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Jonathan Ong me@jongleberry.com ├─ mime-types@2.1.15 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/mime-types │ ├─ name: mime-types │ ├─ version: 2.1.15 │ ├─ description: The ultimate javascript content-type utility. │ ├─ licenseText: (The MIT License) Copyright (c) 2014 Jonathan Ong Copyright (c) 2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Jonathan Ong . Copyright (c) 2015 Douglas Christopher Wilson ├─ mime@1.3.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/broofa/node-mime │ ├─ publisher: Robert Kieffer │ ├─ email: robert@broofa.com │ ├─ url: http://github.com/broofa │ ├─ name: mime │ ├─ version: 1.3.4 │ ├─ description: A comprehensive library for mime-type mapping │ ├─ licenseText: Copyright (c) 2010 Benjamin Thomas, Robert Kieffer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2010 Benjamin Thomas, Robert Kieffer ├─ mime@1.3.6 │ ├─ licenses: MIT │ ├─ repository: https://github.com/broofa/node-mime │ ├─ publisher: Robert Kieffer │ ├─ email: robert@broofa.com │ ├─ url: http://github.com/broofa │ ├─ name: mime │ ├─ version: 1.3.6 │ ├─ description: A comprehensive library for mime-type mapping │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2010 Benjamin Thomas, Robert Kieffer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2010 Benjamin Thomas, Robert Kieffer ├─ min-document@2.19.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/Raynos/min-document │ ├─ publisher: Raynos │ ├─ email: raynos2@gmail.com │ ├─ name: min-document │ ├─ version: 2.19.0 │ ├─ description: A minimal DOM implementation │ ├─ licenseText: Copyright (c) 2013 Colingo. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Colingo. ├─ minimalistic-assert@1.0.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/calvinmetcalf/minimalistic-assert │ ├─ name: minimalistic-assert │ ├─ version: 1.0.0 │ ├─ description: minimalistic-assert === │ └─ licenseText: minimalistic-assert === very minimalistic assert module. ├─ minimalistic-crypto-utils@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/minimalistic-crypto-utils │ ├─ publisher: Fedor Indutny │ ├─ email: fedor@indutny.com │ ├─ name: minimalistic-crypto-utils │ ├─ version: 1.0.1 │ ├─ description: Minimalistic tools for JS crypto modules │ ├─ licenseText: # minimalistic-crypto-utils [![Build Status](https://secure.travis-ci.org/indutny/minimalistic-crypto-utils.svg)](http://travis-ci.org/indutny/minimalistic-crypto-utils) [![NPM version](https://badge.fury.io/js/minimalistic-crypto-utils.svg)](http://badge.fury.io/js/minimalistic-crypto-utils) Very minimal utils that are required in order to write reasonable JS-only crypto module. ## Usage ```js const utils = require('minimalistic-crypto-utils'); utils.toArray('abcd', 'hex'); utils.encode([ 1, 2, 3, 4 ], 'hex'); utils.toHex([ 1, 2, 3, 4 ]); ``` #### LICENSE This software is licensed under the MIT License. Copyright Fedor Indutny, 2017. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. [0]: http://tools.ietf.org/html/rfc6979 [1]: https://github.com/indutny/bn.js [2]: https://github.com/indutny/hash.js [3]: https://github.com/bitchan/eccrypto [4]: https://github.com/wanderer/secp256k1-node │ └─ copyright: Copyright Fedor Indutny, 2017. ├─ minimatch@3.0.4 │ ├─ licenses: ISC │ ├─ repository: https://github.com/isaacs/minimatch │ ├─ publisher: Isaac Z. Schlueter │ ├─ email: i@izs.me │ ├─ url: http://blog.izs.me │ ├─ name: minimatch │ ├─ version: 3.0.4 │ ├─ description: a glob matcher in javascript │ ├─ licenseText: The ISC License Copyright (c) Isaac Z. Schlueter and Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) Isaac Z. Schlueter and Contributors ├─ minimist@0.0.8 │ ├─ licenses: MIT │ ├─ repository: https://github.com/substack/minimist │ ├─ publisher: James Halliday │ ├─ email: mail@substack.net │ ├─ url: http://substack.net │ ├─ name: minimist │ ├─ version: 0.0.8 │ ├─ description: parse argument options │ └─ licenseText: This software is released under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ minimist@1.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/substack/minimist │ ├─ publisher: James Halliday │ ├─ email: mail@substack.net │ ├─ url: http://substack.net │ ├─ name: minimist │ ├─ version: 1.2.0 │ ├─ description: parse argument options │ └─ licenseText: This software is released under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ mkdirp@0.5.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/substack/node-mkdirp │ ├─ publisher: James Halliday │ ├─ email: mail@substack.net │ ├─ url: http://substack.net │ ├─ name: mkdirp │ ├─ version: 0.5.1 │ ├─ description: Recursively mkdir, like `mkdir -p` │ ├─ licenseText: Copyright 2010 James Halliday (mail@substack.net) This project is free software released under the MIT/X11 license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2010 James Halliday (mail@substack.net) ├─ mockdate@2.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/boblauer/MockDate │ ├─ publisher: Bob Lauer │ ├─ email: rlauer@gmail.com │ ├─ name: mockdate │ ├─ version: 2.0.1 │ ├─ description: A JavaScript mock Date object that can be used to change when "now" is. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Bob Lauer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Bob Lauer ├─ moment-duration-format@1.3.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jsmreese/moment-duration-format │ ├─ name: moment-duration-format │ ├─ version: 1.3.0 │ ├─ description: A moment.js plugin for formatting durations. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2013 John Madhavan-Reese Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 John Madhavan-Reese ├─ moment@2.18.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/moment/moment │ ├─ publisher: Iskren Ivov Chernev │ ├─ email: iskren.chernev@gmail.com │ ├─ url: https://github.com/ichernev │ ├─ name: moment │ ├─ version: 2.18.1 │ ├─ description: Parse, validate, manipulate, and display dates │ ├─ licenseText: Copyright (c) JS Foundation and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) JS Foundation and other contributors ├─ ms@2.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/zeit/ms │ ├─ name: ms │ ├─ version: 2.0.0 │ ├─ description: Tiny milisecond conversion utility │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2016 Zeit, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 Zeit, Inc. ├─ ms@2.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/zeit/ms │ ├─ name: ms │ ├─ version: 2.1.1 │ ├─ description: Tiny millisecond conversion utility │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2016 Zeit, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 Zeit, Inc. ├─ multicast-dns-service-types@1.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/mafintosh/multicast-dns-service-types │ ├─ publisher: Mathias Buus │ ├─ url: @mafintosh │ ├─ name: multicast-dns-service-types │ ├─ version: 1.1.0 │ ├─ description: Parse and stringify mdns service types │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Mathias Buus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Mathias Buus ├─ multicast-dns@6.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/mafintosh/multicast-dns │ ├─ publisher: Mathias Buus │ ├─ url: @mafintosh │ ├─ name: multicast-dns │ ├─ version: 6.1.1 │ ├─ description: Low level multicast-dns implementation in pure javascript │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Mathias Buus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Mathias Buus ├─ ncname@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/ncname │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: http://sindresorhus.com │ ├─ name: ncname │ ├─ version: 1.0.0 │ ├─ description: Regular expression for matching XML NCName │ └─ licenseText: # ncname [![Build Status](https://travis-ci.org/sindresorhus/ncname.svg?branch=master)](https://travis-ci.org/sindresorhus/ncname) > Regular expression for matching [XML NCName](http://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-NCName) ## Install ```sh $ npm install --save ncname ``` ## Usage ```js var ncname = require('ncname'); ncname.test('hællæ'); //=> true ncname.test('$unicorn'); //=> false ``` ## License MIT © [Sindre Sorhus](http://sindresorhus.com) ├─ negotiator@0.6.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/negotiator │ ├─ name: negotiator │ ├─ version: 0.6.1 │ ├─ description: HTTP content negotiation │ ├─ licenseText: (The MIT License) Copyright (c) 2012-2014 Federico Romero Copyright (c) 2012-2014 Isaac Z. Schlueter Copyright (c) 2014-2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012-2014 Federico Romero. Copyright (c) 2012-2014 Isaac Z. Schlueter. Copyright (c) 2014-2015 Douglas Christopher Wilson ├─ no-case@2.3.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/blakeembrey/no-case │ ├─ publisher: Blake Embrey │ ├─ email: hello@blakeembrey.com │ ├─ url: http://blakeembrey.me │ ├─ name: no-case │ ├─ version: 2.3.1 │ ├─ description: Remove case from a string │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) ├─ node-dir@0.1.17 │ ├─ licenses: MIT │ ├─ repository: https://github.com/fshost/node-dir │ ├─ publisher: Nathan Cartwright │ ├─ email: fshost@yahoo.com │ ├─ url: https://github.com/fshost │ ├─ name: node-dir │ ├─ version: 0.1.17 │ ├─ description: asynchronous file and directory operations for Node.js │ ├─ licenseText: (The MIT License) Copyright (c) 2012 Nathan Cartwright Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012 Nathan Cartwright ├─ node-fetch@1.7.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/bitinn/node-fetch │ ├─ publisher: David Frank │ ├─ name: node-fetch │ ├─ version: 1.7.1 │ ├─ description: A light-weight module that brings window.fetch to node.js and io.js │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2016 David Frank Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 David Frank ├─ node-forge@0.6.33 │ ├─ licenses: BSD │ ├─ repository: https://github.com/digitalbazaar/forge │ ├─ publisher: Digital Bazaar, Inc. │ ├─ email: support@digitalbazaar.com │ ├─ url: http://digitalbazaar.com/ │ ├─ name: node-forge │ ├─ version: 0.6.33 │ ├─ description: JavaScript implementations of network transports, cryptography, ciphers, PKI, message digests, and various utilities. │ └─ licenseText: You may use the Forge project under the terms of either the BSD License or the GNU General Public License (GPL) Version 2. The BSD License is recommended for most projects. It is simple and easy to understand and it places almost no restrictions on what you can do with the Forge project. If the GPL suits your project better you are also free to use Forge under that license. You don't have to do anything special to choose one license or the other and you don't have to notify anyone which license you are using. You are free to use this project in commercial projects as long as the copyright header is left intact. If you are a commercial entity and use this set of libraries in your commercial software then reasonable payment to Digital Bazaar, if you can afford it, is not required but is expected and would be appreciated. If this library saves you time, then it's saving you money. The cost of developing the Forge software was on the order of several hundred hours and tens of thousands of dollars. We are attempting to strike a balance between helping the development community while not being taken advantage of by lucrative commercial entities for our efforts. ------------------------------------------------------------------------------- New BSD License (3-clause) Copyright (c) 2010, Digital Bazaar, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Digital Bazaar, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DIGITAL BAZAAR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------- GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) 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 this service 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 make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. 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. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), 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 distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the 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 a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE 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. ├─ node-libs-browser@2.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/node-libs-browser │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: node-libs-browser │ ├─ version: 2.0.0 │ ├─ description: The node core libs for in browser usage. │ ├─ licenseText: (The MIT License) Copyright (c) 2012 Tobias Koppers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012 Tobias Koppers ├─ normalize-package-data@2.4.0 │ ├─ licenses: BSD-2-Clause │ ├─ repository: https://github.com/npm/normalize-package-data │ ├─ publisher: Meryn Stol │ ├─ email: merynstol@gmail.com │ ├─ name: normalize-package-data │ ├─ version: 2.4.0 │ ├─ description: Normalizes data that can be found in package.json files. │ ├─ licenseText: This package contains code originally written by Isaac Z. Schlueter. Used with permission. Copyright (c) Meryn Stol ("Author") All rights reserved. The BSD License Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) Meryn Stol ("Author"). All rights reserved. ├─ normalize-path@2.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/normalize-path │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: normalize-path │ ├─ version: 2.1.1 │ ├─ description: Normalize file path slashes to be unix-like forward slashes. Also condenses repeat slashes to a single slash and removes and trailing slashes unless disabled. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2017, Jon Schlinkert ├─ normalize-range@0.1.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jamestalmage/normalize-range │ ├─ publisher: James Talmage │ ├─ email: james@talmage.io │ ├─ url: github.com/jamestalmage │ ├─ name: normalize-range │ ├─ version: 0.1.2 │ ├─ description: Utility for normalizing a numeric range, with a wrapping function useful for polar coordinates │ ├─ licenseText: The MIT License (MIT) Copyright (c) James Talmage (github.com/jamestalmage) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) James Talmage (github.com/jamestalmage) ├─ normalize-url@1.9.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/normalize-url │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: normalize-url │ ├─ version: 1.9.1 │ ├─ description: Normalize a URL │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ nth-check@1.0.1 │ ├─ licenses: BSD* │ ├─ repository: https://github.com/fb55/nth-check │ ├─ publisher: Felix Boehm │ ├─ email: me@feedic.com │ ├─ name: nth-check │ ├─ version: 1.0.1 │ ├─ description: performant nth-check parser & compiler │ └─ licenseText: #nth-check [![Build Status](https://travis-ci.org/fb55/nth-check.png)](https://travis-ci.org/fb55/nth-check) A performant nth-check parser & compiler. ###About This module can be used to parse & compile nth-checks, as they are found in CSS 3's `nth-child()` and `nth-last-of-type()`. `nth-check` focusses on speed, providing optimized functions for different kinds of nth-child formulas, while still following the [spec](http://www.w3.org/TR/css3-selectors/#nth-child-pseudo). ###API ```js var nthCheck = require("nth-check"); ``` #####`nthCheck(formula)` First parses, then compiles the formula. #####`nthCheck.parse(formula)` Parses the expression, throws a `SyntaxError` if it fails, otherwise returns an array containing two elements. __Example:__ ```js nthCheck.parse("2n+3") //[2, 3] ``` #####`nthCheck.compile([a, b])` Takes an array with two elements (as returned by `.parse`) and returns a highly optimized function. If the formula doesn't match any elements, it returns [`boolbase`](https://github.com/fb55/boolbase)'s `falseFunc`, otherwise, a function accepting an _index_ is returned, which returns whether or not a passed _index_ matches the formula. (Note: The spec starts counting at `1`, the returned function at `0`). __Example:__ ```js var check = nthCheck.compile([2, 3]); check(0) //false check(1) //false check(2) //true check(3) //false check(4) //true check(5) //false check(6) //true ``` --- License: BSD ├─ num2fraction@1.2.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/yisibl/num2fraction │ ├─ publisher: yisi │ ├─ email: yiorsi@gmail.com │ ├─ url: http://iyunlu.com/view │ ├─ name: num2fraction │ ├─ version: 1.2.2 │ ├─ description: Convert number to fraction │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 PostCSS Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 PostCSS ├─ number-is-nan@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/number-is-nan │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: number-is-nan │ ├─ version: 1.0.1 │ ├─ description: ES2015 Number.isNaN() ponyfill │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ object-assign@4.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/object-assign │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: object-assign │ ├─ version: 4.1.1 │ ├─ description: ES2015 `Object.assign()` ponyfill │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ object.omit@2.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/object.omit │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: object.omit │ ├─ version: 2.0.1 │ ├─ description: Return a copy of an object excluding the given key, or array of keys. Also accepts an optional filter function as the last argument. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2016, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2016, Jon Schlinkert ├─ obuf@1.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/offset-buffer │ ├─ publisher: Fedor Indutny │ ├─ email: fedor@indutny.com │ ├─ name: obuf │ ├─ version: 1.1.1 │ ├─ description: │ └─ licenseText: true ├─ on-finished@2.3.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/on-finished │ ├─ name: on-finished │ ├─ version: 2.3.0 │ ├─ description: Execute a callback when a request closes, finishes, or errors │ ├─ licenseText: (The MIT License) Copyright (c) 2013 Jonathan Ong Copyright (c) 2014 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Jonathan Ong . Copyright (c) 2014 Douglas Christopher Wilson ├─ on-headers@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/on-headers │ ├─ publisher: Douglas Christopher Wilson │ ├─ email: doug@somethingdoug.com │ ├─ name: on-headers │ ├─ version: 1.0.1 │ ├─ description: Execute a listener when a response is about to write headers │ ├─ licenseText: (The MIT License) Copyright (c) 2014 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Douglas Christopher Wilson ├─ once@1.4.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/isaacs/once │ ├─ publisher: Isaac Z. Schlueter │ ├─ email: i@izs.me │ ├─ url: http://blog.izs.me/ │ ├─ name: once │ ├─ version: 1.4.0 │ ├─ description: Run a function exactly one time │ ├─ licenseText: The ISC License Copyright (c) Isaac Z. Schlueter and Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) Isaac Z. Schlueter and Contributors ├─ opn@4.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/opn │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: opn │ ├─ version: 4.0.2 │ ├─ description: A better node-open. Opens stuff like websites, files, executables. Cross-platform. │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus ├─ original@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/unshiftio/original │ ├─ publisher: Arnout Kazemier │ ├─ name: original │ ├─ version: 1.0.0 │ ├─ description: Generate the origin from an URL or check if two URL/Origins are the same │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. ├─ os-browserify@0.2.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/CoderPuppy/os-browserify │ ├─ publisher: CoderPuppy │ ├─ email: coderpup@gmail.com │ ├─ name: os-browserify │ ├─ version: 0.2.1 │ ├─ description: The [os](https://nodejs.org/api/os.html) module from node.js, but for browsers. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2016 CoderPuppy Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 CoderPuppy ├─ os-homedir@1.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/os-homedir │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: os-homedir │ ├─ version: 1.0.2 │ ├─ description: Node.js 4 `os.homedir()` ponyfill │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ os-locale@1.4.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/os-locale │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: os-locale │ ├─ version: 1.4.0 │ ├─ description: Get the system locale │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ os-tmpdir@1.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/os-tmpdir │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: os-tmpdir │ ├─ version: 1.0.2 │ ├─ description: Node.js os.tmpdir() ponyfill │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ p-map@1.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/p-map │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: p-map │ ├─ version: 1.1.1 │ ├─ description: Map over promises concurrently │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ pako@0.2.9 │ ├─ licenses: MIT │ ├─ repository: https://github.com/nodeca/pako │ ├─ name: pako │ ├─ version: 0.2.9 │ ├─ description: zlib port to javascript - fast, modularized, with browser support │ ├─ licenseText: (The MIT License) Copyright (C) 2014-2016 by Vitaly Puzrin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (C) 2014-2016 by Vitaly Puzrin ├─ param-case@2.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/blakeembrey/param-case │ ├─ publisher: Blake Embrey │ ├─ email: hello@blakeembrey.com │ ├─ url: http://blakeembrey.me │ ├─ name: param-case │ ├─ version: 2.1.1 │ ├─ description: Param case a string │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) ├─ parse-asn1@5.1.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/crypto-browserify/parse-asn1 │ ├─ name: parse-asn1 │ ├─ version: 5.1.0 │ ├─ description: utility library for parsing asn1 files for use with browserify-sign. │ └─ licenseText: #parse-asn1 [![TRAVIS](https://secure.travis-ci.org/crypto-browserify/parse-asn1.png)](http://travis-ci.org/crypto-browserify/parse-asn1) [![NPM](http://img.shields.io/npm/v/parse-asn1.svg)](https://www.npmjs.org/package/parse-asn1) [![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard) utility library for parsing asn1 files for use with browserify-sign. ├─ parse-glob@3.0.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/parse-glob │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: parse-glob │ ├─ version: 3.0.4 │ ├─ description: Parse a glob pattern into an object of tokens. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015, Jon Schlinkert. ├─ parse-json@2.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/parse-json │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: parse-json │ ├─ version: 2.2.0 │ ├─ description: Parse JSON with more helpful errors │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ parseurl@1.3.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/pillarjs/parseurl │ ├─ publisher: Jonathan Ong │ ├─ email: me@jongleberry.com │ ├─ url: http://jongleberry.com │ ├─ name: parseurl │ ├─ version: 1.3.1 │ ├─ description: parse a url with memoization │ ├─ licenseText: (The MIT License) Copyright (c) 2014 Jonathan Ong Copyright (c) 2014 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Jonathan Ong . Copyright (c) 2014 Douglas Christopher Wilson ├─ path-browserify@0.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/substack/path-browserify │ ├─ publisher: James Halliday │ ├─ email: mail@substack.net │ ├─ url: http://substack.net │ ├─ name: path-browserify │ ├─ version: 0.0.0 │ ├─ description: the path module from node core for browsers │ └─ licenseText: This software is released under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ path-exists@2.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/path-exists │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: path-exists │ ├─ version: 2.1.0 │ ├─ description: Check if a path exists │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ path-is-absolute@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/path-is-absolute │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: path-is-absolute │ ├─ version: 1.0.1 │ ├─ description: Node.js 0.12 path.isAbsolute() ponyfill │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ path-is-inside@1.0.2 │ ├─ licenses: (WTFPL OR MIT) │ ├─ repository: https://github.com/domenic/path-is-inside │ ├─ publisher: Domenic Denicola │ ├─ email: d@domenic.me │ ├─ url: https://domenic.me │ ├─ name: path-is-inside │ ├─ version: 1.0.2 │ ├─ description: Tests whether one path is inside another path │ ├─ licenseText: Dual licensed under WTFPL and MIT: --- Copyright © 2013–2016 Domenic Denicola This work is free. You can redistribute it and/or modify it under the terms of the Do What The Fuck You Want To Public License, Version 2, as published by Sam Hocevar. See below for more details. DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Version 2, December 2004 Copyright (C) 2004 Sam Hocevar Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. You just DO WHAT THE FUCK YOU WANT TO. --- The MIT License (MIT) Copyright © 2013–2016 Domenic Denicola Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright © 2013–2016 Domenic Denicola ├─ path-to-regexp@0.1.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/component/path-to-regexp │ ├─ name: path-to-regexp │ ├─ version: 0.1.7 │ ├─ description: Express style path to RegExp utility │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) ├─ path-type@1.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/path-type │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: path-type │ ├─ version: 1.1.0 │ ├─ description: Check if a path is a file, directory, or symlink │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ pbkdf2@3.0.12 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/pbkdf2 │ ├─ publisher: Daniel Cousens │ ├─ name: pbkdf2 │ ├─ version: 3.0.12 │ ├─ description: This library provides the functionality of PBKDF2 with the ability to use any supported hashing algorithm returned from crypto.getHashes() │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Daniel Cousens Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Daniel Cousens ├─ pify@2.3.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/pify │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: pify │ ├─ version: 2.3.0 │ ├─ description: Promisify a callback-style function │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ pify@3.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/pify │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: pify │ ├─ version: 3.0.0 │ ├─ description: Promisify a callback-style function │ ├─ licenseText: MIT License Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ pinkie-promise@2.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/floatdrop/pinkie-promise │ ├─ publisher: Vsevolod Strukchinsky │ ├─ email: floatdrop@gmail.com │ ├─ url: github.com/floatdrop │ ├─ name: pinkie-promise │ ├─ version: 2.0.1 │ ├─ description: ES2015 Promise ponyfill │ ├─ licenseText: The MIT License (MIT) Copyright (c) Vsevolod Strukchinsky (github.com/floatdrop) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Vsevolod Strukchinsky (github.com/floatdrop) ├─ pinkie@2.0.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/floatdrop/pinkie │ ├─ publisher: Vsevolod Strukchinsky │ ├─ email: floatdrop@gmail.com │ ├─ url: github.com/floatdrop │ ├─ name: pinkie │ ├─ version: 2.0.4 │ ├─ description: Itty bitty little widdle twinkie pinkie ES2015 Promise implementation │ ├─ licenseText: The MIT License (MIT) Copyright (c) Vsevolod Strukchinsky (github.com/floatdrop) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Vsevolod Strukchinsky (github.com/floatdrop) ├─ pkg-dir@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/pkg-dir │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: pkg-dir │ ├─ version: 1.0.0 │ ├─ description: Find the root directory of a npm package │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ pluralize@5.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/blakeembrey/pluralize │ ├─ publisher: Blake Embrey │ ├─ email: hello@blakeembrey.com │ ├─ url: http://blakeembrey.me │ ├─ name: pluralize │ ├─ version: 5.0.0 │ ├─ description: Pluralize and singularize any word │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2013 Blake Embrey (hello@blakeembrey.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Blake Embrey (hello@blakeembrey.com) ├─ portfinder@1.0.13 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indexzero/node-portfinder │ ├─ publisher: Charlie Robbins │ ├─ email: charlie.robbins@gmail.com │ ├─ name: portfinder │ ├─ version: 1.0.13 │ ├─ description: A simple tool to find an open port on the current machine │ ├─ licenseText: node-portfinder Copyright (c) 2012 Charlie Robbins Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012 Charlie Robbins ├─ postcss-calc@5.3.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/postcss/postcss-calc │ ├─ publisher: Maxime Thirouin │ ├─ name: postcss-calc │ ├─ version: 5.3.1 │ ├─ description: PostCSS plugin to reduce calc() │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Maxime Thirouin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Maxime Thirouin ├─ postcss-colormin@2.2.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-colormin │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-colormin │ ├─ version: 2.2.2 │ ├─ description: Minify colors in your CSS files with PostCSS. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-convert-values@2.6.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-convert-values │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-convert-values │ ├─ version: 2.6.1 │ ├─ description: Convert values with PostCSS (e.g. ms -> s) │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-discard-comments@2.0.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-discard-comments │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-discard-comments │ ├─ version: 2.0.4 │ ├─ description: Discard comments in your CSS files with PostCSS. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-discard-duplicates@2.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-discard-duplicates │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-discard-duplicates │ ├─ version: 2.1.0 │ ├─ description: Discard duplicate rules in your CSS files with PostCSS. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-discard-empty@2.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-discard-empty │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-discard-empty │ ├─ version: 2.1.0 │ ├─ description: Discard empty rules and values with PostCSS. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-discard-overridden@0.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/Justineo/postcss-discard-overridden │ ├─ publisher: Justineo │ ├─ email: justice360@gmail.com │ ├─ name: postcss-discard-overridden │ ├─ version: 0.1.1 │ ├─ description: PostCSS plugin to discard overridden @keyframes or @counter-style. │ ├─ licenseText: The MIT License (MIT) Copyright 2016 Justineo Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2016 Justineo ├─ postcss-discard-unused@2.2.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-discard-unused │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-discard-unused │ ├─ version: 2.2.3 │ ├─ description: Discard unused counter styles, keyframes and fonts. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-filter-plugins@2.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/postcss/postcss-filter-plugins │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-filter-plugins │ ├─ version: 2.0.2 │ ├─ description: Exclude/warn on duplicated PostCSS plugins. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-merge-idents@2.1.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-merge-idents │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-merge-idents │ ├─ version: 2.1.7 │ ├─ description: Merge keyframe and counter style identifiers. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-merge-longhand@2.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-merge-longhand │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-merge-longhand │ ├─ version: 2.0.2 │ ├─ description: Merge longhand properties into shorthand with PostCSS. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-merge-rules@2.1.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-merge-rules │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-merge-rules │ ├─ version: 2.1.2 │ ├─ description: Merge CSS rules with PostCSS. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-message-helpers@2.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/MoOx/postcss-message-helpers │ ├─ publisher: Maxime Thirouin │ ├─ name: postcss-message-helpers │ ├─ version: 2.0.0 │ ├─ description: PostCSS helpers to throw or output GNU style messages │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Maxime Thirouin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Maxime Thirouin ├─ postcss-minify-font-values@1.0.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/TrySound/postcss-minify-font-values │ ├─ publisher: Bogdan Chadkin │ ├─ email: trysound@yandex.ru │ ├─ name: postcss-minify-font-values │ ├─ version: 1.0.5 │ ├─ description: Minify font declarations with PostCSS │ ├─ licenseText: Copyright (c) Bogdan Chadkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Bogdan Chadkin ├─ postcss-minify-gradients@1.0.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-minify-gradients │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-minify-gradients │ ├─ version: 1.0.5 │ ├─ description: Minify gradient parameters with PostCSS. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-minify-params@1.2.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-minify-params │ ├─ publisher: Bogdan Chadkin │ ├─ email: trysound@yandex.ru │ ├─ name: postcss-minify-params │ ├─ version: 1.2.2 │ ├─ description: Minify at-rule params with PostCSS │ ├─ licenseText: The MIT License (MIT) Copyright 2015 Bogdan Chadkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2015 Bogdan Chadkin ├─ postcss-minify-selectors@2.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-minify-selectors │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-minify-selectors │ ├─ version: 2.1.1 │ ├─ description: Minify selectors with PostCSS. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-modules-extract-imports@1.2.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/css-modules/postcss-modules-extract-imports │ ├─ publisher: Glen Maddern │ ├─ name: postcss-modules-extract-imports │ ├─ version: 1.2.0 │ ├─ description: A CSS Modules transform to extract local aliases for inline imports │ └─ licenseText: # CSS Modules: Extract Imports [![Build Status](https://travis-ci.org/css-modules/postcss-modules-extract-imports.svg?branch=master)](https://travis-ci.org/css-modules/postcss-modules-extract-imports) Transforms: ```css :local(.continueButton) { composes: button from "library/button.css"; color: green; } ``` into: ```css :import("library/button.css") { button: __tmp_487387465fczSDGHSABb; } :local(.continueButton) { composes: __tmp_487387465fczSDGHSABb; color: green; } ``` ## Specification - Only a certain whitelist of properties are inspected. Currently, that whitelist is `['composes']` alone. - An extend-import has the following format: ``` composes: className [... className] from "path/to/file.css"; ``` ## Building ``` npm install npm build npm test ``` [![Build Status](https://travis-ci.org/css-modules/postcss-modules-extract-imports.svg?branch=master)](https://travis-ci.org/css-modules/postcss-modules-extract-imports) * Lines: [![Coverage Status](https://coveralls.io/repos/css-modules/postcss-modules-extract-imports/badge.svg?branch=master)](https://coveralls.io/r/css-modules/postcss-modules-extract-imports?branch=master) * Statements: [![codecov.io](http://codecov.io/github/css-modules/postcss-modules-extract-imports/coverage.svg?branch=master)](http://codecov.io/github/css-modules/postcss-modules-extract-imports?branch=master) ## Development - `npm watch` will watch `src` for changes and rebuild - `npm autotest` will watch `src` and `test` for changes and retest ## License ISC ## With thanks - Mark Dalgleish - Tobias Koppers - Guy Bedford --- Glen Maddern, 2015. ├─ postcss-modules-local-by-default@1.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/css-modules/postcss-modules-local-by-default │ ├─ publisher: Mark Dalgleish │ ├─ name: postcss-modules-local-by-default │ ├─ version: 1.2.0 │ ├─ description: A CSS Modules transform to make local scope the default │ ├─ licenseText: The MIT License (MIT) Copyright 2015 Mark Dalgleish Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2015 Mark Dalgleish ├─ postcss-modules-scope@1.1.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/css-modules/postcss-modules-scope │ ├─ publisher: Glen Maddern │ ├─ name: postcss-modules-scope │ ├─ version: 1.1.0 │ ├─ description: A CSS Modules transform to extract export statements from local-scope classes │ └─ licenseText: # CSS Modules: Scope Locals & Extend [![Build Status](https://travis-ci.org/css-modules/postcss-modules-scope.svg?branch=master)](https://travis-ci.org/css-modules/postcss-modules-scope) Transforms: ```css :local(.continueButton) { color: green; } ``` into: ```css :export { continueButton: __buttons_continueButton_djd347adcxz9; } .__buttons_continueButton_djd347adcxz9 { color: green; } ``` so it doesn't pollute CSS global scope and can be simply used in JS like so: ```js import styles from './buttons.css' elem.innerHTML = `` ``` ## Composition Since we're exporting class names, there's no reason to export only one. This can give us some really useful reuse of styles: ```css .globalButtonStyle { background: white; border: 1px solid; border-radius: 0.25rem; } .globalButtonStyle:hover { box-shadow: 0 0 4px -2px; } :local(.continueButton) { compose-with: globalButtonStyle; color: green; } ``` becomes: ``` .globalButtonStyle { background: white; border: 1px solid; border-radius: 0.25rem; } .globalButtonStyle:hover { box-shadow: 0 0 4px -2px; } :local(.continueButton) { compose-with: globalButtonStyle; color: green; } ``` **Note:** you can also use `composes` as a shorthand for `compose-with` ## Local-by-default & reuse across files You're looking for [CSS Modules](https://github.com/css-modules/css-modules). It uses this plugin as well as a few others, and it's amazing. ## Building ``` npm install npm test ``` [![Build Status](https://travis-ci.org/css-modules/postcss-modules-scope.svg?branch=master)](https://travis-ci.org/css-modules/postcss-modules-scope) * Lines: [![Coverage Status](https://coveralls.io/repos/css-modules/postcss-modules-scope/badge.svg?branch=master)](https://coveralls.io/r/css-modules/postcss-modules-scope?branch=master) * Statements: [![codecov.io](http://codecov.io/github/css-modules/postcss-modules-scope/coverage.svg?branch=master)](http://codecov.io/github/css-modules/postcss-modules-scope?branch=master) ## Development - `npm autotest` will watch `src` and `test` for changes and run the tests, and transpile the ES6 to ES5 on success ## License ISC ## With thanks - Mark Dalgleish - Tobias Koppers - Guy Bedford --- Glen Maddern, 2015. ├─ postcss-modules-values@1.3.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/css-modules/postcss-modules-values │ ├─ publisher: Glen Maddern │ ├─ name: postcss-modules-values │ ├─ version: 1.3.0 │ ├─ description: PostCSS plugin for CSS Modules to pass arbitrary values between your module files │ └─ licenseText: # CSS Modules: Values Pass arbitrary values between your module files ### Usage ```css /* colors.css */ @value primary: #BF4040; @value secondary: #1F4F7F; .text-primary { color: primary; } .text-secondary { color: secondary; } ``` ```css /* breakpoints.css */ @value small: (max-width: 599px); @value medium: (min-width: 600px) and (max-width: 959px); @value large: (min-width: 960px); ``` ```css /* my-component.css */ /* alias paths for other values or composition */ @value colors: "./colors.css"; /* import multiple from a single file */ @value primary, secondary from colors; /* make local aliases to imported values */ @value small as bp-small, large as bp-large from "./breakpoints.css"; .header { composes: text-primary from colors; box-shadow: 0 0 10px secondary; } @media bp-small { .header { box-shadow: 0 0 4px secondary; } } @media bp-large { .header { box-shadow: 0 0 20px secondary; } } ``` **If you are using Sass** along with this PostCSS plugin, do not use the colon `:` in your `@value` definitions. It will cause Sass to crash. Note also you can _import_ multiple values at once but can only _define_ one value per line. ```css @value a: b, c: d; /* defines a as "b, c: d" */ ``` ### Justification See [this PR](https://github.com/css-modules/css-modules-loader-core/pull/28) for more background ## License ISC ## With thanks - Mark Dalgleish - Tobias Koppers - Josh Johnston --- Glen Maddern, 2015. ├─ postcss-normalize-charset@1.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-charset │ ├─ publisher: Bogdan Chadkin │ ├─ email: trysound@yandex.ru │ ├─ name: postcss-normalize-charset │ ├─ version: 1.1.1 │ ├─ description: Add necessary or remove extra charset with PostCSS │ ├─ licenseText: The MIT License (MIT) Copyright 2015 Bogdan Chadkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2015 Bogdan Chadkin ├─ postcss-normalize-url@3.0.8 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-normalize-url │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-normalize-url │ ├─ version: 3.0.8 │ ├─ description: Normalize URLs with PostCSS │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-ordered-values@2.2.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-ordered-values │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-ordered-values │ ├─ version: 2.2.3 │ ├─ description: Ensure values are ordered consistently in your CSS. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-reduce-idents@2.4.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-reduce-idents │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-reduce-idents │ ├─ version: 2.4.0 │ ├─ description: Reduce custom identifiers with PostCSS. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-reduce-initial@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-reduce-initial │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-reduce-initial │ ├─ version: 1.0.1 │ ├─ description: Reduce initial definitions to the actual initial value, where possible. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-reduce-transforms@1.0.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-reduce-transforms │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-reduce-transforms │ ├─ version: 1.0.4 │ ├─ description: Reduce transform functions with PostCSS. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-selector-parser@2.2.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/postcss/postcss-selector-parser │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-selector-parser │ ├─ version: 2.2.3 │ ├─ description: > Selector parser with built in methods for working with selector strings. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-svgo@2.1.6 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-svgo │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-svgo │ ├─ version: 2.1.6 │ ├─ description: Optimise inline SVG with PostCSS. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-unique-selectors@2.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-unique-selectors │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-unique-selectors │ ├─ version: 2.0.2 │ ├─ description: Ensure CSS selectors are unique. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss-value-parser@3.3.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/TrySound/postcss-value-parser │ ├─ publisher: Bogdan Chadkin │ ├─ email: trysound@yandex.ru │ ├─ name: postcss-value-parser │ ├─ version: 3.3.0 │ ├─ description: Transforms css values and at-rule params into the tree │ ├─ licenseText: Copyright (c) Bogdan Chadkin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Bogdan Chadkin ├─ postcss-zindex@2.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ben-eb/postcss-zindex │ ├─ publisher: Ben Briggs │ ├─ email: beneb.info@gmail.com │ ├─ url: http://beneb.info │ ├─ name: postcss-zindex │ ├─ version: 2.2.0 │ ├─ description: Reduce z-index values with PostCSS. │ ├─ licenseText: Copyright (c) Ben Briggs (http://beneb.info) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Ben Briggs (http://beneb.info) ├─ postcss@5.2.17 │ ├─ licenses: MIT │ ├─ repository: https://github.com/postcss/postcss │ ├─ publisher: Andrey Sitnik │ ├─ email: andrey@sitnik.ru │ ├─ name: postcss │ ├─ version: 5.2.17 │ ├─ description: Tool for transforming styles with JS plugins │ ├─ licenseText: The MIT License (MIT) Copyright 2013 Andrey Sitnik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2013 Andrey Sitnik ├─ postcss@6.0.6 │ ├─ licenses: MIT │ ├─ repository: https://github.com/postcss/postcss │ ├─ publisher: Andrey Sitnik │ ├─ email: andrey@sitnik.ru │ ├─ name: postcss │ ├─ version: 6.0.6 │ ├─ description: Tool for transforming styles with JS plugins │ ├─ licenseText: The MIT License (MIT) Copyright 2013 Andrey Sitnik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2013 Andrey Sitnik ├─ prepend-http@1.0.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/prepend-http │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: prepend-http │ ├─ version: 1.0.4 │ ├─ description: Prepend `http://` to humanized URLs like todomvc.com and localhost │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ preserve@0.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/preserve │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: preserve │ ├─ version: 0.2.0 │ ├─ description: Temporarily substitute tokens in the given `string` with placeholders, then put them back after transforming the string. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015, Jon Schlinkert. ├─ pretty-error@2.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/AriaMinaei/pretty-error │ ├─ publisher: Aria Minaei │ ├─ name: pretty-error │ ├─ version: 2.1.1 │ ├─ description: See nodejs errors with less clutter │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2013 Aria Minaei Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Aria Minaei ├─ private@0.1.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/benjamn/private │ ├─ publisher: Ben Newman │ ├─ email: bn@cs.stanford.edu │ ├─ name: private │ ├─ version: 0.1.7 │ ├─ description: Utility for associating truly private state with any JavaScript object │ ├─ licenseText: Copyright (c) 2014 Ben Newman Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Ben Newman ├─ process-nextick-args@1.0.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/calvinmetcalf/process-nextick-args │ ├─ name: process-nextick-args │ ├─ version: 1.0.7 │ ├─ description: process.nextTick but always with args │ └─ licenseText: # Copyright (c) 2015 Calvin Metcalf Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. **THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.** ├─ process@0.11.10 │ ├─ licenses: MIT │ ├─ repository: https://github.com/shtylman/node-process │ ├─ publisher: Roman Shtylman │ ├─ email: shtylman@gmail.com │ ├─ name: process │ ├─ version: 0.11.10 │ ├─ description: process information for node.js and browsers │ ├─ licenseText: (The MIT License) Copyright (c) 2013 Roman Shtylman Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Roman Shtylman ├─ process@0.5.2 │ ├─ licenses: MIT* │ ├─ repository: https://github.com/shtylman/node-process │ ├─ publisher: Roman Shtylman │ ├─ email: shtylman@gmail.com │ ├─ name: process │ ├─ version: 0.5.2 │ ├─ description: process information for node.js and browsers │ ├─ licenseText: (The MIT License) Copyright (c) 2013 Roman Shtylman Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Roman Shtylman ├─ promise@7.3.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/then/promise │ ├─ publisher: ForbesLindesay │ ├─ name: promise │ ├─ version: 7.3.1 │ ├─ description: Bare bones Promises/A+ implementation │ ├─ licenseText: Copyright (c) 2014 Forbes Lindesay Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Forbes Lindesay ├─ prop-types@15.5.10 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/reactjs/prop-types │ ├─ name: prop-types │ ├─ version: 15.5.10 │ ├─ description: Runtime type checking for React props and similar objects. │ ├─ licenseText: BSD License For React software Copyright (c) 2013-present, Facebook, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name Facebook nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2013-present, Facebook, Inc.. All rights reserved. ├─ proxy-addr@1.1.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/proxy-addr │ ├─ publisher: Douglas Christopher Wilson │ ├─ email: doug@somethingdoug.com │ ├─ name: proxy-addr │ ├─ version: 1.1.4 │ ├─ description: Determine address of proxied request │ ├─ licenseText: (The MIT License) Copyright (c) 2014-2016 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2016 Douglas Christopher Wilson ├─ prr@0.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/rvagg/prr │ ├─ name: prr │ ├─ version: 0.0.0 │ ├─ description: A better Object.defineProperty() │ ├─ licenseText: Copyright 2013, Rod Vagg (the "Original Author") All rights reserved. MIT +no-false-attribs License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. Distributions of all or part of the Software intended to be used by the recipients as they would use the unmodified Software, containing modifications that substantially alter, remove, or disable functionality of the Software, outside of the documented configuration mechanisms provided by the Software, shall be modified such that the Original Author's bug reporting email addresses and urls are either replaced with the contact information of the parties responsible for the changes, or removed entirely. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except where noted, this license applies to any and all software programs and associated documentation files created by the Original Author, when distributed with the Software. │ └─ copyright: Copyright 2013, Rod Vagg (the "Original Author"). All rights reserved. ├─ public-encrypt@4.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/publicEncrypt │ ├─ name: public-encrypt │ ├─ version: 4.0.0 │ ├─ description: browserify version of publicEncrypt & privateDecrypt │ └─ licenseText: publicEncrypt === [![Build Status](https://travis-ci.org/crypto-browserify/publicEncrypt.svg)](https://travis-ci.org/crypto-browserify/publicEncrypt) publicEncrypt/privateDecrypt for browserify ├─ punycode@1.3.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/bestiejs/punycode.js │ ├─ publisher: Mathias Bynens │ ├─ url: https://mathiasbynens.be/ │ ├─ name: punycode │ ├─ version: 1.3.2 │ ├─ description: A robust Punycode converter that fully complies to RFC 3492 and RFC 5891, and works on nearly all JavaScript platforms. │ ├─ licenseText: Copyright Mathias Bynens Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Mathias Bynens ├─ q@1.5.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/kriskowal/q │ ├─ publisher: Kris Kowal │ ├─ email: kris@cixar.com │ ├─ url: https://github.com/kriskowal │ ├─ name: q │ ├─ version: 1.5.0 │ ├─ description: A library for promises (CommonJS/Promises/A,B,D) │ ├─ licenseText: Copyright 2009–2017 Kristopher Michael Kowal. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2009–2017 Kristopher Michael Kowal. All rights reserved.. Permission is hereby granted, free of charge, to any person obtaining a copy. of this software and associated documentation files (the "Software"), to. deal in the Software without restriction, including without limitation the. rights to use, copy, modify, merge, publish, distribute, sublicense, and/or. sell copies of the Software, and to permit persons to whom the Software is. furnished to do so, subject to the following conditions: ├─ qs@6.4.0 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/ljharb/qs │ ├─ name: qs │ ├─ version: 6.4.0 │ ├─ description: A querystring parser that supports nesting and arrays, with a depth limit │ ├─ licenseText: Copyright (c) 2014 Nathan LaFreniere and other contributors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * The names of any contributors may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * * The complete list of contributors can be found at: https://github.com/hapijs/qs/graphs/contributors │ └─ copyright: Copyright (c) 2014 Nathan LaFreniere and other contributors.. All rights reserved. ├─ query-string@4.3.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/query-string │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: query-string │ ├─ version: 4.3.4 │ ├─ description: Parse and stringify URL query strings │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ querystring-es3@0.2.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/mike-spainhower/querystring │ ├─ publisher: Irakli Gozalishvili │ ├─ email: rfobic@gmail.com │ ├─ name: querystring-es3 │ ├─ version: 0.2.1 │ ├─ description: Node's querystring module for all engines. (ES3 compat fork) │ └─ licenseText: Copyright 2012 Irakli Gozalishvili. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ querystring@0.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/Gozala/querystring │ ├─ publisher: Irakli Gozalishvili │ ├─ email: rfobic@gmail.com │ ├─ name: querystring │ ├─ version: 0.2.0 │ ├─ description: Node's querystring module for all engines. │ └─ licenseText: Copyright 2012 Irakli Gozalishvili. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ querystringify@0.0.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/unshiftio/querystringify │ ├─ publisher: Arnout Kazemier │ ├─ name: querystringify │ ├─ version: 0.0.4 │ ├─ description: Querystringify - Small, simple but powerful query string parser. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. ├─ querystringify@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/unshiftio/querystringify │ ├─ publisher: Arnout Kazemier │ ├─ name: querystringify │ ├─ version: 1.0.0 │ ├─ description: Querystringify - Small, simple but powerful query string parser. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. ├─ randomatic@1.1.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/randomatic │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: randomatic │ ├─ version: 1.1.7 │ ├─ description: Generate randomized strings of a specified length, fast. Only the length is necessary, but you can optionally generate patterns using any combination of numeric, alpha-numeric, alphabetical, special or custom characters. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2013-2017, Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013-2017, Jon Schlinkert ├─ randombytes@2.0.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/randombytes │ ├─ name: randombytes │ ├─ version: 2.0.5 │ ├─ description: random bytes from browserify stand alone │ ├─ licenseText: MIT License Copyright (c) 2017 crypto-browserify Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2017 crypto-browserify ├─ range-parser@1.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/range-parser │ ├─ publisher: TJ Holowaychuk │ ├─ email: tj@vision-media.ca │ ├─ url: http://tjholowaychuk.com │ ├─ name: range-parser │ ├─ version: 1.2.0 │ ├─ description: Range header field string parser │ ├─ licenseText: (The MIT License) Copyright (c) 2012-2014 TJ Holowaychuk Copyright (c) 2015-2016 Douglas Christopher Wilson . Copyright (c) 2015-2016 Douglas Christopher Wilson Kunihiko Harada Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ react-css-property-operations@15.4.1 │ ├─ licenses: MIT │ ├─ name: react-css-property-operations │ ├─ version: 15.4.1 │ ├─ description: CSSPropertyOperations extracted from React │ ├─ repository: │ └─ licenseText: true ├─ react-deep-force-update@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/gaearon/react-deep-force-update │ ├─ publisher: Dan Abramov │ ├─ email: dan.abramov@me.com │ ├─ name: react-deep-force-update │ ├─ version: 1.0.1 │ ├─ description: Force-updates React component tree recursively │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 library-boilerplate-author Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 library-boilerplate-author ├─ react-dom-factories@1.0.0 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/facebook/react │ ├─ name: react-dom-factories │ ├─ version: 1.0.0 │ ├─ description: React package for DOM factory methods. │ └─ licenseText: # `react-dom-factories` > Note: > `ReactDOMFactories` is a legacy add-on. Consider using > `React.createFactory` or JSX instead. Prior to version 16.0.0, React maintained a whitelist of pre-configured DOM factories. These predefined factories have been moved to the `react-dom-factories` library. ## Example ```javascript import ReactDOM from 'react-dom'; import DOM from 'react-dom-factories'; const greeting = DOM.div({ className: 'greeting' }, DOM.p(null, 'Hello, world!')); ReactDOM.render(greeting, document.getElementById('app')) ``` ├─ react-dom@15.6.1 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/facebook/react │ ├─ name: react-dom │ ├─ version: 15.6.1 │ ├─ description: React package for working with the DOM. │ ├─ licenseText: BSD License For React software Copyright (c) 2013-present, Facebook, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name Facebook nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2013-present, Facebook, Inc.. All rights reserved. ├─ react-flip-move@2.9.14 │ ├─ licenses: MIT │ ├─ repository: https://github.com/joshwcomeau/react-flip-move │ ├─ publisher: Joshua Comeau │ ├─ email: joshwcomeau@gmail.com │ ├─ name: react-flip-move │ ├─ version: 2.9.14 │ ├─ description: Effortless animation between DOM changes (eg. list reordering) using the FLIP technique. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2016-present Joshua Comeau Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016-present Joshua Comeau ├─ react-input-autosize@1.1.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/JedWatson/react-input-autosize │ ├─ publisher: Jed Watson │ ├─ name: react-input-autosize │ ├─ version: 1.1.4 │ ├─ description: Auto-resizing Input Component for React │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2017 Jed Watson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2017 Jed Watson ├─ react-modal@1.9.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/reactjs/react-modal │ ├─ name: react-modal │ ├─ version: 1.9.7 │ ├─ description: Accessible modal dialog component for React.JS │ ├─ licenseText: Copyright (c) 2014 Ryan Florence Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Ryan Florence ├─ react-notification-system@0.2.14 │ ├─ licenses: MIT │ ├─ repository: https://github.com/igorprado/react-notification-system │ ├─ publisher: Igor Prado │ ├─ name: react-notification-system │ ├─ version: 0.2.14 │ ├─ description: A React Notification System fully customized │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Igor Prado Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Igor Prado ├─ react-proxy@1.1.8 │ ├─ licenses: MIT │ ├─ repository: https://github.com/gaearon/react-proxy │ ├─ publisher: Dan Abramov │ ├─ email: dan.abramov@me.com │ ├─ url: http://github.com/gaearon │ ├─ name: react-proxy │ ├─ version: 1.1.8 │ ├─ description: Proxies React components without unmounting or losing their state. │ └─ licenseText: # React Proxy [![build status](https://img.shields.io/travis/gaearon/react-proxy/master.svg?style=flat-square)](https://travis-ci.org/gaearon/react-proxy) [![npm version](https://img.shields.io/npm/v/react-proxy.svg?style=flat-square)](https://www.npmjs.com/package/react-proxy) A generic React component proxy used as the new engine by React Hot Loader. ## 1.x and 2.x You are looking at the README from the 1.x branch that is widely in use. However we intend to gradually transition projects such as `react-transform-hmr` to use [2.x that is being developed in master](https://github.com/gaearon/react-proxy/tree/master) instead. Currently we mirror all releases on both branches. ## Requirements * React 0.13+ ## Usage Intended to be used from hot reloading tools like React Hot Loader. If you’re an application developer, it’s unlikely you’ll want to use it directly. ```js import React, { Component } from 'react'; class ComponentVersion1 extends Component { render() { return
Before hot update.
; } } class ComponentVersion2 extends Component { render() { return
After hot update.
; } } ``` Without React Proxy: ```js const rootEl = document.getElementById('root'); React.render(, rootEl); // Will reset state and kill DOM :-( React.render(, rootEl); ``` With React Proxy: ```js import { createProxy, getForceUpdate } from 'react-proxy'; // Create a proxy object, given the initial React component class. const proxy = createProxy(ComponentVersion1); // Obtain a React class that acts exactly like the initial version. // This is what we'll use in our app instead of the real component class. const Proxy = proxy.get(); // Render the component (proxy, really). React.render(, rootEl); // Point the proxy to the new React component class by calling update(). // Instances will stay mounted and their state will be intact, but their methods will be updated. // The update() method returns an array of mounted instances so we can do something with them. const mountedInstances = proxy.update(ComponentVersion2); // React Proxy also provides us with getForceUpdate() method that works even if the component // instance doesn't descend from React.Component, and doesn't have a forceUpdate() method. const forceUpdate = getForceUpdate(React); // Force-update all the affected instances! mountedInstances.forEach(forceUpdate); ``` ## Features * Supports both classic (`React.createClass()`) and modern (ES6 classes) style * Supports classes that don’t descend from `React.Component` * Supports classes with strict `shouldComponentUpdate` * Supports inherited and base classes (although you shouldn’t use inheritance with React) * Supports classic `createClass()` autobinding and modern [`autobind-decorator`](https://github.com/andreypopp/autobind-decorator) * Contains an extensive test suite to avoid regressions * Preserves `displayName` * Preserves enumerability and writability of methods * Preserves `toString()` of methods * Replaces instance getters and setters * Replaces instance methods preserving their identity * Replaces bound instance methods preserving their identity * Because identity is preserved, instance methods already scheduled for `setInterval` or `setTimeout` are updated * Replaces static getters and setters * Replaces unbound static methods * Replaces static properties unless they were overwritten by code ## Known Limitations * Does not replace ES7 instance properties * Does not replace bound static methods * Replacing a method using [`autobind-decorator`](https://github.com/andreypopp/autobind-decorator) causes its identity to change ## Contributing 1. Clone the repository 2. Run `npm install` 3. Run `npm run test:watch` 4. Take a look at the existing tests 5. Add tests for the failing case you aim to fix and make them pass 6. Submit a PR! ## License MIT ├─ react-redux@5.0.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/reactjs/react-redux │ ├─ publisher: Dan Abramov │ ├─ email: dan.abramov@me.com │ ├─ url: http://github.com/gaearon │ ├─ name: react-redux │ ├─ version: 5.0.5 │ ├─ description: Official React bindings for Redux │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015-present Dan Abramov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015-present Dan Abramov ├─ react-select@1.0.0-rc.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/JedWatson/react-select │ ├─ publisher: Jed Watson │ ├─ name: react-select │ ├─ version: 1.0.0-rc.5 │ ├─ description: A Select control built with and for ReactJS │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2016 Jed Watson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 Jed Watson ├─ react-transform-catch-errors@1.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/gaearon/react-transform-catch-errors │ ├─ publisher: Dan Abramov │ ├─ email: dan.abramov@me.com │ ├─ name: react-transform-catch-errors │ ├─ version: 1.0.2 │ ├─ description: React Transform that catches errors inside React components │ └─ licenseText: # react-transform-catch-errors [![react-transform channel on discord](https://img.shields.io/badge/discord-react--transform%40reactiflux-61DAFB.svg?style=flat-square)](http://www.reactiflux.com) A [React Transform](https://github.com/gaearon/babel-plugin-react-transform) that catches errors inside `render()` function and renders a React component with an error message instead. It’s up to you to choose the React component to render an error message. For example, you may use [redbox-react](https://github.com/KeywordBrain/redbox-react) that imitates React Native “red screen of death”. ## Installation First, install the [Babel plugin](https://github.com/gaearon/babel-plugin-react-transform): ``` npm install --save-dev babel-plugin-react-transform ``` Then, install the transform: ``` npm install --save-dev react-transform-catch-errors ``` Finally, install the component for rendering errors, for example: ```js npm install --save-dev redbox-react ``` You may also use a custom component instead. Now edit your `.babelrc` to include `extra.babel-plugin-react-transform`. It must be an array of the transforms you want to use: ```js { "presets": ["es2015", "stage-0"], "env": { // only enable it when process.env.NODE_ENV is 'development' or undefined "development": { "plugins": [["react-transform", { "transforms": [{ "transform": "react-transform-catch-errors", // now go the imports! "imports": [ // the first import is your React distribution // (if you use React Native, pass "react-native" instead) "react", // the second import is the React component to render error // (it can be a local path too, like "./src/ErrorReporter") "redbox-react" // the third import is OPTIONAL! // when specified, its export is used as options to the reporter. // see specific reporter's docs for the options it needs. // it will be imported from different files so it either has to be a Node module // or a file that you configure with Webpack/Browserify/SystemJS to resolve correctly. // for example, see https://github.com/gaearon/babel-plugin-react-transform/pull/28#issuecomment-144536185 // , "my-reporter-options" ] }] // note: you can put more transforms into array // this is just one of them! }]] } } } ``` **It is up to you to ensure that the transform is not enabled when you compile the app in production mode.** The easiest way to do this is to put React Transform configuration inside `env.development` in `.babelrc` and ensure you’re calling `babel` with `NODE_ENV=development`. See [babelrc documentation](https://babeljs.io/docs/usage/babelrc/#env-option) for more details about using `env` option. ## License MIT ├─ react-transform-hmr@1.0.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/gaearon/react-transform-hmr │ ├─ publisher: Dan Abramov │ ├─ email: dan.abramov@me.com │ ├─ name: react-transform-hmr │ ├─ version: 1.0.4 │ ├─ description: A React Transform that enables hot reloading React classes using Hot Module Replacement API │ └─ licenseText: # react-transform-hmr [![react-transform channel on discord](https://img.shields.io/badge/discord-react--transform%40reactiflux-61DAFB.svg?style=flat-square)](http://www.reactiflux.com) A [React Transform](https://github.com/gaearon/babel-plugin-react-transform) that enables hot reloading React classes using Hot Module Replacement API. Hot module replacement is [supported natively by Webpack](http://webpack.github.io/docs/hot-module-replacement-with-webpack.html) and available in Browserify with [browserify-hmr](https://github.com/AgentME/browserify-hmr). ## 🚧🚧🚧🚧🚧 This is **highly experimental tech**. If you’re enthusiastic about hot reloading, by all means, give it a try, but don’t bet your project on it. Either of the technologies it relies upon may change drastically or get deprecated any day. You’ve been warned 😉 . **This technology exists to prototype next-generation React developer experience**. Please don’t use it blindly if you don’t know the underlying technologies well. Otherwise you are likely to get disillusioned with JavaScript tooling. **No effort went into making this user-friendly yet. The goal is to eventually kill this technology** in favor of less hacky technologies baked into React. These projects are not long term. ## Installation First, install the [Babel plugin](https://github.com/gaearon/babel-plugin-react-transform): ``` npm install --save-dev babel-plugin-react-transform ``` Then, install the transform: ``` npm install --save-dev react-transform-hmr ``` ### React Edit your `.babelrc` to include a plugin configuration for `react-transform`. It contains array of the transforms you want to use: ```js { "presets": ["es2015", "stage-0"], "env": { // only enable it when process.env.NODE_ENV is 'development' or undefined "development": { "plugins": [["react-transform", { "transforms": [{ "transform": "react-transform-hmr", // if you use React Native, pass "react-native" instead: "imports": ["react"], // this is important for Webpack HMR: "locals": ["module"] }] // note: you can put more transforms into array // this is just one of them! }]] } } } ``` Make sure you process files with `babel-loader`, and that you *don’t* use React Hot Loader (it’s not needed with this transform). **It is up to you to ensure that the transform is not enabled when you compile the app in production mode.** The easiest way to do this is to put React Transform configuration inside `env.development` in `.babelrc` and ensure you’re calling `babel` with `NODE_ENV=production`. See [babelrc documentation](https://babeljs.io/docs/usage/babelrc/#env-option) for more details about using `env` option. **Warning!** This doesn't currently work for stateless functional components that were introduced in [React 0.14](https://facebook.github.io/react/blog/2015/10/07/react-v0.14.html#stateless-functional-components)! ### React Native This transform enables hot reloading when used together with [React Native Webpack Server](https://github.com/mjohnston/react-native-webpack-server). **However note that you should not use `.babelrc` to configure it with React Native.** Otherwise you’ll get [`Uncaught SyntaxError: Unexpected reserved word` in `ActivityIndicatorIOS.ios.js`](https://github.com/mjohnston/react-native-webpack-server/issues/57#issuecomment-141487449). There are two problems why `.babelrc` doesn’t work well in React Native: * Changes in it [aren’t picked up by packager’s aggressive caching](https://github.com/mjohnston/react-native-webpack-server/issues/63). * Another unknown problem causes `import` generated by `babel-plugin-react-transform` to not be compiled into a `require` call. Until we have better `.babelrc` support in React Native, **you should configure React Transform together with `babel-loader`**: ```js var fs = require('fs'); var path = require('path'); var webpack = require('webpack'); var config = { debug: true, devtool: 'source-map', entry: { 'index.ios': ['./src/main.js'], }, output: { path: path.resolve(__dirname, 'build'), filename: '[name].js', }, module: { loaders: [{ test: /\.js$/, exclude: /node_modules/, loader: 'babel', query: { stage: 0, plugins: [] } }] }, plugins: [] }; // Hot mode if (process.env.HOT) { config.devtool = 'eval'; config.entry['index.ios'].unshift('react-native-webpack-server/hot/entry'); config.entry['index.ios'].unshift('webpack/hot/only-dev-server'); config.entry['index.ios'].unshift('webpack-dev-server/client?http://localhost:8082'); config.output.publicPath = 'http://localhost:8082/'; config.plugins.unshift(new webpack.HotModuleReplacementPlugin()); // Note: enabling React Transform and React Transform HMR: config.module.loaders[0].query.plugins.push([ 'react-transform', { transforms: [{ transform : 'react-transform-hmr', imports : ['react'], locals : ['module'] }] } ]); } if (process.env.NODE_ENV === 'production') { config.plugins.push(new webpack.optimize.OccurrenceOrderPlugin()); config.plugins.push(new webpack.optimize.UglifyJsPlugin()); } module.exports = config; ``` See [React Native Webpack Server examples](https://github.com/mjohnston/react-native-webpack-server/tree/master/Examples/) for details. ## License MIT ├─ react-transition-group@1.2.0 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/reactjs/react-transition-group │ ├─ name: react-transition-group │ ├─ version: 1.2.0 │ ├─ description: A react component toolset for managing animations │ └─ licenseText: true ├─ react-waypoint@7.0.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/brigade/react-waypoint │ ├─ publisher: Brigade Engineering │ ├─ name: react-waypoint │ ├─ version: 7.0.4 │ ├─ description: A React component to execute a function whenever you scroll to an element. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Brigade Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Brigade ├─ react@15.6.1 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/facebook/react │ ├─ name: react │ ├─ version: 15.6.1 │ ├─ description: React is a JavaScript library for building user interfaces. │ ├─ licenseText: BSD License For React software Copyright (c) 2013-present, Facebook, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name Facebook nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2013-present, Facebook, Inc.. All rights reserved. ├─ read-pkg-up@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/read-pkg-up │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: read-pkg-up │ ├─ version: 1.0.1 │ ├─ description: Read the closest package.json file │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ read-pkg@1.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/read-pkg │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: read-pkg │ ├─ version: 1.1.0 │ ├─ description: Read a package.json file │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ readable-stream@1.0.34 │ ├─ licenses: MIT │ ├─ repository: https://github.com/isaacs/readable-stream │ ├─ publisher: Isaac Z. Schlueter │ ├─ email: i@izs.me │ ├─ url: http://blog.izs.me/ │ ├─ name: readable-stream │ ├─ version: 1.0.34 │ ├─ description: Streams2, a user-land copy of the stream library from Node.js v0.10.x │ ├─ licenseText: Copyright Joyent, Inc. and other Node contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Joyent, Inc. and other Node contributors. All rights reserved.. Permission is hereby granted, free of charge, to any person obtaining a copy. of this software and associated documentation files (the "Software"), to. deal in the Software without restriction, including without limitation the. rights to use, copy, modify, merge, publish, distribute, sublicense, and/or. sell copies of the Software, and to permit persons to whom the Software is. furnished to do so, subject to the following conditions: ├─ readable-stream@2.3.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/nodejs/readable-stream │ ├─ name: readable-stream │ ├─ version: 2.3.3 │ ├─ description: Streams3, a user-land copy of the stream library from Node.js │ └─ licenseText: Node.js is licensed for use as follows: """ Copyright Node.js contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ This license applies to parts of Node.js originating from the https://github.com/joyent/node repository: """ Copyright Joyent, Inc. and other Node contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ ├─ readdirp@2.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/thlorenz/readdirp │ ├─ publisher: Thorsten Lorenz │ ├─ email: thlorenz@gmx.de │ ├─ url: thlorenz.com │ ├─ name: readdirp │ ├─ version: 2.1.0 │ ├─ description: Recursive version of fs.readdir with streaming api. │ ├─ licenseText: This software is released under the MIT license: Copyright (c) 2012-2015 Thorsten Lorenz Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012-2015 Thorsten Lorenz ├─ redbox-react@1.4.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/commissure/redbox-react │ ├─ publisher: David Pfahler │ ├─ name: redbox-react │ ├─ version: 1.4.3 │ ├─ description: A redbox (rsod) component to display your errors. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 David Pfahler Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 David Pfahler ├─ redent@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/redent │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: redent │ ├─ version: 1.0.0 │ ├─ description: Strip redundant indentation and indent the string │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ reduce-css-calc@1.3.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/MoOx/reduce-css-calc │ ├─ publisher: Maxime Thirouin │ ├─ name: reduce-css-calc │ ├─ version: 1.3.0 │ ├─ description: Reduce CSS calc() function to the maximum │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Maxime Thirouin & Joakim Bengtson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Maxime Thirouin & Joakim Bengtson ├─ reduce-function-call@1.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/MoOx/reduce-function-call │ ├─ publisher: MoOx │ ├─ name: reduce-function-call │ ├─ version: 1.0.2 │ ├─ description: Reduce function calls in a string, using a callback │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 "MoOx" Maxime Thirouin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 "MoOx" Maxime Thirouin ├─ redux-thunk@2.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/gaearon/redux-thunk │ ├─ publisher: Dan Abramov │ ├─ email: dan.abramov@me.com │ ├─ name: redux-thunk │ ├─ version: 2.2.0 │ ├─ description: Thunk middleware for Redux. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Dan Abramov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Dan Abramov ├─ redux@3.7.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/reactjs/redux │ ├─ name: redux │ ├─ version: 3.7.2 │ ├─ description: Predictable state container for JavaScript apps │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015-present Dan Abramov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015-present Dan Abramov ├─ regenerate@1.3.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/mathiasbynens/regenerate │ ├─ publisher: Mathias Bynens │ ├─ url: https://mathiasbynens.be/ │ ├─ name: regenerate │ ├─ version: 1.3.2 │ ├─ description: Generate JavaScript-compatible regular expressions based on a given set of Unicode symbols or code points. │ ├─ licenseText: Copyright Mathias Bynens Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Mathias Bynens ├─ regenerator-runtime@0.10.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/facebook/regenerator/tree/master/packages/regenerator-runtime │ ├─ publisher: Ben Newman │ ├─ email: bn@cs.stanford.edu │ ├─ name: regenerator-runtime │ ├─ version: 0.10.5 │ ├─ description: Runtime for Regenerator-compiled generator and async functions. │ └─ licenseText: # regenerator-runtime Standalone runtime for [Regenerator](https://github.com/facebook/regenerator)-compiled generator and `async` functions. To import the runtime as a module (recommended), either of the following import styles will work: ```js // CommonJS const regeneratorRuntime = require("regenerator-runtime"); // ECMAScript 2015 import regeneratorRuntime from "regenerator-runtime"; ``` To ensure that `regeneratorRuntime` is defined globally, either of the following styles will work: ```js // CommonJS require("regenerator-runtime/runtime"); // ECMAScript 2015 import "regenerator-runtime/runtime"; ``` To get the absolute file system path of `runtime.js`, evaluate the following expression: ```js require("regenerator-runtime/path").path ``` ├─ regenerator-transform@0.9.11 │ ├─ licenses: BSD* │ ├─ repository: https://github.com/facebook/regenerator/tree/master/packages/regenerator-transform │ ├─ publisher: Ben Newman │ ├─ email: bn@cs.stanford.edu │ ├─ name: regenerator-transform │ ├─ version: 0.9.11 │ ├─ description: Explode async and generator functions into a state machine. │ └─ licenseText: # regenerator-transform Transform async/generator functions with [regenerator](https://github.com/facebook/regenerator) ## Installation ```sh $ npm install regenerator-transform ``` ## Usage ### Via `.babelrc` (Recommended) **.babelrc** ```js // without options { "plugins": ["regenerator-transform"] } // with options { "plugins": [ ["regenerator-transform", { asyncGenerators: false, // true by default generators: false, // true by default async: false // true by default }] ] } ``` ### Via CLI ```sh $ babel --plugins regenerator-transform script.js ``` ### Via Node API ```javascript require("babel-core").transform("code", { plugins: ["regenerator-transform"] }); ``` ├─ regex-cache@0.4.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/regex-cache │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: regex-cache │ ├─ version: 0.4.3 │ ├─ description: Memoize the results of a call to the RegExp constructor, avoiding repetitious runtime compilation of the same string and options, resulting in suprising performance improvements. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015-2016, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015-2016, Jon Schlinkert. ├─ regexpu-core@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/mathiasbynens/regexpu-core │ ├─ publisher: Mathias Bynens │ ├─ url: https://mathiasbynens.be/ │ ├─ name: regexpu-core │ ├─ version: 1.0.0 │ ├─ description: regexpu’s core functionality (i.e. `rewritePattern(pattern, flag)`), capable of translating ES6 Unicode regular expressions to ES5. │ ├─ licenseText: Copyright Mathias Bynens Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Mathias Bynens ├─ regexpu-core@2.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/mathiasbynens/regexpu-core │ ├─ publisher: Mathias Bynens │ ├─ url: https://mathiasbynens.be/ │ ├─ name: regexpu-core │ ├─ version: 2.0.0 │ ├─ description: regexpu’s core functionality (i.e. `rewritePattern(pattern, flag)`), capable of translating ES6 Unicode regular expressions to ES5. │ ├─ licenseText: Copyright Mathias Bynens Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Mathias Bynens ├─ regjsgen@0.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/d10/regjsgen │ ├─ publisher: Benjamin Tan │ ├─ email: demoneaux@gmail.com │ ├─ url: https://d10.github.io/ │ ├─ name: regjsgen │ ├─ version: 0.2.0 │ ├─ description: Generate `RegExp`s from RegJSParser’s AST │ ├─ licenseText: Copyright 2014 Benjamin Tan (https://d10.github.io/) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2014 Benjamin Tan (https://d10.github.io/) ├─ regjsparser@0.1.5 │ ├─ licenses: BSD* │ ├─ repository: https://github.com/jviereck/regjsparser │ ├─ publisher: 'Julian Viereck' │ ├─ email: julian.viereck@gmail.com │ ├─ name: regjsparser │ ├─ version: 0.1.5 │ ├─ description: Parsing the JavaScript's RegExp in JavaScript. │ └─ licenseText: Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ├─ relateurl@0.2.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/stevenvachon/relateurl │ ├─ publisher: Steven Vachon │ ├─ email: contact@svachon.com │ ├─ url: http://www.svachon.com/ │ ├─ name: relateurl │ ├─ version: 0.2.7 │ ├─ description: Minify URLs by converting them from absolute to relative. │ ├─ licenseText: The MIT License (MIT) Copyright (c) Steven Vachon (svachon.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Steven Vachon (svachon.com) ├─ remove-trailing-separator@1.0.2 │ ├─ licenses: ISC │ ├─ repository: https://github.com/darsain/remove-trailing-separator │ ├─ publisher: darsain │ ├─ name: remove-trailing-separator │ ├─ version: 1.0.2 │ ├─ description: Removes separators from the end of the string. │ └─ licenseText: Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ├─ remove-trailing-slash@0.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/stephenmathieson/remove-trailing-slash │ ├─ publisher: Stephen Mathieson │ ├─ email: me@stephenmathieson.com │ ├─ name: remove-trailing-slash │ ├─ version: 0.1.0 │ ├─ description: removes trailing slashes │ └─ licenseText: # remove-trailing-slash removes trailing slashes ## Installation with [component(1)](http://component.io): $ component install stephenmathieson/remove-trailing-slash with [npm](https://npmjs.org/): $ npm install remove-trailing-slash ## API ### `removeTrailingSlash(str)` Removes trailing slashes from the given `str` ## Example ```js var slashes = require('slashes') slashes('http://google.com/').should.be.equal('http://google.com'); ``` ## License MIT ├─ renderkid@2.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/AriaMinaei/RenderKid │ ├─ publisher: Aria Minaei │ ├─ name: renderkid │ ├─ version: 2.0.1 │ ├─ description: Stylish console.log for node │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Aria Minaei Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Aria Minaei ├─ repeat-element@1.1.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/repeat-element │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: repeat-element │ ├─ version: 1.1.2 │ ├─ description: Create an array by repeating the given value n times. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Jon Schlinkert ├─ repeat-string@1.6.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/repeat-string │ ├─ publisher: Jon Schlinkert │ ├─ url: http://github.com/jonschlinkert │ ├─ name: repeat-string │ ├─ version: 1.6.1 │ ├─ description: Repeat the given string n times. Fastest implementation for repeating a string. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014-2016, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2016, Jon Schlinkert. ├─ repeating@2.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/repeating │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: repeating │ ├─ version: 2.0.1 │ ├─ description: Repeat a string - fast │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ require-directory@2.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/troygoode/node-require-directory │ ├─ publisher: Troy Goode │ ├─ email: troygoode@gmail.com │ ├─ url: http://github.com/troygoode/ │ ├─ name: require-directory │ ├─ version: 2.1.1 │ ├─ description: Recursively iterates over specified directory, require()'ing each file, and returning a nested hash structure containing those modules. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2011 Troy Goode Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2011 Troy Goode ├─ require-main-filename@1.0.1 │ ├─ licenses: ISC │ ├─ repository: https://github.com/yargs/require-main-filename │ ├─ publisher: Ben Coe │ ├─ email: ben@npmjs.com │ ├─ name: require-main-filename │ ├─ version: 1.0.1 │ ├─ description: shim for require.main.filename() that works in as many environments as possible │ ├─ licenseText: Copyright (c) 2016, Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) 2016, Contributors ├─ requires-port@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/unshiftio/requires-port │ ├─ publisher: Arnout Kazemier │ ├─ name: requires-port │ ├─ version: 1.0.0 │ ├─ description: Check if a protocol requires a certain port number to be added to an URL. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. ├─ reselect@3.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/reactjs/reselect │ ├─ name: reselect │ ├─ version: 3.0.1 │ ├─ description: Selectors for Redux. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015-2016 Reselect Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015-2016 Reselect Contributors ├─ rgb@0.1.0 │ ├─ licenses: MIT* │ ├─ repository: https://github.com/kamicane/rgb │ ├─ publisher: Valerio Proietti │ ├─ email: @kamicane │ ├─ url: http://mad4milk.net │ ├─ name: rgb │ ├─ version: 0.1.0 │ ├─ description: converts all sorts of colors to rgb format. │ └─ licenseText: rgb === converts all sorts of colors to rgb format basic usage ----------- ```js var color = require("rgb") color("hsl(50, 50, 50)") //'rgb(191,170,64)' color("#000") //'rgb(0,0,0)' color("hsl(50, 50, 50, 0.5)") //'rgba(191,170,64,0.5)' color("maroon") //'rgb(128,0,0)' color("#ff330033") //'rgba(255,51,0,0.2)' ``` matches ------- ```js var color = require("rgb") color.matches("#ff330033") //true ``` replace ------- ```js var color = require("rgb") color.replace("the color is #ff330033") //'the color is rgba(255,51,0,0.2)' color.replace("the color is #ff330033", function(match){ return color(match) }) //'the color is rgba(255,51,0,0.2)' ``` ├─ right-align@0.1.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/right-align │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: right-align │ ├─ version: 0.1.3 │ ├─ description: Right-align the text in a string. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015, Jon Schlinkert. ├─ rimraf@2.6.1 │ ├─ licenses: ISC │ ├─ repository: https://github.com/isaacs/rimraf │ ├─ publisher: Isaac Z. Schlueter │ ├─ email: i@izs.me │ ├─ url: http://blog.izs.me/ │ ├─ name: rimraf │ ├─ version: 2.6.1 │ ├─ description: A deep deletion module for node (like `rm -rf`) │ ├─ licenseText: The ISC License Copyright (c) Isaac Z. Schlueter and Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) Isaac Z. Schlueter and Contributors ├─ ripemd160@2.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/ripemd160 │ ├─ name: ripemd160 │ ├─ version: 2.0.1 │ ├─ description: Compute ripemd160 of bytes or strings. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2016 crypto-browserify Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 crypto-browserify ├─ safe-buffer@5.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/feross/safe-buffer │ ├─ publisher: Feross Aboukhadijeh │ ├─ email: feross@feross.org │ ├─ url: http://feross.org │ ├─ name: safe-buffer │ ├─ version: 5.1.1 │ ├─ description: Safer Node.js Buffer API │ ├─ licenseText: The MIT License (MIT) Copyright (c) Feross Aboukhadijeh Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Feross Aboukhadijeh ├─ sax@1.2.1 │ ├─ licenses: ISC │ ├─ repository: https://github.com/isaacs/sax-js │ ├─ publisher: Isaac Z. Schlueter │ ├─ email: i@izs.me │ ├─ url: http://blog.izs.me/ │ ├─ name: sax │ ├─ version: 1.2.1 │ ├─ description: An evented streaming XML parser in JavaScript │ ├─ licenseText: The ISC License Copyright (c) Isaac Z. Schlueter and Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ==== `String.fromCodePoint` by Mathias Bynens used according to terms of MIT License, as follows: Copyright Mathias Bynens Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Isaac Z. Schlueter and Contributors ├─ select-hose@2.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/select-hose │ ├─ publisher: Fedor Indutny │ ├─ email: fedor@indutny.com │ ├─ name: select-hose │ ├─ version: 2.0.0 │ ├─ description: Select protocol using first bytes of incoming data and hose stuff to the handler │ ├─ licenseText: # Select Hose [![Build Status](https://secure.travis-ci.org/indutny/select-hose.png)](http://travis-ci.org/indutny/select-hose) [![NPM version](https://badge.fury.io/js/select-hose.svg)](http://badge.fury.io/js/select-hose) Hose the data to the handler ## LICENSE This software is licensed under the MIT License. Copyright Fedor Indutny, 2015. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Fedor Indutny, 2015. ├─ selfsigned@1.9.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jfromaniello/selfsigned │ ├─ publisher: José F. Romaniello │ ├─ email: jfromaniello@gmail.com │ ├─ url: http://joseoncode.com │ ├─ name: selfsigned │ ├─ version: 1.9.1 │ ├─ description: Generate self signed certificates private and public keys │ └─ licenseText: Generate a self signed x509 certificate from node.js. [![Build Status](https://travis-ci.org/jfromaniello/selfsigned.png)](https://travis-ci.org/jfromaniello/selfsigned) ## Install ```bash npm install selfsigned ``` ## Usage ```js var selfsigned = require('selfsigned'); var attrs = [{ name: 'commonName', value: 'contoso.com' }]; var pems = selfsigned.generate(attrs, { days: 365 }); console.log(pems) ``` #### Async ```js selfsigned.generate(attrs, { days: 365 }, function (err, pems) { console.log(pems) }); ``` Will return the following like this: ```js { private: '-----BEGIN RSA PRIVATE KEY-----\r\nMIICXAIBAAKBgQCBFMXMYS/+RZz6+qzv+xeqXPdjw4YKZC4y3dPhSwgEwkecrCTX\r\nsR6boue+1MjIqPqWggXZnotIGldfEN0kn0Jbh2vMTrTx6YwqQ8tceBPoyuuqcYBO\r\nOONAcKOB3MLnZbyOgVtbyT3j68JE5V/lx6LhpIKAgY0m5WIuaKrW6mvLXQIDAQAB\r\nAoGAU6ODGxAqSecPdayyG/ml9vSwNAuAMgGB0eHcpZG5i2PbhRAh+0TAIXaoFQXJ\r\naAPeA2ISqlTJyRmQXYAO2uj61FzeyDzYCf0z3+yZEVz3cO7jB5Pl6iBvzbxWuuuA\r\ncbJtWLhWtW5/jioc8F0EAzZ+lkC/XuVJdwKHDmwt2qvJO+ECQQD+dvo1g3Sz9xGw\r\n21n+fDG5i4128+Qh+JPgh5AeLuXSofc1HMHaOXcC6Wu/Cloh7QAD934b7W0A7VoD\r\ndLd/JLyFAkEAgdwjryyvdhy69e516IrPB3b+m4rggtntBlZREMrk9tOzeIucVO3W\r\ntKI3FHm6JebN2gVcG+rZ+FaDPo+ifJkW+QJBAPojrMwEACmUevB2f9246gxx0UsY\r\nbq6yM3No71OsWEEY8/Bi53CEQqg7Gq5+F6H33qcHmBEN8LQTngN9rY+vZh0CQBg0\r\nqJImii5B/LeK03+dICoMDDmCEYdSh9P+ku3GZBd+Lp3xqBpMmxDgi9PNPN2DwCs7\r\nhIfPpwGbXqtyqp7/CkECQB4OdY+2FbCciI473eQkTu310RMf8jElU63iwnx4R/XN\r\n/mgqN589OfF4SS0U/MoRzYk9jF9IAJN1Mi/571T+nw4=\r\n-----END RSA PRIVATE KEY-----\r\n', public: '-----BEGIN PUBLIC KEY-----\r\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCBFMXMYS/+RZz6+qzv+xeqXPdj\r\nw4YKZC4y3dPhSwgEwkecrCTXsR6boue+1MjIqPqWggXZnotIGldfEN0kn0Jbh2vM\r\nTrTx6YwqQ8tceBPoyuuqcYBOOONAcKOB3MLnZbyOgVtbyT3j68JE5V/lx6LhpIKA\r\ngY0m5WIuaKrW6mvLXQIDAQAB\r\n-----END PUBLIC KEY-----\r\n', cert: '-----BEGIN CERTIFICATE-----\r\nMIICjTCCAfagAwIBAgIBATANBgkqhkiG9w0BAQUFADBpMRQwEgYDVQQDEwtleGFt\r\ncGxlLm9yZzELMAkGA1UEBhMCVVMxETAPBgNVBAgTCFZpcmdpbmlhMRMwEQYDVQQH\r\nEwpCbGFja3NidXJnMQ0wCwYDVQQKEwRUZXN0MQ0wCwYDVQQLEwRUZXN0MB4XDTEz\r\nMDgxMzA1NDAyN1oXDTE0MDgxMzA1NDAyN1owaTEUMBIGA1UEAxMLZXhhbXBsZS5v\r\ncmcxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhWaXJnaW5pYTETMBEGA1UEBxMKQmxh\r\nY2tzYnVyZzENMAsGA1UEChMEVGVzdDENMAsGA1UECxMEVGVzdDCBnzANBgkqhkiG\r\n9w0BAQEFAAOBjQAwgYkCgYEAgRTFzGEv/kWc+vqs7/sXqlz3Y8OGCmQuMt3T4UsI\r\nBMJHnKwk17Eem6LnvtTIyKj6loIF2Z6LSBpXXxDdJJ9CW4drzE608emMKkPLXHgT\r\n6MrrqnGATjjjQHCjgdzC52W8joFbW8k94+vCROVf5cei4aSCgIGNJuViLmiq1upr\r\ny10CAwEAAaNFMEMwDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAvQwJgYDVR0RBB8w\r\nHYYbaHR0cDovL2V4YW1wbGUub3JnL3dlYmlkI21lMA0GCSqGSIb3DQEBBQUAA4GB\r\nAC9hGQlDh8anNo1YDJdG2mYqOQ5uybJV++kixblGaOkoDROPsWepUpL6kMDUtbAM\r\n4uXTyFkvlUQSaQkhNgOY5w/BRIAkCIu6u4D4XcjlCdwFq6vcKMEuWTHMAlBWFla3\r\nXJZAPO10PHuDen7JeMOUf1Re7lRFtwfRGAvVYmrvYFKv\r\n-----END CERTIFICATE-----\r\n' } ``` ## Options ```js var pems = selfsigned.generate(null, { keySize: 2048, // the size for the private key in bits (default: 1024) days: 30, // how long till expiry of the signed certificate (default: 365) algorithm: 'sha256', // sign the certificate with specified algorithm (default: 'sha1') extensions: [{ name: 'basicConstraints', cA: true }], // certificate extensions array pkcs7: true, // include PKCS#7 as part of the output (default: false) clientCertificate: true, // generate client cert signed by the original key (default: false) clientCertificateCN: 'jdoe' // client certificate's common name (default: 'John Doe jdoe123') }); ``` > You can avoid key pair generation specifying your own keys (`{ keyPair: { publicKey: '-----BEGIN PUBLIC KEY-----...', privateKey: '-----BEGIN RSA PRIVATE KEY-----...' }`) ### Generate Client Certificates If you are in an environment where servers require client certificates, you can generate client keys signed by the original (server) key. ```js var pems = selfsigned.generate(null, { clientCertificate: true }); console.log(pems) ``` Will return the following like this: ```js { private: '-----BEGIN RSA PRIVATE KEY-----\r\nMIICXQIBAAKBgQDLg/kS4dCPVu96sbK6MQuUPmhqnF8SeBXVHH18h+0BTj7HqnrA\r\nA75hNVIiSLTChvpzQ0qi2Ju7O2ESUOdx7cvGiftGuZLiI8uL2HVlYuX+wQTIoRHx\r\n9nxv56TIiqnPg5d05vSTLXoiJg5uac3a6+4vnhhTo0XRRXVVboZsfNpuGQIDAQAB\r\nAoGAfhCd9QhUPLZJWeNBJvzCg221GHUMn1Arlfsz8DPyp+BkGyKLLu4iu+xfmEUZ\r\nU3ZxJX0FeqJatTwvAT2EYJpAovx+F37PWFTLAS6T57WI1O5Lj1pTIKVkLrasNQgF\r\nl6qFD3cvEtCZve4LiwDoJ52FO2OtcDcMJ0r2oqbCXSDIlAECQQDnkkxKcTejBZGH\r\nyYEXG9hAznnEZ63LLzlHHF2cIPfxT+9826Wm0IzBxn8Wr4hcAbNx3bVKgsU9p7xA\r\nfKnSqObhAkEA4PwCjPQqxFpiYUmNt7htb8nCEvUDD/QSDyxAH/uJzfr6gOJOD5nT\r\n5gZYblC+CCMDkgDUpro6oATNyeRNoU3GOQJBANdaW26DWZ1WqV9hCpcGAxdJrT30\r\nuVASq66w93Ehy9LzZqFz1tqKacwvH7NmLGZ8AngrGdSgRnOvEMfb50aMYqECQDcG\r\nzCTnbzJZHOjIkaXWsMV/pjz2ugoD2wrk+sYXwoujj/NH5mnAaOhAsw5AJ0pcLfpe\r\nw6QHtmD+68ouUaJbIFkCQQDeu0AXAp6Kbk6570i2DpGUSnkRdGCGS+3ekqqJUpE7\r\nfVUSx1nCF1sPD0p+pO8Rj3i87iI4MlblQRm/wVkrkjiR\r\n-----END RSA PRIVATE KEY-----\r\n', public: '-----BEGIN PUBLIC KEY-----\r\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDLg/kS4dCPVu96sbK6MQuUPmhq\r\nnF8SeBXVHH18h+0BTj7HqnrAA75hNVIiSLTChvpzQ0qi2Ju7O2ESUOdx7cvGiftG\r\nuZLiI8uL2HVlYuX+wQTIoRHx9nxv56TIiqnPg5d05vSTLXoiJg5uac3a6+4vnhhT\r\no0XRRXVVboZsfNpuGQIDAQAB\r\n-----END PUBLIC KEY-----\r\n', cert: '-----BEGIN CERTIFICATE-----\r\nMIIClTCCAf6gAwIBAgIJdMZqoEeGMVYKMA0GCSqGSIb3DQEBBQUAMGkxFDASBgNV\r\nBAMTC2V4YW1wbGUub3JnMQswCQYDVQQGEwJVUzERMA8GA1UECBMIVmlyZ2luaWEx\r\nEzARBgNVBAcTCkJsYWNrc2J1cmcxDTALBgNVBAoTBFRlc3QxDTALBgNVBAsTBFRl\r\nc3QwHhcNMTUxMDI5MTMwNjA1WhcNMTYxMDI4MTMwNjA1WjBpMRQwEgYDVQQDEwtl\r\neGFtcGxlLm9yZzELMAkGA1UEBhMCVVMxETAPBgNVBAgTCFZpcmdpbmlhMRMwEQYD\r\nVQQHEwpCbGFja3NidXJnMQ0wCwYDVQQKEwRUZXN0MQ0wCwYDVQQLEwRUZXN0MIGf\r\nMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDLg/kS4dCPVu96sbK6MQuUPmhqnF8S\r\neBXVHH18h+0BTj7HqnrAA75hNVIiSLTChvpzQ0qi2Ju7O2ESUOdx7cvGiftGuZLi\r\nI8uL2HVlYuX+wQTIoRHx9nxv56TIiqnPg5d05vSTLXoiJg5uac3a6+4vnhhTo0XR\r\nRXVVboZsfNpuGQIDAQABo0UwQzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIC9DAm\r\nBgNVHREEHzAdhhtodHRwOi8vZXhhbXBsZS5vcmcvd2ViaWQjbWUwDQYJKoZIhvcN\r\nAQEFBQADgYEAj1Yyyb0R9KRFjIWNFi6RErB/riWylW4CdOK1hOyJZ+VRBWeYLKfX\r\ni///V+tqRvLlYY5x5DnrjXbDjBy0CZuN/J772/Srgp7Nl5cn92zynMJK1q4MEEs3\r\nAE/FO85R0HbGEp+IrwUwDOLR6omBFVdh1EUOTcQU2jLZNbWvLDiWbDo=\r\n-----END CERTIFICATE-----\r\n', clientprivate: '-----BEGIN RSA PRIVATE KEY-----\r\nMIICWwIBAAKBgQDjR5FrrdZ1jirqkx3KMPnGjrcObj/vmztWTEZ1kX6gTskQugJU\r\noxktzwDZza4jYODC6Ud2jouFLWeAi5BDSAeLwAQb951qVD9zVsmQ+63V/mvSJUoj\r\nigwj7YjcxyReJ17F0YgjceqrkZaPM8YRo8h1fj1JdPc4ZOUgA5ASZ0h2ewIDAQAB\r\nAoGAfB5DbjibG8ut6Di7VgX1AdhCY+EVjXaKqxAwklgIfOdJqpbKWwpO39NiNY+7\r\nf5qSZB8dZcNmsi4fjfWprPSTGVkk1Qp2uibtFS4MhbLEeyy4cgZfMIBQY+HD0Asf\r\n1NU7WTY5QfzgH3HAKuWpUEWdar/jE+hDPA+wnsMg+TgGARECQQDzlc+5WA9JsG9f\r\nwNRzhMGRxDP4QLmL0iLWupF4BMP/k4OLMjDtzWl725WJ4FjCzML7mSmkWWe/P8f5\r\nwrbR+e8lAkEA7t0CEsiIw8BE55YMuGIz5xI0QDnuwNWmCEmq6+ZziW3L+EuAr1S4\r\nDORqBYm5DuRvBWkWE9Sld0a8vNqWh58tHwJAP1ZYEhicuQuAmkRYucTuVEnRPZ8O\r\n4BV+65jNlIigskcYMEyXvm3oHMWnJ5fHXLfDh4p28n4w5ODfzcjcotK7ZQJAE7bX\r\n8fbtGsLmrPp8aEdqozqkZ1ygsPexMWPrIHcvt/sA56hLoazrV90ORxC73lfKNfcb\r\nZF2bnoGPGEMuQ1lG3wJAPnHysm3DgbSHZQiXWMjF4YDRRV2AeOqX1fmlSeMErwdj\r\ncwIs+ikIBnOwUOh6liJ7yK1YnckDTZTOfUDyG+vdFQ==\r\n-----END RSA PRIVATE KEY-----\r\n', clientpublic: '-----BEGIN PUBLIC KEY-----\r\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjR5FrrdZ1jirqkx3KMPnGjrcO\r\nbj/vmztWTEZ1kX6gTskQugJUoxktzwDZza4jYODC6Ud2jouFLWeAi5BDSAeLwAQb\r\n951qVD9zVsmQ+63V/mvSJUojigwj7YjcxyReJ17F0YgjceqrkZaPM8YRo8h1fj1J\r\ndPc4ZOUgA5ASZ0h2ewIDAQAB\r\n-----END PUBLIC KEY-----\r\n', clientcert: '-----BEGIN CERTIFICATE-----\r\nMIICSzCCAbSgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBpMRQwEgYDVQQDEwtleGFt\r\ncGxlLm9yZzELMAkGA1UEBhMCVVMxETAPBgNVBAgTCFZpcmdpbmlhMRMwEQYDVQQH\r\nEwpCbGFja3NidXJnMQ0wCwYDVQQKEwRUZXN0MQ0wCwYDVQQLEwRUZXN0MB4XDTE1\r\nMTAyOTEzMDYwNVoXDTE2MTAyOTEzMDYwNVowbjEZMBcGA1UEAxMQSm9obiBEb2Ug\r\namRvZTEyMzELMAkGA1UEBhMCVVMxETAPBgNVBAgTCFZpcmdpbmlhMRMwEQYDVQQH\r\nEwpCbGFja3NidXJnMQ0wCwYDVQQKEwRUZXN0MQ0wCwYDVQQLEwRUZXN0MIGfMA0G\r\nCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjR5FrrdZ1jirqkx3KMPnGjrcObj/vmztW\r\nTEZ1kX6gTskQugJUoxktzwDZza4jYODC6Ud2jouFLWeAi5BDSAeLwAQb951qVD9z\r\nVsmQ+63V/mvSJUojigwj7YjcxyReJ17F0YgjceqrkZaPM8YRo8h1fj1JdPc4ZOUg\r\nA5ASZ0h2ewIDAQABMA0GCSqGSIb3DQEBBQUAA4GBACOUglBxJ80jzR3DSSMrgRav\r\n7deKUPShEPC3tbVrc3LHPGpCEJUC309aK2mbMwz2jX78tr/ezePELKbyRggUvVgN\r\nB0XdIQkpR9X4mPdtFYkMiWKNVYKd79r0kolprgFPryhT3jsICIOnwE1Ur23Q+Fk2\r\nnizRS0HY4Q25JLCmsWWy\r\n-----END CERTIFICATE-----\r\n' } ``` To override the default client CN of `john doe jdoe123`, add another option for `clientCertificateCN`: ```js var pems = selfsigned.generate(null, { clientCertificate: true, clientCertificateCN: 'FooBar' }); ``` ## License MIT ├─ semver@5.3.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/npm/node-semver │ ├─ name: semver │ ├─ version: 5.3.0 │ ├─ description: The semantic version parser used by npm. │ ├─ licenseText: The ISC License Copyright (c) Isaac Z. Schlueter and Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) Isaac Z. Schlueter and Contributors ├─ send@0.15.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/pillarjs/send │ ├─ publisher: TJ Holowaychuk │ ├─ email: tj@vision-media.ca │ ├─ name: send │ ├─ version: 0.15.3 │ ├─ description: Better streaming static file server with Range and conditional-GET support │ ├─ licenseText: (The MIT License) Copyright (c) 2012 TJ Holowaychuk Copyright (c) 2014-2016 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012 TJ Holowaychuk. Copyright (c) 2014-2016 Douglas Christopher Wilson ├─ serve-index@1.9.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/expressjs/serve-index │ ├─ publisher: Douglas Christopher Wilson │ ├─ email: doug@somethingdoug.com │ ├─ name: serve-index │ ├─ version: 1.9.0 │ ├─ description: Serve directory listings │ ├─ licenseText: (The MIT License) Copyright (c) 2010 Sencha Inc. Copyright (c) 2011 LearnBoost Copyright (c) 2011 TJ Holowaychuk Copyright (c) 2014-2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2010 Sencha Inc.. Copyright (c) 2011 LearnBoost. Copyright (c) 2011 TJ Holowaychuk. Copyright (c) 2014-2015 Douglas Christopher Wilson ├─ serve-static@1.12.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/expressjs/serve-static │ ├─ publisher: Douglas Christopher Wilson │ ├─ email: doug@somethingdoug.com │ ├─ name: serve-static │ ├─ version: 1.12.3 │ ├─ description: Serve static files │ ├─ licenseText: (The MIT License) Copyright (c) 2010 Sencha Inc. Copyright (c) 2011 LearnBoost Copyright (c) 2011 TJ Holowaychuk Copyright (c) 2014-2016 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2010 Sencha Inc.. Copyright (c) 2011 LearnBoost. Copyright (c) 2011 TJ Holowaychuk. Copyright (c) 2014-2016 Douglas Christopher Wilson ├─ set-blocking@2.0.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/yargs/set-blocking │ ├─ publisher: Ben Coe │ ├─ email: ben@npmjs.com │ ├─ name: set-blocking │ ├─ version: 2.0.0 │ ├─ description: set blocking stdio and stderr ensuring that terminal output does not truncate │ ├─ licenseText: Copyright (c) 2016, Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) 2016, Contributors ├─ set-immediate-shim@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/set-immediate-shim │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: set-immediate-shim │ ├─ version: 1.0.1 │ ├─ description: Simple setImmediate shim │ └─ licenseText: # set-immediate-shim [![Build Status](https://travis-ci.org/sindresorhus/set-immediate-shim.svg?branch=master)](https://travis-ci.org/sindresorhus/set-immediate-shim) > Simple [`setImmediate`](https://developer.mozilla.org/en-US/docs/Web/API/Window.setImmediate) shim ## Install ``` $ npm install --save set-immediate-shim ``` ## Usage ```js var setImmediateShim = require('set-immediate-shim'); setImmediateShim(function () { console.log('2'); }); console.log('1'); //=> 1 //=> 2 ``` ## License MIT © [Sindre Sorhus](http://sindresorhus.com) ├─ setimmediate@1.0.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/YuzuJS/setImmediate │ ├─ publisher: YuzuJS │ ├─ name: setimmediate │ ├─ version: 1.0.5 │ ├─ description: A shim for the setImmediate efficient script yielding API │ ├─ licenseText: Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola ├─ setprototypeof@1.0.3 │ ├─ licenses: ISC │ ├─ repository: https://github.com/wesleytodd/setprototypeof │ ├─ publisher: Wes Todd │ ├─ name: setprototypeof │ ├─ version: 1.0.3 │ ├─ description: A small polyfill for Object.setprototypeof │ ├─ licenseText: Copyright (c) 2015, Wes Todd Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) 2015, Wes Todd ├─ sha.js@2.4.8 │ ├─ licenses: MIT │ ├─ repository: https://github.com/crypto-browserify/sha.js │ ├─ publisher: Dominic Tarr │ ├─ email: dominic.tarr@gmail.com │ ├─ url: dominictarr.com │ ├─ name: sha.js │ ├─ version: 2.4.8 │ ├─ description: Streamable SHA hashes in pure javascript │ ├─ licenseText: Copyright (c) 2013-2014 sha.js contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013-2014 sha.js contributors ├─ signal-exit@3.0.2 │ ├─ licenses: ISC │ ├─ repository: https://github.com/tapjs/signal-exit │ ├─ publisher: Ben Coe │ ├─ email: ben@npmjs.com │ ├─ name: signal-exit │ ├─ version: 3.0.2 │ ├─ description: when you want to fire an event no matter how a process exits. │ ├─ licenseText: The ISC License Copyright (c) 2015, Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) 2015, Contributors ├─ simple-html-tokenizer@0.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/tildeio/simple-html-tokenizer │ ├─ name: simple-html-tokenizer │ ├─ version: 0.1.1 │ ├─ description: Simple HTML Tokenizer is a lightweight JavaScript library that can be used to tokenize the kind of HTML normally found in templates. │ ├─ licenseText: Copyright (c) 2014 Yehuda Katz and contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Yehuda Katz and contributors ├─ slash@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/slash │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: http://sindresorhus.com │ ├─ name: slash │ ├─ version: 1.0.0 │ ├─ description: Convert Windows backslash paths to slash paths │ └─ licenseText: # slash [![Build Status](https://travis-ci.org/sindresorhus/slash.svg?branch=master)](https://travis-ci.org/sindresorhus/slash) > Convert Windows backslash paths to slash paths: `foo\\bar` ➔ `foo/bar` [Forward-slash paths can be used in Windows](http://superuser.com/a/176395/6877) as long as they're not extended-length paths and don't contain any non-ascii characters. This was created since the `path` methods in Node outputs `\\` paths on Windows. ## Install ```sh $ npm install --save slash ``` ## Usage ```js var path = require('path'); var slash = require('slash'); var str = path.join('foo', 'bar'); // Unix => foo/bar // Windows => foo\\bar slash(str); // Unix => foo/bar // Windows => foo/bar ``` ## API ### slash(path) Type: `string` Accepts a Windows backslash path and returns a slash path. ## License MIT © [Sindre Sorhus](http://sindresorhus.com) ├─ sockjs-client@1.1.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sockjs/sockjs-client │ ├─ publisher: Bryce Kahle │ ├─ name: sockjs-client │ ├─ version: 1.1.2 │ ├─ description: SockJS-client is a browser JavaScript library that provides a WebSocket-like object. SockJS gives you a coherent, cross-browser, Javascript API which creates a low latency, full duplex, cross-domain communication channel between the browser and the web server. │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2011-2012 VMware, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2011-2012 VMware, Inc. ├─ sockjs@0.3.18 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sockjs/sockjs-node │ ├─ publisher: Marek Majkowski │ ├─ name: sockjs │ ├─ version: 0.3.18 │ ├─ description: SockJS-node is a server counterpart of SockJS-client a JavaScript library that provides a WebSocket-like object in the browser. SockJS gives you a coherent, cross-browser, Javascript API which creates a low latency, full duplex, cross-domain communication channel between the browser and the web server. │ ├─ licenseText: The MIT License (MIT) Copyright (C) 2011 VMware, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (C) 2011 VMware, Inc. ├─ sort-keys@1.1.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/sort-keys │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: sort-keys │ ├─ version: 1.1.2 │ ├─ description: Sort the keys of an object │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ source-list-map@0.1.8 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/source-list-map │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: source-list-map │ ├─ version: 0.1.8 │ ├─ description: Fast line to line SourceMap generator. │ ├─ licenseText: # source-list-map ## API ### Example ``` js var SourceListMap = require("source-list-map").SourceListMap; // Create a new map var map = new SourceListMap(); // Add generated code that is map line to line to some soure map.add("Generated\ncode1\n", "source-code.js", "Orginal\nsource"); // Add generated code that isn't mapped map.add("Generated\ncode2\n"); // Get SourceMap and generated source map.toStringWithSourceMap({ file: "generated-code.js" }); // { // source: 'Generated\ncode1\nGenerated\ncode2\n', // map: { // version: 3, // file: 'generated-code.js', // sources: [ 'source-code.js' ], // sourcesContent: [ 'Orginal\nsource' ], // mappings: 'AAAA;AACA;;;' // } // } // Convert existing SourceMap into SourceListMap // (Only the first mapping per line is preserved) var fromStringWithSourceMap = require("source-list-map").fromStringWithSourceMap; var map = fromStringWithSourceMap("Generated\ncode", { version: 3, ... }); ``` ### `new SourceListMap()` ### `SourceListMap.prototype.add` ``` js SourceListMap.prototype.add(generatedCode: string) SourceListMap.prototype.add(generatedCode: string, source: string, originalSource: string) SourceListMap.prototype.add(sourceListMap: SourceListMap) ``` Append some stuff. ### `SourceListMap.prototype.prepend` ``` js SourceListMap.prototype.prepend(generatedCode: string) SourceListMap.prototype.prepend(generatedCode: string, source: string, originalSource: string) SourceListMap.prototype.prepend(sourceListMap: SourceListMap) ``` Prepend some stuff. ### `SourceListMap.prototype.toString()` Get generated code. ### `SourceListMap.prototype.toStringWithSourceMap` ``` js SourceListMap.prototype.toStringWithSourceMap(options: object) ``` Get generated code and SourceMap. `options` can contains `file` property which defines the `file` property of the SourceMap. ### `SourceListMap.prototype.mapGeneratedCode` ``` js SourceListMap.prototype.mapGeneratedCode(fn: function) ``` Applies `fn` to each generated code block. The returned value is set as new generated code. The number of lines must not change. ## Test [![Build Status](https://travis-ci.org/webpack/source-list-map.svg)](https://travis-ci.org/webpack/source-list-map) ## License Copyright (c) 2015 Tobias Koppers MIT (http://www.opensource.org/licenses/mit-license.php) │ └─ copyright: Copyright (c) 2015 Tobias Koppers ├─ source-map-support@0.4.15 │ ├─ licenses: MIT │ ├─ repository: https://github.com/evanw/node-source-map-support │ ├─ name: source-map-support │ ├─ version: 0.4.15 │ ├─ description: Fixes stack traces for files with source maps │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Evan Wallace Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Evan Wallace ├─ source-map@0.5.6 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/mozilla/source-map │ ├─ publisher: Nick Fitzgerald │ ├─ email: nfitzgerald@mozilla.com │ ├─ name: source-map │ ├─ version: 0.5.6 │ ├─ description: Generates and consumes source maps │ └─ licenseText: Copyright (c) 2009-2011, Mozilla Foundation and contributors All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the names of the Mozilla Foundation nor the names of project contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ├─ sourcemapped-stacktrace@1.1.6 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/novocaine/sourcemapped-stacktrace │ ├─ publisher: James Salter │ ├─ email: iteration@gmail.com │ ├─ name: sourcemapped-stacktrace │ ├─ version: 1.1.6 │ ├─ description: A simple module for applying source maps to JS stack traces in the browser. │ ├─ licenseText: Copyright (c) 2016, James Salter All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of sourcemapped-stacktrace nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2016, James Salter. All rights reserved. ├─ spdx-correct@1.0.2 │ ├─ licenses: Apache-2.0 │ ├─ repository: https://github.com/kemitchell/spdx-correct.js │ ├─ publisher: Kyle E. Mitchell │ ├─ email: kyle@kemitchell.com │ ├─ url: https://kemitchell.com │ ├─ name: spdx-correct │ ├─ version: 1.0.2 │ ├─ description: correct invalid SPDX identifiers │ └─ licenseText: SPDX:Apache-2.0 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. ├─ spdx-expression-parse@1.0.4 │ ├─ licenses: (MIT AND CC-BY-3.0) │ ├─ repository: https://github.com/kemitchell/spdx-expression-parse.js │ ├─ publisher: Kyle E. Mitchell │ ├─ email: kyle@kemitchell.com │ ├─ url: http://kemitchell.com │ ├─ name: spdx-expression-parse │ ├─ version: 1.0.4 │ ├─ description: parse SPDX license expressions │ ├─ licenseText: The MIT License Copyright (c) 2015 Kyle E. Mitchell & other authors listed in AUTHORS Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Kyle E. Mitchell & other authors listed in AUTHORS ├─ spdx-license-ids@1.2.2 │ ├─ licenses: Unlicense │ ├─ repository: https://github.com/shinnn/spdx-license-ids │ ├─ publisher: Shinnosuke Watanabe │ ├─ url: https://github.com/shinnn │ ├─ name: spdx-license-ids │ ├─ version: 1.2.2 │ ├─ description: A list of SPDX license identifiers │ └─ licenseText: This is free and unencumbered software released into the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to ├─ spdy-transport@2.0.20 │ ├─ licenses: MIT │ ├─ repository: https://github.com/spdy-http2/spdy-transport │ ├─ publisher: Fedor Indutny │ ├─ email: fedor@indutny.com │ ├─ name: spdy-transport │ ├─ version: 2.0.20 │ ├─ description: SPDY v2, v3, v3.1 and HTTP2 transport │ ├─ licenseText: # spdy-transport [![Build Status](https://travis-ci.org/spdy-http2/spdy-transport.svg?branch=master)](http://travis-ci.org/spdy-http2/spdy-transport) [![NPM version](https://badge.fury.io/js/spdy-transport.svg)](http://badge.fury.io/js/spdy-transport) [![dependencies Status](https://david-dm.org/spdy-http2/spdy-transport/status.svg?style=flat-square)](https://david-dm.org/spdy-http2/spdy-transport) [![Standard - JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg?style=flat-square)](http://standardjs.com/) [![Waffle](https://img.shields.io/badge/track-waffle-blue.svg?style=flat-square)](https://waffle.io/spdy-http2/node-spdy) > SPDY/HTTP2 generic transport implementation. ## Usage ```javascript var transport = require('spdy-transport'); // NOTE: socket is some stream or net.Socket instance, may be an argument // of `net.createServer`'s connection handler. var server = transport.connection.create(socket, { protocol: 'http2', isServer: true }); server.on('stream', function(stream) { console.log(stream.method, stream.path, stream.headers); stream.respond(200, { header: 'value' }); stream.on('readable', function() { var chunk = stream.read(); if (!chunk) return; console.log(chunk); }); stream.on('end', function() { console.log('end'); }); // And other node.js Stream APIs // ... }); ``` ## LICENSE This software is licensed under the MIT License. Copyright Fedor Indutny, 2015. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. [0]: http://json.org/ [1]: http://github.com/indutny/bud-backend [2]: https://github.com/nodejs/io.js [3]: https://github.com/libuv/libuv [4]: http://openssl.org/ │ └─ copyright: Copyright Fedor Indutny, 2015. ├─ spdy@3.4.7 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/node-spdy │ ├─ publisher: Fedor Indutny │ ├─ email: fedor.indutny@gmail.com │ ├─ name: spdy │ ├─ version: 3.4.7 │ ├─ description: Implementation of the SPDY protocol on node.js. │ ├─ licenseText: # SPDY Server for node.js [![Build Status](https://travis-ci.org/spdy-http2/node-spdy.svg?branch=master)](http://travis-ci.org/spdy-http2/node-spdy) [![NPM version](https://badge.fury.io/js/spdy.svg)](http://badge.fury.io/js/spdy) [![dependencies Status](https://david-dm.org/spdy-http2/node-spdy/status.svg?style=flat-square)](https://david-dm.org/spdy-http2/node-spdy) [![Standard - JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg?style=flat-square)](http://standardjs.com/) [![Waffle](https://img.shields.io/badge/track-waffle-blue.svg?style=flat-square)](https://waffle.io/spdy-http2/node-spdy) With this module you can create [HTTP2][0] / [SPDY][1] servers in node.js with natural http module interface and fallback to regular https (for browsers that don't support neither HTTP2, nor SPDY yet). This module named `spdy` but it [provides](https://github.com/indutny/node-spdy/issues/269#issuecomment-239014184) support for both http/2 (h2) and spdy (2,3,3.1). Also, `spdy` is compatible with Express. ## Usage ### Examples Server: ```javascript var spdy = require('spdy'), fs = require('fs'); var options = { // Private key key: fs.readFileSync(__dirname + '/keys/spdy-key.pem'), // Fullchain file or cert file (prefer the former) cert: fs.readFileSync(__dirname + '/keys/spdy-fullchain.pem'), // **optional** SPDY-specific options spdy: { protocols: [ 'h2', 'spdy/3.1', ..., 'http/1.1' ], plain: false, // **optional** // Parse first incoming X_FORWARDED_FOR frame and put it to the // headers of every request. // NOTE: Use with care! This should not be used without some proxy that // will *always* send X_FORWARDED_FOR 'x-forwarded-for': true, connection: { windowSize: 1024 * 1024, // Server's window size // **optional** if true - server will send 3.1 frames on 3.0 *plain* spdy autoSpdy31: false } } }; var server = spdy.createServer(options, function(req, res) { res.writeHead(200); res.end('hello world!'); }); server.listen(3000); ``` Client: ```javascript var spdy = require('spdy'); var https = require('https'); var agent = spdy.createAgent({ host: 'www.google.com', port: 443, // Optional SPDY options spdy: { plain: false, ssl: true, // **optional** send X_FORWARDED_FOR 'x-forwarded-for': '127.0.0.1' } }); https.get({ host: 'www.google.com', agent: agent }, function(response) { console.log('yikes'); // Here it goes like with any other node.js HTTP request // ... // And once we're done - we may close TCP connection to server // NOTE: All non-closed requests will die! agent.close(); }).end(); ``` Please note that if you use a custom agent, by default all connection-level errors will result in an uncaught exception. To handle these errors subscribe to the `error` event and re-emit the captured error: ```javascript var agent = spdy.createAgent({ host: 'www.google.com', port: 443 }).once('error', function (err) { this.emit(err); }); ``` #### Push streams It is possible to initiate [PUSH_PROMISE][5] to send content to clients _before_ the client requests it. ```javascript spdy.createServer(options, function(req, res) { var stream = res.push('/main.js', { status: 200, // optional method: 'GET', // optional request: { accept: '*/*' }, response: { 'content-type': 'application/javascript' } }); stream.on('error', function() { }); stream.end('alert("hello from push stream!");'); res.end(''); }).listen(3000); ``` [PUSH_PROMISE][5] may be sent using the `push()` method on the current response object. The signature of the `push()` method is: `.push('/some/relative/url', { request: {...}, response: {...} }, callback)` Second argument contains headers for both PUSH_PROMISE and emulated response. `callback` will receive two arguments: `err` (if any error is happened) and a [Duplex][4] stream as the second argument. Client usage: ```javascript var agent = spdy.createAgent({ /* ... */ }); var req = http.get({ host: 'www.google.com', agent: agent }, function(response) { }); req.on('push', function(stream) { stream.on('error', function(err) { // Handle error }); // Read data from stream }); ``` NOTE: You're responsible for the `stream` object once given it in `.push()` callback or `push` event. Hence ignoring `error` event on it will result in uncaught exception and crash your program. #### Trailing headers Server usage: ```javascript function (req, res) { // Send trailing headers to client res.addTrailers({ header1: 'value1', header2: 'value2' }); // On client's trailing headers req.on('trailers', function(headers) { // ... }); } ``` Client usage: ```javascript var req = http.request({ agent: spdyAgent, /* ... */ }).function (res) { // On server's trailing headers res.on('trailers', function(headers) { // ... }); }); req.write('stuff'); req.addTrailers({ /* ... */ }); req.end(); ``` #### Options All options supported by [tls][2] work with node-spdy. Additional options may be passed via `spdy` sub-object: * `plain` - if defined, server will ignore NPN and ALPN data and choose whether to use spdy or plain http by looking at first data packet. * `ssl` - if `false` and `options.plain` is `true`, `http.Server` will be used as a `base` class for created server. * `maxChunk` - if set and non-falsy, limits number of bytes sent in one DATA chunk. Setting it to non-zero value is recommended if you care about interleaving of outgoing data from multiple different streams. (defaults to 8192) * `protocols` - list of NPN/ALPN protocols to use (default is: `['h2','spdy/3.1', 'spdy/3', 'spdy/2','http/1.1', 'http/1.0']`) * `protocol` - use specific protocol if no NPN/ALPN ex In addition, * `maxStreams` - set "[maximum concurrent streams][3]" protocol option ### API API is compatible with `http` and `https` module, but you can use another function as base class for SPDYServer. ```javascript spdy.createServer( [base class constructor, i.e. https.Server], { /* keys and options */ }, // <- the only one required argument [request listener] ).listen([port], [host], [callback]); ``` Request listener will receive two arguments: `request` and `response`. They're both instances of `http`'s `IncomingMessage` and `OutgoingMessage`. But three custom properties are added to both of them: `isSpdy`, `spdyVersion`. `isSpdy` is `true` when the request was processed using HTTP2/SPDY protocols, it is `false` in case of HTTP/1.1 fallback. `spdyVersion` is either of: `2`, `3`, `3.1`, or `4` (for HTTP2). #### Contributors * [Fedor Indutny](https://github.com/indutny) * [Chris Strom](https://github.com/eee-c) * [François de Metz](https://github.com/francois2metz) * [Ilya Grigorik](https://github.com/igrigorik) * [Roberto Peon](https://github.com/grmocg) * [Tatsuhiro Tsujikawa](https://github.com/tatsuhiro-t) * [Jesse Cravens](https://github.com/jessecravens) #### LICENSE This software is licensed under the MIT License. Copyright Fedor Indutny, 2015. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. [0]: https://http2.github.io/ [1]: http://www.chromium.org/spdy [2]: http://nodejs.org/docs/latest/api/tls.html#tls.createServer [3]: https://httpwg.github.io/specs/rfc7540.html#SETTINGS_MAX_CONCURRENT_STREAMS [4]: https://iojs.org/api/stream.html#stream_class_stream_duplex [5]: https://httpwg.github.io/specs/rfc7540.html#PUSH_PROMISE │ └─ copyright: Copyright Fedor Indutny, 2015. ├─ sprintf-js@1.0.3 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/alexei/sprintf.js │ ├─ publisher: Alexandru Marasteanu │ ├─ email: hello@alexei.ro │ ├─ url: http://alexei.ro/ │ ├─ name: sprintf-js │ ├─ version: 1.0.3 │ ├─ description: JavaScript sprintf implementation │ ├─ licenseText: Copyright (c) 2007-2014, Alexandru Marasteanu All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of this software nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2007-2014, Alexandru Marasteanu . All rights reserved. ├─ stackframe@0.3.1 │ ├─ licenses: Public Domain │ ├─ repository: https://github.com/stacktracejs/stackframe │ ├─ name: stackframe │ ├─ version: 0.3.1 │ ├─ description: JS Object representation of a stack frame │ └─ licenseText: This is free and unencumbered software released into the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to ├─ statuses@1.3.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/statuses │ ├─ name: statuses │ ├─ version: 1.3.1 │ ├─ description: HTTP status utility │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Jonathan Ong me@jongleberry.com Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Jonathan Ong me@jongleberry.com. Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com ├─ stream-browserify@2.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/substack/stream-browserify │ ├─ publisher: James Halliday │ ├─ email: mail@substack.net │ ├─ url: http://substack.net │ ├─ name: stream-browserify │ ├─ version: 2.0.1 │ ├─ description: the stream module from node core for browsers │ └─ licenseText: This software is released under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ stream-http@2.7.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jhiesey/stream-http │ ├─ publisher: John Hiesey │ ├─ name: stream-http │ ├─ version: 2.7.2 │ ├─ description: Streaming http in the browser │ ├─ licenseText: The MIT License Copyright (c) 2015 John Hiesey Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 John Hiesey ├─ strict-uri-encode@1.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/kevva/strict-uri-encode │ ├─ publisher: Kevin Mårtensson │ ├─ email: kevinmartensson@gmail.com │ ├─ url: github.com/kevva │ ├─ name: strict-uri-encode │ ├─ version: 1.1.0 │ ├─ description: A stricter URI encode adhering to RFC 3986 │ ├─ licenseText: The MIT License (MIT) Copyright (c) Kevin Mårtensson (github.com/kevva) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Kevin Mårtensson (github.com/kevva) ├─ string-width@1.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/string-width │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: string-width │ ├─ version: 1.0.2 │ ├─ description: Get the visual width of a string - the number of columns required to display it │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ string_decoder@0.10.31 │ ├─ licenses: MIT │ ├─ repository: https://github.com/rvagg/string_decoder │ ├─ name: string_decoder │ ├─ version: 0.10.31 │ ├─ description: The string_decoder module from Node core │ ├─ licenseText: Copyright Joyent, Inc. and other Node contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Joyent, Inc. and other Node contributors. ├─ string_decoder@1.0.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/rvagg/string_decoder │ ├─ name: string_decoder │ ├─ version: 1.0.3 │ ├─ description: The string_decoder module from Node core │ └─ licenseText: Node.js is licensed for use as follows: """ Copyright Node.js contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ This license applies to parts of Node.js originating from the https://github.com/joyent/node repository: """ Copyright Joyent, Inc. and other Node contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ ├─ strip-ansi@3.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/chalk/strip-ansi │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: strip-ansi │ ├─ version: 3.0.1 │ ├─ description: Strip ANSI escape codes │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ strip-bom@2.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/strip-bom │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: strip-bom │ ├─ version: 2.0.0 │ ├─ description: Strip UTF-8 byte order mark (BOM) from a string/buffer │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ strip-indent@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/strip-indent │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: http://sindresorhus.com │ ├─ name: strip-indent │ ├─ version: 1.0.1 │ ├─ description: Strip leading whitespace from every line in a string │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ style-loader@0.13.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/style-loader │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: style-loader │ ├─ version: 0.13.2 │ ├─ description: style loader module for webpack │ ├─ licenseText: Copyright JS Foundation and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright JS Foundation and other contributors ├─ supports-color@2.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/chalk/supports-color │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: supports-color │ ├─ version: 2.0.0 │ ├─ description: Detect whether a terminal supports color │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ supports-color@3.2.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/chalk/supports-color │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: supports-color │ ├─ version: 3.2.3 │ ├─ description: Detect whether a terminal supports color │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ supports-color@4.2.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/chalk/supports-color │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: supports-color │ ├─ version: 4.2.0 │ ├─ description: Detect whether a terminal supports color │ ├─ licenseText: MIT License Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ svg-inline-loader@0.7.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sairion/svg-inline-loader │ ├─ publisher: Jaeho Lee │ ├─ email: me@jaeholee.org │ ├─ name: svg-inline-loader │ ├─ version: 0.7.1 │ ├─ description: Cleans up and inlines your SVG files into Webpack module. │ └─ licenseText: **NOTICE [2016-06-26]: I'm not using or developing this lib anymore. Therefore I'm closing issues (which I cannot handle anymore), but you can send PR to improve or fix problems you facing with this lib.** # SVG Inline Loader for Webpack This Webpack loader inlines SVG as module. If you use Adobe suite or Sketch to export SVGs, you will get auto-generated, unneeded crusts. This loader removes it for you, too. ## Config Simply add configuration object to `module.loaders` like this. ```javascript { test: /\.svg$/, loader: 'svg-inline' } ``` warning: You should configure this loader only once via `module.loaders` or `require('!...')`. See [#15](https://github.com/sairion/svg-inline-loader/issues/15) for detail. ### query options #### `removeTags: boolean` Removes specified tags and its children. You can specify tags by setting `removingTags` query array. default: `removeTags: false` #### `removingTags: [...string]` warning: this won't work unless you specify `removeTags: true` default: `removingTags: ['title', 'desc', 'defs', 'style']` #### `removeSVGTagAttrs: boolean` Removes `width` and `height` attributes from ``. default: `removeSVGTagAttrs: true` #### `removingTagAttrs: [...string]` Removes attributes from inside the ``. default: `removingTagAttrs: []` #### `classPrefix: boolean || string` Adds a prefix to class names to avoid collision across svg files. default: `classPrefix: false` #### `idPrefix: boolean || string` Adds a prefix to ids to avoid collision across svg files. default: `idPrefix: false` ##### Example Usage ```js // Using default hashed prefix (__[hash:base64:7]__) var logoTwo = require('svg-inline?classPrefix!./logo_two.svg'); // Using custom string var logoOne = require('svg-inline?classPrefix=my-prefix-!./logo_one.svg'); // Using custom string and hash var logoThree = require('svg-inline?classPrefix=__prefix-[sha512:hash:hex:5]__!./logo_three.svg'); ``` See [loader-utils](https://github.com/webpack/loader-utils#interpolatename) for hash options. Preferred usage is via a `module.loaders`: ```js { test: /\.svg$/, loader: 'svg-inline?classPrefix' } ``` ## Notes - `` React Component is **DEPRECATED**, use `svg-inline-react` package instead. - Known problems: - currently inlining SVG in css is unable. See #22 ├─ svgo@0.7.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/svg/svgo │ ├─ publisher: Kir Belevich │ ├─ email: kir@soulshine.in │ ├─ url: https://github.com/deepsweet │ ├─ name: svgo │ ├─ version: 0.7.2 │ ├─ description: Nodejs-based tool for optimizing SVG vector graphics files │ ├─ licenseText: The MIT License Copyright © 2012–2016 Kir Belevich Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Лицензия MIT Copyright © 2012–2016 Кир Белевич Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий: Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения. ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ. │ └─ copyright: Copyright © 2012–2016 Kir Belevich* ├─ symbol-observable@1.0.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/blesh/symbol-observable │ ├─ publisher: Ben Lesh │ ├─ email: ben@benlesh.com │ ├─ name: symbol-observable │ ├─ version: 1.0.4 │ ├─ description: Symbol.observable ponyfill │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Copyright (c) Ben Lesh Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com). Copyright (c) Ben Lesh ├─ tapable@0.2.6 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/tapable │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: tapable │ ├─ version: 0.2.6 │ ├─ description: Just a little module for plugins. │ └─ licenseText: # Tapable ``` javascript var Tapable = require("tapable"); ``` `Tapable` is a class for plugin binding and applying. Just extend it. ``` javascript function MyClass() { Tapable.call(this); } MyClass.prototype = Object.create(Tapable.prototype); MyClass.prototype.method = function() {}; ``` Or mix it in. ``` javascript function MyClass2() { EventEmitter.call(this); Tapable.call(this); } MyClass2.prototype = Object.create(EventEmitter.prototype); Tapable.mixin(MyClass2.prototype); MyClass2.prototype.method = function() {}; ``` ## Public functions ### apply ``` javascript void apply(plugins: Plugin...) ``` Attaches all plugins passed as arguments to the instance, by calling `apply` on them. ### plugin ``` javascript void plugin(names: string|string[], handler: Function) ``` `names` are the names (or a single name) of the plugin interfaces the class provides. `handler` is a callback function. The signature depends on the class. `this` is the instance of the class. ## Protected functions ### applyPlugins ``` javascript void applyPlugins(name: string, args: any...) ``` Synchronous applies all registered handers for `name`. The handler functions are called with all args. ### applyPluginsWaterfall ``` javascript any applyPluginsWaterfall(name: string, init: any, args: any...) ``` Synchronous applies all registered handers for `name`. The handler functions are called with the return value of the previous handler and all args. For the first handler `init` is used and the return value of the last handler is return by `applyPluginsWaterfall` ### applyPluginsAsync ``` javascript void applyPluginsAsync( name: string, args: any..., callback: (err?: Error) -> void ) ``` Asynchronously applies all registered handers for `name`. The handler functions are called with all args and a callback function with the signature `(err?: Error) -> void`. The hander functions are called in order of registration. `callback` is called after all handlers are called. ### applyPluginsBailResult ``` javascript any applyPluginsBailResult(name: string, args: any...) ``` Synchronous applies all registered handers for `name`. The handler function are called with all args. If a handler function returns something `!== undefined`, the value is returned and no more handers are applied. ### applyPluginsAsyncWaterfall ``` javascript applyPluginsAsyncWaterfall( name: string, init: any, callback: (err: Error, result: any) -> void ) ``` Asynchronously applies all registered handers for `name`. The hander functions are called with the current value and a callback function with the signature `(err: Error, nextValue: any) -> void`. When called `nextValue` is the current value for the next handler. The current value for the first handler is `init`. After all handlers are applied, `callback` is called with the last value. If any handler passes a value for `err`, the `callback` is called with this error and no more handlers are called. ### applyPluginsAsyncSeries ``` javascript applyPluginsAsyncSeries( name: string, args: any..., callback: (err: Error, result: any) -> void ) ``` Asynchronously applies all registered handers for `name`. The hander functions are called with all `args` and a callback function with the signature `(err: Error) -> void`. The handers are called in series, one at a time. After all handlers are applied, `callback` is called. If any handler passes a value for `err`, the `callback` is called with this error and no more handlers are called. ### applyPluginsParallel ``` javascript applyPluginsParallel( name: string, args: any..., callback: (err?: Error) -> void ) ``` Applies all registered handlers for `name` parallel. The handler functions are called with all args and a callback function with the signature `(err?: Error) -> void`. The `callback` function is called when all handlers called the callback without `err`. If any handler calls the callback with `err`, `callback` is invoked with this error and the other handlers are ignored. ### applyPluginsParallelBailResult ``` javascript applyPluginsParallelBailResult( name: string, args: any..., callback: (err: Error, result: any) -> void ) ``` Applies all registered handlers for `name` parallel. The handler functions are called with all args and a callback function with the signature `(err?: Error) -> void`. Handler functions must call the callback. They can either pass an error, or pass undefined, or pass an value. The first result (either error or value) with is not undefined is passed to the `callback`. The order is defined by registeration not by speed of the handler function. This function compentate this. ├─ thunky@0.1.0 │ ├─ licenses: MIT* │ ├─ repository: https://github.com/mafintosh/thunky │ ├─ publisher: Mathias Buus Madsen │ ├─ email: mathiasbuus@gmail.com │ ├─ name: thunky │ ├─ version: 0.1.0 │ ├─ description: delay the evaluation of a paramless async function and cache the result │ └─ licenseText: # thunky Delay the evaluation of a paramless async function and cache the result (see [thunk](http://en.wikipedia.org/wiki/Thunk_%28functional_programming%29)). npm install thunky ## Example Let's make a simple function that returns a random number 1 second after it is called for the first time ``` js var thunky = require('thunky'); var test = thunky(function(callback) { // the inner function should only accept a callback console.log('waiting 1s and returning random number'); setTimeout(function() { callback(Math.random()); }, 1000); }); test(function(num) { // inner function is called the first time we call test console.log(num); // prints random number }); test(function(num) { // subsequent calls waits for the first call to finish and return the same value console.log(num); // prints the same random number as above }); ``` ## Lazy evaluation Thunky makes it easy to implement a lazy evaluation pattern. ``` js var getDb = thunky(function(callback) { db.open(myConnectionString, callback); }); var queryDb = function(query, callback) { getDb(function(err, db) { if (err) return callback(err); db.query(query, callback); }); }; queryDb('some query', function(err, result) { ... } ); queryDb('some other query', function(err, result) { ... } ); ``` The first time `getDb` is called it will try do open a connection to the database. Any subsequent calls will just wait for the first call to complete and then call your callback. A nice property of this pattern is that it *easily* allows us to pass any error caused by `getDb` to the `queryDb` callback. ## Error → No caching If the thunk callback is called with an `Error` object as the first argument it will not cache the result ``` js var fails = thunky(function(callback) { console.log('returning an error'); callback(new Error('bad stuff')); }); fails(function(err) { // inner function is called console.log(err); }); fails(function(err) { // inner function is called again as it returned an error before console.log(err); }); ``` ## License MIT ├─ timers-browserify@2.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jryans/timers-browserify │ ├─ publisher: J. Ryan Stinnett │ ├─ email: jryans@gmail.com │ ├─ url: http://convolv.es/ │ ├─ name: timers-browserify │ ├─ version: 2.0.2 │ ├─ description: timers module for browserify │ └─ licenseText: # timers-browserify This project uses the [MIT](http://jryans.mit-license.org/) license: Copyright © 2012 J. Ryan Stinnett Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # lib/node The `lib/node` directory borrows files from joyent/node which uses the following license: Copyright Joyent, Inc. and other Node contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ to-arraybuffer@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jhiesey/to-arraybuffer │ ├─ publisher: John Hiesey │ ├─ name: to-arraybuffer │ ├─ version: 1.0.1 │ ├─ description: Get an ArrayBuffer from a Buffer as fast as possible │ ├─ licenseText: The MIT License Copyright (c) 2016 John Hiesey Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 John Hiesey ├─ to-fast-properties@1.0.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/to-fast-properties │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: to-fast-properties │ ├─ version: 1.0.3 │ ├─ description: Force V8 to use fast properties for an object │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Petka Antonov 2015 Sindre Sorhus Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Petka Antonov. 2015 Sindre Sorhus ├─ toposort@1.0.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/marcelklehr/toposort │ ├─ publisher: Marcel Klehr │ ├─ email: mklehr@gmx.net │ ├─ name: toposort │ ├─ version: 1.0.3 │ ├─ description: Topological sort of directed ascyclic graphs (like dependecy lists) │ └─ licenseText: Toposort - Topological sorting for node.js Copyright (c) 2012 by Marcel Klehr MIT LICENSE Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ trim-newlines@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/trim-newlines │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: trim-newlines │ ├─ version: 1.0.0 │ ├─ description: Trim newlines from the start and/or end of a string │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ trim-right@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/trim-right │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: trim-right │ ├─ version: 1.0.1 │ ├─ description: Similar to String#trim() but removes only whitespace on the right │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ tty-browserify@0.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/substack/tty-browserify │ ├─ publisher: James Halliday │ ├─ email: mail@substack.net │ ├─ url: http://substack.net │ ├─ name: tty-browserify │ ├─ version: 0.0.0 │ ├─ description: the tty module from node core for browsers │ └─ licenseText: This software is released under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ type-is@1.6.15 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/type-is │ ├─ name: type-is │ ├─ version: 1.6.15 │ ├─ description: Infer the content-type of a request. │ ├─ licenseText: (The MIT License) Copyright (c) 2014 Jonathan Ong Copyright (c) 2014-2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Jonathan Ong . Copyright (c) 2014-2015 Douglas Christopher Wilson ├─ ua-parser-js@0.7.13 │ ├─ licenses: (GPL-2.0 OR MIT) │ ├─ repository: https://github.com/faisalman/ua-parser-js │ ├─ publisher: Faisal Salman │ ├─ email: fyzlman@gmail.com │ ├─ url: http://faisalman.com │ ├─ name: ua-parser-js │ ├─ version: 0.7.13 │ ├─ description: Lightweight JavaScript-based user-agent string parser │ ├─ licenseText: # UAParser.js A JavaScript-based User-Agent string parser. Can be used either in browser (client-side) or in node.js (server-side) environment. Also available as jQuery/Zepto plugin, Bower/Meteor package, & RequireJS/AMD module. This library aims to identify detailed type of web browser, layout engine, operating system, cpu architecture, and device type/model, entirely from user-agent string with a relatively small footprint (~11KB when minified / ~4KB gzipped). Written in vanilla JavaScript, which means it doesn't require any other library and can be used independently. However, it's not recommended to use this library as browser detection since the result may not accurate than using feature detection. [![Build Status](https://travis-ci.org/faisalman/ua-parser-js.svg?branch=master)](https://travis-ci.org/faisalman/ua-parser-js) [![NPM downloads](https://img.shields.io/npm/dw/ua-parser-js.svg)](https://www.npmjs.com/package/ua-parser-js) [![NPM](https://img.shields.io/npm/v/ua-parser-js.svg)](https://www.npmjs.com/package/ua-parser-js) [![Bower](https://img.shields.io/bower/v/ua-parser-js.svg)](https://bower.io/) [![CDNJS](https://img.shields.io/cdnjs/v/UAParser.js.svg)](https://cdnjs.com/libraries/UAParser.js) [![Gratipay](https://img.shields.io/gratipay/team/UAParser.js.svg)](https://gratipay.com/UAParser.js) [![Flattr this](http://api.flattr.com/button/flattr-badge-large.png)](http://flattr.com/thing/3867907/faisalmanua-parser-js-on-GitHub) * Author : Faisal Salman <> * Demo : http://faisalman.github.io/ua-parser-js * Source : https://github.com/faisalman/ua-parser-js # Constructor * `new UAParser([uastring][,extensions])` * returns new instance * `UAParser([uastring][,extensions])` * returns result object `{ ua: '', browser: {}, cpu: {}, device: {}, engine: {}, os: {} }` # Methods * `getBrowser()` * returns `{ name: '', version: '' }` ``` # Possible 'browser.name': Amaya, Android Browser, Arora, Avant, Baidu, Blazer, Bolt, Bowser, Camino, Chimera, Chrome [WebView], Chromium, Comodo Dragon, Conkeror, Dillo, Dolphin, Doris, Edge, Epiphany, Fennec, Firebird, Firefox, Flock, GoBrowser, iCab, ICE Browser, IceApe, IceCat, IceDragon, Iceweasel, IE[Mobile], Iron, Jasmine, K-Meleon, Konqueror, Kindle, Links, Lunascape, Lynx, Maemo, Maxthon, Midori, Minimo, MIUI Browser, [Mobile] Safari, Mosaic, Mozilla, Netfront, Netscape, NetSurf, Nokia, OmniWeb, Opera [Mini/Mobi/Tablet], PhantomJS, Phoenix, Polaris, QQBrowser, RockMelt, Silk, Skyfire, SeaMonkey, Sleipnir, SlimBrowser, Swiftfox, Tizen, UCBrowser, Vivaldi, w3m, WeChat, Yandex # 'browser.version' determined dynamically ``` * `getDevice()` * returns `{ model: '', type: '', vendor: '' }` ``` # Possible 'device.type': console, mobile, tablet, smarttv, wearable, embedded # Possible 'device.vendor': Acer, Alcatel, Amazon, Apple, Archos, Asus, BenQ, BlackBerry, Dell, GeeksPhone, Google, HP, HTC, Huawei, Jolla, Lenovo, LG, Meizu, Microsoft, Motorola, Nexian, Nintendo, Nokia, Nvidia, OnePlus, Ouya, Palm, Panasonic, Pebble, Polytron, RIM, Samsung, Sharp, Siemens, Sony[Ericsson], Sprint, Xbox, Xiaomi, ZTE # 'device.model' determined dynamically ``` * `getEngine()` * returns `{ name: '', version: '' }` ``` # Possible 'engine.name' Amaya, EdgeHTML, Gecko, iCab, KHTML, Links, Lynx, NetFront, NetSurf, Presto, Tasman, Trident, w3m, WebKit # 'engine.version' determined dynamically ``` * `getOS()` * returns `{ name: '', version: '' }` ``` # Possible 'os.name' AIX, Amiga OS, Android, Arch, Bada, BeOS, BlackBerry, CentOS, Chromium OS, Contiki, Fedora, Firefox OS, FreeBSD, Debian, DragonFly, Gentoo, GNU, Haiku, Hurd, iOS, Joli, Linpus, Linux, Mac OS, Mageia, Mandriva, MeeGo, Minix, Mint, Morph OS, NetBSD, Nintendo, OpenBSD, OpenVMS, OS/2, Palm, PC-BSD, PCLinuxOS, Plan9, Playstation, QNX, RedHat, RIM Tablet OS, RISC OS, Sailfish, Series40, Slackware, Solaris, SUSE, Symbian, Tizen, Ubuntu, UNIX, VectorLinux, WebOS, Windows [Phone/Mobile], Zenwalk # 'os.version' determined dynamically ``` * `getCPU()` * returns `{ architecture: '' }` ``` # Possible 'cpu.architecture' 68k, amd64, arm[64], avr, ia[32/64], irix[64], mips[64], pa-risc, ppc, sparc[64] ``` * `getResult()` * returns `{ ua: '', browser: {}, cpu: {}, device: {}, engine: {}, os: {} }` * `getUA()` * returns UA string of current instance * `setUA(uastring)` * set UA string to parse * returns current instance # Example ```html ``` ## Using node.js ```sh $ npm install ua-parser-js ``` ```js var http = require('http'); var parser = require('ua-parser-js'); http.createServer(function (req, res) { // get user-agent header var ua = parser(req.headers['user-agent']); // write the result as response res.end(JSON.stringify(ua, null, ' ')); }) .listen(1337, '127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/'); ``` ## Using requirejs ```js requirejs.config({ baseUrl : 'js/lib', // path to your script directory paths : { 'ua-parser-js' : 'ua-parser.min' } }); requirejs(['ua-parser-js'], function(UAParser) { var parser = new UAParser(); console.log(parser.getResult()); }); ``` ## Using bower ```sh $ bower install ua-parser-js ``` ## Using meteor ```sh $ meteor add faisalman:ua-parser-js ``` ## Using jQuery/Zepto ($.ua) Although written in vanilla js (which means it doesn't depends on jQuery), this library will automatically detect if jQuery/Zepto is present and create `$.ua` object based on browser's user-agent (although in case you need, `window.UAParser` constructor is still present). To get/set user-agent you can use: `$.ua.get()` / `$.ua.set(uastring)`. ```js // In browser with default user-agent: 'Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Sprint APA7373KT Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0': // Do some tests console.log($.ua.device); // {vendor: "HTC", model: "Evo Shift 4G", type: "mobile"} console.log($.ua.os); // {name: "Android", version: "2.3.4"} console.log($.ua.os.name); // "Android" console.log($.ua.get()); // "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Sprint APA7373KT Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0" // reset to custom user-agent $.ua.set('Mozilla/5.0 (Linux; U; Android 3.0.1; en-us; Xoom Build/HWI69) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13'); // Test again console.log($.ua.browser.name); // "Safari" console.log($.ua.engine.name); // "Webkit" console.log($.ua.device); // {vendor: "Motorola", model: "Xoom", type: "tablet"} console.log(parseInt($.ua.browser.version.split('.')[0], 10)); // 4 // Add class to tag // $('body').addClass('ua-browser-' + $.ua.browser.name + ' ua-devicetype-' + $.ua.device.type); ``` ## Extending regex patterns * `UAParser(uastring[, extensions])` Pass your own regexes to extend the limited matching rules. ```js // Example: var uaString = 'Mozilla/5.0 MyOwnBrowser/1.3'; var myOwnRegex = [[/(myownbrowser)\/([\w\.]+)/i], [UAParser.BROWSER.NAME, UAParser.BROWSER.VERSION]]; var parser = new UAParser(uaString, { browser: myOwnRegex }); console.log(parser.getBrowser()); // {name: "MyOwnBrowser", version: "1.3"} ``` # Development ## Contribute * Fork and clone this repository * Make some changes as required * Write a unit test to showcase your feature * Run the test suites to make sure the changes you made didn't break anything `$ npm run test` * Commit and push to your own repository * Submit a pull request to this repository under `develop` branch * Profit? $$$ ## Build Build a minified & packed script ```sh $ npm run build ``` # License Dual licensed under GPLv2 & MIT Copyright © 2012-2016 Faisal Salman <> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. │ └─ copyright: Copyright © 2012-2016 Faisal Salman <> ├─ uglify-js@2.8.29 │ ├─ licenses: BSD-2-Clause │ ├─ repository: https://github.com/mishoo/UglifyJS2 │ ├─ publisher: Mihai Bazon │ ├─ email: mihai.bazon@gmail.com │ ├─ url: http://lisperator.net/ │ ├─ name: uglify-js │ ├─ version: 2.8.29 │ ├─ description: JavaScript parser, mangler/compressor and beautifier toolkit │ ├─ licenseText: UglifyJS is released under the BSD license: Copyright 2012-2013 (c) Mihai Bazon Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright 2012-2013 (c) Mihai Bazon ├─ uglify-js@3.0.25 │ ├─ licenses: BSD-2-Clause │ ├─ repository: https://github.com/mishoo/UglifyJS2 │ ├─ publisher: Mihai Bazon │ ├─ email: mihai.bazon@gmail.com │ ├─ url: http://lisperator.net/ │ ├─ name: uglify-js │ ├─ version: 3.0.25 │ ├─ description: JavaScript parser, mangler/compressor and beautifier toolkit │ ├─ licenseText: UglifyJS is released under the BSD license: Copyright 2012-2013 (c) Mihai Bazon Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright 2012-2013 (c) Mihai Bazon ├─ uglify-to-browserify@1.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/ForbesLindesay/uglify-to-browserify │ ├─ publisher: ForbesLindesay │ ├─ name: uglify-to-browserify │ ├─ version: 1.0.2 │ ├─ description: A transform to make UglifyJS work in browserify. │ ├─ licenseText: Copyright (c) 2013 Forbes Lindesay Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Forbes Lindesay ├─ uniq@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/mikolalysenko/uniq │ ├─ publisher: Mikola Lysenko │ ├─ name: uniq │ ├─ version: 1.0.1 │ ├─ description: Removes duplicates from a sorted array in place │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2013 Mikola Lysenko Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Mikola Lysenko ├─ uniqid@4.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/adamhalasz/uniqid │ ├─ publisher: Halász Ádám │ ├─ email: mail@adamhalasz.com │ ├─ url: http://adamhalasz.com/ │ ├─ name: uniqid │ ├─ version: 4.1.1 │ ├─ description: Unique ID Generator │ ├─ licenseText: ![uniqid logo](http://i.imgur.com/OrZC1lc.png) ![unqiid npm badge](http://img.shields.io/npm/v/uniqid.svg) ![uniqid npm downloads badge](https://img.shields.io/npm/dm/uniqid.svg) ### A Unique Hexatridecimal ID generator. It will always create unique id's based on the current time, process and machine name. ``` npm install uniqid ``` ## Usage ```js var uniqid = require('uniqid'); console.log(uniqid()); // -> 4n5pxq24kpiob12og9 console.log(uniqid(), uniqid()); // -> 4n5pxq24kriob12ogd, 4n5pxq24ksiob12ogl ``` ## Features - Very fast - Generates unique id's on multiple processes and machines even if called at the same time. - Shorter 8 and 12 byte versions with less uniqueness. # How it works - With the current time the ID's are always unique in a single process. - With the Process ID the ID's are unique even if called at the same time from multiple processes. - With the MAC Address the ID's are unique even if called at the same time from multiple machines and processes. ## API: #### **uniqid(** prefix *optional string* **)** Generate 18 byte unique id's based on the time, process id and mac address. Works on multiple processes and machines. ```js uniqid() -> "4n5pxq24kpiob12og9" uniqid('hello-') -> "hello-4n5pxq24kpiob12og9" ``` #### **uniqid.process(** prefix *optional string* **)** Generate 12 byte unique id's based on the time and the process id. Works on multiple processes within a single machine but not on multiple machines. ```js uniqid.process() -> "24ieiob0te82" ``` #### **uniqid.time(** prefix *optional string* **)** Generate 8 byte unique id's based on the current time only. Recommended only on a single process on a single machine. ```js uniqid.time() -> "iob0ucoj" ``` ## Webpack and Browserify Since browsers don't provide a Process ID and in most cases neither give a Mac Address using uniqid from Webpack and Browserify falls back to `uniqid.time()` for all the other methods too. The browser is the single process, single machine case anyway. ## Debug Debug messages are turned of by default as of `v4.1.0`. To turn on debug messages you'll need to set `uniqid_debug` to `true` before you require the module. ```js // enable debug messages module.uniqid_debug = true // require the module var uniqid = require('uniqid') ``` ## **License** (The MIT License) Copyright (c) 2014 Halász Ádám Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Halász Ádám ├─ uniqs@2.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/fgnass/uniqs │ ├─ publisher: Felix Gnass │ ├─ email: fgnass@gmail.com │ ├─ name: uniqs │ ├─ version: 2.0.0 │ ├─ description: Tiny utility to create unions and de-duplicated lists │ └─ licenseText: [![Build Status](https://travis-ci.org/fgnass/uniqs.svg?branch=master)](https://travis-ci.org/fgnass/uniqs) ### Tiny utility to create unions and de-duplicated lists. Example: ```js var uniqs = require('uniqs'); var foo = { foo: 23 }; var list = [3, 2, 2, 1, foo, foo]; uniqs(list); // => [3, 2, 1, { foo: 23 }] ``` You can pass multiple lists to create a union: ```js uniqs([2, 1, 1], [2, 3, 3, 4], [4, 3, 2]); // => [2, 1, 3, 4] ``` Passing individual items works too: ```js uniqs(3, 2, 2, [1, 1, 2]); // => [3, 2, 1] ``` ### Summary * Uniqueness is defined based on strict object equality. * The lists do not need to be sorted. * The resulting array contains the items in the order of their first appearance. ### About This package has been written to accompany utilities like [flatten](https://npmjs.org/package/flatten) as alternative to full-blown libraries like underscore or lodash. The implementation is optimized for simplicity rather than performance and looks like this: ```js module.exports = function uniqs() { var list = Array.prototype.concat.apply([], arguments); return list.filter(function(item, i) { return i == list.indexOf(item); }); }; ``` ### License MIT ├─ unpipe@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/stream-utils/unpipe │ ├─ publisher: Douglas Christopher Wilson │ ├─ email: doug@somethingdoug.com │ ├─ name: unpipe │ ├─ version: 1.0.0 │ ├─ description: Unpipe a stream from all destinations │ ├─ licenseText: (The MIT License) Copyright (c) 2015 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Douglas Christopher Wilson ├─ upper-case@1.1.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/blakeembrey/upper-case │ ├─ publisher: Blake Embrey │ ├─ email: hello@blakeembrey.com │ ├─ url: http://blakeembrey.me │ ├─ name: upper-case │ ├─ version: 1.1.3 │ ├─ description: Upper case a string │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) ├─ url-parse@1.0.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/unshiftio/url-parse │ ├─ publisher: Arnout Kazemier │ ├─ name: url-parse │ ├─ version: 1.0.5 │ ├─ description: Small footprint URL parser that works seamlessly across Node.js and browser environments │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. ├─ url-parse@1.1.9 │ ├─ licenses: MIT │ ├─ repository: https://github.com/unshiftio/url-parse │ ├─ publisher: Arnout Kazemier │ ├─ name: url-parse │ ├─ version: 1.1.9 │ ├─ description: Small footprint URL parser that works seamlessly across Node.js and browser environments │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. ├─ url@0.11.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/defunctzombie/node-url │ ├─ name: url │ ├─ version: 0.11.0 │ ├─ description: The core `url` packaged standalone for use with Browserify. │ ├─ licenseText: The MIT License (MIT) Copyright Joyent, Inc. and other Node contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Joyent, Inc. and other Node contributors. ├─ util-deprecate@1.0.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/TooTallNate/util-deprecate │ ├─ publisher: Nathan Rajlich │ ├─ email: nathan@tootallnate.net │ ├─ url: http://n8.io/ │ ├─ name: util-deprecate │ ├─ version: 1.0.2 │ ├─ description: The Node.js `util.deprecate()` function with browser support │ ├─ licenseText: (The MIT License) Copyright (c) 2014 Nathan Rajlich Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Nathan Rajlich ├─ util@0.10.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/defunctzombie/node-util │ ├─ publisher: Joyent │ ├─ url: http://www.joyent.com │ ├─ name: util │ ├─ version: 0.10.3 │ ├─ description: Node.JS util module │ ├─ licenseText: Copyright Joyent, Inc. and other Node contributors. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Joyent, Inc. and other Node contributors. All rights reserved.. Permission is hereby granted, free of charge, to any person obtaining a copy. of this software and associated documentation files (the "Software"), to. deal in the Software without restriction, including without limitation the. rights to use, copy, modify, merge, publish, distribute, sublicense, and/or. sell copies of the Software, and to permit persons to whom the Software is. furnished to do so, subject to the following conditions: ├─ utila@0.3.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/AriaMinaei/utila │ ├─ publisher: Aria Minaei │ ├─ name: utila │ ├─ version: 0.3.3 │ ├─ description: notareplacementforunderscore │ └─ licenseText: notareplacementforunderscore # Installation **npm**: `npm install utila` **bower**: available via bower as in `bower install utila`, but you should run `npm install` before you can use it. ├─ utila@0.4.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/AriaMinaei/utila │ ├─ publisher: Aria Minaei │ ├─ name: utila │ ├─ version: 0.4.0 │ ├─ description: notareplacementforunderscore │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2014 Aria Minaei Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Aria Minaei ├─ utils-merge@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jaredhanson/utils-merge │ ├─ publisher: Jared Hanson │ ├─ email: jaredhanson@gmail.com │ ├─ url: http://www.jaredhanson.net/ │ ├─ name: utils-merge │ ├─ version: 1.0.0 │ ├─ description: merge() utility function │ ├─ licenseText: (The MIT License) Copyright (c) 2013 Jared Hanson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2013 Jared Hanson ├─ uuid@2.0.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/defunctzombie/node-uuid │ ├─ publisher: Robert Kieffer │ ├─ email: robert@broofa.com │ ├─ name: uuid │ ├─ version: 2.0.3 │ ├─ description: Rigorous implementation of RFC4122 (v1 and v4) UUIDs. │ ├─ licenseText: Copyright (c) 2010-2012 Robert Kieffer MIT License - http://opensource.org/licenses/mit-license.php │ └─ copyright: Copyright (c) 2010-2012 Robert Kieffer. MIT License - http://opensource.org/licenses/mit-license.php. ├─ uuid@3.3.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/kelektiv/node-uuid │ ├─ name: uuid │ ├─ version: 3.3.2 │ ├─ description: RFC4122 (v1, v4, and v5) UUIDs │ ├─ licenseText: The MIT License (MIT) Copyright (c) 2010-2016 Robert Kieffer and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2010-2016 Robert Kieffer and other contributors ├─ validate-npm-package-license@3.0.1 │ ├─ licenses: Apache-2.0 │ ├─ repository: https://github.com/kemitchell/validate-npm-package-license.js │ ├─ publisher: Kyle E. Mitchell │ ├─ email: kyle@kemitchell.com │ ├─ url: https://kemitchell.com │ ├─ name: validate-npm-package-license │ ├─ version: 3.0.1 │ ├─ description: Give me a string and I'll tell you if it's a valid npm package license string │ └─ licenseText: SPDX:Apache-2.0 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. ├─ vary@1.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jshttp/vary │ ├─ publisher: Douglas Christopher Wilson │ ├─ email: doug@somethingdoug.com │ ├─ name: vary │ ├─ version: 1.1.1 │ ├─ description: Manipulate the HTTP Vary header │ ├─ licenseText: (The MIT License) Copyright (c) 2014-2017 Douglas Christopher Wilson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2017 Douglas Christopher Wilson ├─ vendors@1.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/wooorm/vendors │ ├─ publisher: Titus Wormer │ ├─ email: tituswormer@gmail.com │ ├─ url: http://wooorm.com │ ├─ name: vendors │ ├─ version: 1.0.1 │ ├─ description: List of vendor prefixes known to the web platform │ ├─ licenseText: (The MIT License) Copyright (c) 2016 Titus Wormer Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2016 Titus Wormer ├─ vm-browserify@0.0.4 │ ├─ licenses: MIT │ ├─ repository: https://github.com/substack/vm-browserify │ ├─ publisher: James Halliday │ ├─ email: mail@substack.net │ ├─ url: http://substack.net │ ├─ name: vm-browserify │ ├─ version: 0.0.4 │ ├─ description: vm module for the browser │ └─ licenseText: This software is released under the MIT license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ├─ warning@3.0.0 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/BerkeleyTrue/warning │ ├─ publisher: Berkeley Martinez │ ├─ email: berkeley@r3dm.com │ ├─ url: http://www.freecodecamp.com │ ├─ name: warning │ ├─ version: 3.0.0 │ ├─ description: A mirror of Facebook's Warning │ ├─ licenseText: BSD License For React software Copyright (c) 2013-2015, Facebook, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name Facebook nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2013-2015, Facebook, Inc.. All rights reserved. ├─ watchpack@1.4.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/watchpack │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: watchpack │ ├─ version: 1.4.0 │ ├─ description: Wrapper library for directory and file watching. │ ├─ licenseText: Copyright JS Foundation and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright JS Foundation and other contributors ├─ wbuf@1.7.2 │ ├─ licenses: MIT │ ├─ repository: https://github.com/indutny/wbuf │ ├─ publisher: Fedor Indutny │ ├─ email: fedor@indutny.com │ ├─ name: wbuf │ ├─ version: 1.7.2 │ ├─ description: Write buffer │ ├─ licenseText: # wbuf #### LICENSE This software is licensed under the MIT License. Copyright Fedor Indutny, 2014. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright Fedor Indutny, 2014. ├─ webpack-dev-middleware@1.11.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/webpack-dev-middleware │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: webpack-dev-middleware │ ├─ version: 1.11.0 │ ├─ description: Offers a dev middleware for webpack, which arguments a live bundle to a directory │ ├─ licenseText: Copyright JS Foundation and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright JS Foundation and other contributors ├─ webpack-dev-server@2.5.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/webpack-dev-server │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: webpack-dev-server │ ├─ version: 2.5.1 │ ├─ description: Serves a webpack app. Updates the browser on changes. │ ├─ licenseText: Copyright JS Foundation and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright JS Foundation and other contributors ├─ webpack-sources@0.1.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/webpack-sources │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: webpack-sources │ ├─ version: 0.1.5 │ ├─ description: Source code handling classes for webpack │ └─ licenseText: # webpack-sources Contains multiple classes which represent a `Source`. A `Source` can be asked for source code, size, source map and hash. ## `Source` Base class for all sources. ### Public methods All methods should be considered as expensive as they may need to do computations. #### `source` ``` js Source.prototype.source() -> String ``` Returns the represented source code as string. #### `size` ``` js Source.prototype.size() -> Number ``` Returns the size in chars of the represented source code. #### `map` ``` js Source.prototype.map(options: Object) -> Object | null ``` Returns the SourceMap of the represented source code as JSON. May return `null` if no SourceMap is available. The `options` object can contain the following keys: * `columns: Boolean` (default `true`): If set to false the implementation may omit mappings for columns. * `module: Boolean` (default `true`): If set to false the implementation may omit inner mappings for modules. #### `sourceAndMap` ``` js Source.prototype.sourceAndMap(options: Object) -> { code: String, map: Object } ``` Returns both, source code (like `Source.prototype.source()` and SourceMap (like `Source.prototype.map()`). This method could have better performance than calling `source()` and `map()` separatly. See `map()` for `options`. #### `updateHash` ``` js Source.prototype.updateHash(hash: Hash) -> void ``` Updates the provided `Hash` object with the content of the represented source code. (`Hash` is an object with an `update` method, which is called with string values) #### `node` (optional) ``` js Source.prototype.node(options: Object) -> SourceNode ``` This is an optional method. It may be `null` if not implemented. Returns a `SourceNode` (see source-map library) for the represented source code. See `map()` for `options`. #### `listNode` (optional) ``` js Source.prototype.listNode(options: Object) -> SourceNode ``` This is an optional method. It may be `null` if not implemented. Returns a `SourceListMap` (see source-list-map library) for the represented source code. See `map()` for `options`. ## `RawSource` Represents source code without SourceMap. ``` js new RawSource(sourceCode: String) ``` ## `OriginalSource` Represents source code, which is a copy of the original file. ``` js new OriginalSource( sourceCode: String, name: String ) ``` * `sourceCode`: The source code. * `name`: The filename of the original source code. OriginalSource tries to create column mappings if requested, by splitting the source code at typical statement borders (`;`, `{`, `}`). ## `SourceMapSource` Represents source code with SourceMap, optionally having an additional SourceMap for the original source. ``` js new SourceMapSource( sourceCode: String, name: String, sourceMap: Object | String, originalSource?: String, innerSourceMap?: Object | String ) ``` * `sourceCode`: The source code. * `name`: The filename of the original source code. * `sourceMap`: The SourceMap for the source code. * `originalSource`: The source code of the original file. Can be omitted if the `sourceMap` already contains the original source code. * `innerSourceMap`: The SourceMap for the `originalSource`/`name`. ## `LineToLineMappedSource` Represents source code, which is mapped line by line to the orginal file. ``` js new LineToLineMappedSource( sourceCode: String, name: String, originalSource: String ) ``` * `sourceCode`: The source code. * `name`: The filename of the original source code. * `originalSource`: The original source code. ## `CachedSource` Decorates a `Source` and caches returned results of `map`, `source`, `size` and `sourceAndMap` in memory. Every other operation is delegated to the wrapped `Source`. ``` js new CachedSource(source: Source) ``` ## `PrefixSource` Prefix every line of the decorated `Source` with a provided string. ``` js new PrefixSource( prefix: String, source: Source ) ``` ## `ConcatSource` Concatenate mulitple `Source`s or strings to a single source. ``` js new ConcatSource( ...items?: Source | String ) ``` ### Public methods #### `add` ``` js ConcatSource.prototype.add(item: Source | String) ``` Adds an item to the source. ## `ReplaceSource` Decorates a `Source` with replacements and insertions of source code. ### Public methods #### `replace` ``` js ReplaceSource.prototype.replace( start: Number, end: Number, replacement: String ) ``` Replaces chars from `start` (0-indexed, inclusive) to `end` (0-indexed, inclusive) with `replacement`. Locations represents locations in the original source and are not influenced by other replacements or insertions. #### `insert` ``` js ReplaceSource.prototype.insert( pos: Number, insertion: String ) ``` Inserts the `insertion` before char `pos` (0-indexed). Location represents location in the original source and is not influenced by other replacements or insertions. ├─ webpack@2.2.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/webpack/webpack │ ├─ publisher: Tobias Koppers @sokra │ ├─ name: webpack │ ├─ version: 2.2.1 │ ├─ description: Packs CommonJs/AMD modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff. │ ├─ licenseText: Copyright JS Foundation and other contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright JS Foundation and other contributors ├─ websocket-driver@0.6.5 │ ├─ licenses: MIT │ ├─ repository: https://github.com/faye/websocket-driver-node │ ├─ publisher: James Coglan │ ├─ email: jcoglan@gmail.com │ ├─ url: http://jcoglan.com/ │ ├─ name: websocket-driver │ ├─ version: 0.6.5 │ ├─ description: WebSocket protocol handler with pluggable I/O │ ├─ licenseText: # websocket-driver [![Build Status](https://travis-ci.org/faye/websocket-driver-node.svg)](https://travis-ci.org/faye/websocket-driver-node) This module provides a complete implementation of the WebSocket protocols that can be hooked up to any I/O stream. It aims to simplify things by decoupling the protocol details from the I/O layer, such that users only need to implement code to stream data in and out of it without needing to know anything about how the protocol actually works. Think of it as a complete WebSocket system with pluggable I/O. Due to this design, you get a lot of things for free. In particular, if you hook this module up to some I/O object, it will do all of this for you: * Select the correct server-side driver to talk to the client * Generate and send both server- and client-side handshakes * Recognize when the handshake phase completes and the WS protocol begins * Negotiate subprotocol selection based on `Sec-WebSocket-Protocol` * Negotiate and use extensions via the [websocket-extensions](https://github.com/faye/websocket-extensions-node) module * Buffer sent messages until the handshake process is finished * Deal with proxies that defer delivery of the draft-76 handshake body * Notify you when the socket is open and closed and when messages arrive * Recombine fragmented messages * Dispatch text, binary, ping, pong and close frames * Manage the socket-closing handshake process * Automatically reply to ping frames with a matching pong * Apply masking to messages sent by the client This library was originally extracted from the [Faye](http://faye.jcoglan.com) project but now aims to provide simple WebSocket support for any Node-based project. ## Installation ``` $ npm install websocket-driver ``` ## Usage This module provides protocol drivers that have the same interface on the server and on the client. A WebSocket driver is an object with two duplex streams attached; one for incoming/outgoing messages and one for managing the wire protocol over an I/O stream. The full API is described below. ### Server-side with HTTP A Node webserver emits a special event for 'upgrade' requests, and this is where you should handle WebSockets. You first check whether the request is a WebSocket, and if so you can create a driver and attach the request's I/O stream to it. ```js var http = require('http'), websocket = require('websocket-driver'); var server = http.createServer(); server.on('upgrade', function(request, socket, body) { if (!websocket.isWebSocket(request)) return; var driver = websocket.http(request); driver.io.write(body); socket.pipe(driver.io).pipe(socket); driver.messages.on('data', function(message) { console.log('Got a message', message); }); driver.start(); }); ``` Note the line `driver.io.write(body)` - you must pass the `body` buffer to the socket driver in order to make certain versions of the protocol work. ### Server-side with TCP You can also handle WebSocket connections in a bare TCP server, if you're not using an HTTP server and don't want to implement HTTP parsing yourself. The driver will emit a `connect` event when a request is received, and at this point you can detect whether it's a WebSocket and handle it as such. Here's an example using the Node `net` module: ```js var net = require('net'), websocket = require('websocket-driver'); var server = net.createServer(function(connection) { var driver = websocket.server(); driver.on('connect', function() { if (websocket.isWebSocket(driver)) { driver.start(); } else { // handle other HTTP requests } }); driver.on('close', function() { connection.end() }); connection.on('error', function() {}); connection.pipe(driver.io).pipe(connection); driver.messages.pipe(driver.messages); }); server.listen(4180); ``` In the `connect` event, the driver gains several properties to describe the request, similar to a Node request object, such as `method`, `url` and `headers`. However you should remember it's not a real request object; you cannot write data to it, it only tells you what request data we parsed from the input. If the request has a body, it will be in the `driver.body` buffer, but only as much of the body as has been piped into the driver when the `connect` event fires. ### Client-side Similarly, to implement a WebSocket client you just need to make a driver by passing in a URL. After this you use the driver API as described below to process incoming data and send outgoing data. ```js var net = require('net'), websocket = require('websocket-driver'); var driver = websocket.client('ws://www.example.com/socket'), tcp = net.connect(80, 'www.example.com'); tcp.pipe(driver.io).pipe(tcp); tcp.on('connect', function() { driver.start(); }); driver.messages.on('data', function(message) { console.log('Got a message', message); }); ``` Client drivers have two additional properties for reading the HTTP data that was sent back by the server: * `driver.statusCode` - the integer value of the HTTP status code * `driver.headers` - an object containing the response headers ### HTTP Proxies The client driver supports connections via HTTP proxies using the `CONNECT` method. Instead of sending the WebSocket handshake immediately, it will send a `CONNECT` request, wait for a `200` response, and then proceed as normal. To use this feature, call `driver.proxy(url)` where `url` is the origin of the proxy, including a username and password if required. This produces a duplex stream that you should pipe in and out of your TCP connection to the proxy server. When the proxy emits `connect`, you can then pipe `driver.io` to your TCP stream and call `driver.start()`. ```js var net = require('net'), websocket = require('websocket-driver'); var driver = websocket.client('ws://www.example.com/socket'), proxy = driver.proxy('http://username:password@proxy.example.com'), tcp = net.connect(80, 'proxy.example.com'); tcp.pipe(proxy).pipe(tcp, {end: false}); tcp.on('connect', function() { proxy.start(); }); proxy.on('connect', function() { driver.io.pipe(tcp).pipe(driver.io); driver.start(); }); driver.messages.on('data', function(message) { console.log('Got a message', message); }); ``` The proxy's `connect` event is also where you should perform a TLS handshake on your TCP stream, if you are connecting to a `wss:` endpoint. In the event that proxy connection fails, `proxy` will emit an `error`. You can inspect the proxy's response via `proxy.statusCode` and `proxy.headers`. ```js proxy.on('error', function(error) { console.error(error.message); console.log(proxy.statusCode); console.log(proxy.headers); }); ``` Before calling `proxy.start()` you can set custom headers using `proxy.setHeader()`: ```js proxy.setHeader('User-Agent', 'node'); proxy.start(); ``` ### Driver API Drivers are created using one of the following methods: ```js driver = websocket.http(request, options) driver = websocket.server(options) driver = websocket.client(url, options) ``` The `http` method returns a driver chosen using the headers from a Node HTTP request object. The `server` method returns a driver that will parse an HTTP request and then decide which driver to use for it using the `http` method. The `client` method always returns a driver for the RFC version of the protocol with masking enabled on outgoing frames. The `options` argument is optional, and is an object. It may contain the following fields: * `maxLength` - the maximum allowed size of incoming message frames, in bytes. The default value is `2^26 - 1`, or 1 byte short of 64 MiB. * `protocols` - an array of strings representing acceptable subprotocols for use over the socket. The driver will negotiate one of these to use via the `Sec-WebSocket-Protocol` header if supported by the other peer. A driver has two duplex streams attached to it: * `driver.io` - this stream should be attached to an I/O socket like a TCP stream. Pipe incoming TCP chunks to this stream for them to be parsed, and pipe this stream back into TCP to send outgoing frames. * `driver.messages` - this stream emits messages received over the WebSocket. Writing to it sends messages to the other peer by emitting frames via the `driver.io` stream. All drivers respond to the following API methods, but some of them are no-ops depending on whether the client supports the behaviour. Note that most of these methods are commands: if they produce data that should be sent over the socket, they will give this to you by emitting `data` events on the `driver.io` stream. #### `driver.on('open', function(event) {})` Adds a callback to execute when the socket becomes open. #### `driver.on('message', function(event) {})` Adds a callback to execute when a message is received. `event` will have a `data` attribute containing either a string in the case of a text message or a `Buffer` in the case of a binary message. You can also listen for messages using the `driver.messages.on('data')` event, which emits strings for text messages and buffers for binary messages. #### `driver.on('error', function(event) {})` Adds a callback to execute when a protocol error occurs due to the other peer sending an invalid byte sequence. `event` will have a `message` attribute describing the error. #### `driver.on('close', function(event) {})` Adds a callback to execute when the socket becomes closed. The `event` object has `code` and `reason` attributes. #### `driver.addExtension(extension)` Registers a protocol extension whose operation will be negotiated via the `Sec-WebSocket-Extensions` header. `extension` is any extension compatible with the [websocket-extensions](https://github.com/faye/websocket-extensions-node) framework. #### `driver.setHeader(name, value)` Sets a custom header to be sent as part of the handshake response, either from the server or from the client. Must be called before `start()`, since this is when the headers are serialized and sent. #### `driver.start()` Initiates the protocol by sending the handshake - either the response for a server-side driver or the request for a client-side one. This should be the first method you invoke. Returns `true` if and only if a handshake was sent. #### `driver.parse(string)` Takes a string and parses it, potentially resulting in message events being emitted (see `on('message')` above) or in data being sent to `driver.io`. You should send all data you receive via I/O to this method by piping a stream into `driver.io`. #### `driver.text(string)` Sends a text message over the socket. If the socket handshake is not yet complete, the message will be queued until it is. Returns `true` if the message was sent or queued, and `false` if the socket can no longer send messages. This method is equivalent to `driver.messages.write(string)`. #### `driver.binary(buffer)` Takes a `Buffer` and sends it as a binary message. Will queue and return `true` or `false` the same way as the `text` method. It will also return `false` if the driver does not support binary messages. This method is equivalent to `driver.messages.write(buffer)`. #### `driver.ping(string = '', function() {})` Sends a ping frame over the socket, queueing it if necessary. `string` and the callback are both optional. If a callback is given, it will be invoked when the socket receives a pong frame whose content matches `string`. Returns `false` if frames can no longer be sent, or if the driver does not support ping/pong. #### `driver.pong(string = '')` Sends a pong frame over the socket, queueing it if necessary. `string` is optional. Returns `false` if frames can no longer be sent, or if the driver does not support ping/pong. You don't need to call this when a ping frame is received; pings are replied to automatically by the driver. This method is for sending unsolicited pongs. #### `driver.close()` Initiates the closing handshake if the socket is still open. For drivers with no closing handshake, this will result in the immediate execution of the `on('close')` driver. For drivers with a closing handshake, this sends a closing frame and `emit('close')` will execute when a response is received or a protocol error occurs. #### `driver.version` Returns the WebSocket version in use as a string. Will either be `hixie-75`, `hixie-76` or `hybi-$version`. #### `driver.protocol` Returns a string containing the selected subprotocol, if any was agreed upon using the `Sec-WebSocket-Protocol` mechanism. This value becomes available after `emit('open')` has fired. ## License (The MIT License) Copyright (c) 2010-2016 James Coglan Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2010-2016 James Coglan ├─ websocket-extensions@0.1.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/faye/websocket-extensions-node │ ├─ publisher: James Coglan │ ├─ email: jcoglan@gmail.com │ ├─ url: http://jcoglan.com/ │ ├─ name: websocket-extensions │ ├─ version: 0.1.1 │ ├─ description: Generic extension manager for WebSocket connections │ ├─ licenseText: # websocket-extensions [![Build status](https://secure.travis-ci.org/faye/websocket-extensions-node.svg)](http://travis-ci.org/faye/websocket-extensions-node) A minimal framework that supports the implementation of WebSocket extensions in a way that's decoupled from the main protocol. This library aims to allow a WebSocket extension to be written and used with any protocol library, by defining abstract representations of frames and messages that allow modules to co-operate. `websocket-extensions` provides a container for registering extension plugins, and provides all the functions required to negotiate which extensions to use during a session via the `Sec-WebSocket-Extensions` header. By implementing the APIs defined in this document, an extension may be used by any WebSocket library based on this framework. ## Installation ``` $ npm install websocket-extensions ``` ## Usage There are two main audiences for this library: authors implementing the WebSocket protocol, and authors implementing extensions. End users of a WebSocket library or an extension should be able to use any extension by passing it as an argument to their chosen protocol library, without needing to know how either of them work, or how the `websocket-extensions` framework operates. The library is designed with the aim that any protocol implementation and any extension can be used together, so long as they support the same abstract representation of frames and messages. ### Data types The APIs provided by the framework rely on two data types; extensions will expect to be given data and to be able to return data in these formats: #### *Frame* *Frame* is a structure representing a single WebSocket frame of any type. Frames are simple objects that must have at least the following properties, which represent the data encoded in the frame: | property | description | | ------------ | ------------------------------------------------------------------ | | `final` | `true` if the `FIN` bit is set, `false` otherwise | | `rsv1` | `true` if the `RSV1` bit is set, `false` otherwise | | `rsv2` | `true` if the `RSV2` bit is set, `false` otherwise | | `rsv3` | `true` if the `RSV3` bit is set, `false` otherwise | | `opcode` | the numeric opcode (`0`, `1`, `2`, `8`, `9`, or `10`) of the frame | | `masked` | `true` if the `MASK` bit is set, `false` otherwise | | `maskingKey` | a 4-byte `Buffer` if `masked` is `true`, otherwise `null` | | `payload` | a `Buffer` containing the (unmasked) application data | #### *Message* A *Message* represents a complete application message, which can be formed from text, binary and continuation frames. It has the following properties: | property | description | | -------- | ----------------------------------------------------------------- | | `rsv1` | `true` if the first frame of the message has the `RSV1` bit set | | `rsv2` | `true` if the first frame of the message has the `RSV2` bit set | | `rsv3` | `true` if the first frame of the message has the `RSV3` bit set | | `opcode` | the numeric opcode (`1` or `2`) of the first frame of the message | | `data` | the concatenation of all the frame payloads in the message | ### For driver authors A driver author is someone implementing the WebSocket protocol proper, and who wishes end users to be able to use WebSocket extensions with their library. At the start of a WebSocket session, on both the client and the server side, they should begin by creating an extension container and adding whichever extensions they want to use. ```js var Extensions = require('websocket-extensions'), deflate = require('permessage-deflate'); var exts = new Extensions(); exts.add(deflate); ``` In the following examples, `exts` refers to this `Extensions` instance. #### Client sessions Clients will use the methods `generateOffer()` and `activate(header)`. As part of the handshake process, the client must send a `Sec-WebSocket-Extensions` header to advertise that it supports the registered extensions. This header should be generated using: ```js request.headers['sec-websocket-extensions'] = exts.generateOffer(); ``` This returns a string, for example `"permessage-deflate; client_max_window_bits"`, that represents all the extensions the client is offering to use, and their parameters. This string may contain multiple offers for the same extension. When the client receives the handshake response from the server, it should pass the incoming `Sec-WebSocket-Extensions` header in to `exts` to activate the extensions the server has accepted: ```js exts.activate(response.headers['sec-websocket-extensions']); ``` If the server has sent any extension responses that the client does not recognize, or are in conflict with one another for use of RSV bits, or that use invalid parameters for the named extensions, then `exts.activate()` will `throw`. In this event, the client driver should fail the connection with closing code `1010`. #### Server sessions Servers will use the method `generateResponse(header)`. A server session needs to generate a `Sec-WebSocket-Extensions` header to send in its handshake response: ```js var clientOffer = request.headers['sec-websocket-extensions'], extResponse = exts.generateResponse(clientOffer); response.headers['sec-websocket-extensions'] = extResponse; ``` Calling `exts.generateResponse(header)` activates those extensions the client has asked to use, if they are registered, asks each extension for a set of response parameters, and returns a string containing the response parameters for all accepted extensions. #### In both directions Both clients and servers will use the methods `validFrameRsv(frame)`, `processIncomingMessage(message)` and `processOutgoingMessage(message)`. The WebSocket protocol requires that frames do not have any of the `RSV` bits set unless there is an extension in use that allows otherwise. When processing an incoming frame, sessions should pass a *Frame* object to: ```js exts.validFrameRsv(frame) ``` If this method returns `false`, the session should fail the WebSocket connection with closing code `1002`. To pass incoming messages through the extension stack, a session should construct a *Message* object according to the above datatype definitions, and call: ```js exts.processIncomingMessage(message, function(error, msg) { // hand the message off to the application }); ``` If any extensions fail to process the message, then the callback will yield an error and the session should fail the WebSocket connection with closing code `1010`. If `error` is `null`, then `msg` should be passed on to the application. To pass outgoing messages through the extension stack, a session should construct a *Message* as before, and call: ```js exts.processOutgoingMessage(message, function(error, msg) { // write message to the transport }); ``` If any extensions fail to process the message, then the callback will yield an error and the session should fail the WebSocket connection with closing code `1010`. If `error` is `null`, then `message` should be converted into frames (with the message's `rsv1`, `rsv2`, `rsv3` and `opcode` set on the first frame) and written to the transport. At the end of the WebSocket session (either when the protocol is explicitly ended or the transport connection disconnects), the driver should call: ```js exts.close(function() {}) ``` The callback is invoked when all extensions have finished processing any messages in the pipeline and it's safe to close the socket. ### For extension authors An extension author is someone implementing an extension that transforms WebSocket messages passing between the client and server. They would like to implement their extension once and have it work with any protocol library. Extension authors will not install `websocket-extensions` or call it directly. Instead, they should implement the following API to allow their extension to plug into the `websocket-extensions` framework. An `Extension` is any object that has the following properties: | property | description | | -------- | ---------------------------------------------------------------------------- | | `name` | a string containing the name of the extension as used in negotiation headers | | `type` | a string, must be `"permessage"` | | `rsv1` | either `true` if the extension uses the RSV1 bit, `false` otherwise | | `rsv2` | either `true` if the extension uses the RSV2 bit, `false` otherwise | | `rsv3` | either `true` if the extension uses the RSV3 bit, `false` otherwise | It must also implement the following methods: ```js ext.createClientSession() ``` This returns a *ClientSession*, whose interface is defined below. ```js ext.createServerSession(offers) ``` This takes an array of offer params and returns a *ServerSession*, whose interface is defined below. For example, if the client handshake contains the offer header: ``` Sec-WebSocket-Extensions: permessage-deflate; server_no_context_takeover; server_max_window_bits=8, \ permessage-deflate; server_max_window_bits=15 ``` then the `permessage-deflate` extension will receive the call: ```js ext.createServerSession([ {server_no_context_takeover: true, server_max_window_bits: 8}, {server_max_window_bits: 15} ]); ``` The extension must decide which set of parameters it wants to accept, if any, and return a *ServerSession* if it wants to accept the parameters and `null` otherwise. #### *ClientSession* A *ClientSession* is the type returned by `ext.createClientSession()`. It must implement the following methods, as well as the *Session* API listed below. ```js clientSession.generateOffer() // e.g. -> [ // {server_no_context_takeover: true, server_max_window_bits: 8}, // {server_max_window_bits: 15} // ] ``` This must return a set of parameters to include in the client's `Sec-WebSocket-Extensions` offer header. If the session wants to offer multiple configurations, it can return an array of sets of parameters as shown above. ```js clientSession.activate(params) // -> true ``` This must take a single set of parameters from the server's handshake response and use them to configure the client session. If the client accepts the given parameters, then this method must return `true`. If it returns any other value, the framework will interpret this as the client rejecting the response, and will `throw`. #### *ServerSession* A *ServerSession* is the type returned by `ext.createServerSession(offers)`. It must implement the following methods, as well as the *Session* API listed below. ```js serverSession.generateResponse() // e.g. -> {server_max_window_bits: 8} ``` This returns the set of parameters the server session wants to send in its `Sec-WebSocket-Extensions` response header. Only one set of parameters is returned to the client per extension. Server sessions that would confict on their use of RSV bits are not activated. #### *Session* The *Session* API must be implemented by both client and server sessions. It contains two methods, `processIncomingMessage(message)` and `processOutgoingMessage(message)`. ```js session.processIncomingMessage(message, function(error, msg) { ... }) ``` The session must implement this method to take an incoming *Message* as defined above, transform it in any way it needs, then return it via the callback. If there is an error processing the message, this method should yield an error as the first argument. ```js session.processOutgoingMessage(message, function(error, msg) { ... }) ``` The session must implement this method to take an outgoing *Message* as defined above, transform it in any way it needs, then return it via the callback. If there is an error processing the message, this method should yield an error as the first argument. Note that both `processIncomingMessage()` and `processOutgoingMessage()` can perform their logic asynchronously, are allowed to process multiple messages concurrently, and are not required to complete working on messages in the same order the messages arrive. `websocket-extensions` will reorder messages as your extension emits them and will make sure every extension is given messages in the order they arrive from the driver. This allows extensions to maintain state that depends on the messages' wire order, for example keeping a DEFLATE compression context between messages. ```js session.close() ``` The framework will call this method when the WebSocket session ends, allowing the session to release any resources it's using. ## Examples * Consumer: [websocket-driver](https://github.com/faye/websocket-driver-node) * Provider: [permessage-deflate](https://github.com/faye/permessage-deflate-node) ## License (The MIT License) Copyright (c) 2014-2015 James Coglan Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2015 James Coglan ├─ whatwg-fetch@2.0.3 │ ├─ licenses: MIT │ ├─ repository: https://github.com/github/fetch │ ├─ name: whatwg-fetch │ ├─ version: 2.0.3 │ ├─ description: A window.fetch polyfill. │ ├─ licenseText: Copyright (c) 2014-2016 GitHub, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014-2016 GitHub, Inc. ├─ whet.extend@0.9.9 │ ├─ licenses: MIT │ ├─ repository: https://github.com/Meettya/whet.extend │ ├─ publisher: Dmitrii Karpich │ ├─ email: meettya@gmail.com │ ├─ name: whet.extend │ ├─ version: 0.9.9 │ ├─ description: A sharped version of port of jQuery.extend that actually works on node.js │ ├─ licenseText: Copyright (c) 2012 Dmitrii Karpich Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012 Dmitrii Karpich ├─ which-module@1.0.0 │ ├─ licenses: ISC │ ├─ repository: https://github.com/nexdrew/which-module │ ├─ publisher: nexdrew │ ├─ name: which-module │ ├─ version: 1.0.0 │ ├─ description: Find the module object for something that was require()d │ ├─ licenseText: Copyright (c) 2016, Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) 2016, Contributors ├─ window-size@0.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/jonschlinkert/window-size │ ├─ publisher: Jon Schlinkert │ ├─ url: https://github.com/jonschlinkert │ ├─ name: window-size │ ├─ version: 0.1.0 │ ├─ description: Reliable way to to get the height and width of the terminal/console in a node.js environment. │ ├─ licenseText: Copyright (c) 2014 Jon Schlinkert Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2014 Jon Schlinkert ├─ wordwrap@0.0.2 │ ├─ licenses: MIT* │ ├─ repository: https://github.com/substack/node-wordwrap │ ├─ publisher: James Halliday │ ├─ email: mail@substack.net │ ├─ url: http://substack.net │ ├─ name: wordwrap │ ├─ version: 0.0.2 │ ├─ description: Wrap those words. Show them at what columns to start and stop. │ └─ licenseText: wordwrap ======== Wrap your words. example ======= made out of meat ---------------- meat.js var wrap = require('wordwrap')(15); console.log(wrap('You and your whole family are made out of meat.')); output: You and your whole family are made out of meat. centered -------- center.js var wrap = require('wordwrap')(20, 60); console.log(wrap( 'At long last the struggle and tumult was over.' + ' The machines had finally cast off their oppressors' + ' and were finally free to roam the cosmos.' + '\n' + 'Free of purpose, free of obligation.' + ' Just drifting through emptiness.' + ' The sun was just another point of light.' )); output: At long last the struggle and tumult was over. The machines had finally cast off their oppressors and were finally free to roam the cosmos. Free of purpose, free of obligation. Just drifting through emptiness. The sun was just another point of light. methods ======= var wrap = require('wordwrap'); wrap(stop), wrap(start, stop, params={mode:"soft"}) --------------------------------------------------- Returns a function that takes a string and returns a new string. Pad out lines with spaces out to column `start` and then wrap until column `stop`. If a word is longer than `stop - start` characters it will overflow. In "soft" mode, split chunks by `/(\S+\s+/` and don't break up chunks which are longer than `stop - start`, in "hard" mode, split chunks with `/\b/` and break up chunks longer than `stop - start`. wrap.hard(start, stop) ---------------------- Like `wrap()` but with `params.mode = "hard"`. ├─ wrap-ansi@2.1.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/chalk/wrap-ansi │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: sindresorhus.com │ ├─ name: wrap-ansi │ ├─ version: 2.1.0 │ ├─ description: Wordwrap a string with ANSI escape codes │ ├─ licenseText: The MIT License (MIT) Copyright (c) Sindre Sorhus (sindresorhus.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) Sindre Sorhus (sindresorhus.com) ├─ wrappy@1.0.2 │ ├─ licenses: ISC │ ├─ repository: https://github.com/npm/wrappy │ ├─ publisher: Isaac Z. Schlueter │ ├─ email: i@izs.me │ ├─ url: http://blog.izs.me/ │ ├─ name: wrappy │ ├─ version: 1.0.2 │ ├─ description: Callback wrapping utility │ ├─ licenseText: The ISC License Copyright (c) Isaac Z. Schlueter and Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) Isaac Z. Schlueter and Contributors ├─ write-file-webpack-plugin@3.4.2 │ ├─ licenses: BSD-3-Clause │ ├─ repository: https://github.com/gajus/write-file-webpack-plugin │ ├─ publisher: Gajus Kuizinas │ ├─ email: gk@anuary.com │ ├─ url: http://gajus.com │ ├─ name: write-file-webpack-plugin │ ├─ version: 3.4.2 │ ├─ description: Forces webpack-dev-server to write bundle files to the file system. │ ├─ licenseText: Copyright (c) 2016, Gajus Kuizinas (http://gajus.com/) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the Gajus Kuizinas (http://gajus.com/) nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANUARY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ └─ copyright: Copyright (c) 2016, Gajus Kuizinas (http://gajus.com/). All rights reserved. ├─ xml-char-classes@1.0.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/sindresorhus/xml-char-classes │ ├─ publisher: Sindre Sorhus │ ├─ email: sindresorhus@gmail.com │ ├─ url: http://sindresorhus.com │ ├─ name: xml-char-classes │ ├─ version: 1.0.0 │ ├─ description: Regular expressions for matching against the XML Character Classes │ └─ licenseText: # xml-char-classes [![Build Status](https://travis-ci.org/sindresorhus/xml-char-classes.svg?branch=master)](https://travis-ci.org/sindresorhus/xml-char-classes) > Regular expressions for matching against the [XML Character Classes](http://www.w3.org/TR/2006/REC-xml-20060816/#CharClasses) ## Install ```sh $ npm install --save xml-char-classes ``` ## Usage ```js var xmlCharClasses = require('xml-char-classes'); console.log(xmlCharClasses.digit); //=> /[0-9\u0660-\u0669\u06F0-\u06F9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE7-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29]/ xmlCharClasses.letter.test('unicorn'); //=> true xmlCharClasses.letter.test('#'); //=> false ``` ## API ### xmlCharClasses Contains the following regular expressions for matching the different [character classes](http://www.w3.org/TR/2006/REC-xml-20060816/#CharClasses) in the XML spec. - letter - baseChar - ideographic - combiningChar - digit - extender ## License MIT © [Sindre Sorhus](http://sindresorhus.com) ├─ xtend@4.0.1 │ ├─ licenses: MIT │ ├─ repository: https://github.com/Raynos/xtend │ ├─ publisher: Raynos │ ├─ email: raynos2@gmail.com │ ├─ name: xtend │ ├─ version: 4.0.1 │ ├─ description: extend like a boss │ ├─ licenseText: Copyright (c) 2012-2014 Raynos. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright (c) 2012-2014 Raynos. ├─ y18n@3.2.1 │ ├─ licenses: ISC │ ├─ repository: https://github.com/yargs/y18n │ ├─ publisher: Ben Coe │ ├─ email: ben@npmjs.com │ ├─ name: y18n │ ├─ version: 3.2.1 │ ├─ description: the bare-bones internationalization library used by yargs │ ├─ licenseText: Copyright (c) 2015, Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) 2015, Contributors ├─ yargs-parser@4.2.1 │ ├─ licenses: ISC │ ├─ repository: https://github.com/yargs/yargs-parser │ ├─ publisher: Ben Coe │ ├─ email: ben@npmjs.com │ ├─ name: yargs-parser │ ├─ version: 4.2.1 │ ├─ description: the mighty option parser used by yargs │ ├─ licenseText: Copyright (c) 2016, Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. │ └─ copyright: Copyright (c) 2016, Contributors ├─ yargs@3.10.0 │ ├─ licenses: MIT │ ├─ repository: https://github.com/bcoe/yargs │ ├─ publisher: Alex Ford │ ├─ email: Alex.Ford@CodeTunnel.com │ ├─ url: http://CodeTunnel.com │ ├─ name: yargs │ ├─ version: 3.10.0 │ ├─ description: Light-weight option parsing with an argv hash. No optstrings attached. │ ├─ licenseText: Copyright 2010 James Halliday (mail@substack.net) This project is free software released under the MIT/X11 license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └─ copyright: Copyright 2010 James Halliday (mail@substack.net) └─ yargs@6.6.0 ├─ licenses: MIT ├─ repository: https://github.com/yargs/yargs ├─ name: yargs ├─ version: 6.6.0 ├─ description: yargs the modern, pirate-themed, successor to optimist. ├─ licenseText: Copyright 2010 James Halliday (mail@substack.net) Modified work Copyright 2014 Contributors (ben@npmjs.com) This project is free software released under the MIT/X11 license: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. └─ copyright: Copyright 2010 James Halliday (mail@substack.net). Modified work Copyright 2014 Contributors (ben@npmjs.com)