@bsb/registry 1.0.1

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 (54) hide show
  1. package/README.md +133 -0
  2. package/bsb-plugin.json +47 -0
  3. package/lib/.bsb/clients/service-bsb-registry.d.ts +1118 -0
  4. package/lib/.bsb/clients/service-bsb-registry.d.ts.map +1 -0
  5. package/lib/.bsb/clients/service-bsb-registry.js +393 -0
  6. package/lib/.bsb/clients/service-bsb-registry.js.map +1 -0
  7. package/lib/plugins/service-bsb-registry/auth.d.ts +87 -0
  8. package/lib/plugins/service-bsb-registry/auth.d.ts.map +1 -0
  9. package/lib/plugins/service-bsb-registry/auth.js +197 -0
  10. package/lib/plugins/service-bsb-registry/auth.js.map +1 -0
  11. package/lib/plugins/service-bsb-registry/db/file.d.ts +73 -0
  12. package/lib/plugins/service-bsb-registry/db/file.d.ts.map +1 -0
  13. package/lib/plugins/service-bsb-registry/db/file.js +588 -0
  14. package/lib/plugins/service-bsb-registry/db/file.js.map +1 -0
  15. package/lib/plugins/service-bsb-registry/db/index.d.ts +75 -0
  16. package/lib/plugins/service-bsb-registry/db/index.d.ts.map +1 -0
  17. package/lib/plugins/service-bsb-registry/db/index.js +24 -0
  18. package/lib/plugins/service-bsb-registry/db/index.js.map +1 -0
  19. package/lib/plugins/service-bsb-registry/index.d.ts +1228 -0
  20. package/lib/plugins/service-bsb-registry/index.d.ts.map +1 -0
  21. package/lib/plugins/service-bsb-registry/index.js +661 -0
  22. package/lib/plugins/service-bsb-registry/index.js.map +1 -0
  23. package/lib/plugins/service-bsb-registry/types.d.ts +559 -0
  24. package/lib/plugins/service-bsb-registry/types.d.ts.map +1 -0
  25. package/lib/plugins/service-bsb-registry/types.js +235 -0
  26. package/lib/plugins/service-bsb-registry/types.js.map +1 -0
  27. package/lib/plugins/service-bsb-registry-ui/http-server.d.ts +138 -0
  28. package/lib/plugins/service-bsb-registry-ui/http-server.d.ts.map +1 -0
  29. package/lib/plugins/service-bsb-registry-ui/http-server.js +1660 -0
  30. package/lib/plugins/service-bsb-registry-ui/http-server.js.map +1 -0
  31. package/lib/plugins/service-bsb-registry-ui/index.d.ts +62 -0
  32. package/lib/plugins/service-bsb-registry-ui/index.d.ts.map +1 -0
  33. package/lib/plugins/service-bsb-registry-ui/index.js +101 -0
  34. package/lib/plugins/service-bsb-registry-ui/index.js.map +1 -0
  35. package/lib/plugins/service-bsb-registry-ui/static/assets/images/apple-touch-icon.png +0 -0
  36. package/lib/plugins/service-bsb-registry-ui/static/assets/images/favicon-16x16.png +0 -0
  37. package/lib/plugins/service-bsb-registry-ui/static/assets/images/favicon-32x32.png +0 -0
  38. package/lib/plugins/service-bsb-registry-ui/static/assets/images/favicon.ico +0 -0
  39. package/lib/plugins/service-bsb-registry-ui/static/css/style.css +1849 -0
  40. package/lib/plugins/service-bsb-registry-ui/static/js/app.js +336 -0
  41. package/lib/plugins/service-bsb-registry-ui/templates/layouts/main.hbs +39 -0
  42. package/lib/plugins/service-bsb-registry-ui/templates/pages/error.hbs +13 -0
  43. package/lib/plugins/service-bsb-registry-ui/templates/pages/home.hbs +62 -0
  44. package/lib/plugins/service-bsb-registry-ui/templates/pages/not-found.hbs +13 -0
  45. package/lib/plugins/service-bsb-registry-ui/templates/pages/plugin-detail.hbs +537 -0
  46. package/lib/plugins/service-bsb-registry-ui/templates/pages/plugins.hbs +40 -0
  47. package/lib/plugins/service-bsb-registry-ui/templates/partials/pagination.hbs +41 -0
  48. package/lib/plugins/service-bsb-registry-ui/templates/partials/plugin-card.hbs +40 -0
  49. package/lib/plugins/service-bsb-registry-ui/templates/partials/search-form.hbs +31 -0
  50. package/lib/schemas/service-bsb-registry-ui.json +57 -0
  51. package/lib/schemas/service-bsb-registry-ui.plugin.json +73 -0
  52. package/lib/schemas/service-bsb-registry.json +1883 -0
  53. package/lib/schemas/service-bsb-registry.plugin.json +68 -0
  54. package/package.json +60 -0
