├── .gitignore
├── .npmignore
├── LICENSE
├── README.md
├── package-lock.json
├── package.json
├── src
├── audios
│ ├── tomanocupacero.mp3
│ └── tomanocupacero.ogg
├── cli.js
├── forWindows.jscript
└── index.js
└── tomanocupacero.jpeg
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | daledale.png
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Daniel Piva
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # tomanocupacero™️
2 |
3 |

4 |
5 |
6 | > Tmnc pacero to chei de ódio [video](https://twitter.com/mcpozedorodo/status/1194809058194264064?lang=en)
7 |
8 | ## Compatibilidade
9 |
10 | - Mac
11 | - Linux
12 | - Windows
13 |
14 | ## Rodando com [npx](https://www.npmjs.com/package/npx)
15 | >O npx vem junto com o npm a partir da versão 5.2.0.
16 |
17 | Rode o comando:
18 |
19 | npx tomanocupacero
20 |
21 |
22 | ## Rodando via CLI
23 | Instale globalment e rode o comando:
24 |
25 | npm install -g tomanocupacero
26 |
27 | tomanocupacero
28 |
29 |
30 | ## Veja também
31 |
32 | - [Oloquinho](https://github.com/oloquinho/oloquinho)
33 | - [xFiles](https://github.com/BrOrlandi/xfiles/)
34 | - [Faustão Errou](https://github.com/BrOrlandi/faustao-errou/)
35 | - [Omaewa](https://github.com/BrOrlandi/omaewa/)
36 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tomanocuparcero",
3 | "version": "0.0.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@babel/code-frame": {
8 | "version": "7.10.4",
9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
10 | "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
11 | "requires": {
12 | "@babel/highlight": "^7.10.4"
13 | }
14 | },
15 | "@babel/helper-validator-identifier": {
16 | "version": "7.10.4",
17 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
18 | "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw=="
19 | },
20 | "@babel/highlight": {
21 | "version": "7.10.4",
22 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
23 | "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
24 | "requires": {
25 | "@babel/helper-validator-identifier": "^7.10.4",
26 | "chalk": "^2.0.0",
27 | "js-tokens": "^4.0.0"
28 | }
29 | },
30 | "@types/minimist": {
31 | "version": "1.2.0",
32 | "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz",
33 | "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY="
34 | },
35 | "@types/normalize-package-data": {
36 | "version": "2.4.0",
37 | "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
38 | "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA=="
39 | },
40 | "ansi-styles": {
41 | "version": "3.2.1",
42 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
43 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
44 | "requires": {
45 | "color-convert": "^1.9.0"
46 | }
47 | },
48 | "arrify": {
49 | "version": "2.0.1",
50 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
51 | "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug=="
52 | },
53 | "camelcase": {
54 | "version": "6.0.0",
55 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz",
56 | "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w=="
57 | },
58 | "camelcase-keys": {
59 | "version": "6.2.2",
60 | "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
61 | "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
62 | "requires": {
63 | "camelcase": "^5.3.1",
64 | "map-obj": "^4.0.0",
65 | "quick-lru": "^4.0.1"
66 | },
67 | "dependencies": {
68 | "camelcase": {
69 | "version": "5.3.1",
70 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
71 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
72 | }
73 | }
74 | },
75 | "chalk": {
76 | "version": "2.4.2",
77 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
78 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
79 | "requires": {
80 | "ansi-styles": "^3.2.1",
81 | "escape-string-regexp": "^1.0.5",
82 | "supports-color": "^5.3.0"
83 | }
84 | },
85 | "color-convert": {
86 | "version": "1.9.3",
87 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
88 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
89 | "requires": {
90 | "color-name": "1.1.3"
91 | }
92 | },
93 | "color-name": {
94 | "version": "1.1.3",
95 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
96 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
97 | },
98 | "decamelize": {
99 | "version": "1.2.0",
100 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
101 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
102 | },
103 | "decamelize-keys": {
104 | "version": "1.1.0",
105 | "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
106 | "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
107 | "requires": {
108 | "decamelize": "^1.1.0",
109 | "map-obj": "^1.0.0"
110 | },
111 | "dependencies": {
112 | "map-obj": {
113 | "version": "1.0.1",
114 | "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
115 | "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0="
116 | }
117 | }
118 | },
119 | "error-ex": {
120 | "version": "1.3.2",
121 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
122 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
123 | "requires": {
124 | "is-arrayish": "^0.2.1"
125 | }
126 | },
127 | "escape-string-regexp": {
128 | "version": "1.0.5",
129 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
130 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
131 | },
132 | "find-up": {
133 | "version": "4.1.0",
134 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
135 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
136 | "requires": {
137 | "locate-path": "^5.0.0",
138 | "path-exists": "^4.0.0"
139 | }
140 | },
141 | "hard-rejection": {
142 | "version": "2.1.0",
143 | "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
144 | "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA=="
145 | },
146 | "has-flag": {
147 | "version": "3.0.0",
148 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
149 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
150 | },
151 | "hosted-git-info": {
152 | "version": "2.8.8",
153 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
154 | "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg=="
155 | },
156 | "indent-string": {
157 | "version": "4.0.0",
158 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
159 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg=="
160 | },
161 | "is-arrayish": {
162 | "version": "0.2.1",
163 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
164 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
165 | },
166 | "is-plain-obj": {
167 | "version": "1.1.0",
168 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
169 | "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
170 | },
171 | "js-tokens": {
172 | "version": "4.0.0",
173 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
174 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
175 | },
176 | "json-parse-better-errors": {
177 | "version": "1.0.2",
178 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
179 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
180 | },
181 | "kind-of": {
182 | "version": "6.0.3",
183 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
184 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
185 | },
186 | "lines-and-columns": {
187 | "version": "1.1.6",
188 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
189 | "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA="
190 | },
191 | "locate-path": {
192 | "version": "5.0.0",
193 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
194 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
195 | "requires": {
196 | "p-locate": "^4.1.0"
197 | }
198 | },
199 | "map-obj": {
200 | "version": "4.1.0",
201 | "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
202 | "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g=="
203 | },
204 | "meow": {
205 | "version": "7.0.1",
206 | "resolved": "https://registry.npmjs.org/meow/-/meow-7.0.1.tgz",
207 | "integrity": "sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw==",
208 | "requires": {
209 | "@types/minimist": "^1.2.0",
210 | "arrify": "^2.0.1",
211 | "camelcase": "^6.0.0",
212 | "camelcase-keys": "^6.2.2",
213 | "decamelize-keys": "^1.1.0",
214 | "hard-rejection": "^2.1.0",
215 | "minimist-options": "^4.0.2",
216 | "normalize-package-data": "^2.5.0",
217 | "read-pkg-up": "^7.0.1",
218 | "redent": "^3.0.0",
219 | "trim-newlines": "^3.0.0",
220 | "type-fest": "^0.13.1",
221 | "yargs-parser": "^18.1.3"
222 | }
223 | },
224 | "min-indent": {
225 | "version": "1.0.1",
226 | "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
227 | "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg=="
228 | },
229 | "minimist-options": {
230 | "version": "4.1.0",
231 | "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
232 | "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
233 | "requires": {
234 | "arrify": "^1.0.1",
235 | "is-plain-obj": "^1.1.0",
236 | "kind-of": "^6.0.3"
237 | },
238 | "dependencies": {
239 | "arrify": {
240 | "version": "1.0.1",
241 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
242 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0="
243 | }
244 | }
245 | },
246 | "normalize-package-data": {
247 | "version": "2.5.0",
248 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
249 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
250 | "requires": {
251 | "hosted-git-info": "^2.1.4",
252 | "resolve": "^1.10.0",
253 | "semver": "2 || 3 || 4 || 5",
254 | "validate-npm-package-license": "^3.0.1"
255 | }
256 | },
257 | "p-limit": {
258 | "version": "2.3.0",
259 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
260 | "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
261 | "requires": {
262 | "p-try": "^2.0.0"
263 | }
264 | },
265 | "p-locate": {
266 | "version": "4.1.0",
267 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
268 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
269 | "requires": {
270 | "p-limit": "^2.2.0"
271 | }
272 | },
273 | "p-try": {
274 | "version": "2.2.0",
275 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
276 | "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
277 | },
278 | "parse-json": {
279 | "version": "5.0.1",
280 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.1.tgz",
281 | "integrity": "sha512-ztoZ4/DYeXQq4E21v169sC8qWINGpcosGv9XhTDvg9/hWvx/zrFkc9BiWxR58OJLHGk28j5BL0SDLeV2WmFZlQ==",
282 | "requires": {
283 | "@babel/code-frame": "^7.0.0",
284 | "error-ex": "^1.3.1",
285 | "json-parse-better-errors": "^1.0.1",
286 | "lines-and-columns": "^1.1.6"
287 | }
288 | },
289 | "path-exists": {
290 | "version": "4.0.0",
291 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
292 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
293 | },
294 | "path-parse": {
295 | "version": "1.0.6",
296 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
297 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
298 | },
299 | "quick-lru": {
300 | "version": "4.0.1",
301 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
302 | "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g=="
303 | },
304 | "read-pkg": {
305 | "version": "5.2.0",
306 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
307 | "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
308 | "requires": {
309 | "@types/normalize-package-data": "^2.4.0",
310 | "normalize-package-data": "^2.5.0",
311 | "parse-json": "^5.0.0",
312 | "type-fest": "^0.6.0"
313 | },
314 | "dependencies": {
315 | "type-fest": {
316 | "version": "0.6.0",
317 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
318 | "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg=="
319 | }
320 | }
321 | },
322 | "read-pkg-up": {
323 | "version": "7.0.1",
324 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
325 | "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
326 | "requires": {
327 | "find-up": "^4.1.0",
328 | "read-pkg": "^5.2.0",
329 | "type-fest": "^0.8.1"
330 | },
331 | "dependencies": {
332 | "type-fest": {
333 | "version": "0.8.1",
334 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
335 | "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA=="
336 | }
337 | }
338 | },
339 | "redent": {
340 | "version": "3.0.0",
341 | "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
342 | "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
343 | "requires": {
344 | "indent-string": "^4.0.0",
345 | "strip-indent": "^3.0.0"
346 | }
347 | },
348 | "resolve": {
349 | "version": "1.17.0",
350 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
351 | "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
352 | "requires": {
353 | "path-parse": "^1.0.6"
354 | }
355 | },
356 | "semver": {
357 | "version": "5.7.1",
358 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
359 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
360 | },
361 | "spdx-correct": {
362 | "version": "3.1.1",
363 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
364 | "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
365 | "requires": {
366 | "spdx-expression-parse": "^3.0.0",
367 | "spdx-license-ids": "^3.0.0"
368 | }
369 | },
370 | "spdx-exceptions": {
371 | "version": "2.3.0",
372 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
373 | "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A=="
374 | },
375 | "spdx-expression-parse": {
376 | "version": "3.0.1",
377 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
378 | "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
379 | "requires": {
380 | "spdx-exceptions": "^2.1.0",
381 | "spdx-license-ids": "^3.0.0"
382 | }
383 | },
384 | "spdx-license-ids": {
385 | "version": "3.0.5",
386 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
387 | "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q=="
388 | },
389 | "strip-indent": {
390 | "version": "3.0.0",
391 | "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
392 | "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
393 | "requires": {
394 | "min-indent": "^1.0.0"
395 | }
396 | },
397 | "supports-color": {
398 | "version": "5.5.0",
399 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
400 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
401 | "requires": {
402 | "has-flag": "^3.0.0"
403 | }
404 | },
405 | "trim-newlines": {
406 | "version": "3.0.0",
407 | "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz",
408 | "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA=="
409 | },
410 | "type-fest": {
411 | "version": "0.13.1",
412 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
413 | "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg=="
414 | },
415 | "validate-npm-package-license": {
416 | "version": "3.0.4",
417 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
418 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
419 | "requires": {
420 | "spdx-correct": "^3.0.0",
421 | "spdx-expression-parse": "^3.0.0"
422 | }
423 | },
424 | "yargs-parser": {
425 | "version": "18.1.3",
426 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
427 | "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
428 | "requires": {
429 | "camelcase": "^5.0.0",
430 | "decamelize": "^1.2.0"
431 | },
432 | "dependencies": {
433 | "camelcase": {
434 | "version": "5.3.1",
435 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
436 | "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
437 | }
438 | }
439 | }
440 | }
441 | }
442 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tomanocupacero",
3 | "version": "0.0.4",
4 | "description": "Toma no cu pacero eu to chei de odio",
5 | "main": "src/cli.js",
6 | "scripts": {
7 | "start": "node src/cli.js"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git+ssh://git@github.com/imdanielpiva/tomanocupacero.git"
12 | },
13 | "keywords": [
14 | "mc",
15 | "poze"
16 | ],
17 | "author": "Daniel Piva ",
18 | "license": "MIT",
19 | "bin": {
20 | "tomanocupacero": "./src/cli.js"
21 | },
22 | "bugs": {
23 | "url": "https://github.com/imdanielpiva/tomanocupacero/issues"
24 | },
25 | "homepage": "https://github.com/imdanielpiva/tomanocupacero#readme",
26 | "dependencies": {
27 | "meow": "^7.0.1"
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/audios/tomanocupacero.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imdanielpiva/tomanocupacero/b907deb8dacf3710951eaf1197d984337ee70d45/src/audios/tomanocupacero.mp3
--------------------------------------------------------------------------------
/src/audios/tomanocupacero.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imdanielpiva/tomanocupacero/b907deb8dacf3710951eaf1197d984337ee70d45/src/audios/tomanocupacero.ogg
--------------------------------------------------------------------------------
/src/cli.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | const meow = require('meow');
4 | const tomaNoCuPacero = require('./index')
5 |
6 | // TODO: when tail call optimization is implemented on NodeJS, simplify this.
7 | const cliMode = async ({ flags }) => {
8 | while(true) await tomaNoCuPacero();
9 | };
10 |
11 | const cliInterface = meow({});
12 |
13 | cliMode(cliInterface);
--------------------------------------------------------------------------------
/src/forWindows.jscript:
--------------------------------------------------------------------------------
1 | var file = WScript.Arguments.Item(0);
2 |
3 | var fileSystemObject = new ActiveXObject("Scripting.FileSystemObject");
4 | var absoluteFilePath = fileSystemObject.GetAbsolutePathName(file);
5 |
6 | var player = new ActiveXObject("WMPlayer.OCX");
7 | player.URL = absoluteFilePath;
8 | player.controls.play();
9 |
10 | while(player.playState!=1)
11 | WScript.Sleep(100);
12 |
13 | player.close();
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | const fs = require('fs');
2 | const path = require('path');
3 | const { promisify } = require('util');
4 | const { exec } = require('child_process');
5 |
6 | const execPromise = promisify(exec);
7 |
8 | const mainPath = path.dirname(fs.realpathSync(__filename));
9 | const windowsScript = path.join(mainPath, './forWindows.jscript');
10 | const soundPath = path.join(mainPath, './audios/tomanocupacero');
11 |
12 | const tomaNoCuParcero = () => {
13 | const commandsForEachPlatform = {
14 | linux: `paplay ${soundPath}.ogg`,
15 | darwin: `afplay ${soundPath}.mp3`,
16 | win32: `cscript /E:JScript /nologo "${windowsScript}" "${soundPath}.mp3"`,
17 | };
18 |
19 | const platform = process.platform;
20 | const codeToExecute = commandsForEachPlatform[platform];
21 |
22 | return execPromise(codeToExecute);
23 | };
24 |
25 | module.exports = tomaNoCuParcero;
--------------------------------------------------------------------------------
/tomanocupacero.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/imdanielpiva/tomanocupacero/b907deb8dacf3710951eaf1197d984337ee70d45/tomanocupacero.jpeg
--------------------------------------------------------------------------------