stacks 0.1.0 → 0.37.3

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 (219) hide show
  1. package/.gitignore +10 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +65 -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/node_modules/.bin/tsc +17 -0
  11. package/core/actions/node_modules/.bin/tsserver +17 -0
  12. package/core/actions/package.json +64 -0
  13. package/core/actions/src/copy-types.ts +22 -0
  14. package/core/actions/src/generate/component-meta.ts +94 -0
  15. package/core/actions/src/generate/index.ts +4 -0
  16. package/core/actions/src/generate/lib-entries.ts +106 -0
  17. package/core/actions/src/generate/package-json.ts +87 -0
  18. package/core/actions/src/generate/vscode-custom-data.ts +28 -0
  19. package/core/actions/src/generate/vue-compat.ts +17 -0
  20. package/core/actions/src/generate-component-meta.ts +19 -0
  21. package/core/actions/src/generate-ide-helpers.ts +23 -0
  22. package/core/actions/src/generate-lib-entries.ts +22 -0
  23. package/core/actions/src/generate-package-json.ts +15 -0
  24. package/core/actions/src/generate-vscode-custom-data.ts +20 -0
  25. package/core/actions/src/generate-vue-compat.ts +10 -0
  26. package/core/arrays/README.md +59 -0
  27. package/core/arrays/node_modules/.bin/mkdist +17 -0
  28. package/core/arrays/node_modules/.bin/tsc +17 -0
  29. package/core/arrays/node_modules/.bin/tsserver +17 -0
  30. package/core/arrays/package.json +50 -0
  31. package/core/arrays/src/index.ts +3 -0
  32. package/core/build/README.md +59 -0
  33. package/core/build/entries/README.md +7 -0
  34. package/core/build/node_modules/.bin/acorn +17 -0
  35. package/core/build/node_modules/.bin/browserslist +17 -0
  36. package/core/build/node_modules/.bin/jiti +17 -0
  37. package/core/build/node_modules/.bin/mkdist +17 -0
  38. package/core/build/node_modules/.bin/rollup +17 -0
  39. package/core/build/node_modules/.bin/vite +17 -0
  40. package/core/build/node_modules/.bin/vite-ssg +17 -0
  41. package/core/build/node_modules/.bin/vue-docgen-web-types +17 -0
  42. package/core/build/package.json +71 -0
  43. package/core/build/src/example-vue.ts +26 -0
  44. package/core/build/src/example-wc.ts +26 -0
  45. package/core/build/src/functions.ts +56 -0
  46. package/core/build/src/index.ts +7 -0
  47. package/core/build/src/pages.ts +50 -0
  48. package/core/build/src/stacks.ts +204 -0
  49. package/core/build/src/vue-components.ts +76 -0
  50. package/core/build/src/web-components.ts +63 -0
  51. package/core/build/web-types.config.cjs +4 -0
  52. package/core/build/web-types.ts +14 -0
  53. package/core/collections/README.md +59 -0
  54. package/core/collections/node_modules/.bin/mkdist +17 -0
  55. package/core/collections/node_modules/.bin/tsc +17 -0
  56. package/core/collections/node_modules/.bin/tsserver +17 -0
  57. package/core/collections/package.json +54 -0
  58. package/core/collections/src/index.ts +1 -0
  59. package/core/fs/README.md +59 -0
  60. package/core/fs/node_modules/.bin/mkdist +17 -0
  61. package/core/fs/package.json +56 -0
  62. package/core/fs/src/index.ts +170 -0
  63. package/core/helpers/node_modules/.bin/mkdist +17 -0
  64. package/core/helpers/package.json +58 -0
  65. package/core/helpers/src/index.ts +129 -0
  66. package/core/modules/README.md +61 -0
  67. package/core/modules/node_modules/.bin/acorn +17 -0
  68. package/core/modules/node_modules/.bin/mkdist +17 -0
  69. package/core/modules/package.json +51 -0
  70. package/core/modules/src/i18n.ts +23 -0
  71. package/core/modules/src/nprogress.ts +12 -0
  72. package/core/modules/src/pwa.ts +12 -0
  73. package/core/objects/README.md +59 -0
  74. package/core/objects/node_modules/.bin/mkdist +17 -0
  75. package/core/objects/node_modules/.bin/tsc +17 -0
  76. package/core/objects/node_modules/.bin/tsserver +17 -0
  77. package/core/objects/package.json +51 -0
  78. package/core/objects/src/index.ts +1 -0
  79. package/core/paths/node_modules/.bin/mkdist +17 -0
  80. package/core/paths/node_modules/.bin/tsc +17 -0
  81. package/core/paths/node_modules/.bin/tsserver +17 -0
  82. package/core/paths/package.json +51 -0
  83. package/core/paths/src/index.ts +178 -0
  84. package/core/router/README.md +59 -0
  85. package/core/router/node_modules/.bin/mkdist +17 -0
  86. package/core/router/package.json +51 -0
  87. package/core/router/src/index.ts +14 -0
  88. package/core/security/README.md +59 -0
  89. package/core/security/node_modules/.bin/mkdist +17 -0
  90. package/core/security/package.json +56 -0
  91. package/core/security/src/crypt.ts +14 -0
  92. package/core/security/src/hash.ts +52 -0
  93. package/core/security/src/index.ts +3 -0
  94. package/core/security/src/key.ts +11 -0
  95. package/core/strings/README.md +59 -0
  96. package/core/strings/node_modules/.bin/mkdist +17 -0
  97. package/core/strings/node_modules/.bin/tsc +17 -0
  98. package/core/strings/node_modules/.bin/tsserver +17 -0
  99. package/core/strings/package.json +63 -0
  100. package/core/strings/src/index.ts +14 -0
  101. package/core/types/README.md +59 -0
  102. package/core/types/node_modules/.bin/markdown-it +17 -0
  103. package/core/types/node_modules/.bin/mkdist +17 -0
  104. package/core/types/node_modules/.bin/vite +17 -0
  105. package/core/types/node_modules/.bin/vitepress +17 -0
  106. package/core/types/package.json +60 -0
  107. package/core/types/src/app.ts +131 -0
  108. package/core/types/src/auto-imports.ts +3 -0
  109. package/core/types/src/build.ts +3 -0
  110. package/core/types/src/cli.ts +49 -0
  111. package/core/types/src/components.ts +66 -0
  112. package/core/types/src/deploy.ts +11 -0
  113. package/core/types/src/docs.ts +3 -0
  114. package/core/types/src/exit-code.ts +10 -0
  115. package/core/types/src/fs.ts +17 -0
  116. package/core/types/src/git.ts +131 -0
  117. package/core/types/src/hashing.ts +107 -0
  118. package/core/types/src/i18n.ts +19 -0
  119. package/core/types/src/index.ts +21 -0
  120. package/core/types/src/inspect.ts +10 -0
  121. package/core/types/src/layout.ts +8 -0
  122. package/core/types/src/library.ts +148 -0
  123. package/core/types/src/manifest.ts +9 -0
  124. package/core/types/src/markdown.ts +198 -0
  125. package/core/types/src/pages.ts +8 -0
  126. package/core/types/src/pwa.ts +8 -0
  127. package/core/types/src/ssg.ts +3 -0
  128. package/core/types/src/ui.ts +141 -0
  129. package/core/ui/README.md +60 -0
  130. package/core/ui/node_modules/.bin/mkdist +17 -0
  131. package/core/ui/node_modules/.bin/tsc +17 -0
  132. package/core/ui/node_modules/.bin/tsserver +17 -0
  133. package/core/ui/node_modules/.bin/vite +17 -0
  134. package/core/ui/node_modules/.bin/vue-tsc +17 -0
  135. package/core/ui/package.json +62 -0
  136. package/core/ui/src/index.ts +60 -0
  137. package/custom-elements.json +14 -0
  138. package/examples/vue-components/App.vue +12 -0
  139. package/examples/vue-components/favicon.png +0 -0
  140. package/examples/vue-components/index.html +20 -0
  141. package/examples/web-components/favicon.png +0 -0
  142. package/examples/web-components/index.html +13 -0
  143. package/functions/node_modules/.bin/artisan +17 -0
  144. package/functions/node_modules/.bin/stacks +17 -0
  145. package/functions/node_modules/.bin/stx +17 -0
  146. package/functions/package.json +40 -0
  147. package/netlify.toml +18 -0
  148. package/nitro.config.ts +6 -0
  149. package/package.json +224 -27
  150. package/pages/App.vue +26 -0
  151. package/pages/index.html +23 -0
  152. package/pages/main.ts +26 -0
  153. package/pages/public/_headers +3 -0
  154. package/pages/public/favicon-dark.svg +3 -0
  155. package/pages/public/favicon.svg +3 -0
  156. package/pages/public/pwa-192x192.png +0 -0
  157. package/pages/public/pwa-512x512.png +0 -0
  158. package/pages/public/safari-pinned-tab.svg +41 -0
  159. package/pages/styles/main.css +29 -0
  160. package/pages/styles/markdown.css +28 -0
  161. package/scripts/ensure-env.sh +248 -0
  162. package/shims.d.ts +29 -0
  163. package/simple-git-hooks.cjs +4 -0
  164. package/src/cli/actions/build.ts +160 -0
  165. package/src/cli/actions/commit.ts +9 -0
  166. package/src/cli/actions/dev.ts +47 -0
  167. package/src/cli/actions/examples.ts +74 -0
  168. package/src/cli/actions/fresh.ts +9 -0
  169. package/src/cli/actions/generate.ts +159 -0
  170. package/src/cli/actions/index.ts +12 -0
  171. package/src/cli/actions/key.ts +31 -0
  172. package/src/cli/actions/lint.ts +19 -0
  173. package/src/cli/actions/make.ts +116 -0
  174. package/src/cli/actions/release.ts +9 -0
  175. package/src/cli/actions/test.ts +39 -0
  176. package/src/cli/actions/types.ts +180 -0
  177. package/src/cli/actions/update.ts +90 -0
  178. package/src/cli/build.ts +49 -0
  179. package/src/cli/create.ts +71 -0
  180. package/src/cli/dev.ts +28 -0
  181. package/src/cli/example.ts +28 -0
  182. package/src/cli/generate.ts +64 -0
  183. package/src/cli/index.ts +13 -0
  184. package/src/cli/key.ts +12 -0
  185. package/src/cli/make.ts +47 -0
  186. package/src/cli/test.ts +24 -0
  187. package/src/cli/types.ts +18 -0
  188. package/src/cli/update.ts +17 -0
  189. package/src/cli/utility.ts +39 -0
  190. package/src/cli.ts +48 -0
  191. package/src/docs.ts +4 -0
  192. package/src/index.ts +22 -0
  193. package/tsconfig.json +96 -0
  194. package/vitest.config.ts +22 -0
  195. package/vue-components/dist/.gitkeep +0 -0
  196. package/vue-components/index.html +13 -0
  197. package/vue-components/main.ts +18 -0
  198. package/vue-components/node_modules/.bin/artisan +17 -0
  199. package/vue-components/node_modules/.bin/stacks +17 -0
  200. package/vue-components/node_modules/.bin/stx +17 -0
  201. package/vue-components/node_modules/.vite/deps/@vueuse_core.js +7847 -0
  202. package/vue-components/node_modules/.vite/deps/@vueuse_core.js.map +7 -0
  203. package/vue-components/node_modules/.vite/deps/_metadata.json +13 -0
  204. package/vue-components/node_modules/.vite/deps/package.json +1 -0
  205. package/vue-components/package.json +40 -0
  206. package/web-components/dist/.gitkeep +0 -0
  207. package/web-components/node_modules/.bin/artisan +17 -0
  208. package/web-components/node_modules/.bin/stacks +17 -0
  209. package/web-components/node_modules/.bin/stx +17 -0
  210. package/web-components/package.json +40 -0
  211. package/web-types.json +67 -0
  212. package/.npmignore +0 -1
  213. package/.travis.yml +0 -4
  214. package/examples/stringReverse.js +0 -41
  215. package/examples/sumServer.js +0 -21
  216. package/examples/sumWorker.js +0 -23
  217. package/index.js +0 -1
  218. package/lib/stacks.js +0 -413
  219. 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,79 @@
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
+ # Stacks.js Framework
2
+
3
+ This framework contains the "core" Stacks logic, its runtime & helpers, excluding the IDE setup.
4
+
5
+ ## ☘️ Features
6
+
7
+ The ultimate goal of this framework, Stacks, is to _help you_ create a component and/or function library. Stacks is a toolkit of composables, methods, and other goodies required to build optimized libraries. 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 plugins to build the component library
12
+ - 🏎 Blazing fast, empowered by a beautiful DX
13
+ - 👣 Tiny foot-print in production builds
14
+ - 💬 Fully-typed TypeScript definitions
15
+ - 🌳 Treeshaking for Vue & Web Components
16
+ - 🎨 Optimized UnoCSS build for Vue & Web Components _(defaults to Tailwind CSS utility classes)_
17
+ - 🧙🏼‍♀️ Unified way to access hundreds of [icon sets](https://icon-sets.iconify.design)
18
+ [Icons in Pure CSS](https://antfu.me/posts/icons-in-pure-css)
19
+
20
+ And all of this in a zero-config, yet configurable, way.
21
+
22
+ ## 🤖 Usage
23
+
24
+ If you want to use Stacks outside of this framework, install it as a dev dependency:
25
+
26
+ ```bash
27
+ pnpm i -D stacksjs
56
28
  ```
57
29
 
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
- });
30
+ Now, you can use it in your project:
31
+
32
+ ```js
33
+ import {
34
+ Stacks,
35
+ atomicCssEngine,
36
+ autoImports,
37
+ components,
38
+ createApp,
39
+ defineConfig,
40
+ defineTestConfig,
41
+ inspect,
42
+ resolve,
43
+ uiEngine
44
+ } from 'stacksjs'
45
+
46
+ // you are now free to use any of the imported methods
72
47
  ```