@@ -0,0 +1,31 @@
1
+ <form method="GET" action="/plugins" class="browse-filters">
2
+ <div class="search-row">
3
+ <input
4
+ type="search"
5
+ name="query"
6
+ class="search-input"
7
+ placeholder="Search plugins..."
8
+ value="{{searchQuery}}"
9
+ >
10
+ <button type="submit" class="search-btn">Search</button>
11
+ </div>
12
+
13
+ <div class="filter-row">
14
+ <select name="category" class="sort-select" onchange="this.form.submit()">
15
+ <option value="">All Categories</option>
16
+ <option value="service" {{#if (eq filters.category 'service')}}selected{{/if}}>Service</option>
17
+ <option value="observable" {{#if (eq filters.category 'observable')}}selected{{/if}}>Observable</option>
18
+ <option value="events" {{#if (eq filters.category 'events')}}selected{{/if}}>Events</option>
19
+ <option value="config" {{#if (eq filters.category 'config')}}selected{{/if}}>Config</option>
20
+ </select>
21
+
22
+ <select name="language" class="sort-select" onchange="this.form.submit()">
23
+ <option value="">All Languages</option>
24
+ <option value="nodejs" {{#if (eq filters.language 'nodejs')}}selected{{/if}}>Node.js</option>
25
+ <option value="csharp" {{#if (eq filters.language 'csharp')}}selected{{/if}}>C#</option>
26
+ <option value="go" {{#if (eq filters.language 'go')}}selected{{/if}}>Go</option>
27
+ <option value="java" {{#if (eq filters.language 'java')}}selected{{/if}}>Java</option>
28
+ <option value="python" {{#if (eq filters.language 'python')}}selected{{/if}}>Python</option>
29
+ </select>
30
+ </div>
31
+ </form>
@@ -0,0 +1,57 @@
1
+ {
2
+ "pluginName": "BSB Registry UI & API",
3
+ "version": "1.0.0",
4
+ "events": {},
5
+ "configSchema": {
6
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
7
+ "type": "object",
8
+ "properties": {
9
+ "port": {
10
+ "default": 3200,
11
+ "type": "number",
12
+ "minimum": 1,
13
+ "maximum": 65535
14
+ },
15
+ "host": {
16
+ "default": "0.0.0.0",
17
+ "type": "string"
18
+ },
19
+ "pageSize": {
20
+ "default": 20,
21
+ "type": "number",
22
+ "minimum": 1,
23
+ "maximum": 100
24
+ },
25
+ "uploadDir": {
26
+ "default": "./.temp/registry-images",
27
+ "type": "string"
28
+ },
29
+ "badgesFile": {
30
+ "default": "./BADGES.json",
31
+ "type": "string"
32
+ },
33
+ "maxImageUploadMb": {
34
+ "default": 5,
35
+ "type": "number",
36
+ "minimum": 1,
37
+ "maximum": 20
38
+ }
39
+ },
40
+ "required": [
41
+ "port",
42
+ "host",
43
+ "pageSize",
44
+ "uploadDir",
45
+ "badgesFile",
46
+ "maxImageUploadMb"
47
+ ],
48
+ "additionalProperties": false
49
+ },
50
+ "pluginType": "service",
51
+ "dependencies": [
52
+ {
53
+ "id": "_/service-bsb-registry",
54
+ "version": "1.0.0"
55
+ }
56
+ ]
57
+ }
@@ -0,0 +1,73 @@
1
+ {
2
+ "id": "service-bsb-registry-ui",
3
+ "name": "BSB Registry UI & API",
4
+ "version": "1.0.0",
5
+ "description": "Web UI and REST API for browsing, searching, and publishing BSB plugins (content negotiation: HTML or JSON)",
6
+ "category": "service",
7
+ "tags": [
8
+ "registry",
9
+ "ui",
10
+ "api",
11
+ "web",
12
+ "rest",
13
+ "handlebars",
14
+ "server-side-rendering",
15
+ "content-negotiation",
16
+ "publishing"
17
+ ],
18
+ "documentation": [
19
+ "./docs/service-bsb-registry-ui.md"
20
+ ],
21
+ "dependencies": [
22
+ {
23
+ "id": "_/service-bsb-registry",
24
+ "version": "1.0.0"
25
+ }
26
+ ],
27
+ "image": "../../../docs/public/assets/images/bsb-logo.png",
28
+ "configSchema": {
29
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
30
+ "type": "object",
31
+ "properties": {
32
+ "port": {
33
+ "default": 3200,
34
+ "type": "number",
35
+ "minimum": 1,
36
+ "maximum": 65535
37
+ },
38
+ "host": {
39
+ "default": "0.0.0.0",
40
+ "type": "string"
41
+ },
42
+ "pageSize": {
43
+ "default": 20,
44
+ "type": "number",
45
+ "minimum": 1,
46
+ "maximum": 100
47
+ },
48
+ "uploadDir": {
49
+ "default": "./.temp/registry-images",
50
+ "type": "string"
51
+ },
52
+ "badgesFile": {
53
+ "default": "./BADGES.json",
54
+ "type": "string"
55
+ },
56
+ "maxImageUploadMb": {
57
+ "default": 5,
58
+ "type": "number",
59
+ "minimum": 1,
60
+ "maximum": 20
61
+ }
62
+ },
63
+ "required": [
64
+ "port",
65
+ "host",
66
+ "pageSize",
67
+ "uploadDir",
68
+ "badgesFile",
69
+ "maxImageUploadMb"
70
+ ],
71
+ "additionalProperties": false
72
+ }
73
+ }