stacks 0.1.0 → 0.37.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/.gitignore +10 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +53 -104
  4. package/auto-imports.d.ts +826 -0
  5. package/bin/stacks.mjs +4 -0
  6. package/components.d.ts +22 -0
  7. package/core/actions/README.md +59 -0
  8. package/core/actions/node_modules/.bin/markdown-it +17 -0
  9. package/core/actions/node_modules/.bin/mkdist +17 -0
  10. package/core/actions/package.json +64 -0
  11. package/core/actions/src/copy-types.ts +22 -0
  12. package/core/actions/src/generate/component-meta.ts +94 -0
  13. package/core/actions/src/generate/index.ts +4 -0
  14. package/core/actions/src/generate/lib-entries.ts +106 -0
  15. package/core/actions/src/generate/package-json.ts +87 -0
  16. package/core/actions/src/generate/vscode-custom-data.ts +28 -0
  17. package/core/actions/src/generate/vue-compat.ts +17 -0
  18. package/core/actions/src/generate-component-meta.ts +19 -0
  19. package/core/actions/src/generate-ide-helpers.ts +23 -0
  20. package/core/actions/src/generate-lib-entries.ts +22 -0
  21. package/core/actions/src/generate-package-json.ts +15 -0
  22. package/core/actions/src/generate-vscode-custom-data.ts +20 -0
  23. package/core/actions/src/generate-vue-compat.ts +10 -0
  24. package/core/arrays/README.md +59 -0
  25. package/core/arrays/node_modules/.bin/mkdist +17 -0
  26. package/core/arrays/node_modules/.bin/tsc +17 -0
  27. package/core/arrays/node_modules/.bin/tsserver +17 -0
  28. package/core/arrays/package.json +50 -0
  29. package/core/arrays/src/index.ts +3 -0
  30. package/core/build/README.md +59 -0
  31. package/core/build/entries/README.md +7 -0
  32. package/core/build/node_modules/.bin/jiti +17 -0
  33. package/core/build/node_modules/.bin/mkdist +17 -0
  34. package/core/build/node_modules/.bin/vite +17 -0
  35. package/core/build/node_modules/.bin/vite-ssg +17 -0
  36. package/core/build/node_modules/.bin/vue-docgen-web-types +17 -0
  37. package/core/build/package.json +71 -0
  38. package/core/build/src/example-vue.ts +26 -0
  39. package/core/build/src/example-wc.ts +26 -0
  40. package/core/build/src/functions.ts +56 -0
  41. package/core/build/src/index.ts +7 -0
  42. package/core/build/src/pages.ts +50 -0
  43. package/core/build/src/stacks.ts +204 -0
  44. package/core/build/src/vue-components.ts +76 -0
  45. package/core/build/src/web-components.ts +63 -0
  46. package/core/build/web-types.config.cjs +4 -0
  47. package/core/build/web-types.ts +14 -0
  48. package/core/collections/README.md +59 -0
  49. package/core/collections/node_modules/.bin/mkdist +17 -0
  50. package/core/collections/node_modules/.bin/tsc +17 -0
  51. package/core/collections/node_modules/.bin/tsserver +17 -0
  52. package/core/collections/package.json +54 -0
  53. package/core/collections/src/index.ts +1 -0
  54. package/core/fs/README.md +59 -0
  55. package/core/fs/node_modules/.bin/mkdist +17 -0
  56. package/core/fs/package.json +56 -0
  57. package/core/fs/src/index.ts +170 -0
  58. package/core/helpers/node_modules/.bin/mkdist +17 -0
  59. package/core/helpers/package.json +58 -0
  60. package/core/helpers/src/index.ts +129 -0
  61. package/core/modules/README.md +61 -0
  62. package/core/modules/node_modules/.bin/mkdist +17 -0
  63. package/core/modules/package.json +51 -0
  64. package/core/modules/src/i18n.ts +23 -0
  65. package/core/modules/src/nprogress.ts +12 -0
  66. package/core/modules/src/pwa.ts +12 -0
  67. package/core/objects/README.md +59 -0
  68. package/core/objects/node_modules/.bin/mkdist +17 -0
  69. package/core/objects/node_modules/.bin/tsc +17 -0
  70. package/core/objects/node_modules/.bin/tsserver +17 -0
  71. package/core/objects/package.json +51 -0
  72. package/core/objects/src/index.ts +1 -0
  73. package/core/paths/node_modules/.bin/mkdist +17 -0
  74. package/core/paths/node_modules/.bin/tsc +17 -0
  75. package/core/paths/node_modules/.bin/tsserver +17 -0
  76. package/core/paths/package.json +51 -0
  77. package/core/paths/src/index.ts +178 -0
  78. package/core/router/README.md +59 -0
  79. package/core/router/node_modules/.bin/mkdist +17 -0
  80. package/core/router/package.json +51 -0
  81. package/core/router/src/index.ts +14 -0
  82. package/core/security/README.md +59 -0
  83. package/core/security/node_modules/.bin/mkdist +17 -0
  84. package/core/security/package.json +56 -0
  85. package/core/security/src/crypt.ts +14 -0
  86. package/core/security/src/hash.ts +52 -0
  87. package/core/security/src/index.ts +3 -0
  88. package/core/security/src/key.ts +11 -0
  89. package/core/strings/README.md +59 -0
  90. package/core/strings/node_modules/.bin/mkdist +17 -0
  91. package/core/strings/node_modules/.bin/tsc +17 -0
  92. package/core/strings/node_modules/.bin/tsserver +17 -0
  93. package/core/strings/package.json +63 -0
  94. package/core/strings/src/index.ts +14 -0
  95. package/core/types/README.md +59 -0
  96. package/core/types/node_modules/.bin/markdown-it +17 -0
  97. package/core/types/node_modules/.bin/mkdist +17 -0
  98. package/core/types/node_modules/.bin/vite +17 -0
  99. package/core/types/node_modules/.bin/vitepress +17 -0
  100. package/core/types/package.json +60 -0
  101. package/core/types/src/app.ts +131 -0
  102. package/core/types/src/auto-imports.ts +3 -0
  103. package/core/types/src/build.ts +3 -0
  104. package/core/types/src/cli.ts +49 -0
  105. package/core/types/src/components.ts +66 -0
  106. package/core/types/src/deploy.ts +11 -0
  107. package/core/types/src/docs.ts +3 -0
  108. package/core/types/src/exit-code.ts +10 -0
  109. package/core/types/src/fs.ts +17 -0
  110. package/core/types/src/git.ts +131 -0
  111. package/core/types/src/hashing.ts +107 -0
  112. package/core/types/src/i18n.ts +19 -0
  113. package/core/types/src/index.ts +21 -0
  114. package/core/types/src/inspect.ts +10 -0
  115. package/core/types/src/layout.ts +8 -0
  116. package/core/types/src/library.ts +148 -0
  117. package/core/types/src/manifest.ts +9 -0
  118. package/core/types/src/markdown.ts +198 -0
  119. package/core/types/src/pages.ts +8 -0
  120. package/core/types/src/pwa.ts +8 -0
  121. package/core/types/src/ssg.ts +3 -0
  122. package/core/types/src/ui.ts +141 -0
  123. package/core/ui/README.md +60 -0
  124. package/core/ui/node_modules/.bin/mkdist +17 -0
  125. package/core/ui/node_modules/.bin/tsc +17 -0
  126. package/core/ui/node_modules/.bin/tsserver +17 -0
  127. package/core/ui/node_modules/.bin/vue-tsc +17 -0
  128. package/core/ui/package.json +62 -0
  129. package/core/ui/src/index.ts +60 -0
  130. package/custom-elements.json +14 -0
  131. package/examples/vue-components/App.vue +12 -0
  132. package/examples/vue-components/favicon.png +0 -0
  133. package/examples/vue-components/index.html +20 -0
  134. package/examples/web-components/favicon.png +0 -0
  135. package/examples/web-components/index.html +13 -0
  136. package/functions/node_modules/.bin/artisan +17 -0
  137. package/functions/node_modules/.bin/stacks +17 -0
  138. package/functions/node_modules/.bin/stx +17 -0
  139. package/functions/package.json +40 -0
  140. package/netlify.toml +18 -0
  141. package/nitro.config.ts +6 -0
  142. package/package.json +224 -27
  143. package/pages/App.vue +26 -0
  144. package/pages/index.html +23 -0
  145. package/pages/main.ts +26 -0
  146. package/pages/public/_headers +3 -0
  147. package/pages/public/favicon-dark.svg +3 -0
  148. package/pages/public/favicon.svg +3 -0
  149. package/pages/public/pwa-192x192.png +0 -0
  150. package/pages/public/pwa-512x512.png +0 -0
  151. package/pages/public/safari-pinned-tab.svg +41 -0
  152. package/pages/styles/main.css +29 -0
  153. package/pages/styles/markdown.css +28 -0
  154. package/scripts/ensure-env.sh +248 -0
  155. package/shims.d.ts +29 -0
  156. package/simple-git-hooks.cjs +4 -0
  157. package/src/cli/actions/build.ts +160 -0
  158. package/src/cli/actions/commit.ts +9 -0
  159. package/src/cli/actions/dev.ts +47 -0
  160. package/src/cli/actions/examples.ts +74 -0
  161. package/src/cli/actions/fresh.ts +9 -0
  162. package/src/cli/actions/generate.ts +159 -0
  163. package/src/cli/actions/index.ts +12 -0
  164. package/src/cli/actions/key.ts +31 -0
  165. package/src/cli/actions/lint.ts +19 -0
  166. package/src/cli/actions/make.ts +116 -0
  167. package/src/cli/actions/release.ts +9 -0
  168. package/src/cli/actions/test.ts +39 -0
  169. package/src/cli/actions/types.ts +180 -0
  170. package/src/cli/actions/update.ts +90 -0
  171. package/src/cli/build.ts +49 -0
  172. package/src/cli/create.ts +71 -0
  173. package/src/cli/dev.ts +28 -0
  174. package/src/cli/example.ts +28 -0
  175. package/src/cli/generate.ts +64 -0
  176. package/src/cli/index.ts +13 -0
  177. package/src/cli/key.ts +12 -0
  178. package/src/cli/make.ts +47 -0
  179. package/src/cli/test.ts +24 -0
  180. package/src/cli/types.ts +18 -0
  181. package/src/cli/update.ts +17 -0
  182. package/src/cli/utility.ts +39 -0
  183. package/src/cli.ts +48 -0
  184. package/src/docs.ts +4 -0
  185. package/src/index.ts +22 -0
  186. package/tsconfig.json +96 -0
  187. package/vitest.config.ts +22 -0
  188. package/vue-components/dist/.gitkeep +0 -0
  189. package/vue-components/index.html +13 -0
  190. package/vue-components/main.ts +18 -0
  191. package/vue-components/node_modules/.bin/artisan +17 -0
  192. package/vue-components/node_modules/.bin/stacks +17 -0
  193. package/vue-components/node_modules/.bin/stx +17 -0
  194. package/vue-components/package.json +40 -0
  195. package/web-components/dist/.gitkeep +0 -0
  196. package/web-components/node_modules/.bin/artisan +17 -0
  197. package/web-components/node_modules/.bin/stacks +17 -0
  198. package/web-components/node_modules/.bin/stx +17 -0
  199. package/web-components/package.json +40 -0
  200. package/web-types.json +67 -0
  201. package/.npmignore +0 -1
  202. package/.travis.yml +0 -4
  203. package/examples/stringReverse.js +0 -41
  204. package/examples/sumServer.js +0 -21
  205. package/examples/sumWorker.js +0 -23
  206. package/index.js +0 -1
  207. package/lib/stacks.js +0 -413
  208. package/test/test.stacks.js +0 -148
