├── .editorconfig ├── .eslintignore ├── .eslintrc.js ├── .github └── workflows │ └── nodejs.yml ├── .gitignore ├── .hela.config.js ├── .lint.config.js ├── .prettierignore ├── .prettierrc.js ├── LICENSE.md ├── README.md ├── commands ├── build │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── __tests__ │ │ └── index.js │ ├── package.json │ └── src │ │ └── index.js ├── check │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── __tests__ │ │ └── index.js │ ├── package.json │ └── src │ │ └── index.js ├── commit │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── __tests__ │ │ └── index.js │ ├── package.json │ └── src │ │ └── index.js ├── docs │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── __tests__ │ │ └── index.js │ ├── package.json │ └── src │ │ └── index.js ├── format │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── __tests__ │ │ └── index.js │ ├── package.json │ └── src │ │ └── index.js ├── lint │ ├── CHANGELOG.md │ ├── LICENSEmd │ ├── __tests__ │ │ └── index.js │ ├── package.json │ └── src │ │ └── index.js └── test │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── __tests__ │ └── index.js │ ├── package.json │ └── src │ └── index.js ├── lerna.json ├── modules ├── cli │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── __tests__ │ │ └── index.js │ ├── package.json │ └── src │ │ ├── bin.js │ │ └── index.js ├── core │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── __tests__ │ │ └── index.js │ ├── package.json │ └── src │ │ └── index.js └── yaro │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── __tests__ │ └── index.js │ ├── example.js │ ├── package.json │ └── src │ └── index.js ├── package.json ├── packages ├── .gitkeep ├── eslint │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── __tests__ │ │ └── index.js │ ├── package.json │ └── src │ │ ├── api.js │ │ ├── bin.js │ │ ├── index.js │ │ └── preset.js └── hela │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── __tests__ │ └── index.js │ ├── package.json │ └── src │ ├── bin.js │ └── index.js ├── presets ├── .gitkeep └── dev │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── __tests__ │ └── index.js │ ├── package.json │ └── src │ ├── configs │ ├── build │ │ └── index.js │ ├── bundle │ │ └── index.js │ ├── docs │ │ └── index.js │ ├── lint │ │ └── index.js │ └── test │ │ └── index.js │ ├── index.js │ └── utils.js ├── renovate.json └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org/ 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | tab_width = 2 8 | end_of_line = lf 9 | charset = utf-8 10 | trim_trailing_whitespace = true 11 | insert_final_newline = true 12 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | CHANGELOG.md 2 | 3 | # Build environment 4 | dist 5 | 6 | !*.*js 7 | !*.*ts 8 | 9 | .lint.config.js 10 | # globbing.js 11 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | parser: 'babel-eslint', 5 | parserOptions: { 6 | ecmaVersion: 2020, 7 | }, 8 | extends: [ 9 | '@tunnckocore/eslint-config', 10 | '@tunnckocore/eslint-config/mdx', 11 | '@tunnckocore/eslint-config/jest', 12 | '@tunnckocore/eslint-config/node', 13 | '@tunnckocore/eslint-config/promise', 14 | '@tunnckocore/eslint-config/unicorn', 15 | ], 16 | rules: { 17 | 'import/no-unresolved': 'off', 18 | }, 19 | }; 20 | -------------------------------------------------------------------------------- /.github/workflows/nodejs.yml: -------------------------------------------------------------------------------- 1 | name: nodejs 2 | 3 | on: 4 | pull_request: 5 | branches: 6 | - master 7 | push: 8 | branches: 9 | - master 10 | 11 | # Add to every job 12 | # - uses: actions/cache@v1 13 | # id: nodejs-cache 14 | # name: Cache node modules 15 | # with: 16 | # path: node_modules 17 | # key: ${{ matrix.os }}-nodejs-${{ matrix.node }}-${{ hashFiles('yarn.lock') }} 18 | # restore-keys: | 19 | # ${{ matrix.os }}-nodejs-${{ matrix.node }}- 20 | # ${{ matrix.os }}-nodejs- 21 | # ${{ matrix.os }}- 22 | 23 | jobs: 24 | lint: 25 | if: "!contains(toJson(github.event.commits), '[skip ci]')" 26 | env: 27 | CI: true 28 | strategy: 29 | matrix: 30 | os: [ubuntu-latest] 31 | node: [12.x] 32 | runs-on: ubuntu-latest 33 | steps: 34 | - uses: actions/checkout@v2 35 | if: steps.nodejs-cache.outputs.cache-hit != 'true' 36 | - uses: actions/cache@v1 37 | id: nodejs-cache 38 | name: Cache node modules 39 | with: 40 | path: node_modules 41 | key: ${{ matrix.os }}-nodejs-${{ matrix.node }}-${{ hashFiles('yarn.lock') }} 42 | restore-keys: | 43 | ${{ matrix.os }}-nodejs-${{ matrix.node }}- 44 | ${{ matrix.os }}-nodejs- 45 | ${{ matrix.os }}- 46 | - name: Installing dependencies 47 | if: steps.nodejs-cache.outputs.cache-hit != 'true' 48 | run: yarn run setup:ci 49 | - name: Linting & Format with Hela ESLint 50 | run: yarn run lint 51 | - name: Format full codebase with Prettier 52 | run: yarn run format 53 | test: 54 | if: "!contains(toJson(github.event.commits), '[skip ci]')" 55 | env: 56 | CI: true 57 | CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}} 58 | strategy: 59 | matrix: 60 | os: [ubuntu-latest, macos-latest, windows-latest] 61 | node: [10.x, 12.x] 62 | runs-on: ${{ matrix.os }} 63 | steps: 64 | - uses: actions/checkout@v2 65 | if: steps.nodejs-cache.outputs.cache-hit != 'true' 66 | - uses: actions/cache@v1 67 | id: nodejs-cache 68 | name: Cache node modules 69 | with: 70 | path: node_modules 71 | key: ${{ matrix.os }}-nodejs-${{ matrix.node }}-${{ hashFiles('yarn.lock') }} 72 | restore-keys: | 73 | ${{ matrix.os }}-nodejs-${{ matrix.node }}- 74 | ${{ matrix.os }}-nodejs- 75 | ${{ matrix.os }}- 76 | - name: Installing dependencies 77 | if: steps.nodejs-cache.outputs.cache-hit != 'true' 78 | run: yarn run setup:ci 79 | - name: Testing 80 | run: yarn run test:ci 81 | - name: Sending coverage to CodeCov 82 | if: matrix.os == 'ubuntu-latest' && matrix.node == '12.x' 83 | run: echo ${{ matrix.node }} && bash <(curl -s https://codecov.io/bash) 84 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.tsbuildinfo 2 | .cache 3 | .*cache 4 | *.cache 5 | 6 | !commands/build 7 | presets/dev/src/configs/*/config.js 8 | 9 | .yarn/unplugged 10 | .yarn/build-state.yml 11 | 12 | # Build environment 13 | dist 14 | 15 | # Package managers lockfiles 16 | package-lock.json 17 | shrinkwrap.json 18 | pnpm-lock.json 19 | 20 | # Logs 21 | logs 22 | *.log 23 | *~ 24 | 25 | # Runtime data 26 | pids 27 | *.pid 28 | *.seed 29 | *.pid.lock 30 | 31 | # Directory for instrumented libs generated by jscoverage/JSCover 32 | lib-cov 33 | 34 | # Coverage directory used by tools like istanbul 35 | /coverage 36 | 37 | # nyc test coverage 38 | .nyc_output 39 | 40 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 41 | .grunt 42 | 43 | # Bower dependency directory (https://bower.io/) 44 | bower_components 45 | 46 | # node-waf configuration 47 | .lock-wscript 48 | 49 | # Compiled binary addons (https://nodejs.org/api/addons.html) 50 | build/Release 51 | 52 | # Dependency directories 53 | node_modules/ 54 | jspm_packages/ 55 | 56 | # TypeScript v1 declaration files 57 | typings/ 58 | 59 | # Optional npm cache directory 60 | .npm 61 | 62 | # Optional eslint cache 63 | .eslintcache 64 | 65 | # Optional REPL history 66 | .node_repl_history 67 | 68 | # Output of 'npm pack' 69 | *.tgz 70 | 71 | # Yarn Integrity file 72 | .yarn-integrity 73 | 74 | # dotenv environment variables file 75 | .env 76 | 77 | # next.js build output 78 | .next 79 | -------------------------------------------------------------------------------- /.hela.config.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const helaDev = require('@hela/dev'); 4 | 5 | Object.assign(exports, helaDev); 6 | exports.eslint = require('@hela/eslint').helaCommand(); 7 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | **/CHANGELOG.md 2 | dist 3 | **/*fixture*/** 4 | .gitkeep 5 | *.map 6 | *.lock 7 | .npmrc 8 | .yarnrc 9 | *.js.snap 10 | coverage 11 | *.*ignore 12 | .editorconfig 13 | *.ico 14 | *.png 15 | *.svg 16 | *.jpeg 17 | *.jpg 18 | .now 19 | .lint.config.js 20 | 21 | # !*.*js* 22 | # !*.*ts* 23 | # !*.*md* 24 | 25 | @packages/function-arguments 26 | 27 | # .* 28 | # !.verb*.md 29 | patches 30 | **/static/**/*.css 31 | 32 | *.tsbuildinfo 33 | *.*cache 34 | 35 | # Package managers lockfiles 36 | package-lock.json 37 | shrinkwrap.json 38 | pnpm-lock.json 39 | 40 | # Logs 41 | logs 42 | *.log 43 | *~ 44 | 45 | # Runtime data 46 | pids 47 | *.pid 48 | *.seed 49 | *.pid.lock 50 | 51 | # Directory for instrumented libs generated by jscoverage/JSCover 52 | lib-cov 53 | 54 | # Coverage directory used by tools like istanbul 55 | coverage 56 | 57 | # nyc test coverage 58 | .nyc_output 59 | 60 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 61 | .grunt 62 | 63 | # Bower dependency directory (https://bower.io/) 64 | bower_components 65 | 66 | # node-waf configuration 67 | .lock-wscript 68 | 69 | # Compiled binary addons (https://nodejs.org/api/addons.html) 70 | build/Release 71 | 72 | # Dependency directories 73 | node_modules/ 74 | jspm_packages/ 75 | 76 | # TypeScript v1 declaration files 77 | typings/ 78 | 79 | # Optional npm cache directory 80 | .npm 81 | 82 | # Optional eslint cache 83 | .eslintcache 84 | 85 | # Optional REPL history 86 | .node_repl_history 87 | 88 | # Output of 'npm pack' 89 | *.tgz 90 | 91 | # Yarn Integrity file 92 | .yarn-integrity 93 | 94 | # dotenv environment variables file 95 | .env 96 | 97 | # next.js build output 98 | .next 99 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('@tunnckocore/prettier-config'); 4 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Mozilla Public License, version 2.0 2 | 3 | 1. Definitions 4 | 5 | 1.1. “Contributor” 6 | 7 | means each individual or legal entity that creates, contributes to the 8 | creation of, or owns Covered Software. 9 | 10 | 1.2. “Contributor Version” 11 | 12 | means the combination of the Contributions of others (if any) used by a 13 | Contributor and that particular Contributor’s Contribution. 14 | 15 | 1.3. “Contribution” 16 | 17 | means Covered Software of a particular Contributor. 18 | 19 | 1.4. “Covered Software” 20 | 21 | means Source Code Form to which the initial Contributor has attached the 22 | notice in Exhibit A, the Executable Form of such Source Code Form, and 23 | Modifications of such Source Code Form, in each case including portions 24 | thereof. 25 | 26 | 1.5. “Incompatible With Secondary Licenses” means 27 | 28 | a. that the initial Contributor has attached the notice described in 29 | Exhibit B to the Covered Software; or 30 | 31 | b. that the Covered Software was made available under the terms of version 32 | 1.1 or earlier of the License, but not also under the terms of a 33 | Secondary License. 34 | 35 | 1.6. “Executable Form” 36 | 37 | means any form of the work other than Source Code Form. 38 | 39 | 1.7. “Larger Work” 40 | 41 | means a work that combines Covered Software with other material, in a separate 42 | file or files, that is not Covered Software. 43 | 44 | 1.8. “License” 45 | 46 | means this document. 47 | 48 | 1.9. “Licensable” 49 | 50 | means having the right to grant, to the maximum extent possible, whether at the 51 | time of the initial grant or subsequently, any and all of the rights conveyed by 52 | this License. 53 | 54 | 1.10. “Modifications” 55 | 56 | means any of the following: 57 | 58 | a. any file in Source Code Form that results from an addition to, deletion 59 | from, or modification of the contents of Covered Software; or 60 | 61 | b. any new file in Source Code Form that contains any Covered Software. 62 | 63 | 1.11. “Patent Claims” of a Contributor 64 | 65 | means any patent claim(s), including without limitation, method, process, 66 | and apparatus claims, in any patent Licensable by such Contributor that 67 | would be infringed, but for the grant of the License, by the making, 68 | using, selling, offering for sale, having made, import, or transfer of 69 | either its Contributions or its Contributor Version. 70 | 71 | 1.12. “Secondary License” 72 | 73 | means either the GNU General Public License, Version 2.0, the GNU Lesser 74 | General Public License, Version 2.1, the GNU Affero General Public 75 | License, Version 3.0, or any later versions of those licenses. 76 | 77 | 1.13. “Source Code Form” 78 | 79 | means the form of the work preferred for making modifications. 80 | 81 | 1.14. “You” (or “Your”) 82 | 83 | means an individual or a legal entity exercising rights under this 84 | License. For legal entities, “You” includes any entity that controls, is 85 | controlled by, or is under common control with You. For purposes of this 86 | definition, “control” means (a) the power, direct or indirect, to cause 87 | the direction or management of such entity, whether by contract or 88 | otherwise, or (b) ownership of more than fifty percent (50%) of the 89 | outstanding shares or beneficial ownership of such entity. 90 | 91 | 2. License Grants and Conditions 92 | 93 | 2.1. Grants 94 | 95 | Each Contributor hereby grants You a world-wide, royalty-free, 96 | non-exclusive license: 97 | 98 | a. under intellectual property rights (other than patent or trademark) 99 | Licensable by such Contributor to use, reproduce, make available, 100 | modify, display, perform, distribute, and otherwise exploit its 101 | Contributions, either on an unmodified basis, with Modifications, or as 102 | part of a Larger Work; and 103 | 104 | b. under Patent Claims of such Contributor to make, use, sell, offer for 105 | sale, have made, import, and otherwise transfer either its Contributions 106 | or its Contributor Version. 107 | 108 | 2.2. Effective Date 109 | 110 | The licenses granted in Section 2.1 with respect to any Contribution become 111 | effective for each Contribution on the date the Contributor first distributes 112 | such Contribution. 113 | 114 | 2.3. Limitations on Grant Scope 115 | 116 | The licenses granted in this Section 2 are the only rights granted under this 117 | License. No additional rights or licenses will be implied from the distribution 118 | or licensing of Covered Software under this License. Notwithstanding Section 119 | 2.1(b) above, no patent license is granted by a Contributor: 120 | 121 | a. for any code that a Contributor has removed from Covered Software; or 122 | 123 | b. for infringements caused by: (i) Your and any other third party’s 124 | modifications of Covered Software, or (ii) the combination of its 125 | Contributions with other software (except as part of its Contributor 126 | Version); or 127 | 128 | c. under Patent Claims infringed by Covered Software in the absence of its 129 | Contributions. 130 | 131 | This License does not grant any rights in the trademarks, service marks, or 132 | logos of any Contributor (except as may be necessary to comply with the 133 | notice requirements in Section 3.4). 134 | 135 | 2.4. Subsequent Licenses 136 | 137 | No Contributor makes additional grants as a result of Your choice to 138 | distribute the Covered Software under a subsequent version of this License 139 | (see Section 10.2) or under the terms of a Secondary License (if permitted 140 | under the terms of Section 3.3). 141 | 142 | 2.5. Representation 143 | 144 | Each Contributor represents that the Contributor believes its Contributions 145 | are its original creation(s) or it has sufficient rights to grant the 146 | rights to its Contributions conveyed by this License. 147 | 148 | 2.6. Fair Use 149 | 150 | This License is not intended to limit any rights You have under applicable 151 | copyright doctrines of fair use, fair dealing, or other equivalents. 152 | 153 | 2.7. Conditions 154 | 155 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in 156 | Section 2.1. 157 | 158 | 3. Responsibilities 159 | 160 | 3.1. Distribution of Source Form 161 | 162 | All distribution of Covered Software in Source Code Form, including any 163 | Modifications that You create or to which You contribute, must be under the 164 | terms of this License. You must inform recipients that the Source Code Form 165 | of the Covered Software is governed by the terms of this License, and how 166 | they can obtain a copy of this License. You may not attempt to alter or 167 | restrict the recipients’ rights in the Source Code Form. 168 | 169 | 3.2. Distribution of Executable Form 170 | 171 | If You distribute Covered Software in Executable Form then: 172 | 173 | a. such Covered Software must also be made available in Source Code Form, 174 | as described in Section 3.1, and You must inform recipients of the 175 | Executable Form how they can obtain a copy of such Source Code Form by 176 | reasonable means in a timely manner, at a charge no more than the cost 177 | of distribution to the recipient; and 178 | 179 | b. You may distribute such Executable Form under the terms of this License, 180 | or sublicense it under different terms, provided that the license for 181 | the Executable Form does not attempt to limit or alter the recipients’ 182 | rights in the Source Code Form under this License. 183 | 184 | 3.3. Distribution of a Larger Work 185 | 186 | You may create and distribute a Larger Work under terms of Your choice, 187 | provided that You also comply with the requirements of this License for the 188 | Covered Software. If the Larger Work is a combination of Covered Software 189 | with a work governed by one or more Secondary Licenses, and the Covered 190 | Software is not Incompatible With Secondary Licenses, this License permits 191 | You to additionally distribute such Covered Software under the terms of 192 | such Secondary License(s), so that the recipient of the Larger Work may, at 193 | their option, further distribute the Covered Software under the terms of 194 | either this License or such Secondary License(s). 195 | 196 | 3.4. Notices 197 | 198 | You may not remove or alter the substance of any license notices (including 199 | copyright notices, patent notices, disclaimers of warranty, or limitations 200 | of liability) contained within the Source Code Form of the Covered 201 | Software, except that You may alter any license notices to the extent 202 | required to remedy known factual inaccuracies. 203 | 204 | 3.5. Application of Additional Terms 205 | 206 | You may choose to offer, and to charge a fee for, warranty, support, 207 | indemnity or liability obligations to one or more recipients of Covered 208 | Software. However, You may do so only on Your own behalf, and not on behalf 209 | of any Contributor. You must make it absolutely clear that any such 210 | warranty, support, indemnity, or liability obligation is offered by You 211 | alone, and You hereby agree to indemnify every Contributor for any 212 | liability incurred by such Contributor as a result of warranty, support, 213 | indemnity or liability terms You offer. You may include additional 214 | disclaimers of warranty and limitations of liability specific to any 215 | jurisdiction. 216 | 217 | 4. Inability to Comply Due to Statute or Regulation 218 | 219 | If it is impossible for You to comply with any of the terms of this License 220 | with respect to some or all of the Covered Software due to statute, judicial 221 | order, or regulation then You must: (a) comply with the terms of this License 222 | to the maximum extent possible; and (b) describe the limitations and the code 223 | they affect. Such description must be placed in a text file included with all 224 | distributions of the Covered Software under this License. Except to the 225 | extent prohibited by statute or regulation, such description must be 226 | sufficiently detailed for a recipient of ordinary skill to be able to 227 | understand it. 228 | 229 | 5. Termination 230 | 231 | 5.1. The rights granted under this License will terminate automatically if You 232 | fail to comply with any of its terms. However, if You become compliant, then the 233 | rights granted under this License from a particular Contributor are reinstated 234 | (a) provisionally, unless and until such Contributor explicitly and finally 235 | terminates Your grants, and (b) on an ongoing basis, if such Contributor fails 236 | to notify You of the non-compliance by some reasonable means prior to 60 days 237 | after You have come back into compliance. Moreover, Your grants from a 238 | particular Contributor are reinstated on an ongoing basis if such Contributor 239 | notifies You of the non-compliance by some reasonable means, this is the first 240 | time You have received notice of non-compliance with this License from such 241 | Contributor, and You become compliant prior to 30 days after Your receipt of the 242 | notice. 243 | 244 | 5.2. If You initiate litigation against any entity by asserting a patent 245 | infringement claim (excluding declaratory judgment actions, counter-claims, and 246 | cross-claims) alleging that a Contributor Version directly or indirectly 247 | infringes any patent, then the rights granted to You by any and all Contributors 248 | for the Covered Software under Section 2.1 of this License shall terminate. 249 | 250 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user 251 | license agreements (excluding distributors and resellers) which have been 252 | validly granted by You or Your distributors under this License prior to 253 | termination shall survive termination. 254 | 255 | 6. Disclaimer of Warranty 256 | 257 | Covered Software is provided under this License on an “as is” basis, without 258 | warranty of any kind, either expressed, implied, or statutory, including, 259 | without limitation, warranties that the Covered Software is free of defects, 260 | merchantable, fit for a particular purpose or non-infringing. The entire risk 261 | as to the quality and performance of the Covered Software is with You. Should 262 | any Covered Software prove defective in any respect, You (not any 263 | Contributor) assume the cost of any necessary servicing, repair, or 264 | correction. This disclaimer of warranty constitutes an essential part of this 265 | License. No use of any Covered Software is authorized under this License 266 | except under this disclaimer. 267 | 268 | 7. Limitation of Liability 269 | 270 | Under no circumstances and under no legal theory, whether tort (including 271 | negligence), contract, or otherwise, shall any Contributor, or anyone who 272 | distributes Covered Software as permitted above, be liable to You for any 273 | direct, indirect, special, incidental, or consequential damages of any 274 | character including, without limitation, damages for lost profits, loss of 275 | goodwill, work stoppage, computer failure or malfunction, or any and all 276 | other commercial damages or losses, even if such party shall have been 277 | informed of the possibility of such damages. This limitation of liability 278 | shall not apply to liability for death or personal injury resulting from such 279 | party’s negligence to the extent applicable law prohibits such limitation. 280 | Some jurisdictions do not allow the exclusion or limitation of incidental or 281 | consequential damages, so this exclusion and limitation may not apply to You. 282 | 283 | 8. Litigation 284 | 285 | Any litigation relating to this License may be brought only in the courts of 286 | a jurisdiction where the defendant maintains its principal place of business 287 | and such litigation shall be governed by laws of that jurisdiction, without 288 | reference to its conflict-of-law provisions. Nothing in this Section shall 289 | prevent a party’s ability to bring cross-claims or counter-claims. 290 | 291 | 9. Miscellaneous 292 | 293 | This License represents the complete agreement concerning the subject matter 294 | hereof. If any provision of this License is held to be unenforceable, such 295 | provision shall be reformed only to the extent necessary to make it 296 | enforceable. Any law or regulation which provides that the language of a 297 | contract shall be construed against the drafter shall not be used to construe 298 | this License against a Contributor. 299 | 300 | 10) Versions of the License 301 | 302 | 10.1. New Versions 303 | 304 | Mozilla Foundation is the license steward. Except as provided in Section 305 | 10.3, no one other than the license steward has the right to modify or 306 | publish new versions of this License. Each version will be given a 307 | distinguishing version number. 308 | 309 | 10.2. Effect of New Versions 310 | 311 | You may distribute the Covered Software under the terms of the version of 312 | the License under which You originally received the Covered Software, or 313 | under the terms of any subsequent version published by the license 314 | steward. 315 | 316 | 10.3. Modified Versions 317 | 318 | If you create software not governed by this License, and you want to 319 | create a new license for such software, you may create and use a modified 320 | version of this License if you rename the license and remove any 321 | references to the name of the license steward (except to note that such 322 | modified license differs from this License). 323 | 324 | 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses 325 | If You choose to distribute Source Code Form that is Incompatible With Secondary 326 | Licenses under the terms of this version of the License, the notice described in 327 | Exhibit B of this License must be attached. 328 | 329 | Exhibit A - Source Code Form License Notice 330 | 331 | This Source Code Form is subject to the 332 | terms of the Mozilla Public License, v. 333 | 2.0. If a copy of the MPL was not 334 | distributed with this file, You can 335 | obtain one at 336 | http://mozilla.org/MPL/2.0/. 337 | 338 | If it is not possible or desirable to put the notice in a particular file, then 339 | You may include the notice in a location (such as a LICENSE file in a relevant 340 | directory) where a recipient would be likely to look for such a notice. 341 | 342 | You may add additional accurate notices of copyright ownership. 343 | 344 | Exhibit B - “Incompatible With Secondary Licenses” Notice 345 | 346 | This Source Code Form is “Incompatible 347 | With Secondary Licenses”, as defined by 348 | the Mozilla Public License, v. 2.0. 349 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # hela 2 | 3 | > :icecream: Powerful software development experience and management. :sparkles: 4 | -------------------------------------------------------------------------------- /commands/build/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. 5 | 6 | ## [3.1.2](https://github.com/tunnckoCore/hela/compare/@hela/build@3.1.1...@hela/build@3.1.2) (2020-03-06) 7 | 8 | **Note:** Version bump only for package @hela/build 9 | 10 | 11 | 12 | 13 | 14 | ## [3.1.1](https://github.com/tunnckoCore/hela/compare/@hela/build@3.1.0...@hela/build@3.1.1) (2020-03-06) 15 | 16 | 17 | ### Bug Fixes 18 | 19 | * duhhhh, fix the wrong publishConfig.registry ([b0e35d0](https://github.com/tunnckoCore/hela/commit/b0e35d00426c0d1a6e0544989a164c825101ad85)) 20 | 21 | 22 | 23 | 24 | 25 | # [3.1.0](https://github.com/tunnckoCore/hela/compare/@hela/build@3.0.2...@hela/build@3.1.0) (2020-03-06) 26 | 27 | 28 | ### Features 29 | 30 | * rewrite `@hela/eslint` from scratch ([#222](https://github.com/tunnckoCore/hela/issues/222)) ([a0d43d4](https://github.com/tunnckoCore/hela/commit/a0d43d41dfbd0ebe7c5f1aecc86ac6378fdd2139)) 31 | 32 | 33 | 34 | 35 | 36 | ## 3.0.2 (2020-02-29) 37 | 38 | **Note:** Version bump only for package @hela/build 39 | 40 | 41 | 42 | 43 | 44 | ## [3.0.1](https://github.com/tunnckoCore/hela/compare/@hela/build@3.0.0...@hela/build@3.0.1) (2020-02-29) 45 | 46 | 47 | ### Bug Fixes 48 | 49 | * **@hela/build:** license file ([0f02fc9](https://github.com/tunnckoCore/hela/commit/0f02fc9069d5e51d318ed4449e223b773e0c54f0)) 50 | 51 | 52 | 53 | 54 | 55 | # 3.0.0 (2020-02-29) 56 | 57 | 58 | ### chore 59 | 60 | * release v3 ([#109](https://github.com/tunnckoCore/hela/issues/109)) ([1420256](https://github.com/tunnckoCore/hela/commit/142025614ed269be06679582a5754c6dbadc6c93)) 61 | 62 | 63 | ### BREAKING CHANGES 64 | 65 | * Release v3, finally. 66 | 67 | Signed-off-by: Charlike Mike Reagent 68 | -------------------------------------------------------------------------------- /commands/build/LICENSE.md: -------------------------------------------------------------------------------- 1 | Mozilla Public License, version 2.0 2 | 3 | 1. Definitions 4 | 5 | 1.1. “Contributor” 6 | 7 | means each individual or legal entity that creates, contributes to the 8 | creation of, or owns Covered Software. 9 | 10 | 1.2. “Contributor Version” 11 | 12 | means the combination of the Contributions of others (if any) used by a 13 | Contributor and that particular Contributor’s Contribution. 14 | 15 | 1.3. “Contribution” 16 | 17 | means Covered Software of a particular Contributor. 18 | 19 | 1.4. “Covered Software” 20 | 21 | means Source Code Form to which the initial Contributor has attached the 22 | notice in Exhibit A, the Executable Form of such Source Code Form, and 23 | Modifications of such Source Code Form, in each case including portions 24 | thereof. 25 | 26 | 1.5. “Incompatible With Secondary Licenses” means 27 | 28 | a. that the initial Contributor has attached the notice described in 29 | Exhibit B to the Covered Software; or 30 | 31 | b. that the Covered Software was made available under the terms of version 32 | 1.1 or earlier of the License, but not also under the terms of a 33 | Secondary License. 34 | 35 | 1.6. “Executable Form” 36 | 37 | means any form of the work other than Source Code Form. 38 | 39 | 1.7. “Larger Work” 40 | 41 | means a work that combines Covered Software with other material, in a separate 42 | file or files, that is not Covered Software. 43 | 44 | 1.8. “License” 45 | 46 | means this document. 47 | 48 | 1.9. “Licensable” 49 | 50 | means having the right to grant, to the maximum extent possible, whether at the 51 | time of the initial grant or subsequently, any and all of the rights conveyed by 52 | this License. 53 | 54 | 1.10. “Modifications” 55 | 56 | means any of the following: 57 | 58 | a. any file in Source Code Form that results from an addition to, deletion 59 | from, or modification of the contents of Covered Software; or 60 | 61 | b. any new file in Source Code Form that contains any Covered Software. 62 | 63 | 1.11. “Patent Claims” of a Contributor 64 | 65 | means any patent claim(s), including without limitation, method, process, 66 | and apparatus claims, in any patent Licensable by such Contributor that 67 | would be infringed, but for the grant of the License, by the making, 68 | using, selling, offering for sale, having made, import, or transfer of 69 | either its Contributions or its Contributor Version. 70 | 71 | 1.12. “Secondary License” 72 | 73 | means either the GNU General Public License, Version 2.0, the GNU Lesser 74 | General Public License, Version 2.1, the GNU Affero General Public 75 | License, Version 3.0, or any later versions of those licenses. 76 | 77 | 1.13. “Source Code Form” 78 | 79 | means the form of the work preferred for making modifications. 80 | 81 | 1.14. “You” (or “Your”) 82 | 83 | means an individual or a legal entity exercising rights under this 84 | License. For legal entities, “You” includes any entity that controls, is 85 | controlled by, or is under common control with You. For purposes of this 86 | definition, “control” means (a) the power, direct or indirect, to cause 87 | the direction or management of such entity, whether by contract or 88 | otherwise, or (b) ownership of more than fifty percent (50%) of the 89 | outstanding shares or beneficial ownership of such entity. 90 | 91 | 2. License Grants and Conditions 92 | 93 | 2.1. Grants 94 | 95 | Each Contributor hereby grants You a world-wide, royalty-free, 96 | non-exclusive license: 97 | 98 | a. under intellectual property rights (other than patent or trademark) 99 | Licensable by such Contributor to use, reproduce, make available, 100 | modify, display, perform, distribute, and otherwise exploit its 101 | Contributions, either on an unmodified basis, with Modifications, or as 102 | part of a Larger Work; and 103 | 104 | b. under Patent Claims of such Contributor to make, use, sell, offer for 105 | sale, have made, import, and otherwise transfer either its Contributions 106 | or its Contributor Version. 107 | 108 | 2.2. Effective Date 109 | 110 | The licenses granted in Section 2.1 with respect to any Contribution become 111 | effective for each Contribution on the date the Contributor first distributes 112 | such Contribution. 113 | 114 | 2.3. Limitations on Grant Scope 115 | 116 | The licenses granted in this Section 2 are the only rights granted under this 117 | License. No additional rights or licenses will be implied from the distribution 118 | or licensing of Covered Software under this License. Notwithstanding Section 119 | 2.1(b) above, no patent license is granted by a Contributor: 120 | 121 | a. for any code that a Contributor has removed from Covered Software; or 122 | 123 | b. for infringements caused by: (i) Your and any other third party’s 124 | modifications of Covered Software, or (ii) the combination of its 125 | Contributions with other software (except as part of its Contributor 126 | Version); or 127 | 128 | c. under Patent Claims infringed by Covered Software in the absence of its 129 | Contributions. 130 | 131 | This License does not grant any rights in the trademarks, service marks, or 132 | logos of any Contributor (except as may be necessary to comply with the 133 | notice requirements in Section 3.4). 134 | 135 | 2.4. Subsequent Licenses 136 | 137 | No Contributor makes additional grants as a result of Your choice to 138 | distribute the Covered Software under a subsequent version of this License 139 | (see Section 10.2) or under the terms of a Secondary License (if permitted 140 | under the terms of Section 3.3). 141 | 142 | 2.5. Representation 143 | 144 | Each Contributor represents that the Contributor believes its Contributions 145 | are its original creation(s) or it has sufficient rights to grant the 146 | rights to its Contributions conveyed by this License. 147 | 148 | 2.6. Fair Use 149 | 150 | This License is not intended to limit any rights You have under applicable 151 | copyright doctrines of fair use, fair dealing, or other equivalents. 152 | 153 | 2.7. Conditions 154 | 155 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in 156 | Section 2.1. 157 | 158 | 3. Responsibilities 159 | 160 | 3.1. Distribution of Source Form 161 | 162 | All distribution of Covered Software in Source Code Form, including any 163 | Modifications that You create or to which You contribute, must be under the 164 | terms of this License. You must inform recipients that the Source Code Form 165 | of the Covered Software is governed by the terms of this License, and how 166 | they can obtain a copy of this License. You may not attempt to alter or 167 | restrict the recipients’ rights in the Source Code Form. 168 | 169 | 3.2. Distribution of Executable Form 170 | 171 | If You distribute Covered Software in Executable Form then: 172 | 173 | a. such Covered Software must also be made available in Source Code Form, 174 | as described in Section 3.1, and You must inform recipients of the 175 | Executable Form how they can obtain a copy of such Source Code Form by 176 | reasonable means in a timely manner, at a charge no more than the cost 177 | of distribution to the recipient; and 178 | 179 | b. You may distribute such Executable Form under the terms of this License, 180 | or sublicense it under different terms, provided that the license for 181 | the Executable Form does not attempt to limit or alter the recipients’ 182 | rights in the Source Code Form under this License. 183 | 184 | 3.3. Distribution of a Larger Work 185 | 186 | You may create and distribute a Larger Work under terms of Your choice, 187 | provided that You also comply with the requirements of this License for the 188 | Covered Software. If the Larger Work is a combination of Covered Software 189 | with a work governed by one or more Secondary Licenses, and the Covered 190 | Software is not Incompatible With Secondary Licenses, this License permits 191 | You to additionally distribute such Covered Software under the terms of 192 | such Secondary License(s), so that the recipient of the Larger Work may, at 193 | their option, further distribute the Covered Software under the terms of 194 | either this License or such Secondary License(s). 195 | 196 | 3.4. Notices 197 | 198 | You may not remove or alter the substance of any license notices (including 199 | copyright notices, patent notices, disclaimers of warranty, or limitations 200 | of liability) contained within the Source Code Form of the Covered 201 | Software, except that You may alter any license notices to the extent 202 | required to remedy known factual inaccuracies. 203 | 204 | 3.5. Application of Additional Terms 205 | 206 | You may choose to offer, and to charge a fee for, warranty, support, 207 | indemnity or liability obligations to one or more recipients of Covered 208 | Software. However, You may do so only on Your own behalf, and not on behalf 209 | of any Contributor. You must make it absolutely clear that any such 210 | warranty, support, indemnity, or liability obligation is offered by You 211 | alone, and You hereby agree to indemnify every Contributor for any 212 | liability incurred by such Contributor as a result of warranty, support, 213 | indemnity or liability terms You offer. You may include additional 214 | disclaimers of warranty and limitations of liability specific to any 215 | jurisdiction. 216 | 217 | 4. Inability to Comply Due to Statute or Regulation 218 | 219 | If it is impossible for You to comply with any of the terms of this License 220 | with respect to some or all of the Covered Software due to statute, judicial 221 | order, or regulation then You must: (a) comply with the terms of this License 222 | to the maximum extent possible; and (b) describe the limitations and the code 223 | they affect. Such description must be placed in a text file included with all 224 | distributions of the Covered Software under this License. Except to the 225 | extent prohibited by statute or regulation, such description must be 226 | sufficiently detailed for a recipient of ordinary skill to be able to 227 | understand it. 228 | 229 | 5. Termination 230 | 231 | 5.1. The rights granted under this License will terminate automatically if You 232 | fail to comply with any of its terms. However, if You become compliant, then the 233 | rights granted under this License from a particular Contributor are reinstated 234 | (a) provisionally, unless and until such Contributor explicitly and finally 235 | terminates Your grants, and (b) on an ongoing basis, if such Contributor fails 236 | to notify You of the non-compliance by some reasonable means prior to 60 days 237 | after You have come back into compliance. Moreover, Your grants from a 238 | particular Contributor are reinstated on an ongoing basis if such Contributor 239 | notifies You of the non-compliance by some reasonable means, this is the first 240 | time You have received notice of non-compliance with this License from such 241 | Contributor, and You become compliant prior to 30 days after Your receipt of the 242 | notice. 243 | 244 | 5.2. If You initiate litigation against any entity by asserting a patent 245 | infringement claim (excluding declaratory judgment actions, counter-claims, and 246 | cross-claims) alleging that a Contributor Version directly or indirectly 247 | infringes any patent, then the rights granted to You by any and all Contributors 248 | for the Covered Software under Section 2.1 of this License shall terminate. 249 | 250 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user 251 | license agreements (excluding distributors and resellers) which have been 252 | validly granted by You or Your distributors under this License prior to 253 | termination shall survive termination. 254 | 255 | 6. Disclaimer of Warranty 256 | 257 | Covered Software is provided under this License on an “as is” basis, without 258 | warranty of any kind, either expressed, implied, or statutory, including, 259 | without limitation, warranties that the Covered Software is free of defects, 260 | merchantable, fit for a particular purpose or non-infringing. The entire risk 261 | as to the quality and performance of the Covered Software is with You. Should 262 | any Covered Software prove defective in any respect, You (not any 263 | Contributor) assume the cost of any necessary servicing, repair, or 264 | correction. This disclaimer of warranty constitutes an essential part of this 265 | License. No use of any Covered Software is authorized under this License 266 | except under this disclaimer. 267 | 268 | 7. Limitation of Liability 269 | 270 | Under no circumstances and under no legal theory, whether tort (including 271 | negligence), contract, or otherwise, shall any Contributor, or anyone who 272 | distributes Covered Software as permitted above, be liable to You for any 273 | direct, indirect, special, incidental, or consequential damages of any 274 | character including, without limitation, damages for lost profits, loss of 275 | goodwill, work stoppage, computer failure or malfunction, or any and all 276 | other commercial damages or losses, even if such party shall have been 277 | informed of the possibility of such damages. This limitation of liability 278 | shall not apply to liability for death or personal injury resulting from such 279 | party’s negligence to the extent applicable law prohibits such limitation. 280 | Some jurisdictions do not allow the exclusion or limitation of incidental or 281 | consequential damages, so this exclusion and limitation may not apply to You. 282 | 283 | 8. Litigation 284 | 285 | Any litigation relating to this License may be brought only in the courts of 286 | a jurisdiction where the defendant maintains its principal place of business 287 | and such litigation shall be governed by laws of that jurisdiction, without 288 | reference to its conflict-of-law provisions. Nothing in this Section shall 289 | prevent a party’s ability to bring cross-claims or counter-claims. 290 | 291 | 9. Miscellaneous 292 | 293 | This License represents the complete agreement concerning the subject matter 294 | hereof. If any provision of this License is held to be unenforceable, such 295 | provision shall be reformed only to the extent necessary to make it 296 | enforceable. Any law or regulation which provides that the language of a 297 | contract shall be construed against the drafter shall not be used to construe 298 | this License against a Contributor. 299 | 300 | 10) Versions of the License 301 | 302 | 10.1. New Versions 303 | 304 | Mozilla Foundation is the license steward. Except as provided in Section 305 | 10.3, no one other than the license steward has the right to modify or 306 | publish new versions of this License. Each version will be given a 307 | distinguishing version number. 308 | 309 | 10.2. Effect of New Versions 310 | 311 | You may distribute the Covered Software under the terms of the version of 312 | the License under which You originally received the Covered Software, or 313 | under the terms of any subsequent version published by the license 314 | steward. 315 | 316 | 10.3. Modified Versions 317 | 318 | If you create software not governed by this License, and you want to 319 | create a new license for such software, you may create and use a modified 320 | version of this License if you rename the license and remove any 321 | references to the name of the license steward (except to note that such 322 | modified license differs from this License). 323 | 324 | 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses 325 | If You choose to distribute Source Code Form that is Incompatible With Secondary 326 | Licenses under the terms of this version of the License, the notice described in 327 | Exhibit B of this License must be attached. 328 | 329 | Exhibit A - Source Code Form License Notice 330 | 331 | This Source Code Form is subject to the 332 | terms of the Mozilla Public License, v. 333 | 2.0. If a copy of the MPL was not 334 | distributed with this file, You can 335 | obtain one at 336 | http://mozilla.org/MPL/2.0/. 337 | 338 | If it is not possible or desirable to put the notice in a particular file, then 339 | You may include the notice in a location (such as a LICENSE file in a relevant 340 | directory) where a recipient would be likely to look for such a notice. 341 | 342 | You may add additional accurate notices of copyright ownership. 343 | 344 | Exhibit B - “Incompatible With Secondary Licenses” Notice 345 | 346 | This Source Code Form is “Incompatible 347 | With Secondary Licenses”, as defined by 348 | the Mozilla Public License, v. 2.0. 349 | -------------------------------------------------------------------------------- /commands/build/__tests__/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const mod = require('../src/index'); 4 | 5 | test('todo test for mod', () => { 6 | expect(typeof mod).toStrictEqual('function'); 7 | }); 8 | -------------------------------------------------------------------------------- /commands/build/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hela/build", 3 | "version": "3.1.2", 4 | "licenseStart": 2018, 5 | "license": "MPL-2.0", 6 | "description": "WIP: Powerful software development experience", 7 | "author": "Charlike Mike Reagent (https://tunnckocore.com)", 8 | "homepage": "https://tunnckocore.com/hela", 9 | "funding": [ 10 | "https://ko-fi.com/tunnckoCore/commissions", 11 | "https://github.com/sponsors/tunnckoCore", 12 | "https://patreon.com/tunnckoCore" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/tunnckoCore/hela.git", 17 | "directory": "commands/build" 18 | }, 19 | "main": "src/index.js", 20 | "files": [ 21 | "src" 22 | ], 23 | "engines": { 24 | "node": ">= 10.13" 25 | }, 26 | "publishConfig": { 27 | "access": "public", 28 | "registry": "https://registry.npmjs.org", 29 | "tag": "latest" 30 | }, 31 | "scripts": {}, 32 | "keywords": [ 33 | "tunnckocorehq", 34 | "tunnckocore-oss", 35 | "hela", 36 | "development", 37 | "developer-experience", 38 | "dx" 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /commands/build/src/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = () => {}; 4 | -------------------------------------------------------------------------------- /commands/check/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. 5 | 6 | ## [3.1.2](https://github.com/tunnckoCore/hela/compare/@hela/check@3.1.1...@hela/check@3.1.2) (2020-03-06) 7 | 8 | **Note:** Version bump only for package @hela/check 9 | 10 | 11 | 12 | 13 | 14 | ## [3.1.1](https://github.com/tunnckoCore/hela/compare/@hela/check@3.1.0...@hela/check@3.1.1) (2020-03-06) 15 | 16 | 17 | ### Bug Fixes 18 | 19 | * duhhhh, fix the wrong publishConfig.registry ([b0e35d0](https://github.com/tunnckoCore/hela/commit/b0e35d00426c0d1a6e0544989a164c825101ad85)) 20 | 21 | 22 | 23 | 24 | 25 | # [3.1.0](https://github.com/tunnckoCore/hela/compare/@hela/check@3.0.2...@hela/check@3.1.0) (2020-03-06) 26 | 27 | 28 | ### Features 29 | 30 | * rewrite `@hela/eslint` from scratch ([#222](https://github.com/tunnckoCore/hela/issues/222)) ([a0d43d4](https://github.com/tunnckoCore/hela/commit/a0d43d41dfbd0ebe7c5f1aecc86ac6378fdd2139)) 31 | 32 | 33 | 34 | 35 | 36 | ## 3.0.2 (2020-02-29) 37 | 38 | **Note:** Version bump only for package @hela/check 39 | 40 | 41 | 42 | 43 | 44 | ## [3.0.1](https://github.com/tunnckoCore/hela/compare/@hela/check@3.0.0...@hela/check@3.0.1) (2020-02-29) 45 | 46 | 47 | ### Bug Fixes 48 | 49 | * license file & security policy tweaks ([6486c2e](https://github.com/tunnckoCore/hela/commit/6486c2ef4acb8eec61d5c589f63598cd2eee5376)) 50 | 51 | 52 | 53 | 54 | 55 | # 3.0.0 (2020-02-29) 56 | 57 | 58 | ### chore 59 | 60 | * release v3 ([#109](https://github.com/tunnckoCore/hela/issues/109)) ([1420256](https://github.com/tunnckoCore/hela/commit/142025614ed269be06679582a5754c6dbadc6c93)) 61 | 62 | 63 | ### BREAKING CHANGES 64 | 65 | * Release v3, finally. 66 | 67 | Signed-off-by: Charlike Mike Reagent 68 | -------------------------------------------------------------------------------- /commands/check/LICENSE.md: -------------------------------------------------------------------------------- 1 | Mozilla Public License, version 2.0 2 | 3 | 1. Definitions 4 | 5 | 1.1. “Contributor” 6 | 7 | means each individual or legal entity that creates, contributes to the 8 | creation of, or owns Covered Software. 9 | 10 | 1.2. “Contributor Version” 11 | 12 | means the combination of the Contributions of others (if any) used by a 13 | Contributor and that particular Contributor’s Contribution. 14 | 15 | 1.3. “Contribution” 16 | 17 | means Covered Software of a particular Contributor. 18 | 19 | 1.4. “Covered Software” 20 | 21 | means Source Code Form to which the initial Contributor has attached the 22 | notice in Exhibit A, the Executable Form of such Source Code Form, and 23 | Modifications of such Source Code Form, in each case including portions 24 | thereof. 25 | 26 | 1.5. “Incompatible With Secondary Licenses” means 27 | 28 | a. that the initial Contributor has attached the notice described in 29 | Exhibit B to the Covered Software; or 30 | 31 | b. that the Covered Software was made available under the terms of version 32 | 1.1 or earlier of the License, but not also under the terms of a 33 | Secondary License. 34 | 35 | 1.6. “Executable Form” 36 | 37 | means any form of the work other than Source Code Form. 38 | 39 | 1.7. “Larger Work” 40 | 41 | means a work that combines Covered Software with other material, in a separate 42 | file or files, that is not Covered Software. 43 | 44 | 1.8. “License” 45 | 46 | means this document. 47 | 48 | 1.9. “Licensable” 49 | 50 | means having the right to grant, to the maximum extent possible, whether at the 51 | time of the initial grant or subsequently, any and all of the rights conveyed by 52 | this License. 53 | 54 | 1.10. “Modifications” 55 | 56 | means any of the following: 57 | 58 | a. any file in Source Code Form that results from an addition to, deletion 59 | from, or modification of the contents of Covered Software; or 60 | 61 | b. any new file in Source Code Form that contains any Covered Software. 62 | 63 | 1.11. “Patent Claims” of a Contributor 64 | 65 | means any patent claim(s), including without limitation, method, process, 66 | and apparatus claims, in any patent Licensable by such Contributor that 67 | would be infringed, but for the grant of the License, by the making, 68 | using, selling, offering for sale, having made, import, or transfer of 69 | either its Contributions or its Contributor Version. 70 | 71 | 1.12. “Secondary License” 72 | 73 | means either the GNU General Public License, Version 2.0, the GNU Lesser 74 | General Public License, Version 2.1, the GNU Affero General Public 75 | License, Version 3.0, or any later versions of those licenses. 76 | 77 | 1.13. “Source Code Form” 78 | 79 | means the form of the work preferred for making modifications. 80 | 81 | 1.14. “You” (or “Your”) 82 | 83 | means an individual or a legal entity exercising rights under this 84 | License. For legal entities, “You” includes any entity that controls, is 85 | controlled by, or is under common control with You. For purposes of this 86 | definition, “control” means (a) the power, direct or indirect, to cause 87 | the direction or management of such entity, whether by contract or 88 | otherwise, or (b) ownership of more than fifty percent (50%) of the 89 | outstanding shares or beneficial ownership of such entity. 90 | 91 | 2. License Grants and Conditions 92 | 93 | 2.1. Grants 94 | 95 | Each Contributor hereby grants You a world-wide, royalty-free, 96 | non-exclusive license: 97 | 98 | a. under intellectual property rights (other than patent or trademark) 99 | Licensable by such Contributor to use, reproduce, make available, 100 | modify, display, perform, distribute, and otherwise exploit its 101 | Contributions, either on an unmodified basis, with Modifications, or as 102 | part of a Larger Work; and 103 | 104 | b. under Patent Claims of such Contributor to make, use, sell, offer for 105 | sale, have made, import, and otherwise transfer either its Contributions 106 | or its Contributor Version. 107 | 108 | 2.2. Effective Date 109 | 110 | The licenses granted in Section 2.1 with respect to any Contribution become 111 | effective for each Contribution on the date the Contributor first distributes 112 | such Contribution. 113 | 114 | 2.3. Limitations on Grant Scope 115 | 116 | The licenses granted in this Section 2 are the only rights granted under this 117 | License. No additional rights or licenses will be implied from the distribution 118 | or licensing of Covered Software under this License. Notwithstanding Section 119 | 2.1(b) above, no patent license is granted by a Contributor: 120 | 121 | a. for any code that a Contributor has removed from Covered Software; or 122 | 123 | b. for infringements caused by: (i) Your and any other third party’s 124 | modifications of Covered Software, or (ii) the combination of its 125 | Contributions with other software (except as part of its Contributor 126 | Version); or 127 | 128 | c. under Patent Claims infringed by Covered Software in the absence of its 129 | Contributions. 130 | 131 | This License does not grant any rights in the trademarks, service marks, or 132 | logos of any Contributor (except as may be necessary to comply with the 133 | notice requirements in Section 3.4). 134 | 135 | 2.4. Subsequent Licenses 136 | 137 | No Contributor makes additional grants as a result of Your choice to 138 | distribute the Covered Software under a subsequent version of this License 139 | (see Section 10.2) or under the terms of a Secondary License (if permitted 140 | under the terms of Section 3.3). 141 | 142 | 2.5. Representation 143 | 144 | Each Contributor represents that the Contributor believes its Contributions 145 | are its original creation(s) or it has sufficient rights to grant the 146 | rights to its Contributions conveyed by this License. 147 | 148 | 2.6. Fair Use 149 | 150 | This License is not intended to limit any rights You have under applicable 151 | copyright doctrines of fair use, fair dealing, or other equivalents. 152 | 153 | 2.7. Conditions 154 | 155 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in 156 | Section 2.1. 157 | 158 | 3. Responsibilities 159 | 160 | 3.1. Distribution of Source Form 161 | 162 | All distribution of Covered Software in Source Code Form, including any 163 | Modifications that You create or to which You contribute, must be under the 164 | terms of this License. You must inform recipients that the Source Code Form 165 | of the Covered Software is governed by the terms of this License, and how 166 | they can obtain a copy of this License. You may not attempt to alter or 167 | restrict the recipients’ rights in the Source Code Form. 168 | 169 | 3.2. Distribution of Executable Form 170 | 171 | If You distribute Covered Software in Executable Form then: 172 | 173 | a. such Covered Software must also be made available in Source Code Form, 174 | as described in Section 3.1, and You must inform recipients of the 175 | Executable Form how they can obtain a copy of such Source Code Form by 176 | reasonable means in a timely manner, at a charge no more than the cost 177 | of distribution to the recipient; and 178 | 179 | b. You may distribute such Executable Form under the terms of this License, 180 | or sublicense it under different terms, provided that the license for 181 | the Executable Form does not attempt to limit or alter the recipients’ 182 | rights in the Source Code Form under this License. 183 | 184 | 3.3. Distribution of a Larger Work 185 | 186 | You may create and distribute a Larger Work under terms of Your choice, 187 | provided that You also comply with the requirements of this License for the 188 | Covered Software. If the Larger Work is a combination of Covered Software 189 | with a work governed by one or more Secondary Licenses, and the Covered 190 | Software is not Incompatible With Secondary Licenses, this License permits 191 | You to additionally distribute such Covered Software under the terms of 192 | such Secondary License(s), so that the recipient of the Larger Work may, at 193 | their option, further distribute the Covered Software under the terms of 194 | either this License or such Secondary License(s). 195 | 196 | 3.4. Notices 197 | 198 | You may not remove or alter the substance of any license notices (including 199 | copyright notices, patent notices, disclaimers of warranty, or limitations 200 | of liability) contained within the Source Code Form of the Covered 201 | Software, except that You may alter any license notices to the extent 202 | required to remedy known factual inaccuracies. 203 | 204 | 3.5. Application of Additional Terms 205 | 206 | You may choose to offer, and to charge a fee for, warranty, support, 207 | indemnity or liability obligations to one or more recipients of Covered 208 | Software. However, You may do so only on Your own behalf, and not on behalf 209 | of any Contributor. You must make it absolutely clear that any such 210 | warranty, support, indemnity, or liability obligation is offered by You 211 | alone, and You hereby agree to indemnify every Contributor for any 212 | liability incurred by such Contributor as a result of warranty, support, 213 | indemnity or liability terms You offer. You may include additional 214 | disclaimers of warranty and limitations of liability specific to any 215 | jurisdiction. 216 | 217 | 4. Inability to Comply Due to Statute or Regulation 218 | 219 | If it is impossible for You to comply with any of the terms of this License 220 | with respect to some or all of the Covered Software due to statute, judicial 221 | order, or regulation then You must: (a) comply with the terms of this License 222 | to the maximum extent possible; and (b) describe the limitations and the code 223 | they affect. Such description must be placed in a text file included with all 224 | distributions of the Covered Software under this License. Except to the 225 | extent prohibited by statute or regulation, such description must be 226 | sufficiently detailed for a recipient of ordinary skill to be able to 227 | understand it. 228 | 229 | 5. Termination 230 | 231 | 5.1. The rights granted under this License will terminate automatically if You 232 | fail to comply with any of its terms. However, if You become compliant, then the 233 | rights granted under this License from a particular Contributor are reinstated 234 | (a) provisionally, unless and until such Contributor explicitly and finally 235 | terminates Your grants, and (b) on an ongoing basis, if such Contributor fails 236 | to notify You of the non-compliance by some reasonable means prior to 60 days 237 | after You have come back into compliance. Moreover, Your grants from a 238 | particular Contributor are reinstated on an ongoing basis if such Contributor 239 | notifies You of the non-compliance by some reasonable means, this is the first 240 | time You have received notice of non-compliance with this License from such 241 | Contributor, and You become compliant prior to 30 days after Your receipt of the 242 | notice. 243 | 244 | 5.2. If You initiate litigation against any entity by asserting a patent 245 | infringement claim (excluding declaratory judgment actions, counter-claims, and 246 | cross-claims) alleging that a Contributor Version directly or indirectly 247 | infringes any patent, then the rights granted to You by any and all Contributors 248 | for the Covered Software under Section 2.1 of this License shall terminate. 249 | 250 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user 251 | license agreements (excluding distributors and resellers) which have been 252 | validly granted by You or Your distributors under this License prior to 253 | termination shall survive termination. 254 | 255 | 6. Disclaimer of Warranty 256 | 257 | Covered Software is provided under this License on an “as is” basis, without 258 | warranty of any kind, either expressed, implied, or statutory, including, 259 | without limitation, warranties that the Covered Software is free of defects, 260 | merchantable, fit for a particular purpose or non-infringing. The entire risk 261 | as to the quality and performance of the Covered Software is with You. Should 262 | any Covered Software prove defective in any respect, You (not any 263 | Contributor) assume the cost of any necessary servicing, repair, or 264 | correction. This disclaimer of warranty constitutes an essential part of this 265 | License. No use of any Covered Software is authorized under this License 266 | except under this disclaimer. 267 | 268 | 7. Limitation of Liability 269 | 270 | Under no circumstances and under no legal theory, whether tort (including 271 | negligence), contract, or otherwise, shall any Contributor, or anyone who 272 | distributes Covered Software as permitted above, be liable to You for any 273 | direct, indirect, special, incidental, or consequential damages of any 274 | character including, without limitation, damages for lost profits, loss of 275 | goodwill, work stoppage, computer failure or malfunction, or any and all 276 | other commercial damages or losses, even if such party shall have been 277 | informed of the possibility of such damages. This limitation of liability 278 | shall not apply to liability for death or personal injury resulting from such 279 | party’s negligence to the extent applicable law prohibits such limitation. 280 | Some jurisdictions do not allow the exclusion or limitation of incidental or 281 | consequential damages, so this exclusion and limitation may not apply to You. 282 | 283 | 8. Litigation 284 | 285 | Any litigation relating to this License may be brought only in the courts of 286 | a jurisdiction where the defendant maintains its principal place of business 287 | and such litigation shall be governed by laws of that jurisdiction, without 288 | reference to its conflict-of-law provisions. Nothing in this Section shall 289 | prevent a party’s ability to bring cross-claims or counter-claims. 290 | 291 | 9. Miscellaneous 292 | 293 | This License represents the complete agreement concerning the subject matter 294 | hereof. If any provision of this License is held to be unenforceable, such 295 | provision shall be reformed only to the extent necessary to make it 296 | enforceable. Any law or regulation which provides that the language of a 297 | contract shall be construed against the drafter shall not be used to construe 298 | this License against a Contributor. 299 | 300 | 10) Versions of the License 301 | 302 | 10.1. New Versions 303 | 304 | Mozilla Foundation is the license steward. Except as provided in Section 305 | 10.3, no one other than the license steward has the right to modify or 306 | publish new versions of this License. Each version will be given a 307 | distinguishing version number. 308 | 309 | 10.2. Effect of New Versions 310 | 311 | You may distribute the Covered Software under the terms of the version of 312 | the License under which You originally received the Covered Software, or 313 | under the terms of any subsequent version published by the license 314 | steward. 315 | 316 | 10.3. Modified Versions 317 | 318 | If you create software not governed by this License, and you want to 319 | create a new license for such software, you may create and use a modified 320 | version of this License if you rename the license and remove any 321 | references to the name of the license steward (except to note that such 322 | modified license differs from this License). 323 | 324 | 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses 325 | If You choose to distribute Source Code Form that is Incompatible With Secondary 326 | Licenses under the terms of this version of the License, the notice described in 327 | Exhibit B of this License must be attached. 328 | 329 | Exhibit A - Source Code Form License Notice 330 | 331 | This Source Code Form is subject to the 332 | terms of the Mozilla Public License, v. 333 | 2.0. If a copy of the MPL was not 334 | distributed with this file, You can 335 | obtain one at 336 | http://mozilla.org/MPL/2.0/. 337 | 338 | If it is not possible or desirable to put the notice in a particular file, then 339 | You may include the notice in a location (such as a LICENSE file in a relevant 340 | directory) where a recipient would be likely to look for such a notice. 341 | 342 | You may add additional accurate notices of copyright ownership. 343 | 344 | Exhibit B - “Incompatible With Secondary Licenses” Notice 345 | 346 | This Source Code Form is “Incompatible 347 | With Secondary Licenses”, as defined by 348 | the Mozilla Public License, v. 2.0. 349 | -------------------------------------------------------------------------------- /commands/check/__tests__/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const mod = require('../src/index'); 4 | 5 | test('todo test for mod', () => { 6 | expect(typeof mod).toStrictEqual('function'); 7 | }); 8 | -------------------------------------------------------------------------------- /commands/check/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hela/check", 3 | "version": "3.1.2", 4 | "licenseStart": 2018, 5 | "license": "MPL-2.0", 6 | "description": "WIP: Powerful software development experience", 7 | "author": "Charlike Mike Reagent (https://tunnckocore.com)", 8 | "homepage": "https://tunnckocore.com/hela", 9 | "funding": [ 10 | "https://ko-fi.com/tunnckoCore/commissions", 11 | "https://github.com/sponsors/tunnckoCore", 12 | "https://patreon.com/tunnckoCore" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/tunnckoCore/hela.git", 17 | "directory": "commands/check" 18 | }, 19 | "main": "src/index.js", 20 | "files": [ 21 | "src" 22 | ], 23 | "engines": { 24 | "node": ">= 10.13" 25 | }, 26 | "publishConfig": { 27 | "access": "public", 28 | "registry": "https://registry.npmjs.org", 29 | "tag": "latest" 30 | }, 31 | "scripts": {}, 32 | "keywords": [ 33 | "tunnckocorehq", 34 | "tunnckocore-oss", 35 | "hela", 36 | "development", 37 | "developer-experience", 38 | "dx" 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /commands/check/src/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = () => {}; 4 | -------------------------------------------------------------------------------- /commands/commit/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. 5 | 6 | ## [3.1.2](https://github.com/tunnckoCore/hela/compare/@hela/commit@3.1.1...@hela/commit@3.1.2) (2020-03-06) 7 | 8 | **Note:** Version bump only for package @hela/commit 9 | 10 | 11 | 12 | 13 | 14 | ## [3.1.1](https://github.com/tunnckoCore/hela/compare/@hela/commit@3.1.0...@hela/commit@3.1.1) (2020-03-06) 15 | 16 | 17 | ### Bug Fixes 18 | 19 | * duhhhh, fix the wrong publishConfig.registry ([b0e35d0](https://github.com/tunnckoCore/hela/commit/b0e35d00426c0d1a6e0544989a164c825101ad85)) 20 | 21 | 22 | 23 | 24 | 25 | # [3.1.0](https://github.com/tunnckoCore/hela/compare/@hela/commit@3.0.2...@hela/commit@3.1.0) (2020-03-06) 26 | 27 | 28 | ### Features 29 | 30 | * rewrite `@hela/eslint` from scratch ([#222](https://github.com/tunnckoCore/hela/issues/222)) ([a0d43d4](https://github.com/tunnckoCore/hela/commit/a0d43d41dfbd0ebe7c5f1aecc86ac6378fdd2139)) 31 | 32 | 33 | 34 | 35 | 36 | ## 3.0.2 (2020-02-29) 37 | 38 | **Note:** Version bump only for package @hela/commit 39 | 40 | 41 | 42 | 43 | 44 | ## [3.0.1](https://github.com/tunnckoCore/hela/compare/@hela/commit@3.0.0...@hela/commit@3.0.1) (2020-02-29) 45 | 46 | 47 | ### Bug Fixes 48 | 49 | * license file & security policy tweaks ([6486c2e](https://github.com/tunnckoCore/hela/commit/6486c2ef4acb8eec61d5c589f63598cd2eee5376)) 50 | 51 | 52 | 53 | 54 | 55 | # 3.0.0 (2020-02-29) 56 | 57 | 58 | ### chore 59 | 60 | * release v3 ([#109](https://github.com/tunnckoCore/hela/issues/109)) ([1420256](https://github.com/tunnckoCore/hela/commit/142025614ed269be06679582a5754c6dbadc6c93)) 61 | 62 | 63 | ### BREAKING CHANGES 64 | 65 | * Release v3, finally. 66 | 67 | Signed-off-by: Charlike Mike Reagent 68 | -------------------------------------------------------------------------------- /commands/commit/LICENSE.md: -------------------------------------------------------------------------------- 1 | Mozilla Public License, version 2.0 2 | 3 | 1. Definitions 4 | 5 | 1.1. “Contributor” 6 | 7 | means each individual or legal entity that creates, contributes to the 8 | creation of, or owns Covered Software. 9 | 10 | 1.2. “Contributor Version” 11 | 12 | means the combination of the Contributions of others (if any) used by a 13 | Contributor and that particular Contributor’s Contribution. 14 | 15 | 1.3. “Contribution” 16 | 17 | means Covered Software of a particular Contributor. 18 | 19 | 1.4. “Covered Software” 20 | 21 | means Source Code Form to which the initial Contributor has attached the 22 | notice in Exhibit A, the Executable Form of such Source Code Form, and 23 | Modifications of such Source Code Form, in each case including portions 24 | thereof. 25 | 26 | 1.5. “Incompatible With Secondary Licenses” means 27 | 28 | a. that the initial Contributor has attached the notice described in 29 | Exhibit B to the Covered Software; or 30 | 31 | b. that the Covered Software was made available under the terms of version 32 | 1.1 or earlier of the License, but not also under the terms of a 33 | Secondary License. 34 | 35 | 1.6. “Executable Form” 36 | 37 | means any form of the work other than Source Code Form. 38 | 39 | 1.7. “Larger Work” 40 | 41 | means a work that combines Covered Software with other material, in a separate 42 | file or files, that is not Covered Software. 43 | 44 | 1.8. “License” 45 | 46 | means this document. 47 | 48 | 1.9. “Licensable” 49 | 50 | means having the right to grant, to the maximum extent possible, whether at the 51 | time of the initial grant or subsequently, any and all of the rights conveyed by 52 | this License. 53 | 54 | 1.10. “Modifications” 55 | 56 | means any of the following: 57 | 58 | a. any file in Source Code Form that results from an addition to, deletion 59 | from, or modification of the contents of Covered Software; or 60 | 61 | b. any new file in Source Code Form that contains any Covered Software. 62 | 63 | 1.11. “Patent Claims” of a Contributor 64 | 65 | means any patent claim(s), including without limitation, method, process, 66 | and apparatus claims, in any patent Licensable by such Contributor that 67 | would be infringed, but for the grant of the License, by the making, 68 | using, selling, offering for sale, having made, import, or transfer of 69 | either its Contributions or its Contributor Version. 70 | 71 | 1.12. “Secondary License” 72 | 73 | means either the GNU General Public License, Version 2.0, the GNU Lesser 74 | General Public License, Version 2.1, the GNU Affero General Public 75 | License, Version 3.0, or any later versions of those licenses. 76 | 77 | 1.13. “Source Code Form” 78 | 79 | means the form of the work preferred for making modifications. 80 | 81 | 1.14. “You” (or “Your”) 82 | 83 | means an individual or a legal entity exercising rights under this 84 | License. For legal entities, “You” includes any entity that controls, is 85 | controlled by, or is under common control with You. For purposes of this 86 | definition, “control” means (a) the power, direct or indirect, to cause 87 | the direction or management of such entity, whether by contract or 88 | otherwise, or (b) ownership of more than fifty percent (50%) of the 89 | outstanding shares or beneficial ownership of such entity. 90 | 91 | 2. License Grants and Conditions 92 | 93 | 2.1. Grants 94 | 95 | Each Contributor hereby grants You a world-wide, royalty-free, 96 | non-exclusive license: 97 | 98 | a. under intellectual property rights (other than patent or trademark) 99 | Licensable by such Contributor to use, reproduce, make available, 100 | modify, display, perform, distribute, and otherwise exploit its 101 | Contributions, either on an unmodified basis, with Modifications, or as 102 | part of a Larger Work; and 103 | 104 | b. under Patent Claims of such Contributor to make, use, sell, offer for 105 | sale, have made, import, and otherwise transfer either its Contributions 106 | or its Contributor Version. 107 | 108 | 2.2. Effective Date 109 | 110 | The licenses granted in Section 2.1 with respect to any Contribution become 111 | effective for each Contribution on the date the Contributor first distributes 112 | such Contribution. 113 | 114 | 2.3. Limitations on Grant Scope 115 | 116 | The licenses granted in this Section 2 are the only rights granted under this 117 | License. No additional rights or licenses will be implied from the distribution 118 | or licensing of Covered Software under this License. Notwithstanding Section 119 | 2.1(b) above, no patent license is granted by a Contributor: 120 | 121 | a. for any code that a Contributor has removed from Covered Software; or 122 | 123 | b. for infringements caused by: (i) Your and any other third party’s 124 | modifications of Covered Software, or (ii) the combination of its 125 | Contributions with other software (except as part of its Contributor 126 | Version); or 127 | 128 | c. under Patent Claims infringed by Covered Software in the absence of its 129 | Contributions. 130 | 131 | This License does not grant any rights in the trademarks, service marks, or 132 | logos of any Contributor (except as may be necessary to comply with the 133 | notice requirements in Section 3.4). 134 | 135 | 2.4. Subsequent Licenses 136 | 137 | No Contributor makes additional grants as a result of Your choice to 138 | distribute the Covered Software under a subsequent version of this License 139 | (see Section 10.2) or under the terms of a Secondary License (if permitted 140 | under the terms of Section 3.3). 141 | 142 | 2.5. Representation 143 | 144 | Each Contributor represents that the Contributor believes its Contributions 145 | are its original creation(s) or it has sufficient rights to grant the 146 | rights to its Contributions conveyed by this License. 147 | 148 | 2.6. Fair Use 149 | 150 | This License is not intended to limit any rights You have under applicable 151 | copyright doctrines of fair use, fair dealing, or other equivalents. 152 | 153 | 2.7. Conditions 154 | 155 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in 156 | Section 2.1. 157 | 158 | 3. Responsibilities 159 | 160 | 3.1. Distribution of Source Form 161 | 162 | All distribution of Covered Software in Source Code Form, including any 163 | Modifications that You create or to which You contribute, must be under the 164 | terms of this License. You must inform recipients that the Source Code Form 165 | of the Covered Software is governed by the terms of this License, and how 166 | they can obtain a copy of this License. You may not attempt to alter or 167 | restrict the recipients’ rights in the Source Code Form. 168 | 169 | 3.2. Distribution of Executable Form 170 | 171 | If You distribute Covered Software in Executable Form then: 172 | 173 | a. such Covered Software must also be made available in Source Code Form, 174 | as described in Section 3.1, and You must inform recipients of the 175 | Executable Form how they can obtain a copy of such Source Code Form by 176 | reasonable means in a timely manner, at a charge no more than the cost 177 | of distribution to the recipient; and 178 | 179 | b. You may distribute such Executable Form under the terms of this License, 180 | or sublicense it under different terms, provided that the license for 181 | the Executable Form does not attempt to limit or alter the recipients’ 182 | rights in the Source Code Form under this License. 183 | 184 | 3.3. Distribution of a Larger Work 185 | 186 | You may create and distribute a Larger Work under terms of Your choice, 187 | provided that You also comply with the requirements of this License for the 188 | Covered Software. If the Larger Work is a combination of Covered Software 189 | with a work governed by one or more Secondary Licenses, and the Covered 190 | Software is not Incompatible With Secondary Licenses, this License permits 191 | You to additionally distribute such Covered Software under the terms of 192 | such Secondary License(s), so that the recipient of the Larger Work may, at 193 | their option, further distribute the Covered Software under the terms of 194 | either this License or such Secondary License(s). 195 | 196 | 3.4. Notices 197 | 198 | You may not remove or alter the substance of any license notices (including 199 | copyright notices, patent notices, disclaimers of warranty, or limitations 200 | of liability) contained within the Source Code Form of the Covered 201 | Software, except that You may alter any license notices to the extent 202 | required to remedy known factual inaccuracies. 203 | 204 | 3.5. Application of Additional Terms 205 | 206 | You may choose to offer, and to charge a fee for, warranty, support, 207 | indemnity or liability obligations to one or more recipients of Covered 208 | Software. However, You may do so only on Your own behalf, and not on behalf 209 | of any Contributor. You must make it absolutely clear that any such 210 | warranty, support, indemnity, or liability obligation is offered by You 211 | alone, and You hereby agree to indemnify every Contributor for any 212 | liability incurred by such Contributor as a result of warranty, support, 213 | indemnity or liability terms You offer. You may include additional 214 | disclaimers of warranty and limitations of liability specific to any 215 | jurisdiction. 216 | 217 | 4. Inability to Comply Due to Statute or Regulation 218 | 219 | If it is impossible for You to comply with any of the terms of this License 220 | with respect to some or all of the Covered Software due to statute, judicial 221 | order, or regulation then You must: (a) comply with the terms of this License 222 | to the maximum extent possible; and (b) describe the limitations and the code 223 | they affect. Such description must be placed in a text file included with all 224 | distributions of the Covered Software under this License. Except to the 225 | extent prohibited by statute or regulation, such description must be 226 | sufficiently detailed for a recipient of ordinary skill to be able to 227 | understand it. 228 | 229 | 5. Termination 230 | 231 | 5.1. The rights granted under this License will terminate automatically if You 232 | fail to comply with any of its terms. However, if You become compliant, then the 233 | rights granted under this License from a particular Contributor are reinstated 234 | (a) provisionally, unless and until such Contributor explicitly and finally 235 | terminates Your grants, and (b) on an ongoing basis, if such Contributor fails 236 | to notify You of the non-compliance by some reasonable means prior to 60 days 237 | after You have come back into compliance. Moreover, Your grants from a 238 | particular Contributor are reinstated on an ongoing basis if such Contributor 239 | notifies You of the non-compliance by some reasonable means, this is the first 240 | time You have received notice of non-compliance with this License from such 241 | Contributor, and You become compliant prior to 30 days after Your receipt of the 242 | notice. 243 | 244 | 5.2. If You initiate litigation against any entity by asserting a patent 245 | infringement claim (excluding declaratory judgment actions, counter-claims, and 246 | cross-claims) alleging that a Contributor Version directly or indirectly 247 | infringes any patent, then the rights granted to You by any and all Contributors 248 | for the Covered Software under Section 2.1 of this License shall terminate. 249 | 250 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user 251 | license agreements (excluding distributors and resellers) which have been 252 | validly granted by You or Your distributors under this License prior to 253 | termination shall survive termination. 254 | 255 | 6. Disclaimer of Warranty 256 | 257 | Covered Software is provided under this License on an “as is” basis, without 258 | warranty of any kind, either expressed, implied, or statutory, including, 259 | without limitation, warranties that the Covered Software is free of defects, 260 | merchantable, fit for a particular purpose or non-infringing. The entire risk 261 | as to the quality and performance of the Covered Software is with You. Should 262 | any Covered Software prove defective in any respect, You (not any 263 | Contributor) assume the cost of any necessary servicing, repair, or 264 | correction. This disclaimer of warranty constitutes an essential part of this 265 | License. No use of any Covered Software is authorized under this License 266 | except under this disclaimer. 267 | 268 | 7. Limitation of Liability 269 | 270 | Under no circumstances and under no legal theory, whether tort (including 271 | negligence), contract, or otherwise, shall any Contributor, or anyone who 272 | distributes Covered Software as permitted above, be liable to You for any 273 | direct, indirect, special, incidental, or consequential damages of any 274 | character including, without limitation, damages for lost profits, loss of 275 | goodwill, work stoppage, computer failure or malfunction, or any and all 276 | other commercial damages or losses, even if such party shall have been 277 | informed of the possibility of such damages. This limitation of liability 278 | shall not apply to liability for death or personal injury resulting from such 279 | party’s negligence to the extent applicable law prohibits such limitation. 280 | Some jurisdictions do not allow the exclusion or limitation of incidental or 281 | consequential damages, so this exclusion and limitation may not apply to You. 282 | 283 | 8. Litigation 284 | 285 | Any litigation relating to this License may be brought only in the courts of 286 | a jurisdiction where the defendant maintains its principal place of business 287 | and such litigation shall be governed by laws of that jurisdiction, without 288 | reference to its conflict-of-law provisions. Nothing in this Section shall 289 | prevent a party’s ability to bring cross-claims or counter-claims. 290 | 291 | 9. Miscellaneous 292 | 293 | This License represents the complete agreement concerning the subject matter 294 | hereof. If any provision of this License is held to be unenforceable, such 295 | provision shall be reformed only to the extent necessary to make it 296 | enforceable. Any law or regulation which provides that the language of a 297 | contract shall be construed against the drafter shall not be used to construe 298 | this License against a Contributor. 299 | 300 | 10) Versions of the License 301 | 302 | 10.1. New Versions 303 | 304 | Mozilla Foundation is the license steward. Except as provided in Section 305 | 10.3, no one other than the license steward has the right to modify or 306 | publish new versions of this License. Each version will be given a 307 | distinguishing version number. 308 | 309 | 10.2. Effect of New Versions 310 | 311 | You may distribute the Covered Software under the terms of the version of 312 | the License under which You originally received the Covered Software, or 313 | under the terms of any subsequent version published by the license 314 | steward. 315 | 316 | 10.3. Modified Versions 317 | 318 | If you create software not governed by this License, and you want to 319 | create a new license for such software, you may create and use a modified 320 | version of this License if you rename the license and remove any 321 | references to the name of the license steward (except to note that such 322 | modified license differs from this License). 323 | 324 | 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses 325 | If You choose to distribute Source Code Form that is Incompatible With Secondary 326 | Licenses under the terms of this version of the License, the notice described in 327 | Exhibit B of this License must be attached. 328 | 329 | Exhibit A - Source Code Form License Notice 330 | 331 | This Source Code Form is subject to the 332 | terms of the Mozilla Public License, v. 333 | 2.0. If a copy of the MPL was not 334 | distributed with this file, You can 335 | obtain one at 336 | http://mozilla.org/MPL/2.0/. 337 | 338 | If it is not possible or desirable to put the notice in a particular file, then 339 | You may include the notice in a location (such as a LICENSE file in a relevant 340 | directory) where a recipient would be likely to look for such a notice. 341 | 342 | You may add additional accurate notices of copyright ownership. 343 | 344 | Exhibit B - “Incompatible With Secondary Licenses” Notice 345 | 346 | This Source Code Form is “Incompatible 347 | With Secondary Licenses”, as defined by 348 | the Mozilla Public License, v. 2.0. 349 | -------------------------------------------------------------------------------- /commands/commit/__tests__/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const mod = require('../src/index'); 4 | 5 | test('todo test for mod', () => { 6 | expect(typeof mod).toStrictEqual('function'); 7 | }); 8 | -------------------------------------------------------------------------------- /commands/commit/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hela/commit", 3 | "version": "3.1.2", 4 | "licenseStart": 2018, 5 | "license": "MPL-2.0", 6 | "description": "WIP: Powerful software development experience", 7 | "author": "Charlike Mike Reagent (https://tunnckocore.com)", 8 | "homepage": "https://tunnckocore.com/hela", 9 | "funding": [ 10 | "https://ko-fi.com/tunnckoCore/commissions", 11 | "https://github.com/sponsors/tunnckoCore", 12 | "https://patreon.com/tunnckoCore" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/tunnckoCore/hela.git", 17 | "directory": "commands/commit" 18 | }, 19 | "main": "src/index.js", 20 | "files": [ 21 | "src" 22 | ], 23 | "engines": { 24 | "node": ">= 10.13" 25 | }, 26 | "publishConfig": { 27 | "access": "public", 28 | "registry": "https://registry.npmjs.org", 29 | "tag": "latest" 30 | }, 31 | "scripts": {}, 32 | "keywords": [ 33 | "tunnckocorehq", 34 | "tunnckocore-oss", 35 | "hela", 36 | "development", 37 | "developer-experience", 38 | "dx" 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /commands/commit/src/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = () => {}; 4 | -------------------------------------------------------------------------------- /commands/docs/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. 5 | 6 | ## [3.1.2](https://github.com/tunnckoCore/hela/compare/@hela/docs@3.1.1...@hela/docs@3.1.2) (2020-03-06) 7 | 8 | **Note:** Version bump only for package @hela/docs 9 | 10 | 11 | 12 | 13 | 14 | ## [3.1.1](https://github.com/tunnckoCore/hela/compare/@hela/docs@3.1.0...@hela/docs@3.1.1) (2020-03-06) 15 | 16 | 17 | ### Bug Fixes 18 | 19 | * duhhhh, fix the wrong publishConfig.registry ([b0e35d0](https://github.com/tunnckoCore/hela/commit/b0e35d00426c0d1a6e0544989a164c825101ad85)) 20 | 21 | 22 | 23 | 24 | 25 | # [3.1.0](https://github.com/tunnckoCore/hela/compare/@hela/docs@3.0.2...@hela/docs@3.1.0) (2020-03-06) 26 | 27 | 28 | ### Features 29 | 30 | * rewrite `@hela/eslint` from scratch ([#222](https://github.com/tunnckoCore/hela/issues/222)) ([a0d43d4](https://github.com/tunnckoCore/hela/commit/a0d43d41dfbd0ebe7c5f1aecc86ac6378fdd2139)) 31 | 32 | 33 | 34 | 35 | 36 | ## 3.0.2 (2020-02-29) 37 | 38 | **Note:** Version bump only for package @hela/docs 39 | 40 | 41 | 42 | 43 | 44 | ## [3.0.1](https://github.com/tunnckoCore/hela/compare/@hela/docs@3.0.0...@hela/docs@3.0.1) (2020-02-29) 45 | 46 | 47 | ### Bug Fixes 48 | 49 | * license file & security policy tweaks ([6486c2e](https://github.com/tunnckoCore/hela/commit/6486c2ef4acb8eec61d5c589f63598cd2eee5376)) 50 | 51 | 52 | 53 | 54 | 55 | # 3.0.0 (2020-02-29) 56 | 57 | 58 | ### chore 59 | 60 | * release v3 ([#109](https://github.com/tunnckoCore/hela/issues/109)) ([1420256](https://github.com/tunnckoCore/hela/commit/142025614ed269be06679582a5754c6dbadc6c93)) 61 | 62 | 63 | ### BREAKING CHANGES 64 | 65 | * Release v3, finally. 66 | 67 | Signed-off-by: Charlike Mike Reagent 68 | -------------------------------------------------------------------------------- /commands/docs/LICENSE.md: -------------------------------------------------------------------------------- 1 | Mozilla Public License, version 2.0 2 | 3 | 1. Definitions 4 | 5 | 1.1. “Contributor” 6 | 7 | means each individual or legal entity that creates, contributes to the 8 | creation of, or owns Covered Software. 9 | 10 | 1.2. “Contributor Version” 11 | 12 | means the combination of the Contributions of others (if any) used by a 13 | Contributor and that particular Contributor’s Contribution. 14 | 15 | 1.3. “Contribution” 16 | 17 | means Covered Software of a particular Contributor. 18 | 19 | 1.4. “Covered Software” 20 | 21 | means Source Code Form to which the initial Contributor has attached the 22 | notice in Exhibit A, the Executable Form of such Source Code Form, and 23 | Modifications of such Source Code Form, in each case including portions 24 | thereof. 25 | 26 | 1.5. “Incompatible With Secondary Licenses” means 27 | 28 | a. that the initial Contributor has attached the notice described in 29 | Exhibit B to the Covered Software; or 30 | 31 | b. that the Covered Software was made available under the terms of version 32 | 1.1 or earlier of the License, but not also under the terms of a 33 | Secondary License. 34 | 35 | 1.6. “Executable Form” 36 | 37 | means any form of the work other than Source Code Form. 38 | 39 | 1.7. “Larger Work” 40 | 41 | means a work that combines Covered Software with other material, in a separate 42 | file or files, that is not Covered Software. 43 | 44 | 1.8. “License” 45 | 46 | means this document. 47 | 48 | 1.9. “Licensable” 49 | 50 | means having the right to grant, to the maximum extent possible, whether at the 51 | time of the initial grant or subsequently, any and all of the rights conveyed by 52 | this License. 53 | 54 | 1.10. “Modifications” 55 | 56 | means any of the following: 57 | 58 | a. any file in Source Code Form that results from an addition to, deletion 59 | from, or modification of the contents of Covered Software; or 60 | 61 | b. any new file in Source Code Form that contains any Covered Software. 62 | 63 | 1.11. “Patent Claims” of a Contributor 64 | 65 | means any patent claim(s), including without limitation, method, process, 66 | and apparatus claims, in any patent Licensable by such Contributor that 67 | would be infringed, but for the grant of the License, by the making, 68 | using, selling, offering for sale, having made, import, or transfer of 69 | either its Contributions or its Contributor Version. 70 | 71 | 1.12. “Secondary License” 72 | 73 | means either the GNU General Public License, Version 2.0, the GNU Lesser 74 | General Public License, Version 2.1, the GNU Affero General Public 75 | License, Version 3.0, or any later versions of those licenses. 76 | 77 | 1.13. “Source Code Form” 78 | 79 | means the form of the work preferred for making modifications. 80 | 81 | 1.14. “You” (or “Your”) 82 | 83 | means an individual or a legal entity exercising rights under this 84 | License. For legal entities, “You” includes any entity that controls, is 85 | controlled by, or is under common control with You. For purposes of this 86 | definition, “control” means (a) the power, direct or indirect, to cause 87 | the direction or management of such entity, whether by contract or 88 | otherwise, or (b) ownership of more than fifty percent (50%) of the 89 | outstanding shares or beneficial ownership of such entity. 90 | 91 | 2. License Grants and Conditions 92 | 93 | 2.1. Grants 94 | 95 | Each Contributor hereby grants You a world-wide, royalty-free, 96 | non-exclusive license: 97 | 98 | a. under intellectual property rights (other than patent or trademark) 99 | Licensable by such Contributor to use, reproduce, make available, 100 | modify, display, perform, distribute, and otherwise exploit its 101 | Contributions, either on an unmodified basis, with Modifications, or as 102 | part of a Larger Work; and 103 | 104 | b. under Patent Claims of such Contributor to make, use, sell, offer for 105 | sale, have made, import, and otherwise transfer either its Contributions 106 | or its Contributor Version. 107 | 108 | 2.2. Effective Date 109 | 110 | The licenses granted in Section 2.1 with respect to any Contribution become 111 | effective for each Contribution on the date the Contributor first distributes 112 | such Contribution. 113 | 114 | 2.3. Limitations on Grant Scope 115 | 116 | The licenses granted in this Section 2 are the only rights granted under this 117 | License. No additional rights or licenses will be implied from the distribution 118 | or licensing of Covered Software under this License. Notwithstanding Section 119 | 2.1(b) above, no patent license is granted by a Contributor: 120 | 121 | a. for any code that a Contributor has removed from Covered Software; or 122 | 123 | b. for infringements caused by: (i) Your and any other third party’s 124 | modifications of Covered Software, or (ii) the combination of its 125 | Contributions with other software (except as part of its Contributor 126 | Version); or 127 | 128 | c. under Patent Claims infringed by Covered Software in the absence of its 129 | Contributions. 130 | 131 | This License does not grant any rights in the trademarks, service marks, or 132 | logos of any Contributor (except as may be necessary to comply with the 133 | notice requirements in Section 3.4). 134 | 135 | 2.4. Subsequent Licenses 136 | 137 | No Contributor makes additional grants as a result of Your choice to 138 | distribute the Covered Software under a subsequent version of this License 139 | (see Section 10.2) or under the terms of a Secondary License (if permitted 140 | under the terms of Section 3.3). 141 | 142 | 2.5. Representation 143 | 144 | Each Contributor represents that the Contributor believes its Contributions 145 | are its original creation(s) or it has sufficient rights to grant the 146 | rights to its Contributions conveyed by this License. 147 | 148 | 2.6. Fair Use 149 | 150 | This License is not intended to limit any rights You have under applicable 151 | copyright doctrines of fair use, fair dealing, or other equivalents. 152 | 153 | 2.7. Conditions 154 | 155 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in 156 | Section 2.1. 157 | 158 | 3. Responsibilities 159 | 160 | 3.1. Distribution of Source Form 161 | 162 | All distribution of Covered Software in Source Code Form, including any 163 | Modifications that You create or to which You contribute, must be under the 164 | terms of this License. You must inform recipients that the Source Code Form 165 | of the Covered Software is governed by the terms of this License, and how 166 | they can obtain a copy of this License. You may not attempt to alter or 167 | restrict the recipients’ rights in the Source Code Form. 168 | 169 | 3.2. Distribution of Executable Form 170 | 171 | If You distribute Covered Software in Executable Form then: 172 | 173 | a. such Covered Software must also be made available in Source Code Form, 174 | as described in Section 3.1, and You must inform recipients of the 175 | Executable Form how they can obtain a copy of such Source Code Form by 176 | reasonable means in a timely manner, at a charge no more than the cost 177 | of distribution to the recipient; and 178 | 179 | b. You may distribute such Executable Form under the terms of this License, 180 | or sublicense it under different terms, provided that the license for 181 | the Executable Form does not attempt to limit or alter the recipients’ 182 | rights in the Source Code Form under this License. 183 | 184 | 3.3. Distribution of a Larger Work 185 | 186 | You may create and distribute a Larger Work under terms of Your choice, 187 | provided that You also comply with the requirements of this License for the 188 | Covered Software. If the Larger Work is a combination of Covered Software 189 | with a work governed by one or more Secondary Licenses, and the Covered 190 | Software is not Incompatible With Secondary Licenses, this License permits 191 | You to additionally distribute such Covered Software under the terms of 192 | such Secondary License(s), so that the recipient of the Larger Work may, at 193 | their option, further distribute the Covered Software under the terms of 194 | either this License or such Secondary License(s). 195 | 196 | 3.4. Notices 197 | 198 | You may not remove or alter the substance of any license notices (including 199 | copyright notices, patent notices, disclaimers of warranty, or limitations 200 | of liability) contained within the Source Code Form of the Covered 201 | Software, except that You may alter any license notices to the extent 202 | required to remedy known factual inaccuracies. 203 | 204 | 3.5. Application of Additional Terms 205 | 206 | You may choose to offer, and to charge a fee for, warranty, support, 207 | indemnity or liability obligations to one or more recipients of Covered 208 | Software. However, You may do so only on Your own behalf, and not on behalf 209 | of any Contributor. You must make it absolutely clear that any such 210 | warranty, support, indemnity, or liability obligation is offered by You 211 | alone, and You hereby agree to indemnify every Contributor for any 212 | liability incurred by such Contributor as a result of warranty, support, 213 | indemnity or liability terms You offer. You may include additional 214 | disclaimers of warranty and limitations of liability specific to any 215 | jurisdiction. 216 | 217 | 4. Inability to Comply Due to Statute or Regulation 218 | 219 | If it is impossible for You to comply with any of the terms of this License 220 | with respect to some or all of the Covered Software due to statute, judicial 221 | order, or regulation then You must: (a) comply with the terms of this License 222 | to the maximum extent possible; and (b) describe the limitations and the code 223 | they affect. Such description must be placed in a text file included with all 224 | distributions of the Covered Software under this License. Except to the 225 | extent prohibited by statute or regulation, such description must be 226 | sufficiently detailed for a recipient of ordinary skill to be able to 227 | understand it. 228 | 229 | 5. Termination 230 | 231 | 5.1. The rights granted under this License will terminate automatically if You 232 | fail to comply with any of its terms. However, if You become compliant, then the 233 | rights granted under this License from a particular Contributor are reinstated 234 | (a) provisionally, unless and until such Contributor explicitly and finally 235 | terminates Your grants, and (b) on an ongoing basis, if such Contributor fails 236 | to notify You of the non-compliance by some reasonable means prior to 60 days 237 | after You have come back into compliance. Moreover, Your grants from a 238 | particular Contributor are reinstated on an ongoing basis if such Contributor 239 | notifies You of the non-compliance by some reasonable means, this is the first 240 | time You have received notice of non-compliance with this License from such 241 | Contributor, and You become compliant prior to 30 days after Your receipt of the 242 | notice. 243 | 244 | 5.2. If You initiate litigation against any entity by asserting a patent 245 | infringement claim (excluding declaratory judgment actions, counter-claims, and 246 | cross-claims) alleging that a Contributor Version directly or indirectly 247 | infringes any patent, then the rights granted to You by any and all Contributors 248 | for the Covered Software under Section 2.1 of this License shall terminate. 249 | 250 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user 251 | license agreements (excluding distributors and resellers) which have been 252 | validly granted by You or Your distributors under this License prior to 253 | termination shall survive termination. 254 | 255 | 6. Disclaimer of Warranty 256 | 257 | Covered Software is provided under this License on an “as is” basis, without 258 | warranty of any kind, either expressed, implied, or statutory, including, 259 | without limitation, warranties that the Covered Software is free of defects, 260 | merchantable, fit for a particular purpose or non-infringing. The entire risk 261 | as to the quality and performance of the Covered Software is with You. Should 262 | any Covered Software prove defective in any respect, You (not any 263 | Contributor) assume the cost of any necessary servicing, repair, or 264 | correction. This disclaimer of warranty constitutes an essential part of this 265 | License. No use of any Covered Software is authorized under this License 266 | except under this disclaimer. 267 | 268 | 7. Limitation of Liability 269 | 270 | Under no circumstances and under no legal theory, whether tort (including 271 | negligence), contract, or otherwise, shall any Contributor, or anyone who 272 | distributes Covered Software as permitted above, be liable to You for any 273 | direct, indirect, special, incidental, or consequential damages of any 274 | character including, without limitation, damages for lost profits, loss of 275 | goodwill, work stoppage, computer failure or malfunction, or any and all 276 | other commercial damages or losses, even if such party shall have been 277 | informed of the possibility of such damages. This limitation of liability 278 | shall not apply to liability for death or personal injury resulting from such 279 | party’s negligence to the extent applicable law prohibits such limitation. 280 | Some jurisdictions do not allow the exclusion or limitation of incidental or 281 | consequential damages, so this exclusion and limitation may not apply to You. 282 | 283 | 8. Litigation 284 | 285 | Any litigation relating to this License may be brought only in the courts of 286 | a jurisdiction where the defendant maintains its principal place of business 287 | and such litigation shall be governed by laws of that jurisdiction, without 288 | reference to its conflict-of-law provisions. Nothing in this Section shall 289 | prevent a party’s ability to bring cross-claims or counter-claims. 290 | 291 | 9. Miscellaneous 292 | 293 | This License represents the complete agreement concerning the subject matter 294 | hereof. If any provision of this License is held to be unenforceable, such 295 | provision shall be reformed only to the extent necessary to make it 296 | enforceable. Any law or regulation which provides that the language of a 297 | contract shall be construed against the drafter shall not be used to construe 298 | this License against a Contributor. 299 | 300 | 10) Versions of the License 301 | 302 | 10.1. New Versions 303 | 304 | Mozilla Foundation is the license steward. Except as provided in Section 305 | 10.3, no one other than the license steward has the right to modify or 306 | publish new versions of this License. Each version will be given a 307 | distinguishing version number. 308 | 309 | 10.2. Effect of New Versions 310 | 311 | You may distribute the Covered Software under the terms of the version of 312 | the License under which You originally received the Covered Software, or 313 | under the terms of any subsequent version published by the license 314 | steward. 315 | 316 | 10.3. Modified Versions 317 | 318 | If you create software not governed by this License, and you want to 319 | create a new license for such software, you may create and use a modified 320 | version of this License if you rename the license and remove any 321 | references to the name of the license steward (except to note that such 322 | modified license differs from this License). 323 | 324 | 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses 325 | If You choose to distribute Source Code Form that is Incompatible With Secondary 326 | Licenses under the terms of this version of the License, the notice described in 327 | Exhibit B of this License must be attached. 328 | 329 | Exhibit A - Source Code Form License Notice 330 | 331 | This Source Code Form is subject to the 332 | terms of the Mozilla Public License, v. 333 | 2.0. If a copy of the MPL was not 334 | distributed with this file, You can 335 | obtain one at 336 | http://mozilla.org/MPL/2.0/. 337 | 338 | If it is not possible or desirable to put the notice in a particular file, then 339 | You may include the notice in a location (such as a LICENSE file in a relevant 340 | directory) where a recipient would be likely to look for such a notice. 341 | 342 | You may add additional accurate notices of copyright ownership. 343 | 344 | Exhibit B - “Incompatible With Secondary Licenses” Notice 345 | 346 | This Source Code Form is “Incompatible 347 | With Secondary Licenses”, as defined by 348 | the Mozilla Public License, v. 2.0. 349 | -------------------------------------------------------------------------------- /commands/docs/__tests__/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const mod = require('../src/index'); 4 | 5 | test('todo test for mod', () => { 6 | expect(typeof mod).toStrictEqual('function'); 7 | }); 8 | -------------------------------------------------------------------------------- /commands/docs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hela/docs", 3 | "version": "3.1.2", 4 | "licenseStart": 2018, 5 | "license": "MPL-2.0", 6 | "description": "WIP: Powerful software development experience", 7 | "author": "Charlike Mike Reagent (https://tunnckocore.com)", 8 | "homepage": "https://tunnckocore.com/hela", 9 | "funding": [ 10 | "https://ko-fi.com/tunnckoCore/commissions", 11 | "https://github.com/sponsors/tunnckoCore", 12 | "https://patreon.com/tunnckoCore" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/tunnckoCore/hela.git", 17 | "directory": "commands/docs" 18 | }, 19 | "main": "src/index.js", 20 | "files": [ 21 | "src" 22 | ], 23 | "engines": { 24 | "node": ">= 10.13" 25 | }, 26 | "publishConfig": { 27 | "access": "public", 28 | "registry": "https://registry.npmjs.org", 29 | "tag": "latest" 30 | }, 31 | "scripts": {}, 32 | "keywords": [ 33 | "tunnckocorehq", 34 | "tunnckocore-oss", 35 | "hela", 36 | "development", 37 | "developer-experience", 38 | "dx" 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /commands/docs/src/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = () => {}; 4 | -------------------------------------------------------------------------------- /commands/format/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. 5 | 6 | ## [3.1.2](https://github.com/tunnckoCore/hela/compare/@hela/format@3.1.1...@hela/format@3.1.2) (2020-03-06) 7 | 8 | **Note:** Version bump only for package @hela/format 9 | 10 | 11 | 12 | 13 | 14 | ## [3.1.1](https://github.com/tunnckoCore/hela/compare/@hela/format@3.1.0...@hela/format@3.1.1) (2020-03-06) 15 | 16 | 17 | ### Bug Fixes 18 | 19 | * duhhhh, fix the wrong publishConfig.registry ([b0e35d0](https://github.com/tunnckoCore/hela/commit/b0e35d00426c0d1a6e0544989a164c825101ad85)) 20 | 21 | 22 | 23 | 24 | 25 | # [3.1.0](https://github.com/tunnckoCore/hela/compare/@hela/format@3.0.2...@hela/format@3.1.0) (2020-03-06) 26 | 27 | 28 | ### Features 29 | 30 | * rewrite `@hela/eslint` from scratch ([#222](https://github.com/tunnckoCore/hela/issues/222)) ([a0d43d4](https://github.com/tunnckoCore/hela/commit/a0d43d41dfbd0ebe7c5f1aecc86ac6378fdd2139)) 31 | 32 | 33 | 34 | 35 | 36 | ## 3.0.2 (2020-02-29) 37 | 38 | **Note:** Version bump only for package @hela/format 39 | 40 | 41 | 42 | 43 | 44 | ## [3.0.1](https://github.com/tunnckoCore/hela/compare/@hela/format@3.0.0...@hela/format@3.0.1) (2020-02-29) 45 | 46 | 47 | ### Bug Fixes 48 | 49 | * license file & security policy tweaks ([6486c2e](https://github.com/tunnckoCore/hela/commit/6486c2ef4acb8eec61d5c589f63598cd2eee5376)) 50 | 51 | 52 | 53 | 54 | 55 | # 3.0.0 (2020-02-29) 56 | 57 | 58 | ### chore 59 | 60 | * release v3 ([#109](https://github.com/tunnckoCore/hela/issues/109)) ([1420256](https://github.com/tunnckoCore/hela/commit/142025614ed269be06679582a5754c6dbadc6c93)) 61 | 62 | 63 | ### BREAKING CHANGES 64 | 65 | * Release v3, finally. 66 | 67 | Signed-off-by: Charlike Mike Reagent 68 | -------------------------------------------------------------------------------- /commands/format/LICENSE.md: -------------------------------------------------------------------------------- 1 | Mozilla Public License, version 2.0 2 | 3 | 1. Definitions 4 | 5 | 1.1. “Contributor” 6 | 7 | means each individual or legal entity that creates, contributes to the 8 | creation of, or owns Covered Software. 9 | 10 | 1.2. “Contributor Version” 11 | 12 | means the combination of the Contributions of others (if any) used by a 13 | Contributor and that particular Contributor’s Contribution. 14 | 15 | 1.3. “Contribution” 16 | 17 | means Covered Software of a particular Contributor. 18 | 19 | 1.4. “Covered Software” 20 | 21 | means Source Code Form to which the initial Contributor has attached the 22 | notice in Exhibit A, the Executable Form of such Source Code Form, and 23 | Modifications of such Source Code Form, in each case including portions 24 | thereof. 25 | 26 | 1.5. “Incompatible With Secondary Licenses” means 27 | 28 | a. that the initial Contributor has attached the notice described in 29 | Exhibit B to the Covered Software; or 30 | 31 | b. that the Covered Software was made available under the terms of version 32 | 1.1 or earlier of the License, but not also under the terms of a 33 | Secondary License. 34 | 35 | 1.6. “Executable Form” 36 | 37 | means any form of the work other than Source Code Form. 38 | 39 | 1.7. “Larger Work” 40 | 41 | means a work that combines Covered Software with other material, in a separate 42 | file or files, that is not Covered Software. 43 | 44 | 1.8. “License” 45 | 46 | means this document. 47 | 48 | 1.9. “Licensable” 49 | 50 | means having the right to grant, to the maximum extent possible, whether at the 51 | time of the initial grant or subsequently, any and all of the rights conveyed by 52 | this License. 53 | 54 | 1.10. “Modifications” 55 | 56 | means any of the following: 57 | 58 | a. any file in Source Code Form that results from an addition to, deletion 59 | from, or modification of the contents of Covered Software; or 60 | 61 | b. any new file in Source Code Form that contains any Covered Software. 62 | 63 | 1.11. “Patent Claims” of a Contributor 64 | 65 | means any patent claim(s), including without limitation, method, process, 66 | and apparatus claims, in any patent Licensable by such Contributor that 67 | would be infringed, but for the grant of the License, by the making, 68 | using, selling, offering for sale, having made, import, or transfer of 69 | either its Contributions or its Contributor Version. 70 | 71 | 1.12. “Secondary License” 72 | 73 | means either the GNU General Public License, Version 2.0, the GNU Lesser 74 | General Public License, Version 2.1, the GNU Affero General Public 75 | License, Version 3.0, or any later versions of those licenses. 76 | 77 | 1.13. “Source Code Form” 78 | 79 | means the form of the work preferred for making modifications. 80 | 81 | 1.14. “You” (or “Your”) 82 | 83 | means an individual or a legal entity exercising rights under this 84 | License. For legal entities, “You” includes any entity that controls, is 85 | controlled by, or is under common control with You. For purposes of this 86 | definition, “control” means (a) the power, direct or indirect, to cause 87 | the direction or management of such entity, whether by contract or 88 | otherwise, or (b) ownership of more than fifty percent (50%) of the 89 | outstanding shares or beneficial ownership of such entity. 90 | 91 | 2. License Grants and Conditions 92 | 93 | 2.1. Grants 94 | 95 | Each Contributor hereby grants You a world-wide, royalty-free, 96 | non-exclusive license: 97 | 98 | a. under intellectual property rights (other than patent or trademark) 99 | Licensable by such Contributor to use, reproduce, make available, 100 | modify, display, perform, distribute, and otherwise exploit its 101 | Contributions, either on an unmodified basis, with Modifications, or as 102 | part of a Larger Work; and 103 | 104 | b. under Patent Claims of such Contributor to make, use, sell, offer for 105 | sale, have made, import, and otherwise transfer either its Contributions 106 | or its Contributor Version. 107 | 108 | 2.2. Effective Date 109 | 110 | The licenses granted in Section 2.1 with respect to any Contribution become 111 | effective for each Contribution on the date the Contributor first distributes 112 | such Contribution. 113 | 114 | 2.3. Limitations on Grant Scope 115 | 116 | The licenses granted in this Section 2 are the only rights granted under this 117 | License. No additional rights or licenses will be implied from the distribution 118 | or licensing of Covered Software under this License. Notwithstanding Section 119 | 2.1(b) above, no patent license is granted by a Contributor: 120 | 121 | a. for any code that a Contributor has removed from Covered Software; or 122 | 123 | b. for infringements caused by: (i) Your and any other third party’s 124 | modifications of Covered Software, or (ii) the combination of its 125 | Contributions with other software (except as part of its Contributor 126 | Version); or 127 | 128 | c. under Patent Claims infringed by Covered Software in the absence of its 129 | Contributions. 130 | 131 | This License does not grant any rights in the trademarks, service marks, or 132 | logos of any Contributor (except as may be necessary to comply with the 133 | notice requirements in Section 3.4). 134 | 135 | 2.4. Subsequent Licenses 136 | 137 | No Contributor makes additional grants as a result of Your choice to 138 | distribute the Covered Software under a subsequent version of this License 139 | (see Section 10.2) or under the terms of a Secondary License (if permitted 140 | under the terms of Section 3.3). 141 | 142 | 2.5. Representation 143 | 144 | Each Contributor represents that the Contributor believes its Contributions 145 | are its original creation(s) or it has sufficient rights to grant the 146 | rights to its Contributions conveyed by this License. 147 | 148 | 2.6. Fair Use 149 | 150 | This License is not intended to limit any rights You have under applicable 151 | copyright doctrines of fair use, fair dealing, or other equivalents. 152 | 153 | 2.7. Conditions 154 | 155 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in 156 | Section 2.1. 157 | 158 | 3. Responsibilities 159 | 160 | 3.1. Distribution of Source Form 161 | 162 | All distribution of Covered Software in Source Code Form, including any 163 | Modifications that You create or to which You contribute, must be under the 164 | terms of this License. You must inform recipients that the Source Code Form 165 | of the Covered Software is governed by the terms of this License, and how 166 | they can obtain a copy of this License. You may not attempt to alter or 167 | restrict the recipients’ rights in the Source Code Form. 168 | 169 | 3.2. Distribution of Executable Form 170 | 171 | If You distribute Covered Software in Executable Form then: 172 | 173 | a. such Covered Software must also be made available in Source Code Form, 174 | as described in Section 3.1, and You must inform recipients of the 175 | Executable Form how they can obtain a copy of such Source Code Form by 176 | reasonable means in a timely manner, at a charge no more than the cost 177 | of distribution to the recipient; and 178 | 179 | b. You may distribute such Executable Form under the terms of this License, 180 | or sublicense it under different terms, provided that the license for 181 | the Executable Form does not attempt to limit or alter the recipients’ 182 | rights in the Source Code Form under this License. 183 | 184 | 3.3. Distribution of a Larger Work 185 | 186 | You may create and distribute a Larger Work under terms of Your choice, 187 | provided that You also comply with the requirements of this License for the 188 | Covered Software. If the Larger Work is a combination of Covered Software 189 | with a work governed by one or more Secondary Licenses, and the Covered 190 | Software is not Incompatible With Secondary Licenses, this License permits 191 | You to additionally distribute such Covered Software under the terms of 192 | such Secondary License(s), so that the recipient of the Larger Work may, at 193 | their option, further distribute the Covered Software under the terms of 194 | either this License or such Secondary License(s). 195 | 196 | 3.4. Notices 197 | 198 | You may not remove or alter the substance of any license notices (including 199 | copyright notices, patent notices, disclaimers of warranty, or limitations 200 | of liability) contained within the Source Code Form of the Covered 201 | Software, except that You may alter any license notices to the extent 202 | required to remedy known factual inaccuracies. 203 | 204 | 3.5. Application of Additional Terms 205 | 206 | You may choose to offer, and to charge a fee for, warranty, support, 207 | indemnity or liability obligations to one or more recipients of Covered 208 | Software. However, You may do so only on Your own behalf, and not on behalf 209 | of any Contributor. You must make it absolutely clear that any such 210 | warranty, support, indemnity, or liability obligation is offered by You 211 | alone, and You hereby agree to indemnify every Contributor for any 212 | liability incurred by such Contributor as a result of warranty, support, 213 | indemnity or liability terms You offer. You may include additional 214 | disclaimers of warranty and limitations of liability specific to any 215 | jurisdiction. 216 | 217 | 4. Inability to Comply Due to Statute or Regulation 218 | 219 | If it is impossible for You to comply with any of the terms of this License 220 | with respect to some or all of the Covered Software due to statute, judicial 221 | order, or regulation then You must: (a) comply with the terms of this License 222 | to the maximum extent possible; and (b) describe the limitations and the code 223 | they affect. Such description must be placed in a text file included with all 224 | distributions of the Covered Software under this License. Except to the 225 | extent prohibited by statute or regulation, such description must be 226 | sufficiently detailed for a recipient of ordinary skill to be able to 227 | understand it. 228 | 229 | 5. Termination 230 | 231 | 5.1. The rights granted under this License will terminate automatically if You 232 | fail to comply with any of its terms. However, if You become compliant, then the 233 | rights granted under this License from a particular Contributor are reinstated 234 | (a) provisionally, unless and until such Contributor explicitly and finally 235 | terminates Your grants, and (b) on an ongoing basis, if such Contributor fails 236 | to notify You of the non-compliance by some reasonable means prior to 60 days 237 | after You have come back into compliance. Moreover, Your grants from a 238 | particular Contributor are reinstated on an ongoing basis if such Contributor 239 | notifies You of the non-compliance by some reasonable means, this is the first 240 | time You have received notice of non-compliance with this License from such 241 | Contributor, and You become compliant prior to 30 days after Your receipt of the 242 | notice. 243 | 244 | 5.2. If You initiate litigation against any entity by asserting a patent 245 | infringement claim (excluding declaratory judgment actions, counter-claims, and 246 | cross-claims) alleging that a Contributor Version directly or indirectly 247 | infringes any patent, then the rights granted to You by any and all Contributors 248 | for the Covered Software under Section 2.1 of this License shall terminate. 249 | 250 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user 251 | license agreements (excluding distributors and resellers) which have been 252 | validly granted by You or Your distributors under this License prior to 253 | termination shall survive termination. 254 | 255 | 6. Disclaimer of Warranty 256 | 257 | Covered Software is provided under this License on an “as is” basis, without 258 | warranty of any kind, either expressed, implied, or statutory, including, 259 | without limitation, warranties that the Covered Software is free of defects, 260 | merchantable, fit for a particular purpose or non-infringing. The entire risk 261 | as to the quality and performance of the Covered Software is with You. Should 262 | any Covered Software prove defective in any respect, You (not any 263 | Contributor) assume the cost of any necessary servicing, repair, or 264 | correction. This disclaimer of warranty constitutes an essential part of this 265 | License. No use of any Covered Software is authorized under this License 266 | except under this disclaimer. 267 | 268 | 7. Limitation of Liability 269 | 270 | Under no circumstances and under no legal theory, whether tort (including 271 | negligence), contract, or otherwise, shall any Contributor, or anyone who 272 | distributes Covered Software as permitted above, be liable to You for any 273 | direct, indirect, special, incidental, or consequential damages of any 274 | character including, without limitation, damages for lost profits, loss of 275 | goodwill, work stoppage, computer failure or malfunction, or any and all 276 | other commercial damages or losses, even if such party shall have been 277 | informed of the possibility of such damages. This limitation of liability 278 | shall not apply to liability for death or personal injury resulting from such 279 | party’s negligence to the extent applicable law prohibits such limitation. 280 | Some jurisdictions do not allow the exclusion or limitation of incidental or 281 | consequential damages, so this exclusion and limitation may not apply to You. 282 | 283 | 8. Litigation 284 | 285 | Any litigation relating to this License may be brought only in the courts of 286 | a jurisdiction where the defendant maintains its principal place of business 287 | and such litigation shall be governed by laws of that jurisdiction, without 288 | reference to its conflict-of-law provisions. Nothing in this Section shall 289 | prevent a party’s ability to bring cross-claims or counter-claims. 290 | 291 | 9. Miscellaneous 292 | 293 | This License represents the complete agreement concerning the subject matter 294 | hereof. If any provision of this License is held to be unenforceable, such 295 | provision shall be reformed only to the extent necessary to make it 296 | enforceable. Any law or regulation which provides that the language of a 297 | contract shall be construed against the drafter shall not be used to construe 298 | this License against a Contributor. 299 | 300 | 10) Versions of the License 301 | 302 | 10.1. New Versions 303 | 304 | Mozilla Foundation is the license steward. Except as provided in Section 305 | 10.3, no one other than the license steward has the right to modify or 306 | publish new versions of this License. Each version will be given a 307 | distinguishing version number. 308 | 309 | 10.2. Effect of New Versions 310 | 311 | You may distribute the Covered Software under the terms of the version of 312 | the License under which You originally received the Covered Software, or 313 | under the terms of any subsequent version published by the license 314 | steward. 315 | 316 | 10.3. Modified Versions 317 | 318 | If you create software not governed by this License, and you want to 319 | create a new license for such software, you may create and use a modified 320 | version of this License if you rename the license and remove any 321 | references to the name of the license steward (except to note that such 322 | modified license differs from this License). 323 | 324 | 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses 325 | If You choose to distribute Source Code Form that is Incompatible With Secondary 326 | Licenses under the terms of this version of the License, the notice described in 327 | Exhibit B of this License must be attached. 328 | 329 | Exhibit A - Source Code Form License Notice 330 | 331 | This Source Code Form is subject to the 332 | terms of the Mozilla Public License, v. 333 | 2.0. If a copy of the MPL was not 334 | distributed with this file, You can 335 | obtain one at 336 | http://mozilla.org/MPL/2.0/. 337 | 338 | If it is not possible or desirable to put the notice in a particular file, then 339 | You may include the notice in a location (such as a LICENSE file in a relevant 340 | directory) where a recipient would be likely to look for such a notice. 341 | 342 | You may add additional accurate notices of copyright ownership. 343 | 344 | Exhibit B - “Incompatible With Secondary Licenses” Notice 345 | 346 | This Source Code Form is “Incompatible 347 | With Secondary Licenses”, as defined by 348 | the Mozilla Public License, v. 2.0. 349 | -------------------------------------------------------------------------------- /commands/format/__tests__/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const mod = require('../src/index'); 4 | 5 | test('todo test for mod', () => { 6 | expect(typeof mod).toStrictEqual('function'); 7 | }); 8 | -------------------------------------------------------------------------------- /commands/format/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hela/format", 3 | "version": "3.1.2", 4 | "licenseStart": 2018, 5 | "license": "MPL-2.0", 6 | "description": "WIP: Powerful software development experience", 7 | "author": "Charlike Mike Reagent (https://tunnckocore.com)", 8 | "homepage": "https://tunnckocore.com/hela", 9 | "funding": [ 10 | "https://ko-fi.com/tunnckoCore/commissions", 11 | "https://github.com/sponsors/tunnckoCore", 12 | "https://patreon.com/tunnckoCore" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/tunnckoCore/hela.git", 17 | "directory": "commands/format" 18 | }, 19 | "main": "src/index.js", 20 | "files": [ 21 | "src" 22 | ], 23 | "engines": { 24 | "node": ">= 10.13" 25 | }, 26 | "publishConfig": { 27 | "access": "public", 28 | "registry": "https://registry.npmjs.org", 29 | "tag": "latest" 30 | }, 31 | "scripts": {}, 32 | "keywords": [ 33 | "tunnckocorehq", 34 | "tunnckocore-oss", 35 | "hela", 36 | "development", 37 | "developer-experience", 38 | "dx" 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /commands/format/src/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = () => {}; 4 | -------------------------------------------------------------------------------- /commands/lint/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. 5 | 6 | ## [3.1.2](https://github.com/tunnckoCore/hela/compare/@hela/lint@3.1.1...@hela/lint@3.1.2) (2020-03-06) 7 | 8 | **Note:** Version bump only for package @hela/lint 9 | 10 | 11 | 12 | 13 | 14 | ## [3.1.1](https://github.com/tunnckoCore/hela/compare/@hela/lint@3.1.0...@hela/lint@3.1.1) (2020-03-06) 15 | 16 | 17 | ### Bug Fixes 18 | 19 | * duhhhh, fix the wrong publishConfig.registry ([b0e35d0](https://github.com/tunnckoCore/hela/commit/b0e35d00426c0d1a6e0544989a164c825101ad85)) 20 | 21 | 22 | 23 | 24 | 25 | # [3.1.0](https://github.com/tunnckoCore/hela/compare/@hela/lint@3.0.2...@hela/lint@3.1.0) (2020-03-06) 26 | 27 | 28 | ### Features 29 | 30 | * rewrite `@hela/eslint` from scratch ([#222](https://github.com/tunnckoCore/hela/issues/222)) ([a0d43d4](https://github.com/tunnckoCore/hela/commit/a0d43d41dfbd0ebe7c5f1aecc86ac6378fdd2139)) 31 | 32 | 33 | 34 | 35 | 36 | ## 3.0.2 (2020-02-29) 37 | 38 | **Note:** Version bump only for package @hela/lint 39 | 40 | 41 | 42 | 43 | 44 | ## [3.0.1](https://github.com/tunnckoCore/hela/compare/@hela/lint@3.0.0...@hela/lint@3.0.1) (2020-02-29) 45 | 46 | 47 | ### Bug Fixes 48 | 49 | * license file & security policy tweaks ([6486c2e](https://github.com/tunnckoCore/hela/commit/6486c2ef4acb8eec61d5c589f63598cd2eee5376)) 50 | 51 | 52 | 53 | 54 | 55 | # 3.0.0 (2020-02-29) 56 | 57 | 58 | ### chore 59 | 60 | * release v3 ([#109](https://github.com/tunnckoCore/hela/issues/109)) ([1420256](https://github.com/tunnckoCore/hela/commit/142025614ed269be06679582a5754c6dbadc6c93)) 61 | 62 | 63 | ### BREAKING CHANGES 64 | 65 | * Release v3, finally. 66 | 67 | Signed-off-by: Charlike Mike Reagent 68 | -------------------------------------------------------------------------------- /commands/lint/__tests__/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const mod = require('../src/index'); 4 | 5 | test('todo test for mod', () => { 6 | expect(typeof mod).toStrictEqual('function'); 7 | }); 8 | -------------------------------------------------------------------------------- /commands/lint/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hela/lint", 3 | "version": "3.1.2", 4 | "licenseStart": 2018, 5 | "license": "MPL-2.0", 6 | "description": "WIP: Powerful software development experience", 7 | "author": "Charlike Mike Reagent (https://tunnckocore.com)", 8 | "homepage": "https://tunnckocore.com/hela", 9 | "funding": [ 10 | "https://ko-fi.com/tunnckoCore/commissions", 11 | "https://github.com/sponsors/tunnckoCore", 12 | "https://patreon.com/tunnckoCore" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/tunnckoCore/hela.git", 17 | "directory": "commands/lint" 18 | }, 19 | "main": "src/index.js", 20 | "files": [ 21 | "src" 22 | ], 23 | "engines": { 24 | "node": ">= 10.13" 25 | }, 26 | "publishConfig": { 27 | "access": "public", 28 | "registry": "https://registry.npmjs.org", 29 | "tag": "latest" 30 | }, 31 | "scripts": {}, 32 | "keywords": [ 33 | "tunnckocorehq", 34 | "tunnckocore-oss", 35 | "hela", 36 | "development", 37 | "developer-experience", 38 | "dx" 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /commands/lint/src/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = () => {}; 4 | -------------------------------------------------------------------------------- /commands/test/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. 5 | 6 | ## [3.1.2](https://github.com/tunnckoCore/hela/compare/@hela/test@3.1.1...@hela/test@3.1.2) (2020-03-06) 7 | 8 | **Note:** Version bump only for package @hela/test 9 | 10 | 11 | 12 | 13 | 14 | ## [3.1.1](https://github.com/tunnckoCore/hela/compare/@hela/test@3.1.0...@hela/test@3.1.1) (2020-03-06) 15 | 16 | 17 | ### Bug Fixes 18 | 19 | * duhhhh, fix the wrong publishConfig.registry ([b0e35d0](https://github.com/tunnckoCore/hela/commit/b0e35d00426c0d1a6e0544989a164c825101ad85)) 20 | 21 | 22 | 23 | 24 | 25 | # [3.1.0](https://github.com/tunnckoCore/hela/compare/@hela/test@3.0.2...@hela/test@3.1.0) (2020-03-06) 26 | 27 | 28 | ### Features 29 | 30 | * rewrite `@hela/eslint` from scratch ([#222](https://github.com/tunnckoCore/hela/issues/222)) ([a0d43d4](https://github.com/tunnckoCore/hela/commit/a0d43d41dfbd0ebe7c5f1aecc86ac6378fdd2139)) 31 | 32 | 33 | 34 | 35 | 36 | ## 3.0.2 (2020-02-29) 37 | 38 | **Note:** Version bump only for package @hela/test 39 | 40 | 41 | 42 | 43 | 44 | ## [3.0.1](https://github.com/tunnckoCore/hela/compare/@hela/test@3.0.0...@hela/test@3.0.1) (2020-02-29) 45 | 46 | 47 | ### Bug Fixes 48 | 49 | * license file & security policy tweaks ([6486c2e](https://github.com/tunnckoCore/hela/commit/6486c2ef4acb8eec61d5c589f63598cd2eee5376)) 50 | 51 | 52 | 53 | 54 | 55 | # 3.0.0 (2020-02-29) 56 | 57 | 58 | ### chore 59 | 60 | * release v3 ([#109](https://github.com/tunnckoCore/hela/issues/109)) ([1420256](https://github.com/tunnckoCore/hela/commit/142025614ed269be06679582a5754c6dbadc6c93)) 61 | 62 | 63 | ### BREAKING CHANGES 64 | 65 | * Release v3, finally. 66 | 67 | Signed-off-by: Charlike Mike Reagent 68 | -------------------------------------------------------------------------------- /commands/test/LICENSE.md: -------------------------------------------------------------------------------- 1 | Mozilla Public License, version 2.0 2 | 3 | 1. Definitions 4 | 5 | 1.1. “Contributor” 6 | 7 | means each individual or legal entity that creates, contributes to the 8 | creation of, or owns Covered Software. 9 | 10 | 1.2. “Contributor Version” 11 | 12 | means the combination of the Contributions of others (if any) used by a 13 | Contributor and that particular Contributor’s Contribution. 14 | 15 | 1.3. “Contribution” 16 | 17 | means Covered Software of a particular Contributor. 18 | 19 | 1.4. “Covered Software” 20 | 21 | means Source Code Form to which the initial Contributor has attached the 22 | notice in Exhibit A, the Executable Form of such Source Code Form, and 23 | Modifications of such Source Code Form, in each case including portions 24 | thereof. 25 | 26 | 1.5. “Incompatible With Secondary Licenses” means 27 | 28 | a. that the initial Contributor has attached the notice described in 29 | Exhibit B to the Covered Software; or 30 | 31 | b. that the Covered Software was made available under the terms of version 32 | 1.1 or earlier of the License, but not also under the terms of a 33 | Secondary License. 34 | 35 | 1.6. “Executable Form” 36 | 37 | means any form of the work other than Source Code Form. 38 | 39 | 1.7. “Larger Work” 40 | 41 | means a work that combines Covered Software with other material, in a separate 42 | file or files, that is not Covered Software. 43 | 44 | 1.8. “License” 45 | 46 | means this document. 47 | 48 | 1.9. “Licensable” 49 | 50 | means having the right to grant, to the maximum extent possible, whether at the 51 | time of the initial grant or subsequently, any and all of the rights conveyed by 52 | this License. 53 | 54 | 1.10. “Modifications” 55 | 56 | means any of the following: 57 | 58 | a. any file in Source Code Form that results from an addition to, deletion 59 | from, or modification of the contents of Covered Software; or 60 | 61 | b. any new file in Source Code Form that contains any Covered Software. 62 | 63 | 1.11. “Patent Claims” of a Contributor 64 | 65 | means any patent claim(s), including without limitation, method, process, 66 | and apparatus claims, in any patent Licensable by such Contributor that 67 | would be infringed, but for the grant of the License, by the making, 68 | using, selling, offering for sale, having made, import, or transfer of 69 | either its Contributions or its Contributor Version. 70 | 71 | 1.12. “Secondary License” 72 | 73 | means either the GNU General Public License, Version 2.0, the GNU Lesser 74 | General Public License, Version 2.1, the GNU Affero General Public 75 | License, Version 3.0, or any later versions of those licenses. 76 | 77 | 1.13. “Source Code Form” 78 | 79 | means the form of the work preferred for making modifications. 80 | 81 | 1.14. “You” (or “Your”) 82 | 83 | means an individual or a legal entity exercising rights under this 84 | License. For legal entities, “You” includes any entity that controls, is 85 | controlled by, or is under common control with You. For purposes of this 86 | definition, “control” means (a) the power, direct or indirect, to cause 87 | the direction or management of such entity, whether by contract or 88 | otherwise, or (b) ownership of more than fifty percent (50%) of the 89 | outstanding shares or beneficial ownership of such entity. 90 | 91 | 2. License Grants and Conditions 92 | 93 | 2.1. Grants 94 | 95 | Each Contributor hereby grants You a world-wide, royalty-free, 96 | non-exclusive license: 97 | 98 | a. under intellectual property rights (other than patent or trademark) 99 | Licensable by such Contributor to use, reproduce, make available, 100 | modify, display, perform, distribute, and otherwise exploit its 101 | Contributions, either on an unmodified basis, with Modifications, or as 102 | part of a Larger Work; and 103 | 104 | b. under Patent Claims of such Contributor to make, use, sell, offer for 105 | sale, have made, import, and otherwise transfer either its Contributions 106 | or its Contributor Version. 107 | 108 | 2.2. Effective Date 109 | 110 | The licenses granted in Section 2.1 with respect to any Contribution become 111 | effective for each Contribution on the date the Contributor first distributes 112 | such Contribution. 113 | 114 | 2.3. Limitations on Grant Scope 115 | 116 | The licenses granted in this Section 2 are the only rights granted under this 117 | License. No additional rights or licenses will be implied from the distribution 118 | or licensing of Covered Software under this License. Notwithstanding Section 119 | 2.1(b) above, no patent license is granted by a Contributor: 120 | 121 | a. for any code that a Contributor has removed from Covered Software; or 122 | 123 | b. for infringements caused by: (i) Your and any other third party’s 124 | modifications of Covered Software, or (ii) the combination of its 125 | Contributions with other software (except as part of its Contributor 126 | Version); or 127 | 128 | c. under Patent Claims infringed by Covered Software in the absence of its 129 | Contributions. 130 | 131 | This License does not grant any rights in the trademarks, service marks, or 132 | logos of any Contributor (except as may be necessary to comply with the 133 | notice requirements in Section 3.4). 134 | 135 | 2.4. Subsequent Licenses 136 | 137 | No Contributor makes additional grants as a result of Your choice to 138 | distribute the Covered Software under a subsequent version of this License 139 | (see Section 10.2) or under the terms of a Secondary License (if permitted 140 | under the terms of Section 3.3). 141 | 142 | 2.5. Representation 143 | 144 | Each Contributor represents that the Contributor believes its Contributions 145 | are its original creation(s) or it has sufficient rights to grant the 146 | rights to its Contributions conveyed by this License. 147 | 148 | 2.6. Fair Use 149 | 150 | This License is not intended to limit any rights You have under applicable 151 | copyright doctrines of fair use, fair dealing, or other equivalents. 152 | 153 | 2.7. Conditions 154 | 155 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in 156 | Section 2.1. 157 | 158 | 3. Responsibilities 159 | 160 | 3.1. Distribution of Source Form 161 | 162 | All distribution of Covered Software in Source Code Form, including any 163 | Modifications that You create or to which You contribute, must be under the 164 | terms of this License. You must inform recipients that the Source Code Form 165 | of the Covered Software is governed by the terms of this License, and how 166 | they can obtain a copy of this License. You may not attempt to alter or 167 | restrict the recipients’ rights in the Source Code Form. 168 | 169 | 3.2. Distribution of Executable Form 170 | 171 | If You distribute Covered Software in Executable Form then: 172 | 173 | a. such Covered Software must also be made available in Source Code Form, 174 | as described in Section 3.1, and You must inform recipients of the 175 | Executable Form how they can obtain a copy of such Source Code Form by 176 | reasonable means in a timely manner, at a charge no more than the cost 177 | of distribution to the recipient; and 178 | 179 | b. You may distribute such Executable Form under the terms of this License, 180 | or sublicense it under different terms, provided that the license for 181 | the Executable Form does not attempt to limit or alter the recipients’ 182 | rights in the Source Code Form under this License. 183 | 184 | 3.3. Distribution of a Larger Work 185 | 186 | You may create and distribute a Larger Work under terms of Your choice, 187 | provided that You also comply with the requirements of this License for the 188 | Covered Software. If the Larger Work is a combination of Covered Software 189 | with a work governed by one or more Secondary Licenses, and the Covered 190 | Software is not Incompatible With Secondary Licenses, this License permits 191 | You to additionally distribute such Covered Software under the terms of 192 | such Secondary License(s), so that the recipient of the Larger Work may, at 193 | their option, further distribute the Covered Software under the terms of 194 | either this License or such Secondary License(s). 195 | 196 | 3.4. Notices 197 | 198 | You may not remove or alter the substance of any license notices (including 199 | copyright notices, patent notices, disclaimers of warranty, or limitations 200 | of liability) contained within the Source Code Form of the Covered 201 | Software, except that You may alter any license notices to the extent 202 | required to remedy known factual inaccuracies. 203 | 204 | 3.5. Application of Additional Terms 205 | 206 | You may choose to offer, and to charge a fee for, warranty, support, 207 | indemnity or liability obligations to one or more recipients of Covered 208 | Software. However, You may do so only on Your own behalf, and not on behalf 209 | of any Contributor. You must make it absolutely clear that any such 210 | warranty, support, indemnity, or liability obligation is offered by You 211 | alone, and You hereby agree to indemnify every Contributor for any 212 | liability incurred by such Contributor as a result of warranty, support, 213 | indemnity or liability terms You offer. You may include additional 214 | disclaimers of warranty and limitations of liability specific to any 215 | jurisdiction. 216 | 217 | 4. Inability to Comply Due to Statute or Regulation 218 | 219 | If it is impossible for You to comply with any of the terms of this License 220 | with respect to some or all of the Covered Software due to statute, judicial 221 | order, or regulation then You must: (a) comply with the terms of this License 222 | to the maximum extent possible; and (b) describe the limitations and the code 223 | they affect. Such description must be placed in a text file included with all 224 | distributions of the Covered Software under this License. Except to the 225 | extent prohibited by statute or regulation, such description must be 226 | sufficiently detailed for a recipient of ordinary skill to be able to 227 | understand it. 228 | 229 | 5. Termination 230 | 231 | 5.1. The rights granted under this License will terminate automatically if You 232 | fail to comply with any of its terms. However, if You become compliant, then the 233 | rights granted under this License from a particular Contributor are reinstated 234 | (a) provisionally, unless and until such Contributor explicitly and finally 235 | terminates Your grants, and (b) on an ongoing basis, if such Contributor fails 236 | to notify You of the non-compliance by some reasonable means prior to 60 days 237 | after You have come back into compliance. Moreover, Your grants from a 238 | particular Contributor are reinstated on an ongoing basis if such Contributor 239 | notifies You of the non-compliance by some reasonable means, this is the first 240 | time You have received notice of non-compliance with this License from such 241 | Contributor, and You become compliant prior to 30 days after Your receipt of the 242 | notice. 243 | 244 | 5.2. If You initiate litigation against any entity by asserting a patent 245 | infringement claim (excluding declaratory judgment actions, counter-claims, and 246 | cross-claims) alleging that a Contributor Version directly or indirectly 247 | infringes any patent, then the rights granted to You by any and all Contributors 248 | for the Covered Software under Section 2.1 of this License shall terminate. 249 | 250 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user 251 | license agreements (excluding distributors and resellers) which have been 252 | validly granted by You or Your distributors under this License prior to 253 | termination shall survive termination. 254 | 255 | 6. Disclaimer of Warranty 256 | 257 | Covered Software is provided under this License on an “as is” basis, without 258 | warranty of any kind, either expressed, implied, or statutory, including, 259 | without limitation, warranties that the Covered Software is free of defects, 260 | merchantable, fit for a particular purpose or non-infringing. The entire risk 261 | as to the quality and performance of the Covered Software is with You. Should 262 | any Covered Software prove defective in any respect, You (not any 263 | Contributor) assume the cost of any necessary servicing, repair, or 264 | correction. This disclaimer of warranty constitutes an essential part of this 265 | License. No use of any Covered Software is authorized under this License 266 | except under this disclaimer. 267 | 268 | 7. Limitation of Liability 269 | 270 | Under no circumstances and under no legal theory, whether tort (including 271 | negligence), contract, or otherwise, shall any Contributor, or anyone who 272 | distributes Covered Software as permitted above, be liable to You for any 273 | direct, indirect, special, incidental, or consequential damages of any 274 | character including, without limitation, damages for lost profits, loss of 275 | goodwill, work stoppage, computer failure or malfunction, or any and all 276 | other commercial damages or losses, even if such party shall have been 277 | informed of the possibility of such damages. This limitation of liability 278 | shall not apply to liability for death or personal injury resulting from such 279 | party’s negligence to the extent applicable law prohibits such limitation. 280 | Some jurisdictions do not allow the exclusion or limitation of incidental or 281 | consequential damages, so this exclusion and limitation may not apply to You. 282 | 283 | 8. Litigation 284 | 285 | Any litigation relating to this License may be brought only in the courts of 286 | a jurisdiction where the defendant maintains its principal place of business 287 | and such litigation shall be governed by laws of that jurisdiction, without 288 | reference to its conflict-of-law provisions. Nothing in this Section shall 289 | prevent a party’s ability to bring cross-claims or counter-claims. 290 | 291 | 9. Miscellaneous 292 | 293 | This License represents the complete agreement concerning the subject matter 294 | hereof. If any provision of this License is held to be unenforceable, such 295 | provision shall be reformed only to the extent necessary to make it 296 | enforceable. Any law or regulation which provides that the language of a 297 | contract shall be construed against the drafter shall not be used to construe 298 | this License against a Contributor. 299 | 300 | 10) Versions of the License 301 | 302 | 10.1. New Versions 303 | 304 | Mozilla Foundation is the license steward. Except as provided in Section 305 | 10.3, no one other than the license steward has the right to modify or 306 | publish new versions of this License. Each version will be given a 307 | distinguishing version number. 308 | 309 | 10.2. Effect of New Versions 310 | 311 | You may distribute the Covered Software under the terms of the version of 312 | the License under which You originally received the Covered Software, or 313 | under the terms of any subsequent version published by the license 314 | steward. 315 | 316 | 10.3. Modified Versions 317 | 318 | If you create software not governed by this License, and you want to 319 | create a new license for such software, you may create and use a modified 320 | version of this License if you rename the license and remove any 321 | references to the name of the license steward (except to note that such 322 | modified license differs from this License). 323 | 324 | 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses 325 | If You choose to distribute Source Code Form that is Incompatible With Secondary 326 | Licenses under the terms of this version of the License, the notice described in 327 | Exhibit B of this License must be attached. 328 | 329 | Exhibit A - Source Code Form License Notice 330 | 331 | This Source Code Form is subject to the 332 | terms of the Mozilla Public License, v. 333 | 2.0. If a copy of the MPL was not 334 | distributed with this file, You can 335 | obtain one at 336 | http://mozilla.org/MPL/2.0/. 337 | 338 | If it is not possible or desirable to put the notice in a particular file, then 339 | You may include the notice in a location (such as a LICENSE file in a relevant 340 | directory) where a recipient would be likely to look for such a notice. 341 | 342 | You may add additional accurate notices of copyright ownership. 343 | 344 | Exhibit B - “Incompatible With Secondary Licenses” Notice 345 | 346 | This Source Code Form is “Incompatible 347 | With Secondary Licenses”, as defined by 348 | the Mozilla Public License, v. 2.0. 349 | -------------------------------------------------------------------------------- /commands/test/__tests__/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const mod = require('../src/index'); 4 | 5 | test('todo test for mod', () => { 6 | expect(typeof mod).toStrictEqual('function'); 7 | }); 8 | -------------------------------------------------------------------------------- /commands/test/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hela/test", 3 | "version": "3.1.2", 4 | "licenseStart": 2018, 5 | "license": "MPL-2.0", 6 | "description": "WIP: Powerful software development experience", 7 | "author": "Charlike Mike Reagent (https://tunnckocore.com)", 8 | "homepage": "https://tunnckocore.com/hela", 9 | "funding": [ 10 | "https://ko-fi.com/tunnckoCore/commissions", 11 | "https://github.com/sponsors/tunnckoCore", 12 | "https://patreon.com/tunnckoCore" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/tunnckoCore/hela.git", 17 | "directory": "commands/test" 18 | }, 19 | "main": "src/index.js", 20 | "files": [ 21 | "src" 22 | ], 23 | "engines": { 24 | "node": ">= 10.13" 25 | }, 26 | "publishConfig": { 27 | "access": "public", 28 | "registry": "https://registry.npmjs.org", 29 | "tag": "latest" 30 | }, 31 | "scripts": {}, 32 | "keywords": [ 33 | "tunnckocorehq", 34 | "tunnckocore-oss", 35 | "hela", 36 | "development", 37 | "developer-experience", 38 | "dx" 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /commands/test/src/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = () => {}; 4 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json.schemastore.org/lerna", 3 | "version": "independent", 4 | "npmClient": "yarn", 5 | "useWorkspaces": true, 6 | "packages": [ 7 | "commands/*", 8 | "modules/*", 9 | "packages/*", 10 | "presets/*" 11 | ], 12 | "changelog": { 13 | "cacheDir": ".cache", 14 | "ignoreCommitters": [ 15 | "*bot" 16 | ], 17 | "nextVersion": "Unreleased" 18 | }, 19 | "command": { 20 | "version": { 21 | "conventionalCommits": true, 22 | "createRelease": "github", 23 | "message": "chore: release package(s)", 24 | "signGitTag": false, 25 | "signGitCommit": false 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /modules/cli/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. 5 | 6 | ## [3.2.2](https://github.com/tunnckoCore/hela/compare/@hela/cli@3.2.1...@hela/cli@3.2.2) (2020-03-06) 7 | 8 | **Note:** Version bump only for package @hela/cli 9 | 10 | 11 | 12 | 13 | 14 | ## [3.2.1](https://github.com/tunnckoCore/hela/compare/@hela/cli@3.2.0...@hela/cli@3.2.1) (2020-03-06) 15 | 16 | 17 | ### Bug Fixes 18 | 19 | * duhhhh, fix the wrong publishConfig.registry ([b0e35d0](https://github.com/tunnckoCore/hela/commit/b0e35d00426c0d1a6e0544989a164c825101ad85)) 20 | 21 | 22 | 23 | 24 | 25 | # [3.2.0](https://github.com/tunnckoCore/hela/compare/@hela/cli@3.1.0...@hela/cli@3.2.0) (2020-03-06) 26 | 27 | 28 | ### Features 29 | 30 | * rewrite `@hela/eslint` from scratch ([#222](https://github.com/tunnckoCore/hela/issues/222)) ([a0d43d4](https://github.com/tunnckoCore/hela/commit/a0d43d41dfbd0ebe7c5f1aecc86ac6378fdd2139)) 31 | 32 | 33 | 34 | 35 | 36 | # 3.1.0 (2020-02-29) 37 | 38 | 39 | ### Bug Fixes 40 | 41 | * yaro typos; support passing options.argv ([cec6bc5](https://github.com/tunnckoCore/hela/commit/cec6bc522a7a85018631bccb28c4b29ef6aa9e1b)) 42 | 43 | 44 | ### Features 45 | 46 | * upgrades ([edd33d5](https://github.com/tunnckoCore/hela/commit/edd33d5339b44357be4c6b8c9c1561f181f5cd9a)) 47 | 48 | 49 | 50 | 51 | 52 | ## [3.0.1](https://github.com/tunnckoCore/hela/compare/@hela/cli@3.0.0...@hela/cli@3.0.1) (2020-02-29) 53 | 54 | 55 | ### Bug Fixes 56 | 57 | * license file & security policy tweaks ([6486c2e](https://github.com/tunnckoCore/hela/commit/6486c2ef4acb8eec61d5c589f63598cd2eee5376)) 58 | 59 | 60 | 61 | 62 | 63 | # 3.0.0 (2020-02-29) 64 | 65 | 66 | ### chore 67 | 68 | * release v3 ([#109](https://github.com/tunnckoCore/hela/issues/109)) ([1420256](https://github.com/tunnckoCore/hela/commit/142025614ed269be06679582a5754c6dbadc6c93)) 69 | 70 | 71 | ### BREAKING CHANGES 72 | 73 | * Release v3, finally. 74 | 75 | Signed-off-by: Charlike Mike Reagent 76 | -------------------------------------------------------------------------------- /modules/cli/__tests__/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const mod = require('../src/index'); 4 | 5 | test('todo test for mod', () => { 6 | expect(typeof mod).toStrictEqual('function'); 7 | }); 8 | -------------------------------------------------------------------------------- /modules/cli/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hela/cli", 3 | "version": "3.2.2", 4 | "licenseStart": 2018, 5 | "license": "MPL-2.0", 6 | "description": "WIP: Powerful software development experience", 7 | "author": "Charlike Mike Reagent (https://tunnckocore.com)", 8 | "homepage": "https://tunnckocore.com/hela", 9 | "funding": [ 10 | "https://ko-fi.com/tunnckoCore/commissions", 11 | "https://github.com/sponsors/tunnckoCore", 12 | "https://patreon.com/tunnckoCore" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/tunnckoCore/hela.git", 17 | "directory": "modules/cli" 18 | }, 19 | "main": "src/index.js", 20 | "files": [ 21 | "src" 22 | ], 23 | "bin": { 24 | "hela": "src/bin.js", 25 | "hela-bin": "src/bin.js", 26 | "hela-cli": "src/bin.js", 27 | "helapkg": "src/bin.js" 28 | }, 29 | "engines": { 30 | "node": ">= 10.13" 31 | }, 32 | "publishConfig": { 33 | "access": "public", 34 | "registry": "https://registry.npmjs.org", 35 | "tag": "latest" 36 | }, 37 | "scripts": {}, 38 | "dependencies": { 39 | "@hela/core": "^3.2.2", 40 | "cosmiconfig": "^6.0.0" 41 | }, 42 | "keywords": [ 43 | "tunnckocorehq", 44 | "tunnckocore-oss", 45 | "hela", 46 | "development", 47 | "developer-experience", 48 | "dx" 49 | ] 50 | } 51 | -------------------------------------------------------------------------------- /modules/cli/src/bin.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict'; 4 | 5 | const cli = require('./index'); 6 | 7 | (async function runHelaCli() { 8 | try { 9 | await cli(); 10 | } catch (err) { 11 | console.error('[hela] Failure:', err.stack); 12 | } 13 | })(); 14 | 15 | // Single Command Mode 16 | // const { hela } = require('@hela/core'); 17 | 18 | // hela({ singleMode: true, argv: { foo: 13 } }) 19 | // .option('-f, --format', 'sasa sasa', true) 20 | // .action((argv) => { 21 | // console.log('args', argv); 22 | // }) 23 | // .parse(); 24 | -------------------------------------------------------------------------------- /modules/cli/src/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable node/no-unsupported-features/node-builtins */ 2 | /* eslint-disable global-require */ 3 | /* eslint-disable import/no-dynamic-require */ 4 | 5 | 'use strict'; 6 | 7 | const path = require('path'); 8 | const { hela, HelaError, utils } = require('@hela/core'); 9 | const { cosmiconfig } = require('cosmiconfig'); 10 | 11 | const { log } = console; 12 | 13 | const argv = utils.parseArgv(process.argv.slice(2), { 14 | default: { 15 | cwd: process.cwd(), 16 | showStack: false, 17 | verbose: false, 18 | }, 19 | }); 20 | 21 | const explorer = cosmiconfig('hela'); 22 | const prog = hela({ argv }); 23 | 24 | prog 25 | .option('--cwd', 'some global flag', argv.cwd) 26 | .option('--verbose', 'Print more verbose output', false) 27 | .option('--showStack', 'Show more detailed info when errors', false) 28 | .option('-c, --config', 'Path to config file', 'hela.config.js'); 29 | 30 | module.exports = async function main() { 31 | const cfgPath = argv.c || argv.config; 32 | const cfg = await tryLoadConfig(cfgPath); 33 | 34 | if (!isValidConfig(cfg)) { 35 | throw new HelaError('No config found or invalid. Try "--config" flag.'); 36 | } 37 | if (argv.verbose) { 38 | log('[info] hela: Loading ->', path.relative(argv.cwd, cfg.filepath)); 39 | } 40 | 41 | let bypass = false; 42 | if (cfg.filepath.endsWith('package.json')) { 43 | const pkg = require(cfg.filepath); 44 | cfg.config = fromJson(pkg.hela); 45 | bypass = true; 46 | } 47 | 48 | if (bypass || cfg.filepath.endsWith('.js') || cfg.filepath.endsWith('.cjs')) { 49 | prog.extendWith(cfg.config); 50 | } 51 | 52 | return prog.parse(); 53 | }; 54 | 55 | function fromJson(config) { 56 | if (typeof config === 'string') { 57 | if (config.length === 0) { 58 | throw new HelaError( 59 | 'The "hela" field can only be object or non-empty string', 60 | ); 61 | } 62 | 63 | return require(path.join(argv.cwd, config)); 64 | } 65 | 66 | if (config && typeof config === 'object') { 67 | if (config.cwd) { 68 | if (!config.extends) { 69 | throw new HelaError( 70 | 'When defining "cwd" option, you need to pass `extends` too.', 71 | ); 72 | } 73 | 74 | return require(path.join(config.cwd, config.extends)); 75 | } 76 | 77 | return require(config.extends); 78 | } 79 | 80 | throw new HelaError('Config can only be object or non-empty string'); 81 | } 82 | 83 | function isValidConfig(val) { 84 | if (!val) return false; 85 | if (isObject(val)) { 86 | return true; 87 | } 88 | return false; 89 | } 90 | 91 | function isObject(val) { 92 | return val && typeof val === 'object' && Array.isArray(val) === false; 93 | } 94 | 95 | async function tryLoadConfig(name) { 96 | let mod = null; 97 | 98 | try { 99 | mod = require(name); 100 | if (mod) { 101 | mod = { config: mod, filepath: name }; 102 | } 103 | } catch (err) { 104 | if (name) { 105 | try { 106 | mod = await explorer.load(name); 107 | } catch (e) { 108 | try { 109 | mod = await explorer.search(); 110 | } catch (_) { 111 | mod = null; 112 | } 113 | } 114 | } 115 | } 116 | return mod || explorer.search(); 117 | } 118 | -------------------------------------------------------------------------------- /modules/core/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. 5 | 6 | ## [3.2.2](https://github.com/tunnckoCore/hela/compare/@hela/core@3.2.1...@hela/core@3.2.2) (2020-03-06) 7 | 8 | **Note:** Version bump only for package @hela/core 9 | 10 | 11 | 12 | 13 | 14 | ## [3.2.1](https://github.com/tunnckoCore/hela/compare/@hela/core@3.2.0...@hela/core@3.2.1) (2020-03-06) 15 | 16 | 17 | ### Bug Fixes 18 | 19 | * duhhhh, fix the wrong publishConfig.registry ([b0e35d0](https://github.com/tunnckoCore/hela/commit/b0e35d00426c0d1a6e0544989a164c825101ad85)) 20 | 21 | 22 | 23 | 24 | 25 | # [3.2.0](https://github.com/tunnckoCore/hela/compare/@hela/core@3.1.0...@hela/core@3.2.0) (2020-03-06) 26 | 27 | 28 | ### Features 29 | 30 | * rewrite `@hela/eslint` from scratch ([#222](https://github.com/tunnckoCore/hela/issues/222)) ([a0d43d4](https://github.com/tunnckoCore/hela/commit/a0d43d41dfbd0ebe7c5f1aecc86ac6378fdd2139)) 31 | 32 | 33 | 34 | 35 | 36 | # 3.1.0 (2020-02-29) 37 | 38 | 39 | ### Features 40 | 41 | * upgrades ([edd33d5](https://github.com/tunnckoCore/hela/commit/edd33d5339b44357be4c6b8c9c1561f181f5cd9a)) 42 | 43 | 44 | 45 | 46 | 47 | ## [3.0.1](https://github.com/tunnckoCore/hela/compare/@hela/core@3.0.0...@hela/core@3.0.1) (2020-02-29) 48 | 49 | 50 | ### Bug Fixes 51 | 52 | * license file & security policy tweaks ([6486c2e](https://github.com/tunnckoCore/hela/commit/6486c2ef4acb8eec61d5c589f63598cd2eee5376)) 53 | 54 | 55 | 56 | 57 | 58 | # 3.0.0 (2020-02-29) 59 | 60 | 61 | ### chore 62 | 63 | * release v3 ([#109](https://github.com/tunnckoCore/hela/issues/109)) ([1420256](https://github.com/tunnckoCore/hela/commit/142025614ed269be06679582a5754c6dbadc6c93)) 64 | 65 | 66 | ### BREAKING CHANGES 67 | 68 | * Release v3, finally. 69 | 70 | Signed-off-by: Charlike Mike Reagent 71 | -------------------------------------------------------------------------------- /modules/core/__tests__/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const mod = require('../src/index'); 4 | 5 | test('todo test for mod', () => { 6 | expect(typeof mod).toStrictEqual('function'); 7 | }); 8 | -------------------------------------------------------------------------------- /modules/core/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hela/core", 3 | "version": "3.2.2", 4 | "licenseStart": 2018, 5 | "license": "MPL-2.0", 6 | "description": "WIP: Powerful software development experience", 7 | "author": "Charlike Mike Reagent (https://tunnckocore.com)", 8 | "homepage": "https://tunnckocore.com/hela", 9 | "funding": [ 10 | "https://ko-fi.com/tunnckoCore/commissions", 11 | "https://github.com/sponsors/tunnckoCore", 12 | "https://patreon.com/tunnckoCore" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/tunnckoCore/hela.git", 17 | "directory": "modules/core" 18 | }, 19 | "main": "src/index.js", 20 | "files": [ 21 | "src" 22 | ], 23 | "engines": { 24 | "node": ">= 10.13" 25 | }, 26 | "publishConfig": { 27 | "access": "public", 28 | "registry": "https://registry.npmjs.org", 29 | "tag": "latest" 30 | }, 31 | "scripts": {}, 32 | "dependencies": { 33 | "@hela/yaro": "^3.2.2", 34 | "dargs": "^7.0.0", 35 | "execa": "^4.0.0", 36 | "global-dirs": "^2.0.1" 37 | }, 38 | "keywords": [ 39 | "tunnckocorehq", 40 | "tunnckocore-oss", 41 | "hela", 42 | "development", 43 | "developer-experience", 44 | "dx" 45 | ] 46 | } 47 | -------------------------------------------------------------------------------- /modules/core/src/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable max-classes-per-file */ 2 | 3 | 'use strict'; 4 | 5 | const dargs = require('dargs'); 6 | const dirs = require('global-dirs'); 7 | const execa = require('execa'); 8 | const { Yaro, utils } = require('@hela/yaro'); 9 | 10 | const globalBins = [dirs.npm.binaries, dirs.yarn.binaries]; 11 | 12 | const defaultExecaOptions = { 13 | stdio: 'inherit', 14 | env: { ...process.env }, 15 | cwd: process.cwd(), 16 | concurrency: 1, 17 | }; 18 | 19 | /** 20 | * 21 | * @param {object} argv 22 | * @param {object} options 23 | */ 24 | function toFlags(argv, options) { 25 | const opts = { shortFlag: true, ...options }; 26 | return dargs(argv, opts).join(' '); 27 | } 28 | 29 | /** 30 | * 31 | * @param {string|string[]} cmd 32 | * @param {object} [options] 33 | * @public 34 | */ 35 | async function exec(cmd, options = {}) { 36 | const envPATH = `${process.env.PATH}:${globalBins.join(':')}`; 37 | const env = { ...defaultExecaOptions.env, PATH: envPATH }; 38 | 39 | return execa.command(cmd, { ...defaultExecaOptions, env, ...options }); 40 | // return Exec(cmds, { ...defaultExecaOptions, env, ...options }); 41 | } 42 | 43 | class HelaError extends Error { 44 | constructor(msg) { 45 | super(msg); 46 | this.name = 'HelaError'; 47 | } 48 | } 49 | 50 | class Hela extends Yaro { 51 | constructor(progName = 'hela', options) { 52 | if (progName && typeof progName === 'object') { 53 | options = progName; // eslint-disable-line no-param-reassign 54 | progName = 'hela'; // eslint-disable-line no-param-reassign 55 | } 56 | super(progName, { 57 | defaultsToHelp: true, 58 | allowUnknownFlags: true, 59 | version: '3.0.0', 60 | ...options, 61 | }); 62 | this.isHela = true; 63 | } 64 | } 65 | 66 | exports.Hela = Hela; 67 | exports.HelaError = HelaError; 68 | exports.hela = (...args) => new Hela(...args); 69 | exports.exec = exec; 70 | exports.toFlags = toFlags; 71 | exports.default = exports.hela; 72 | 73 | module.exports = Object.assign(exports.default, exports, { utils }); 74 | module.exports.default = module.exports; 75 | -------------------------------------------------------------------------------- /modules/yaro/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. 5 | 6 | ## [3.2.2](https://github.com/tunnckoCore/hela/compare/@hela/yaro@3.2.1...@hela/yaro@3.2.2) (2020-03-06) 7 | 8 | 9 | ### Bug Fixes 10 | 11 | * **yaro:** support nested flag dot notation ([99329c6](https://github.com/tunnckoCore/hela/commit/99329c66e1f8c67b59896fcdb92d7767ef96f0ee)) 12 | 13 | 14 | 15 | 16 | 17 | ## [3.2.1](https://github.com/tunnckoCore/hela/compare/@hela/yaro@3.2.0...@hela/yaro@3.2.1) (2020-03-06) 18 | 19 | 20 | ### Bug Fixes 21 | 22 | * duhhhh, fix the wrong publishConfig.registry ([b0e35d0](https://github.com/tunnckoCore/hela/commit/b0e35d00426c0d1a6e0544989a164c825101ad85)) 23 | 24 | 25 | 26 | 27 | 28 | # [3.2.0](https://github.com/tunnckoCore/hela/compare/@hela/yaro@3.1.0...@hela/yaro@3.2.0) (2020-03-06) 29 | 30 | 31 | ### Features 32 | 33 | * rewrite `@hela/eslint` from scratch ([#222](https://github.com/tunnckoCore/hela/issues/222)) ([a0d43d4](https://github.com/tunnckoCore/hela/commit/a0d43d41dfbd0ebe7c5f1aecc86ac6378fdd2139)) 34 | 35 | 36 | 37 | 38 | 39 | # 3.1.0 (2020-02-29) 40 | 41 | 42 | ### Bug Fixes 43 | 44 | * yaro typos; support passing options.argv ([cec6bc5](https://github.com/tunnckoCore/hela/commit/cec6bc522a7a85018631bccb28c4b29ef6aa9e1b)) 45 | 46 | 47 | ### Features 48 | 49 | * upgrades ([edd33d5](https://github.com/tunnckoCore/hela/commit/edd33d5339b44357be4c6b8c9c1561f181f5cd9a)) 50 | 51 | 52 | 53 | 54 | 55 | ## [3.0.1](https://github.com/tunnckoCore/hela/compare/@hela/yaro@3.0.0...@hela/yaro@3.0.1) (2020-02-29) 56 | 57 | 58 | ### Bug Fixes 59 | 60 | * license file & security policy tweaks ([6486c2e](https://github.com/tunnckoCore/hela/commit/6486c2ef4acb8eec61d5c589f63598cd2eee5376)) 61 | 62 | 63 | 64 | 65 | 66 | # 3.0.0 (2020-02-29) 67 | 68 | 69 | ### chore 70 | 71 | * release v3 ([#109](https://github.com/tunnckoCore/hela/issues/109)) ([1420256](https://github.com/tunnckoCore/hela/commit/142025614ed269be06679582a5754c6dbadc6c93)) 72 | 73 | 74 | ### BREAKING CHANGES 75 | 76 | * Release v3, finally. 77 | 78 | Signed-off-by: Charlike Mike Reagent 79 | -------------------------------------------------------------------------------- /modules/yaro/__tests__/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const mod = require('../src/index'); 4 | 5 | test('todo test for mod', () => { 6 | expect(typeof mod).toStrictEqual('function'); 7 | }); 8 | -------------------------------------------------------------------------------- /modules/yaro/example.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const { Yaro } = require('./src/index'); 4 | 5 | const cli = new Yaro('hela', { 6 | // defaultsToHelp: 1, 7 | defaultCommand: 'add', 8 | // allowUnknownFlags: false, 9 | '--': true, 10 | }); 11 | 12 | cli.option('--config', 'Path to some config file'); 13 | 14 | cli 15 | .command('lint ', 'Some linting', { alias: ['lnt', 'lnit'] }) 16 | .alias('limnt', 'lintr') 17 | .alias(['linting', 'lintx']) 18 | .example(`lint 'src/*.js'`) 19 | .example(`lint 'src/*.js' --fix`) 20 | .option('--fix', 'Fix autofixable problems', { default: true }) 21 | // todo: implement required value of flags 22 | .option('-f, --format ', 'Cli reporter', { 23 | default: 'codeframe', 24 | }) 25 | .action((input, flags, arg) => { 26 | // console.log('args:', input); 27 | // console.log('flags:', flags); 28 | console.log('lint called!', arg, flags); 29 | }); 30 | 31 | cli 32 | .command('install [...packages]', 'Install deps') 33 | .option('--save-dev', 'descr here') 34 | .alias('i', 'add') 35 | .action((...args) => { 36 | console.log('args:', args); 37 | console.log('install cmd'); 38 | }); 39 | 40 | cli.command('foo-bar-baz-qux-zaz', 'Okkk deps').action(() => { 41 | console.log('foobar cmd'); 42 | }); 43 | 44 | const result = cli.parse(); 45 | 46 | console.log('result:', result); 47 | 48 | // cli.showHelp(); 49 | -------------------------------------------------------------------------------- /modules/yaro/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hela/yaro", 3 | "version": "3.2.2", 4 | "licenseStart": 2018, 5 | "license": "MPL-2.0", 6 | "description": "WIP: Powerful software development experience", 7 | "author": "Charlike Mike Reagent (https://tunnckocore.com)", 8 | "homepage": "https://tunnckocore.com/hela", 9 | "funding": [ 10 | "https://ko-fi.com/tunnckoCore/commissions", 11 | "https://github.com/sponsors/tunnckoCore", 12 | "https://patreon.com/tunnckoCore" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/tunnckoCore/hela.git", 17 | "directory": "modules/yaro" 18 | }, 19 | "main": "src/index.js", 20 | "files": [ 21 | "src" 22 | ], 23 | "engines": { 24 | "node": ">= 10.13" 25 | }, 26 | "publishConfig": { 27 | "access": "public", 28 | "registry": "https://registry.npmjs.org", 29 | "tag": "latest" 30 | }, 31 | "scripts": {}, 32 | "dependencies": { 33 | "dset": "^2.0.1", 34 | "mri": "^1.1.4" 35 | }, 36 | "keywords": [ 37 | "tunnckocorehq", 38 | "tunnckocore-oss", 39 | "hela", 40 | "development", 41 | "developer-experience", 42 | "dx" 43 | ] 44 | } 45 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "hela-monorepo", 4 | "workspaces": [ 5 | "commands/*", 6 | "modules/*", 7 | "packages/*", 8 | "presets/*" 9 | ], 10 | "author": "Charlike Mike Reagent ", 11 | "scripts": { 12 | "bootstrap": "lerna bootstrap --since", 13 | "clean:fresh": "lerna clean -y && rm -rf node_modules yarn.lock", 14 | "format": "prettier '**/*.{js,md,json}' --write", 15 | "lint": "hela eslint --fix", 16 | "lint:fresh": "rm -rf .cache/hela-eslint-cache && hela eslint --fix", 17 | "release": "lerna version && lerna publish from-package", 18 | "presetup": "echo foo-bar", 19 | "setup": "yarn", 20 | "postsetup": "yarn run setup:full", 21 | "setup:ci": "yarn setup --frozen-lockfile --check-files", 22 | "setup:full": "yarn audit && yarn run setup:locklint && yarn run bootstrap", 23 | "setup:locklint": "lockfile-lint --path yarn.lock --type yarn --validate-https", 24 | "test": "jest", 25 | "test:ci": "jest --coverage --onlyChanged" 26 | }, 27 | "dependencies": { 28 | "@tunnckocore/eslint-config": "^5.4.5", 29 | "@tunnckocore/prettier-config": "^1.3.4", 30 | "acorn-globals": "ForbesLindesay/acorn-globals#greenkeeper/acorn-7.1.1", 31 | "babel-eslint": "^10.1.0", 32 | "eslint": "^6.8.0", 33 | "husky": "^4.2.3", 34 | "jest": "^25.1.0", 35 | "lerna": "^3.20.2", 36 | "lint-staged": "^10.0.8", 37 | "lockfile-lint": "^4.0.0", 38 | "prettier": "^1.19.1", 39 | "prettier-plugin-pkgjson": "^0.2.4" 40 | }, 41 | "hela": "./.hela.config.js", 42 | "husky": { 43 | "hooks": { 44 | "pre-commit": "yarn test --onlyChanged && lint-staged" 45 | } 46 | }, 47 | "lint-staged": { 48 | "**/*.{js,jsx,mjs,cjs,ts,tsx}": "hela eslint --fix --globOptions.dot --", 49 | "**/*.{js,md,json}": "prettier --write" 50 | }, 51 | "renovate": { 52 | "extends": [ 53 | "@tunnckocore" 54 | ] 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /packages/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helapkg/hela/e9fdf7b3c73fcb7316da098ce951b8cf4066a6be/packages/.gitkeep -------------------------------------------------------------------------------- /packages/eslint/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. 5 | 6 | ## [3.2.2](https://github.com/tunnckoCore/hela/compare/@hela/eslint@3.2.1...@hela/eslint@3.2.2) (2020-03-06) 7 | 8 | 9 | ### Bug Fixes 10 | 11 | * tweaks, yaro exit 1, ignores, lint-staged ([20ad4c0](https://github.com/tunnckoCore/hela/commit/20ad4c0a549c4bd9971427d29fbc33a9ada83d23)) 12 | * **eslint:** ignore path that is eslintignore-ed ([aa8fcbe](https://github.com/tunnckoCore/hela/commit/aa8fcbe4edb54243b6703a6c63ef8baa99c9aa42)) 13 | 14 | 15 | 16 | 17 | 18 | ## [3.2.1](https://github.com/tunnckoCore/hela/compare/@hela/eslint@3.2.0...@hela/eslint@3.2.1) (2020-03-06) 19 | 20 | 21 | ### Bug Fixes 22 | 23 | * duhhhh, fix the wrong publishConfig.registry ([b0e35d0](https://github.com/tunnckoCore/hela/commit/b0e35d00426c0d1a6e0544989a164c825101ad85)) 24 | 25 | 26 | 27 | 28 | 29 | # [3.2.0](https://github.com/tunnckoCore/hela/compare/@hela/eslint@3.1.0...@hela/eslint@3.2.0) (2020-03-06) 30 | 31 | 32 | ### Features 33 | 34 | * rewrite `@hela/eslint` from scratch ([#222](https://github.com/tunnckoCore/hela/issues/222)) ([a0d43d4](https://github.com/tunnckoCore/hela/commit/a0d43d41dfbd0ebe7c5f1aecc86ac6378fdd2139)) 35 | 36 | 37 | 38 | 39 | 40 | # 3.1.0 (2020-02-29) 41 | 42 | 43 | ### Features 44 | 45 | * upgrades ([edd33d5](https://github.com/tunnckoCore/hela/commit/edd33d5339b44357be4c6b8c9c1561f181f5cd9a)) 46 | 47 | 48 | 49 | 50 | 51 | ## [3.0.1](https://github.com/tunnckoCore/hela/compare/@hela/eslint@3.0.0...@hela/eslint@3.0.1) (2020-02-29) 52 | 53 | 54 | ### Bug Fixes 55 | 56 | * license file & security policy tweaks ([6486c2e](https://github.com/tunnckoCore/hela/commit/6486c2ef4acb8eec61d5c589f63598cd2eee5376)) 57 | 58 | 59 | 60 | 61 | 62 | # 3.0.0 (2020-02-29) 63 | 64 | 65 | ### chore 66 | 67 | * release v3 ([#109](https://github.com/tunnckoCore/hela/issues/109)) ([1420256](https://github.com/tunnckoCore/hela/commit/142025614ed269be06679582a5754c6dbadc6c93)) 68 | 69 | 70 | ### BREAKING CHANGES 71 | 72 | * Release v3, finally. 73 | 74 | Signed-off-by: Charlike Mike Reagent 75 | -------------------------------------------------------------------------------- /packages/eslint/__tests__/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const mod = require('../src/index'); 4 | 5 | test('todo test for mod', () => { 6 | // const foo = 123;x 7 | expect(typeof mod).toStrictEqual('object'); 8 | expect(typeof mod.helaCommand).toStrictEqual('function'); 9 | }); 10 | -------------------------------------------------------------------------------- /packages/eslint/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hela/eslint", 3 | "version": "3.2.2", 4 | "licenseStart": 2018, 5 | "license": "MPL-2.0", 6 | "description": "WIP: Powerful software development experience", 7 | "author": "Charlike Mike Reagent (https://tunnckocore.com)", 8 | "homepage": "https://tunnckocore.com/hela", 9 | "funding": [ 10 | "https://ko-fi.com/tunnckoCore/commissions", 11 | "https://github.com/sponsors/tunnckoCore", 12 | "https://patreon.com/tunnckoCore" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/tunnckoCore/hela.git", 17 | "directory": "packages/eslint" 18 | }, 19 | "main": "src/index.js", 20 | "files": [ 21 | "src" 22 | ], 23 | "bin": { 24 | "eslint": "src/bin.js", 25 | "eslint-cli": "src/bin.js", 26 | "hela-eslint": "src/bin.js" 27 | }, 28 | "engines": { 29 | "node": ">= 10.13" 30 | }, 31 | "publishConfig": { 32 | "access": "public", 33 | "registry": "https://registry.npmjs.org", 34 | "tag": "latest" 35 | }, 36 | "scripts": {}, 37 | "dependencies": { 38 | "@hela/core": "^3.2.2", 39 | "eslint": "^6.8.0", 40 | "find-pkg": "^2.0.0", 41 | "glob-cache": "^1.0.1", 42 | "memoize-fs": "^2.1.0" 43 | }, 44 | "keywords": [ 45 | "tunnckocorehq", 46 | "tunnckocore-oss", 47 | "hela", 48 | "development", 49 | "developer-experience", 50 | "dx" 51 | ] 52 | } 53 | -------------------------------------------------------------------------------- /packages/eslint/src/api.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable global-require */ 2 | /* eslint-disable import/no-dynamic-require */ 3 | /* eslint-disable no-restricted-syntax */ 4 | /* eslint-disable max-statements */ 5 | 6 | 'use strict'; 7 | 8 | const DEFAULT_IGNORE = [ 9 | '**/node_modules/**', 10 | '**/bower_components/**', 11 | 'flow-typed/**', 12 | 'coverage/**', 13 | '**/*fixture*/**', 14 | '{tmp,temp}/**', 15 | '**/*.min.js', 16 | '**/bundle.js', 17 | '**/vendor/**', 18 | '**/dist/**', 19 | ]; 20 | 21 | const OUR_CONFIG_FILENAME = '.lint.config.js'; 22 | const DEFAULT_EXTENSIONS = ['js', 'jsx', 'cjs', 'mjs', 'ts', 'tsx']; 23 | const DEFAULT_INPUTS = [ 24 | `**/src/**/*.{${DEFAULT_EXTENSIONS.join(',')}}`, 25 | `**/*test*/**/*.{${DEFAULT_EXTENSIONS.join(',')}}`, 26 | ]; 27 | 28 | const fs = require('fs'); 29 | const path = require('path'); 30 | const memoizeFs = require('memoize-fs'); 31 | const codeframe = require('eslint/lib/cli-engine/formatters/codeframe'); 32 | const globCache = require('glob-cache'); 33 | const { CLIEngine, Linter } = require('eslint'); 34 | 35 | function resolveConfigSync(filePath, baseConfig, options) { 36 | const { cwd, ...opt } = { /* cwd: process.cwd(), */ ...options }; 37 | const doNotUseEslintRC = baseConfig && typeof baseConfig === 'object'; 38 | 39 | const settings = { 40 | ...opt, 41 | baseConfig, 42 | cache: true, 43 | useEslintrc: !doNotUseEslintRC, 44 | cacheLocation: './.cache/custom-eslint-cache', 45 | }; 46 | settings.extensions = settings.extensions || DEFAULT_EXTENSIONS; 47 | 48 | const engine = new CLIEngine(settings); 49 | 50 | const config = engine.getConfigForFile(filePath); 51 | 52 | return config; 53 | } 54 | 55 | async function resolveConfig(filePath, baseConfig, options) { 56 | const opts = { ...options }; 57 | const memoizer = memoizeFs({ 58 | cachePath: path.join(process.cwd(), '.cache', 'eslint-resolve-config'), 59 | }); 60 | 61 | const memoizedFn = await memoizer.fn( 62 | opts.dirname 63 | ? (_) => resolveConfigSync(filePath, baseConfig, options) 64 | : resolveConfigSync, 65 | ); 66 | const cfg = await memoizedFn( 67 | ...(opts.dirname ? [opts.dirname] : [filePath, baseConfig, options]), 68 | ); 69 | 70 | return cfg; 71 | } 72 | 73 | function formatCodeframe(rep, log) { 74 | const res = codeframe(rep.results || rep); 75 | return log ? console.log(res) : res; 76 | } 77 | 78 | function injectIntoLinter(config, linter) { 79 | if (!config) { 80 | return linter; 81 | } 82 | 83 | const linterInstance = linter || new Linter(); 84 | 85 | [] 86 | .concat(config.plugins) 87 | .filter(Boolean) 88 | .forEach((pluginName) => { 89 | let plugin = null; 90 | 91 | if (pluginName.startsWith('@')) { 92 | plugin = require(pluginName); 93 | } else { 94 | plugin = require(`eslint-plugin-${pluginName}`); 95 | } 96 | 97 | // note: defineRules is buggy 98 | Object.keys(plugin.rules).forEach((ruleName) => { 99 | linterInstance.defineRule( 100 | `${pluginName}/${ruleName}`, 101 | plugin.rules[ruleName], 102 | ); 103 | }); 104 | 105 | // note: otherwise this should work 106 | // linterInstance.defineRules( 107 | // Object.keys(plugin.rules).reduce((acc, ruleName) => { 108 | // acc[`${pluginName}/${ruleName}`] = plugin.rules[ruleName]; 109 | 110 | // return acc; 111 | // }, {}), 112 | // ); 113 | }); 114 | 115 | if (config.parser && config.parser.startsWith('/')) { 116 | if (config.parser.includes('babel-eslint')) { 117 | config.parser = 'babel-eslint'; 118 | } else if (config.parser.includes('@typescript-eslint/parser')) { 119 | config.parser = '@typescript-eslint/parser'; 120 | } 121 | // NOTE: more parsers 122 | } 123 | 124 | // define only when we are passed with "raw" (not processed) config 125 | if (config.parser && !config.parser.startsWith('/')) { 126 | linterInstance.defineParser(config.parser, require(config.parser)); 127 | } 128 | 129 | return linterInstance; 130 | } 131 | 132 | async function* lintFiles(patterns, options) { 133 | const opts = { dirs: [], cwd: process.cwd(), ...options }; 134 | opts.exclude = opts.exclude || DEFAULT_IGNORE; 135 | opts.extensions = opts.extensions || DEFAULT_EXTENSIONS; 136 | opts.cacheLocation = 137 | typeof opts.cacheLocation === 'string' 138 | ? opts.cacheLocation 139 | : path.join(opts.cwd, '.cache', 'hela-eslint-cache'); 140 | 141 | const iterable = await globCache(patterns, opts); 142 | 143 | const engine = new CLIEngine(); 144 | let linter = opts.linter || new Linter(); 145 | let eslintConfig = await tryLoadLintConfig(); 146 | 147 | linter = injectIntoLinter(eslintConfig, linter); 148 | 149 | // TODO use `cacache` for caching `options` and 150 | // based on that force `ctx.changed` if it is `false` 151 | 152 | for await (const ctx of iterable) { 153 | const meta = ctx.cacheFile && ctx.cacheFile.metadata; 154 | 155 | if (engine.isPathIgnored(ctx.file.path)) { 156 | // eslint-disable-next-line no-continue 157 | continue; 158 | } 159 | 160 | if (ctx.changed) { 161 | const dirname = path.dirname(ctx.file.path); 162 | if (opts.dirs.includes(dirname)) { 163 | eslintConfig = await resolveConfig(ctx.file.path, 0, { 164 | ...opts, 165 | dirname, 166 | }); 167 | } 168 | 169 | const contents = ctx.file.contents.toString(); 170 | const { source, messages } = lint({ 171 | ...opts, 172 | linter, 173 | filename: ctx.file.path, 174 | contents, 175 | config: eslintConfig || (meta && meta.eslintConfig), 176 | }); 177 | 178 | const res = createReportOrResult('messages', messages, { 179 | filePath: ctx.file.path, 180 | }); 181 | 182 | const diff = JSON.stringify(res) !== JSON.stringify(meta && meta.report); 183 | 184 | // NOTE: `source` property seems deprecated but formatters need it so.. 185 | yield { 186 | ...ctx, 187 | result: { ...res, source }, 188 | eslintConfig: (meta && meta.eslintConfig) || eslintConfig, 189 | }; 190 | 191 | if (diff) { 192 | // todo update cache with cacache.put 193 | await ctx.cacache.put(ctx.cacheLocation, ctx.file.path, source, { 194 | metadata: { report: { ...res, source }, eslintConfig }, 195 | }); 196 | } 197 | 198 | // if (opts.report) { 199 | // formatCodeframe([res]); 200 | // } 201 | } 202 | 203 | if (ctx.changed === false && ctx.notFound === false) { 204 | yield { 205 | ...ctx, 206 | result: meta.report, 207 | eslintConfig: meta.eslintConfig || eslintConfig, 208 | }; 209 | // if (opts.report) { 210 | // formatCodeframe([meta.report]); 211 | // } 212 | } 213 | } 214 | } 215 | 216 | lintFiles.promise = async function lintFilesPromise(patterns, options) { 217 | const opts = { ...options }; 218 | const results = []; 219 | const iterable = await lintFiles(patterns, opts); 220 | 221 | for await (const { result } of iterable) { 222 | results.push(result); 223 | } 224 | 225 | return createReportOrResult('results', results); 226 | }; 227 | 228 | function lint(options) { 229 | const opts = { ...options }; 230 | const cfg = { ...opts.config, filename: opts.filename }; 231 | const linter = opts.linter || new Linter(); 232 | const filter = (x) => 233 | opts.warnings ? true : !opts.warnings && x.severity === 2; 234 | 235 | if (!opts.contents && !opts.text) { 236 | opts.contents = fs.readFileSync(cfg.filename, 'utf8'); 237 | } 238 | if (opts.text) { 239 | cfg.filename = opts.filename || ''; 240 | } 241 | if (opts.fix) { 242 | const { output, messages } = linter.verifyAndFix(opts.contents, cfg); 243 | if (!opts.text) { 244 | fs.writeFileSync(cfg.filename, output); 245 | } 246 | 247 | return { source: output, messages: messages.filter(filter) }; 248 | } 249 | 250 | const messages = linter.verify(opts.contents, cfg); 251 | return { 252 | source: opts.contents, 253 | messages: messages.filter(filter), 254 | }; 255 | } 256 | 257 | async function lintText(contents, options) { 258 | const opts = { ...options }; 259 | let linter = opts.linter || new Linter(); 260 | 261 | const eslintConfig = opts.config || (await tryLoadLintConfig()); 262 | 263 | linter = injectIntoLinter(eslintConfig, linter); 264 | const { source, messages } = lint({ 265 | ...opts, 266 | config: eslintConfig, 267 | linter, 268 | contents, 269 | text: true, 270 | }); 271 | 272 | const result = createReportOrResult('messages', messages, { 273 | filePath: opts.filename || '', 274 | source, 275 | }); 276 | const report = createReportOrResult('results', [result]); 277 | 278 | return { ...report, source }; 279 | } 280 | 281 | function createReportOrResult(type, results, extra) { 282 | const ret = { 283 | ...extra, 284 | errorCount: 0, 285 | warningCount: 0, 286 | fixableErrorCount: 0, 287 | fixableWarningCount: 0, 288 | }; 289 | 290 | ret[type] = []; 291 | 292 | if (type === 'messages') { 293 | ret.errorCount = calculateCount('error', results); 294 | ret.warningCount = calculateCount('warning', results); 295 | } 296 | 297 | return results.reduce((acc, res) => { 298 | ret[type].push(res); 299 | 300 | if (type === 'results') { 301 | acc.errorCount += res.errorCount || 0; 302 | acc.warningCount += res.warningCount || 0; 303 | acc.fixableErrorCount += res.fixableErrorCount || 0; 304 | acc.fixableWarningCount += res.fixableWarningCount || 0; 305 | } 306 | 307 | return acc; 308 | }, ret); 309 | } 310 | 311 | async function tryLoadLintConfig() { 312 | const rootDir = process.cwd(); 313 | let cfg = null; 314 | 315 | try { 316 | cfg = await require(path.join(rootDir, OUR_CONFIG_FILENAME)); 317 | } catch (err) { 318 | return null; 319 | } 320 | 321 | return cfg; 322 | } 323 | 324 | function calculateCount(type, items) { 325 | return [] 326 | .concat(items) 327 | .filter(Boolean) 328 | .filter((x) => (type === 'error' ? x.severity === 2 : x.severity === 1)) 329 | .reduce((acc) => acc + 1, 0); 330 | } 331 | 332 | module.exports = { 333 | injectIntoLinter, 334 | tryLoadLintConfig, 335 | resolveConfigSync, 336 | resolveConfig, 337 | formatCodeframe, 338 | calculateCount, 339 | createReportOrResult, 340 | lintFiles, 341 | lintText, 342 | lint, 343 | 344 | DEFAULT_IGNORE, 345 | DEFAULT_INPUT: DEFAULT_INPUTS, 346 | DEFAULT_INPUTS, 347 | DEFAULT_EXTENSIONS, 348 | OUR_CONFIG_FILENAME, 349 | }; 350 | 351 | // (async () => { 352 | // // const patterns = 'packages/eslint/src/**/*.js'; 353 | // // const report = await lintFiles(patterns, { fix: true }); 354 | // const report = await lintText('var foo = 123', { fix: true }); 355 | 356 | // formatCodeframe(report.results); 357 | // console.log(report.source); // fixed source code text 358 | // })(); 359 | -------------------------------------------------------------------------------- /packages/eslint/src/bin.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict'; 4 | 5 | const { hela } = require('@hela/core'); 6 | const { wrapper } = require('./index.js'); 7 | 8 | const prog = wrapper(hela('eslint', { singleMode: true }).usage('[...files]')); 9 | 10 | prog.parse(); 11 | -------------------------------------------------------------------------------- /packages/eslint/src/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable global-require */ 2 | /* eslint-disable import/no-dynamic-require */ 3 | /* eslint-disable max-statements */ 4 | /* eslint-disable no-restricted-syntax */ 5 | 6 | 'use strict'; 7 | 8 | const fs = require('fs'); 9 | const path = require('path'); 10 | const { hela } = require('@hela/core'); 11 | const { 12 | DEFAULT_IGNORE, 13 | DEFAULT_INPUTS, 14 | OUR_CONFIG_FILENAME, 15 | ...api 16 | } = require('./api'); 17 | 18 | function wrapper(prog) { 19 | return prog 20 | .option('--init', 'Create lint config from fully resolved ESLint config') 21 | .option('--fix', 'Automatically fix problems') 22 | .option('--warnings', 'Shows warnings too', false) 23 | .option('--reporter', 'Use a specific output format reporter') 24 | .option('--include', 'Input files or glob patterns', DEFAULT_INPUTS) 25 | .option('--exclude', 'Ignore patterns (multiple)', DEFAULT_IGNORE) 26 | .action(async (...args) => { 27 | const files = args.slice(0, -2); 28 | const argv = args[args.length - 2]; 29 | // const opts = args[args.length - 1]; 30 | 31 | if (argv.init) { 32 | const rootLintConfigFile = path.join( 33 | process.cwd(), 34 | OUR_CONFIG_FILENAME, 35 | ); 36 | const loadConfigContents = `\nmodule.exports = require('@hela/eslint').resolveConfig(__filename);`; 37 | 38 | // write our config loading resolution 39 | fs.writeFileSync(rootLintConfigFile, loadConfigContents); 40 | 41 | // import/require/load the resolved config 42 | const config = await require(rootLintConfigFile); 43 | 44 | // re-write the `.js` config file 45 | fs.writeFileSync( 46 | `${rootLintConfigFile}`, 47 | `module.exports = ${JSON.stringify(config)}`, 48 | ); 49 | 50 | console.log('Done.'); 51 | return; 52 | } 53 | 54 | const include = [] 55 | .concat(files.length > 0 ? files : argv.include || DEFAULT_INPUTS) 56 | .reduce((acc, x) => acc.concat(x), []) 57 | .filter(Boolean); 58 | 59 | let exclude = [] 60 | .concat(argv.exclude) 61 | .reduce((acc, x) => acc.concat(x), []) 62 | .filter(Boolean); 63 | exclude = exclude.length > 0 ? exclude : null; 64 | 65 | const report = { 66 | errorCount: 0, 67 | warningCount: 0, 68 | filesCount: 0, 69 | }; 70 | 71 | const iterable = await api.lintFiles(include, { ...argv, exclude }); 72 | 73 | for await (const { result } of iterable) { 74 | report.filesCount += 1; 75 | if (result.errorCount || result.warningCount) { 76 | const resultReport = api.createReportOrResult('results', [result]); 77 | 78 | report.errorCount += resultReport.errorCount || 0; 79 | report.warningCount += resultReport.warningCount || 0; 80 | 81 | const output = api 82 | .formatCodeframe(resultReport.results) 83 | .trim() 84 | .split('\n') 85 | .slice(0, -2) 86 | .join('\n'); 87 | 88 | console.log(output); 89 | } else { 90 | // console.log('File:', report.filesCount, file.path); 91 | } 92 | } 93 | 94 | if (report.errorCount === 0 && report.warningCount === 0) { 95 | console.log('No problems found.'); 96 | return; 97 | } 98 | 99 | const warnings = argv.warnings 100 | ? `and ${report.warningCount} warning(s) ` 101 | : ''; 102 | 103 | console.log(''); 104 | console.log(`${report.errorCount} error(s) ${warnings}found.`); 105 | // formatCodeframe(report, true); 106 | 107 | if (report.errorCount > 0) { 108 | // eslint-disable-next-line unicorn/no-process-exit 109 | process.exit(1); 110 | } 111 | }); 112 | } 113 | 114 | function helaCommand() { 115 | return wrapper(hela().command('eslint [...files]', 'Lint using ESLint')); 116 | } 117 | 118 | module.exports = { 119 | ...api, 120 | wrapper, 121 | helaCommand, 122 | }; 123 | -------------------------------------------------------------------------------- /packages/eslint/src/preset.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | exports.eslint = require('./index').helaCommand(); 4 | -------------------------------------------------------------------------------- /packages/hela/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. 5 | 6 | ## [3.2.2](https://github.com/tunnckoCore/hela/compare/hela@3.2.1...hela@3.2.2) (2020-03-06) 7 | 8 | **Note:** Version bump only for package hela 9 | 10 | 11 | 12 | 13 | 14 | ## [3.2.1](https://github.com/tunnckoCore/hela/compare/hela@3.2.0...hela@3.2.1) (2020-03-06) 15 | 16 | 17 | ### Bug Fixes 18 | 19 | * duhhhh, fix the wrong publishConfig.registry ([b0e35d0](https://github.com/tunnckoCore/hela/commit/b0e35d00426c0d1a6e0544989a164c825101ad85)) 20 | 21 | 22 | 23 | 24 | 25 | # [3.2.0](https://github.com/tunnckoCore/hela/compare/hela@3.1.0...hela@3.2.0) (2020-03-06) 26 | 27 | 28 | ### Features 29 | 30 | * rewrite `@hela/eslint` from scratch ([#222](https://github.com/tunnckoCore/hela/issues/222)) ([a0d43d4](https://github.com/tunnckoCore/hela/commit/a0d43d41dfbd0ebe7c5f1aecc86ac6378fdd2139)) 31 | 32 | 33 | 34 | 35 | 36 | # 3.1.0 (2020-02-29) 37 | 38 | 39 | ### Features 40 | 41 | * upgrades ([edd33d5](https://github.com/tunnckoCore/hela/commit/edd33d5339b44357be4c6b8c9c1561f181f5cd9a)) 42 | 43 | 44 | 45 | 46 | 47 | ## [3.0.1](https://github.com/tunnckoCore/hela/compare/hela@3.0.0...hela@3.0.1) (2020-02-29) 48 | 49 | 50 | ### Bug Fixes 51 | 52 | * license file & security policy tweaks ([6486c2e](https://github.com/tunnckoCore/hela/commit/6486c2ef4acb8eec61d5c589f63598cd2eee5376)) 53 | 54 | 55 | 56 | 57 | 58 | # 3.0.0 (2020-02-29) 59 | 60 | **Note:** Version bump only for package hela 61 | -------------------------------------------------------------------------------- /packages/hela/__tests__/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const mod = require('../src/index'); 4 | 5 | test('todo test for mod', () => { 6 | expect(typeof mod).toStrictEqual('function'); 7 | }); 8 | -------------------------------------------------------------------------------- /packages/hela/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hela", 3 | "version": "3.2.2", 4 | "licenseStart": 2018, 5 | "license": "MPL-2.0", 6 | "description": "WIP: Powerful software development experience", 7 | "author": "Charlike Mike Reagent (https://tunnckocore.com)", 8 | "homepage": "https://tunnckocore.com/hela", 9 | "funding": [ 10 | "https://ko-fi.com/tunnckoCore/commissions", 11 | "https://github.com/sponsors/tunnckoCore", 12 | "https://patreon.com/tunnckoCore" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/tunnckoCore/hela.git", 17 | "directory": "packages/hela" 18 | }, 19 | "main": "src/index.js", 20 | "files": [ 21 | "src" 22 | ], 23 | "bin": { 24 | "hela": "src/bin.js", 25 | "hela3": "src/bin.js" 26 | }, 27 | "engines": { 28 | "node": ">= 10.13" 29 | }, 30 | "publishConfig": { 31 | "access": "public", 32 | "registry": "https://registry.npmjs.org", 33 | "tag": "latest" 34 | }, 35 | "scripts": {}, 36 | "dependencies": { 37 | "@hela/cli": "^3.2.2", 38 | "@hela/core": "^3.2.2" 39 | }, 40 | "keywords": [ 41 | "tunnckocorehq", 42 | "tunnckocore-oss", 43 | "hela", 44 | "development", 45 | "developer-experience", 46 | "dx" 47 | ] 48 | } 49 | -------------------------------------------------------------------------------- /packages/hela/src/bin.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict'; 4 | 5 | const cli = require('@hela/cli/src/index'); 6 | 7 | (async function runHelaCli() { 8 | try { 9 | await cli(); 10 | } catch (err) { 11 | console.error('[hela] Failure:', err.stack); 12 | } 13 | })(); 14 | -------------------------------------------------------------------------------- /packages/hela/src/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const helaCore = require('@hela/core'); 4 | 5 | Object.assign(exports, helaCore); 6 | 7 | module.exports = helaCore; 8 | module.exports.default = helaCore; 9 | -------------------------------------------------------------------------------- /presets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/helapkg/hela/e9fdf7b3c73fcb7316da098ce951b8cf4066a6be/presets/.gitkeep -------------------------------------------------------------------------------- /presets/dev/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. 5 | 6 | ## [4.1.2](https://github.com/tunnckoCore/hela/compare/@hela/dev@4.1.1...@hela/dev@4.1.2) (2020-03-06) 7 | 8 | **Note:** Version bump only for package @hela/dev 9 | 10 | 11 | 12 | 13 | 14 | ## [4.1.1](https://github.com/tunnckoCore/hela/compare/@hela/dev@4.1.0...@hela/dev@4.1.1) (2020-03-06) 15 | 16 | 17 | ### Bug Fixes 18 | 19 | * duhhhh, fix the wrong publishConfig.registry ([b0e35d0](https://github.com/tunnckoCore/hela/commit/b0e35d00426c0d1a6e0544989a164c825101ad85)) 20 | 21 | 22 | 23 | 24 | 25 | # [4.1.0](https://github.com/tunnckoCore/hela/compare/@hela/dev@4.0.2...@hela/dev@4.1.0) (2020-03-06) 26 | 27 | 28 | ### Features 29 | 30 | * rewrite `@hela/eslint` from scratch ([#222](https://github.com/tunnckoCore/hela/issues/222)) ([a0d43d4](https://github.com/tunnckoCore/hela/commit/a0d43d41dfbd0ebe7c5f1aecc86ac6378fdd2139)) 31 | 32 | 33 | 34 | 35 | 36 | ## 4.0.2 (2020-02-29) 37 | 38 | **Note:** Version bump only for package @hela/dev 39 | 40 | 41 | 42 | 43 | 44 | ## [4.0.1](https://github.com/tunnckoCore/hela/compare/@hela/dev@4.0.0...@hela/dev@4.0.1) (2020-02-29) 45 | 46 | 47 | ### Bug Fixes 48 | 49 | * license file & security policy tweaks ([6486c2e](https://github.com/tunnckoCore/hela/commit/6486c2ef4acb8eec61d5c589f63598cd2eee5376)) 50 | 51 | 52 | 53 | 54 | 55 | # 4.0.0 (2020-02-29) 56 | 57 | 58 | ### chore 59 | 60 | * release v3 ([#109](https://github.com/tunnckoCore/hela/issues/109)) ([1420256](https://github.com/tunnckoCore/hela/commit/142025614ed269be06679582a5754c6dbadc6c93)) 61 | 62 | 63 | ### BREAKING CHANGES 64 | 65 | * Release v3, finally. 66 | 67 | Signed-off-by: Charlike Mike Reagent 68 | -------------------------------------------------------------------------------- /presets/dev/__tests__/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const mod = require('../src/index'); 4 | 5 | test('todo test for mod', () => { 6 | expect(typeof mod).toStrictEqual('object'); 7 | expect(typeof mod.createJestCommand).toStrictEqual('function'); 8 | expect(typeof mod.build).toStrictEqual('function'); 9 | expect(typeof mod.bundle).toStrictEqual('function'); 10 | expect(typeof mod.docs).toStrictEqual('function'); 11 | expect(typeof mod.lint).toStrictEqual('function'); 12 | expect(typeof mod.test).toStrictEqual('function'); 13 | }); 14 | -------------------------------------------------------------------------------- /presets/dev/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hela/dev", 3 | "version": "4.1.2", 4 | "licenseStart": 2018, 5 | "license": "MPL-2.0", 6 | "description": "WIP: Powerful software development experience", 7 | "author": "Charlike Mike Reagent (https://tunnckocore.com)", 8 | "homepage": "https://tunnckocore.com/hela", 9 | "funding": [ 10 | "https://ko-fi.com/tunnckoCore/commissions", 11 | "https://github.com/sponsors/tunnckoCore", 12 | "https://patreon.com/tunnckoCore" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/tunnckoCore/hela.git", 17 | "directory": "presets/dev" 18 | }, 19 | "main": "src/index.js", 20 | "files": [ 21 | "src" 22 | ], 23 | "engines": { 24 | "node": ">= 10.13" 25 | }, 26 | "publishConfig": { 27 | "access": "public", 28 | "registry": "https://registry.npmjs.org", 29 | "tag": "latest" 30 | }, 31 | "scripts": {}, 32 | "dependencies": { 33 | "@hela/core": "^3.2.2", 34 | "@tunnckocore/utils": "^1.3.4", 35 | "is-ci": "^2.0.0", 36 | "picomatch": "^2.2.1" 37 | }, 38 | "keywords": [ 39 | "tunnckocorehq", 40 | "tunnckocore-oss", 41 | "hela", 42 | "development", 43 | "developer-experience", 44 | "dx" 45 | ] 46 | } 47 | -------------------------------------------------------------------------------- /presets/dev/src/configs/build/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const path = require('path'); 4 | const utils = require('@tunnckocore/utils'); 5 | 6 | module.exports = function createJestBabelConfig(options) { 7 | const opts = { cwd: process.cwd(), ...options }; 8 | const { exts, alias, workspaces } = utils.createAliases(opts.cwd); 9 | const ignores = [] 10 | .concat(opts.ignores) 11 | .filter(Boolean) 12 | .map((x) => (typeof x === 'string' ? x : x.toString())); 13 | 14 | /* eslint-disable-next-line import/no-dynamic-require, global-require */ 15 | const { meta: { build = [] } = {} } = require(path.join( 16 | opts.cwd, 17 | 'package.json', 18 | )); 19 | 20 | const isMonorepo = workspaces.length > 0; 21 | 22 | const jestCfg = { 23 | rootDir: opts.cwd, 24 | displayName: 'build', 25 | testMatch: isMonorepo 26 | ? build.map((item) => { 27 | const pkgNames = Object.keys(alias); 28 | const foundPkgName = pkgNames.find( 29 | (x) => x === item || x.startsWith(item) || x.includes(item), 30 | ); 31 | const source = alias[foundPkgName]; 32 | 33 | return `${source}/**/*.{${exts.join(',')}}`; 34 | }) 35 | : [`/src/**/*.{${exts.join(',')}}`], 36 | testPathIgnorePatterns: [ 37 | /node_modules/.toString(), 38 | /(?:__)?(?:fixtures?|supports?|shared)(?:__)?/.toString(), 39 | ].concat(ignores), 40 | moduleFileExtensions: exts, 41 | runner: '@tunnckocore/jest-runner-babel', 42 | }; 43 | 44 | if (isMonorepo) { 45 | jestCfg.moduleDirectories = ['node_modules'].concat(workspaces); 46 | jestCfg.moduleNameMapper = alias; 47 | } 48 | 49 | return jestCfg; 50 | }; 51 | -------------------------------------------------------------------------------- /presets/dev/src/configs/bundle/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const path = require('path'); 4 | const utils = require('@tunnckocore/utils'); 5 | 6 | module.exports = function createJestRollupConfig(options) { 7 | const opts = { cwd: process.cwd(), ...options }; 8 | const { exts, alias, workspaces } = utils.createAliases(opts.cwd); 9 | const ignores = [] 10 | .concat(opts.ignores) 11 | .filter(Boolean) 12 | .map((x) => (typeof x === 'string' ? x : x.toString())); 13 | 14 | /* eslint-disable-next-line import/no-dynamic-require, global-require */ 15 | const { meta: { bundle = [] } = {} } = require(path.join( 16 | opts.cwd, 17 | 'package.json', 18 | )); 19 | 20 | const isMonorepo = workspaces.length > 0; 21 | 22 | const jestCfg = { 23 | rootDir: opts.cwd, 24 | displayName: 'bundle', 25 | testMatch: isMonorepo 26 | ? bundle.map((item) => { 27 | const pkgNames = Object.keys(alias); 28 | const foundPkgName = pkgNames.find( 29 | (x) => x === item || x.startsWith(item) || x.includes(item), 30 | ); 31 | const source = alias[foundPkgName]; 32 | 33 | return `${source}/index.{${exts.join(',')}}`; 34 | }) 35 | : [`/src/index.{${exts.join(',')}}`], 36 | testPathIgnorePatterns: [ 37 | /node_modules/.toString(), 38 | /(?:__)?(?:fixtures?|supports?|shared)(?:__)?/.toString(), 39 | ].concat(ignores), 40 | moduleFileExtensions: exts, 41 | runner: 'jest-runner-rollup', 42 | }; 43 | 44 | if (isMonorepo) { 45 | jestCfg.moduleDirectories = ['node_modules'].concat(workspaces); 46 | jestCfg.moduleNameMapper = alias; 47 | } 48 | 49 | return jestCfg; 50 | }; 51 | -------------------------------------------------------------------------------- /presets/dev/src/configs/docs/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const utils = require('@tunnckocore/utils'); 4 | 5 | module.exports = function createJestDocksConfig(options) { 6 | const opts = { cwd: process.cwd(), ...options }; 7 | const { exts, alias, workspaces } = utils.createAliases(opts.cwd); 8 | const ignores = [] 9 | .concat(opts.ignores) 10 | .filter(Boolean) 11 | .map((x) => (typeof x === 'string' ? x : x.toString())); 12 | 13 | const isMonorepo = workspaces.length > 0; 14 | 15 | const jestCfg = { 16 | rootDir: opts.cwd, 17 | displayName: 'docs', 18 | testMatch: isMonorepo 19 | ? Object.values(alias) 20 | .map((source) => `${source}/*.{${exts.join(',')}}`) 21 | .filter((x) => { 22 | const ignored = ignores.find((name) => x.includes(name)); 23 | 24 | return !ignored; 25 | }) 26 | : [`/src/index.{${exts.join(',')}}`], 27 | testPathIgnorePatterns: [ 28 | /node_modules/.toString(), 29 | /(?:__)?(?:fixtures?|supports?|shared)(?:__)?/.toString(), 30 | ].concat(ignores), 31 | moduleFileExtensions: exts, 32 | runner: 'jest-runner-docs', 33 | }; 34 | 35 | if (isMonorepo) { 36 | jestCfg.moduleDirectories = ['node_modules'].concat(workspaces); 37 | jestCfg.moduleNameMapper = alias; 38 | } 39 | 40 | return jestCfg; 41 | }; 42 | -------------------------------------------------------------------------------- /presets/dev/src/configs/lint/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const path = require('path'); 4 | const utils = require('@tunnckocore/utils'); 5 | 6 | module.exports = function createJestESLintConfig(options) { 7 | const opts = { cwd: process.cwd(), ...options }; 8 | const { exts, alias, workspaces } = utils.createAliases(opts.cwd); 9 | const ignores = [] 10 | .concat(opts.ignores) 11 | .filter(Boolean) 12 | .map((x) => (typeof x === 'string' ? x : x.toString())); 13 | 14 | const isMonorepo = workspaces.length > 0; 15 | const inputs = [].concat(opts.input).filter(Boolean); 16 | let testMatch = null; 17 | 18 | // if monorepo setup 19 | if (isMonorepo) { 20 | testMatch = Object.values(alias).map((source) => { 21 | const src = source.endsWith('src') ? path.dirname(source) : source; 22 | 23 | return `${src}/**/*`; 24 | }); 25 | } else { 26 | testMatch = 27 | inputs.length > 0 28 | ? inputs 29 | : [`/{src,test,tests,__test__,__tests__}/**/*`]; 30 | } 31 | 32 | const jestCfg = { 33 | rootDir: opts.cwd, 34 | displayName: 'lint', 35 | testMatch, 36 | testPathIgnorePatterns: [ 37 | /node_modules/.toString(), 38 | /(?:__)?(?:fixtures?|supports?|shared)(?:__)?/.toString(), 39 | ].concat(ignores), 40 | moduleFileExtensions: exts, 41 | runner: '@tunnckocore/jest-runner-eslint', 42 | }; 43 | 44 | if (isMonorepo) { 45 | jestCfg.moduleDirectories = ['node_modules'].concat(workspaces); 46 | jestCfg.moduleNameMapper = alias; 47 | } 48 | 49 | return jestCfg; 50 | }; 51 | -------------------------------------------------------------------------------- /presets/dev/src/configs/test/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-dynamic-require, global-require */ 2 | 3 | const fs = require('fs'); 4 | const path = require('path'); 5 | const utils = require('@tunnckocore/utils'); 6 | const isCI = require('is-ci'); 7 | const picomatch = require('picomatch'); 8 | 9 | // eslint-disable-next-line max-statements 10 | module.exports = (options) => { 11 | const opts = { cwd: process.cwd(), ...options }; 12 | const { exts, workspaces, info, alias } = utils.createAliases(opts.cwd); 13 | const ignores = [] 14 | .concat(opts.ignores) 15 | .filter(Boolean) 16 | .map((x) => 17 | typeof x === 'string' ? new RegExp(x).toString() : x.toString(), 18 | ); 19 | 20 | const tests = ['test', 'tests', '__test__', '__tests__']; 21 | const isMonorepo = workspaces.length > 0; 22 | 23 | let testMatch = null; 24 | 25 | if (isMonorepo) { 26 | testMatch = workspaces 27 | .map( 28 | (ws) => 29 | `/${ws}/*/{${tests.join(',')}}/**/*.{${exts.join(',')}}`, 30 | ) 31 | .concat(ignores); 32 | } else { 33 | testMatch = [`/{${tests.join(',')}}/**/*.{${exts.join(',')}}`]; 34 | } 35 | 36 | const jestCfg = { 37 | rootDir: opts.cwd, 38 | displayName: 'test', 39 | testMatch, 40 | testPathIgnorePatterns: [ 41 | /node_modules/.toString(), 42 | /(?:__)?(?:fixtures?|supports?|shared|snapshots)(?:__)?/.toString(), 43 | ].concat(ignores), 44 | moduleFileExtensions: ['js', 'jsx', 'ts', 'tsx'], 45 | }; 46 | 47 | if (isMonorepo) { 48 | jestCfg.moduleDirectories = ['node_modules'].concat(workspaces); 49 | jestCfg.moduleNameMapper = alias; 50 | } 51 | 52 | if (isCI && !isMonorepo) { 53 | const { jest } = require(path.join(opts.cwd, 'package.json')); 54 | return { ...jest, ...jestCfg, collectCoverage: true }; 55 | } 56 | 57 | // collect coveragePathIgnorePatterns and coverageThreshold 58 | // from each package's package.json `jest` field and merge them 59 | // in one object that later put in the jest config 60 | if (isCI && isMonorepo) { 61 | const res = Object.keys(info) 62 | .filter((key) => fs.existsSync(path.join(opts.cwd, key, 'package.json'))) 63 | .reduce( 64 | (acc, pkgDir) => { 65 | const pkgRootDir = path.join(opts.cwd, pkgDir); 66 | 67 | const { 68 | jest: { 69 | coverageThreshold = {}, 70 | coveragePathIgnorePatterns = [], 71 | } = {}, 72 | } = require(path.join(pkgRootDir, 'package.json')); 73 | 74 | const patterns = [] 75 | .concat(coveragePathIgnorePatterns) 76 | .filter(Boolean) 77 | .map((x) => { 78 | const pattern = path.join(pkgDir, x); 79 | const regex = picomatch.makeRe(pattern); 80 | 81 | // coveragePathIgnorePatterns must be regex strings (KIND OF!!), 82 | // but we actually passing globs, 83 | // plus we remove `/^` and `$/` which micromatch adds 84 | return regex.toString().slice(2, -2); 85 | }); 86 | 87 | acc.coveragePathIgnorePatterns = acc.coveragePathIgnorePatterns.concat( 88 | patterns, 89 | ); 90 | 91 | Object.keys(coverageThreshold).forEach((key) => { 92 | const pattern = path.join(pkgDir, key); 93 | acc.coverageThreshold[pattern] = coverageThreshold[key]; 94 | return acc; 95 | }); 96 | 97 | return acc; 98 | }, 99 | { coverageThreshold: {}, coveragePathIgnorePatterns: [] }, 100 | ); 101 | 102 | const { jest } = require(path.join(opts.cwd, 'package.json')); 103 | const covPatterns = [] 104 | .concat(jest.coveragePathIgnorePatterns) 105 | .filter(Boolean); 106 | const covThreshold = jest.coverageThreshold; 107 | 108 | res.coveragePathIgnorePatterns = covPatterns 109 | // do the same, but for the monorepo's root jest.coveragePathIgnorePatterns 110 | .map((x) => { 111 | const regex = picomatch.makeRe(x); 112 | 113 | // coveragePathIgnorePatterns must be regex strings (KIND OF!!), 114 | // but we actually passing globs, 115 | // plus we remove `/^` and `$/` which micromatch adds 116 | return regex.toString().slice(2, -2); 117 | }) 118 | .concat(res.coveragePathIgnorePatterns); 119 | res.coverageThreshold = { ...res.coverageThreshold, ...covThreshold }; 120 | 121 | return { ...jestCfg, ...res, collectCoverage: true }; 122 | } 123 | 124 | return jestCfg; 125 | }; 126 | -------------------------------------------------------------------------------- /presets/dev/src/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const { hela } = require('@hela/core'); 4 | const { createJestCommand } = require('./utils'); 5 | 6 | const prog = hela(); 7 | 8 | exports.createJestCommand = createJestCommand; 9 | 10 | const createCommand = createJestCommand(prog); 11 | 12 | exports.build = createCommand('build', 'Build output files, using Babel', { 13 | alias: ['buid', 'bulid', 'built'], 14 | }); 15 | exports.bundle = createCommand('bundle', 'Bundle, using Rollup', { 16 | alias: ['bun', 'bundel', 'bunedl'], 17 | }); 18 | exports.docs = createCommand('docs', 'Generate API docs, with Docks', { 19 | alias: ['doc', 'docks'], 20 | }); 21 | exports.lint = createCommand('lint', 'Lint files, using ESLint+Prettier', { 22 | alias: ['l', 'lnt', 'lnit'], 23 | }); 24 | exports.test = createCommand('test', 'Test files, using Jest', { 25 | alias: ['t', 'tst', 'tset'], 26 | }); 27 | -------------------------------------------------------------------------------- /presets/dev/src/utils.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const fs = require('fs'); 4 | const path = require('path'); 5 | const { hela, exec, toFlags } = require('@hela/core'); 6 | 7 | exports.createJestCommand = function createJestCommand(prog) { 8 | return (name, description, settings = {}) => 9 | (prog || hela()) 10 | .command(name, description) 11 | .alias(settings.alias) 12 | .option('-a, --all', 'Run on all packages.') 13 | .option('-e, --exclude', 'Ignore pattern string.') 14 | .option( 15 | '-I, --input', 16 | 'Input patterns for the command, defaults to src and testing dirs.', 17 | ) 18 | .option( 19 | '-m, --testPathPattern', 20 | 'A regexp pattern string that is matched against all matched paths before executing.', 21 | ) 22 | .option( 23 | '-t, --testNamePattern', 24 | 'Run only tests with a name that matches the regex pattern', 25 | ) 26 | .option('-o, --onlyChanged', 'Run only on changed packages') 27 | .action(async function ssss(argv) { 28 | // switch the env set by default when running Jest. For ensurance. 29 | process.env.NODE_ENV = name; 30 | 31 | // console.log(arguments); 32 | const opts = { ...argv }; 33 | // console.log('xxxx', opts); 34 | 35 | const ignores = opts.exclude; 36 | const inputs = opts.input; 37 | 38 | // remove custom ones, because Jest fails on unknown options/flags 39 | [ 40 | 'a', 41 | 'm', 42 | 'e', 43 | 'I', 44 | 'input', 45 | 'exclude', 46 | 'bundle', 47 | 'docs', 48 | 'showStack', 49 | 'cwd', 50 | ].forEach((key) => { 51 | delete opts[key]; 52 | }); 53 | 54 | if (opts._) opts._.shift(); 55 | 56 | const flags = toFlags(opts, { allowCamelCase: true }); 57 | // console.log(opts, flags); 58 | const configDir = path.join(__dirname, 'configs', name); 59 | const configPath = path.join(configDir, 'config.js'); 60 | 61 | // eslint-disable-next-line import/no-dynamic-require, global-require 62 | const createConfig = require(configDir); 63 | 64 | // ? todo: caching, check if config is different, if not then do not call createConfig 65 | // ? that's to save some IO 66 | 67 | const config = createConfig({ ...opts, ignores, input: inputs }); 68 | const contents = `module.exports=${JSON.stringify(config)}`; 69 | 70 | fs.writeFileSync(configPath, contents); 71 | 72 | const cmd = `jest -c ${configPath} ${flags}`; 73 | console.log(cmd); 74 | 75 | try { 76 | await exec(cmd, { stdio: 'inherit' }); 77 | } catch (err) { 78 | if (argv.showStack) { 79 | console.log(err); 80 | } 81 | 82 | // eslint-disable-next-line unicorn/no-process-exit 83 | process.exit(1); 84 | } 85 | }); 86 | }; 87 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "@tunnckocore" 4 | ] 5 | } 6 | --------------------------------------------------------------------------------