Skip to content

Commit d8fe8e7

Browse files
auto-bundle asset defined packs (#932)
* auto-bundle asset defined packs * improve err * schema correction, write bundle buffer not bundle object * prebuild file url, write prebuilds to asset folder * working * disambiguate "bundle" * missed a spot * factor out *pack() for later * proper rename in spec * spec lint * one more refactor * tweak * liiiiiint --------- Co-authored-by: HDegroote <75906619+HDegroote@users.noreply.github.com>
1 parent bb10b8d commit d8fe8e7

File tree

32 files changed

+734
-257
lines changed

32 files changed

+734
-257
lines changed

cmd/run.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,6 @@ module.exports = (ipc) =>
187187

188188
state.update({ config })
189189
global.Pear = new API(ipc, state)
190-
191190
const protocol = new Module.Protocol({
192191
exists(url) {
193192
if (url.href.endsWith('.bare') || url.href.endsWith('.node'))

examples/terminal/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
"type": "module",
77
"pear": {
88
"name": "termex",
9-
"type": "terminal",
109
"bin": "termex"
1110
},
1211
"keywords": [],

package-lock.json

Lines changed: 31 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
],
5353
"dependencies": {
5454
"b4a": "^1.6.7",
55-
"bare-bundle": "^1.8.3",
55+
"bare-bundle": "^1.10.0",
5656
"bare-daemon": "^1.1.0",
5757
"bare-env": "^3.0.0",
5858
"bare-events": "^2.5.4",
@@ -104,6 +104,7 @@
104104
"pear-ipc": "^6.7.0",
105105
"pear-link": "^4.1.0",
106106
"pear-logger": "^1.0.0",
107+
"pear-pack": "^1.1.2",
107108
"pear-pipe": "^1.0.1",
108109
"pear-run": "^1.0.8",
109110
"pear-shake": "^2.0.1",

scripts/build-hyperdb.js

Lines changed: 44 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,40 @@ pearSchema.register({
4242
]
4343
})
4444

45+
pearSchema.register({
46+
name: 'pack',
47+
fields: [
48+
{
49+
name: 'bundle',
50+
type: 'string',
51+
required: true
52+
},
53+
{
54+
name: 'entry',
55+
type: 'string',
56+
required: true
57+
},
58+
{
59+
name: 'builtins',
60+
type: 'string',
61+
array: true,
62+
required: false
63+
},
64+
{
65+
name: 'conditions',
66+
type: 'string',
67+
array: true,
68+
required: false
69+
},
70+
{
71+
name: 'extensions',
72+
type: 'string',
73+
array: true,
74+
required: false
75+
}
76+
]
77+
})
78+
4579
// both structs & custom types
4680
pearSchema.register({
4781
name: 'assets',
@@ -73,6 +107,11 @@ pearSchema.register({
73107
{
74108
name: 'bytes',
75109
type: 'uint'
110+
},
111+
{
112+
name: 'pack',
113+
type: '@pear/pack',
114+
array: true
76115
}
77116
]
78117
})
@@ -101,7 +140,7 @@ pearSchema.register({
101140
})
102141

103142
pearSchema.register({
104-
name: 'bundle',
143+
name: 'traits',
105144
fields: [
106145
{
107146
name: 'link',
@@ -179,8 +218,8 @@ pearDB.collections.register({
179218
})
180219

181220
pearDB.collections.register({
182-
name: 'bundle',
183-
schema: '@pear/bundle',
221+
name: 'traits',
222+
schema: '@pear/traits',
184223
key: ['link']
185224
})
186225

@@ -197,8 +236,8 @@ pearDB.collections.register({
197236
})
198237

199238
pearDB.indexes.register({
200-
name: 'bundle-by-tags',
201-
collection: '@pear/bundle',
239+
name: 'traits-by-tags',
240+
collection: '@pear/traits',
202241
unique: false,
203242
key: {
204243
type: 'string',

spec/db/db.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,30 @@
8080
"derived": false,
8181
"key": ["link"],
8282
"trigger": null
83+
},
84+
{
85+
"name": "traits",
86+
"namespace": "pear",
87+
"id": 7,
88+
"type": 1,
89+
"indexes": ["@pear/traits-by-tags"],
90+
"schema": "@pear/traits",
91+
"derived": false,
92+
"key": ["link"],
93+
"trigger": null
94+
},
95+
{
96+
"name": "traits-by-tags",
97+
"namespace": "pear",
98+
"id": 8,
99+
"type": 2,
100+
"collection": "@pear/traits",
101+
"unique": false,
102+
"deprecated": false,
103+
"key": {
104+
"type": "string",
105+
"map": "tags"
106+
}
83107
}
84108
]
85109
}

0 commit comments

Comments
 (0)