package/.gitignore ADDED
@@ -0,0 +1,10 @@
1
+ .nitro
2
+ .output
3
+ core/vue-components/.vite-inspect
4
+ core/build/entries/*.ts
5
+ **/dist/*.cjs
6
+ **/dist/*.mjs
7
+ **/dist/**/*.mjs
8
+ **/dist/*.css
9
+ **/dist/*.d.ts
10
+ **/dist/**/*.d.ts
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ # MIT License
2
+
3
+ Copyright (c) 2022 Open Web Foundation
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.
package/README.md CHANGED
@@ -1,118 +1,67 @@
1
- stacks
2
- ======
3
-
4
- Simple, reliable request/reply-based parallel computing over TCP.
5
-
6
- [![Build Status](https://travis-ci.org/dscanlonpa/stacks.png?branch=master)](https://travis-ci.org/dscanlonpa/stacks)
7
-
8
- What is stacks?
9
- ---------------
10
- Stacks provides a simple request/reply interface to parallel computing. It's simply a queue of requests that clients
11
- (seperate worker machines) reply to. It's designed to be reliable and easy-to-use in situations involving long, compute-heavy requests.
12
-
13
- Features
14
- --------
15
- + JSON, BSON, binary support msgpack protocol
16
- + Automatic round-robin scheduling
17
- + Automatic rescheduling of failed requests
18
- + Typed requests. `client.on(type, function(body, reply) { ...` interface
19
- + Configurable per-request-type worker concurrency limits
20
- + Supports zero or more client workers
21
- + Automatically saves requests received when no worker is available, and schedules them when the next worker connects
22
- + Automatically reschedules requests that were pending on clients that disconnect
23
-
24
- Installation
25
- ------------
26
- To begin using stacks, you must have at least node v0.10 or higher installed.
27
-
28
- Install from npm
29
- ```
30
- $ (sudo) npm install --save stacks
31
- ```
32
-
33
- And add it to your project
34
- ```javascript
35
- var stacks = require('stacks');
36
- ...
37
- ```
38
-
39
- * * *
40
-
41
- making requests
42
- ===============
43
- The master node makes requests to stacks. The requests are automatically handled by clients.
44
- ```javascript
45
- var stacks = require('stacks');
46
- // Listen for clients on port 3000
47
- stacks.listen(3000);
48
-
49
- stacks.request('string reverse', 'hello', { maxRetries: 5 }, function (error, reversedString) {
50
- if (error) {
51
- console.error('Failed to reverse string after 5 retries. Error:', error);
52
- } else {
53
- console.log('Reversed string:', reversedString); // Reversed string: olleh
54
- }
55
- });
1
+ # Rapid Application Development
2
+
3
+ This Stacks.js framework/package contains the core logic—its runtime, helpers, and CLI (excluding the IDE setup).
4
+
5
+ ## ☘️ Features
6
+
7
+ The ultimate goal of the framework is to _help you_ build applications rapidly. Whether it's APIs, a component and/or function library, or simply a statically generate site. Stacks is a toolkit of composables, methods, and other goodies required to build optimized outputs. It's a highly optimized build process that automatically generates `.mjs` & `.cjs` library distributions for you, including its TypeScript types.
8
+
9
+ Other included core features are:
10
+
11
+ - ⚡️ Vite powered, optimized for speed
12
+ - 🚜 Create one component, automatically generate a Vue & Web Component library
13
+ - 🎨 Optimized CSS engine for Vue & Web Components, and SSG pages _(defaults to Tailwind CSS utility classes)_
14
+ - 👣 Tiny foot-print in production builds
15
+ - 🌳 Treeshaking for Vue & Web Components, and function libraries
16
+ - 💬 Fully-typed TypeScript definitions
17
+ - 📰 Automatically publishes your libraries to npm & creates your changelogs
18
+ - 🧙🏼‍♀️ Unified way to access hundreds of [icon sets](https://icon-sets.iconify.design)
19
+ [Icons in Pure CSS](https://antfu.me/posts/icons-in-pure-css)
20
+
21
+ And all of this in a zero-config, yet highly-configurable, way.
22
+
23
+ ## 🤖 Usage
24
+
25
+ If you want to use Stacks outside of this framework, install it as a dev dependency:
26
+
27
+ ```bash
28
+ pnpm i -D stacks
56
29
  ```
57
30
 
58
- handling requests
59
- =================
60
- ```javascript
61
- var stacks = require('stacks');
62
- // connect to stacks server
63
- stacks.connect(3000, function(client) {
64
-
65
- client.on('string reverse', function(string, reply) {
66
- var reversedString = string.split("").reverse().join("");
67
- var error = null;
68
- reply(error, reversedString);
69
- }, 15); // handle only 15 concurrent string reverse requests at a time
70
-
71
- });
31
+ Now, you can use it in your project:
32
+
33
+ ```ts
34
+ import * as stacks from 'stacks'
72
35
  ```
73
36
 
74
- * * *
37
+ You may easily import any of the exported methods. Learn more in the docs.
38
+
39
+ ## 🧪 Testing
40
+
41
+ ```bash
42
+ pnpm test
43
+ ```
44
+
45
+ ## 📈 Changelog
46
+
47
+ Please see our [releases](https://github.com/stacksjs/vue-components-library-starter/releases) page for more information on what has changed recently.
75
48
 
76
- Server API
77
- ==========
49
+ ## 💪🏼 Contributing
78
50
 
79
- ## listen(port, [callback])
80
- Listen for client (worker) connections
81
- + _Number_ `port`: Port to listen for client connections on
82
- + _Function_ `callback`: Callback function invoked when stacks has begun listening. Takes no arguments
51
+ Please see [CONTRIBUTING](../../.github/CONTRIBUTING.md) for details.
83
52
 
84
- ## request(type, body, [options], callback)
85
- Make a request on stacks
86
- + _String_ `type`: Type of request. Used in client interface to process/reply i.e., `client.on(type, function(body, reply) {...`
87
- + _Mixed_ `body`: The request body that will be received by the client request worker. `WARNING: `Arrays will be parsed as arguments and cannot be sent as the top-level object in a request.
88
- + _Object_ `options`: Request options.
89
- + _Function_ `callback`: Callback function invoked when request completes (or fails after options.maxRetries). Takes arguments `error`, `response`.
53
+ ## 🏝 Community
90
54
 
91
- ### request options
92
- + _Number_ `maxRetries` (3): The maximum amount of retries to attempt before invoking request callback with `error`. (These retries are rescheduled by stacks (round-robin if multiple clients are connected)).
55
+ For help, discussion about best practices, or any other conversation that would benefit from being searchable:
93
56
 
94
- Client API
95
- ==========
57
+ [Discussions on GitHub](https://github.com/stacksjs/web-components-library-starter/discussions)
96
58
 
97
- ## connect(server, callback)
98
- Connect to stacks server
99
- + _Mixed_ `server`: If _Number_, server is interpreted as port. If _Object_, server must have the signature `{ host: '[host-ip-address]', port: 3000 }`
100
- + _Function_ `callback`: Invoked after client is connected to stacks server. Takes argument `client`.
59
+ For casual chit-chat with others using this package:
101
60
 
102
- ## disconnect()
103
- Disconnect from stacks server
61
+ [Join the Open Web Discord Server](https://discord.ow3.org)
104
62
 
105
- ## Client
106
- Instance methods of the client object passed to the #connect() callback.
63
+ ## 📄 License
107
64
 
108
- #### on(type, worker, [concurrency])
109
- Handle and reply to requests of type `type`
110
- + _String_ `type`: Type of request to handle with `concurrency` concurrent `worker` functions
111
- + _Function_ `worker`: Function that processes and replies to a request. Takes arguments `body`– the request body –and `reply`– the reply function.
112
- + _Number_ `concurrency` (1): Limit of concurrent `worker` functions to use for requests of type `type`.
113
-
114
- License
115
- =======
116
-
117
- MIT
65
+ The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.
118
66
 
67
+ Made with ❤️