73
48
 
74
- * * *
49
+ Learn more in the docs.
50
+
51
+ ## 🧪 Testing
52
+
53
+ ```bash
54
+ pnpm test
55
+ ```
56
+
57
+ ## 📈 Changelog
58
+
59
+ Please see our [releases](https://github.com/stacksjs/vue-components-library-starter/releases) page for more information on what has changed recently.
75
60
 
76
- Server API
77
- ==========
61
+ ## 💪🏼 Contributing
78
62
 
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
63
+ Please see [CONTRIBUTING](../../.github/CONTRIBUTING.md) for details.
83
64
 
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`.
65
+ ## 🏝 Community
90
66
 
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)).
67
+ For help, discussion about best practices, or any other conversation that would benefit from being searchable:
93
68
 
94
- Client API
95
- ==========
69
+ [Discussions on GitHub](https://github.com/stacksjs/web-components-library-starter/discussions)
96
70
 
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`.
71
+ For casual chit-chat with others using this package:
101
72
 
102
- ## disconnect()
103
- Disconnect from stacks server
73
+ [Join the Open Web Discord Server](https://discord.ow3.org)
104
74
 
105
- ## Client
106
- Instance methods of the client object passed to the #connect() callback.
75
+ ## 📄 License
107
76
 
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
77
+ The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.
118
78
 
79
+ Made with ❤️