@toa.io/extensions.storages 1.0.0-alpha.291 → 1.0.0-alpha.293
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.
- package/package.json +31 -7
- package/readme.md +15 -0
- package/transpiled/Factory.js +4 -4
- package/transpiled/Factory.js.map +1 -1
- package/transpiled/index.d.ts +0 -3
- package/transpiled/index.js +0 -4
- package/transpiled/index.js.map +1 -1
- package/transpiled/providers/Cloudinary.js +1 -1
- package/transpiled/providers/Cloudinary.js.map +1 -1
- package/transpiled/providers/S3.js +1 -1
- package/transpiled/providers/S3.js.map +1 -1
- package/transpiled/providers/Spaces.js +1 -1
- package/transpiled/providers/Spaces.js.map +1 -1
- package/transpiled/providers/Test.js +1 -1
- package/transpiled/providers/Test.js.map +1 -1
- package/transpiled/providers/index.d.ts +7 -2
- package/transpiled/providers/index.js +20 -2
- package/transpiled/providers/index.js.map +1 -1
- package/CHANGELOG.md +0 -27
- package/schemas/annotation.cos.yaml +0 -11
- package/schemas/cloudinary.cos.yaml +0 -38
- package/schemas/fs.cos.yaml +0 -13
- package/schemas/s3.cos.yaml +0 -17
- package/schemas/spaces.cos.yaml +0 -16
- package/schemas/test.cos.yaml +0 -10
- package/schemas/tmp.cos.yaml +0 -10
- package/source/Annotation.ts +0 -52
- package/source/Aspect.ts +0 -32
- package/source/Entry.ts +0 -16
- package/source/Factory.ts +0 -74
- package/source/Provider.ts +0 -40
- package/source/Scanner.ts +0 -170
- package/source/Secrets.ts +0 -6
- package/source/Storage.test.ts +0 -316
- package/source/Storage.ts +0 -129
- package/source/context.ts +0 -14
- package/source/deployment.ts +0 -91
- package/source/errors.ts +0 -3
- package/source/index.ts +0 -10
- package/source/manifest.ts +0 -7
- package/source/providers/Cloudinary.ts +0 -318
- package/source/providers/Declaration.ts +0 -13
- package/source/providers/FileSystem.ts +0 -99
- package/source/providers/S3.ts +0 -174
- package/source/providers/Spaces.ts +0 -25
- package/source/providers/Temporary.ts +0 -15
- package/source/providers/Test.ts +0 -11
- package/source/providers/index.test.ts +0 -161
- package/source/providers/index.ts +0 -25
- package/source/providers/index.types.ts +0 -5
- package/source/providers/readme.md +0 -27
- package/source/providers/secrets.ts +0 -19
- package/source/schemas.test.ts +0 -63
- package/source/schemas.ts +0 -16
- package/source/test/.env.example +0 -9
- package/source/test/albert.jpg +0 -0
- package/source/test/arny.jpg +0 -0
- package/source/test/empty.txt +0 -0
- package/source/test/lenna.48x48.jpeg +0 -0
- package/source/test/lenna.ascii +0 -64
- package/source/test/lenna.png +0 -0
- package/source/test/plank.mp4 +0 -0
- package/source/test/sample.avi +0 -0
- package/source/test/sample.avif +0 -0
- package/source/test/sample.gif +0 -0
- package/source/test/sample.heic +0 -0
- package/source/test/sample.jpeg +0 -0
- package/source/test/sample.jxl +0 -0
- package/source/test/sample.svg +0 -4
- package/source/test/sample.wav +0 -0
- package/source/test/sample.webp +0 -0
- package/source/test/sport.mp4 +0 -0
- package/source/test/util.ts +0 -113
- package/transpiled/Annotation.d.ts +0 -3
- package/transpiled/Annotation.js +0 -31
- package/transpiled/Annotation.js.map +0 -1
- package/transpiled/context.d.ts +0 -3
- package/transpiled/context.js +0 -12
- package/transpiled/context.js.map +0 -1
- package/transpiled/deployment.d.ts +0 -5
- package/transpiled/deployment.js +0 -64
- package/transpiled/deployment.js.map +0 -1
- package/transpiled/manifest.d.ts +0 -1
- package/transpiled/manifest.js +0 -8
- package/transpiled/manifest.js.map +0 -1
- package/transpiled/providers/secrets.d.ts +0 -8
- package/transpiled/providers/secrets.js +0 -16
- package/transpiled/providers/secrets.js.map +0 -1
- package/transpiled/schemas.d.ts +0 -10
- package/transpiled/schemas.js +0 -12
- package/transpiled/schemas.js.map +0 -1
- package/tsconfig.json +0 -13
- package/tsconfig.tsbuildinfo +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toa.io/extensions.storages",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.293",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Toa Storages",
|
|
6
6
|
"author": "temich <tema.gurtovoy@gmail.com>",
|
|
@@ -17,21 +17,45 @@
|
|
|
17
17
|
"publishConfig": {
|
|
18
18
|
"access": "public"
|
|
19
19
|
},
|
|
20
|
+
"files": [
|
|
21
|
+
"transpiled",
|
|
22
|
+
"readme.md",
|
|
23
|
+
"!**/tsconfig.tsbuildinfo",
|
|
24
|
+
"!**/*.test.*",
|
|
25
|
+
"!**/.env*"
|
|
26
|
+
],
|
|
20
27
|
"scripts": {
|
|
21
28
|
"test": "echo \"Error: run tests from root\" && exit 1",
|
|
22
29
|
"transpile": "npx tsc"
|
|
23
30
|
},
|
|
24
31
|
"devDependencies": {
|
|
32
|
+
"@aws-sdk/client-s3": "3.1125.0",
|
|
33
|
+
"@aws-sdk/lib-storage": "3.1125.0",
|
|
34
|
+
"cloudinary": "2.11.0",
|
|
25
35
|
"dotenv": "17.4.2"
|
|
26
36
|
},
|
|
27
|
-
"
|
|
37
|
+
"peerDependencies": {
|
|
28
38
|
"@aws-sdk/client-s3": "3.1125.0",
|
|
29
39
|
"@aws-sdk/lib-storage": "3.1125.0",
|
|
30
|
-
"
|
|
31
|
-
|
|
32
|
-
|
|
40
|
+
"cloudinary": "2.11.0"
|
|
41
|
+
},
|
|
42
|
+
"peerDependenciesMeta": {
|
|
43
|
+
"@aws-sdk/client-s3": {
|
|
44
|
+
"optional": true
|
|
45
|
+
},
|
|
46
|
+
"@aws-sdk/lib-storage": {
|
|
47
|
+
"optional": true
|
|
48
|
+
},
|
|
49
|
+
"cloudinary": {
|
|
50
|
+
"optional": true
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"@toa.io/definitions": "1.0.0-alpha.293",
|
|
55
|
+
"@toa.io/generic": "1.0.0-alpha.292",
|
|
56
|
+
"@toa.io/schemas": "1.0.0-alpha.293",
|
|
33
57
|
"negotiator": "1.1.0",
|
|
34
|
-
"openspan": "1.0.0-alpha.
|
|
58
|
+
"openspan": "1.0.0-alpha.293"
|
|
35
59
|
},
|
|
36
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "1e05b3ab64758324c58c425f1f8e52e9f35f1da8"
|
|
37
61
|
}
|
package/readme.md
CHANGED
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
Shared BLOB storage.
|
|
4
4
|
|
|
5
|
+
## Installing a provider
|
|
6
|
+
|
|
7
|
+
A provider's SDK is not installed with this extension: `s3` and `spaces` need
|
|
8
|
+
`@aws-sdk/client-s3` and `@aws-sdk/lib-storage`, `cloudinary` needs `cloudinary`, and `fs`, `tmp`
|
|
9
|
+
and `test` need nothing. A deploy installs what the components of each composition declare, so
|
|
10
|
+
an image carries the SDK of a provider it uses and no other.
|
|
11
|
+
|
|
12
|
+
A workspace installs the same set itself, once, and again when a storage is added:
|
|
13
|
+
|
|
14
|
+
```shell
|
|
15
|
+
$ toa npm -p application
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Without it a composition fails to start, naming the package and version it wants.
|
|
19
|
+
|
|
5
20
|
## Entry
|
|
6
21
|
|
|
7
22
|
BLOBs are stored with the meta-information object (Entry) having the following properties:
|
package/transpiled/Factory.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import assert from 'node:assert';
|
|
2
2
|
import { console } from 'openspan';
|
|
3
|
-
import {
|
|
3
|
+
import { provider as load } from './providers/index.js';
|
|
4
4
|
import { Storage } from './Storage.js';
|
|
5
5
|
import { Aspect } from './Aspect.js';
|
|
6
|
-
import { ENV_PREFIX } from '
|
|
7
|
-
import { validateAnnotation } from './Annotation.js';
|
|
6
|
+
import { ENV_PREFIX, validateAnnotation } from '@toa.io/definitions/extensions.storages';
|
|
8
7
|
import { environment } from '@toa.io/generic';
|
|
9
8
|
export class Factory {
|
|
10
9
|
annotation;
|
|
@@ -20,12 +19,13 @@ export class Factory {
|
|
|
20
19
|
async createStorages() {
|
|
21
20
|
const storages = {};
|
|
22
21
|
for (const [name, declaration] of Object.entries(this.annotation))
|
|
22
|
+
// the annotation is validated above, so a declaration is its provider's
|
|
23
23
|
storages[name] = await this.createStorage(name, declaration);
|
|
24
24
|
return storages;
|
|
25
25
|
}
|
|
26
26
|
async createStorage(name, declaration) {
|
|
27
27
|
const { provider: id, ...options } = declaration;
|
|
28
|
-
const Provider = await
|
|
28
|
+
const Provider = await load(id);
|
|
29
29
|
const secrets = this.resolveSecrets(name, Provider);
|
|
30
30
|
const provider = new Provider(options, secrets);
|
|
31
31
|
console.debug('Storage created', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Factory.js","sourceRoot":"","sources":["../source/Factory.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Factory.js","sourceRoot":"","sources":["../source/Factory.ts"],"names":[],"mappings":"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"}
|
package/transpiled/index.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
export { Factory } from './Factory.js';
|
|
2
|
-
export { deployment } from './deployment.js';
|
|
3
|
-
export { manifest } from './manifest.js';
|
|
4
2
|
export type { Entry, Stream } from './Entry.js';
|
|
5
3
|
export type { Storage } from './Storage.js';
|
|
6
4
|
export type * from './providers/index.js';
|
|
7
|
-
export { context } from './context.js';
|
package/transpiled/index.js
CHANGED
package/transpiled/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -3,7 +3,7 @@ import { Readable } from 'node:stream';
|
|
|
3
3
|
import { v2 as cloudinary } from 'cloudinary';
|
|
4
4
|
import { console } from 'openspan';
|
|
5
5
|
import { Provider } from '../Provider.js';
|
|
6
|
-
import { secrets } from '
|
|
6
|
+
import { secrets } from '@toa.io/definitions/extensions.storages';
|
|
7
7
|
import { ERR_NOT_FOUND } from '../errors.js';
|
|
8
8
|
export class Cloudinary extends Provider {
|
|
9
9
|
static SECRETS = secrets.cloudinary;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cloudinary.js","sourceRoot":"","sources":["../../source/providers/Cloudinary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,EAAE,IAAI,UAAU,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Cloudinary.js","sourceRoot":"","sources":["../../source/providers/Cloudinary.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { Upload } from '@aws-sdk/lib-storage';
|
|
|
6
6
|
import * as s3 from '@aws-sdk/client-s3';
|
|
7
7
|
import { console } from 'openspan';
|
|
8
8
|
import { Provider } from '../Provider.js';
|
|
9
|
-
import { secrets } from '
|
|
9
|
+
import { secrets } from '@toa.io/definitions/extensions.storages';
|
|
10
10
|
import { ERR_NOT_FOUND } from '../errors.js';
|
|
11
11
|
export class S3 extends Provider {
|
|
12
12
|
static SECRETS = secrets.s3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"S3.js","sourceRoot":"","sources":["../../source/providers/S3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"S3.js","sourceRoot":"","sources":["../../source/providers/S3.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spaces.js","sourceRoot":"","sources":["../../source/providers/Spaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Spaces.js","sourceRoot":"","sources":["../../source/providers/Spaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAA;AAUjE,MAAM,OAAO,MAAO,SAAQ,EAAE;IACrB,MAAM,CAAmB,OAAO,GAAsB,OAAO,CAAC,MAAM,CAAA;IAE3E,YAAmB,OAAsB,EAAE,OAAuB;QAChE,KAAK,CACH;YACE,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,WAAW,OAAO,CAAC,MAAM,yBAAyB;SAC7D,EACD,OAAO,CACR,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Test.js","sourceRoot":"","sources":["../../source/providers/Test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Test.js","sourceRoot":"","sources":["../../source/providers/Test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAA;AAGjE,MAAM,OAAO,IAAK,SAAQ,SAAS;IAC1B,MAAM,CAAmB,OAAO,GAAsB,OAAO,CAAC,IAAI,CAAA;IAEzE,YAAmB,OAAyB;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;CACF"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import type { Constructor } from '../Provider.js';
|
|
1
2
|
/**
|
|
2
3
|
* A provider is loaded when a storage names it: the SDK one is written against is not paid
|
|
3
|
-
* for by a process that declares another
|
|
4
|
+
* for by a process that declares another, and is not installed by one either — it is an
|
|
5
|
+
* optional peer of this package, which a deploy installs for the storages a component
|
|
6
|
+
* declares. See `provider` below for what a workspace that has not gets told.
|
|
4
7
|
*/
|
|
5
8
|
export declare const providers: {
|
|
6
9
|
readonly s3: () => Promise<typeof import("./S3.js").S3>;
|
|
@@ -10,7 +13,9 @@ export declare const providers: {
|
|
|
10
13
|
readonly tmp: () => Promise<typeof import("./Temporary.js").Temporary>;
|
|
11
14
|
readonly test: () => Promise<typeof import("./Test.js").Test>;
|
|
12
15
|
};
|
|
13
|
-
export
|
|
16
|
+
export type Id = keyof typeof providers;
|
|
17
|
+
/** The provider a declaration names, or what to install to have it. */
|
|
18
|
+
export declare function provider(id: Id): Promise<Constructor>;
|
|
14
19
|
export type { Declaration } from './Declaration.js';
|
|
15
20
|
export type { S3Options } from './S3.js';
|
|
16
21
|
export type { SpacesOptions } from './Spaces.js';
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { packages } from '@toa.io/definitions/extensions.storages';
|
|
1
2
|
/**
|
|
2
3
|
* A provider is loaded when a storage names it: the SDK one is written against is not paid
|
|
3
|
-
* for by a process that declares another
|
|
4
|
+
* for by a process that declares another, and is not installed by one either — it is an
|
|
5
|
+
* optional peer of this package, which a deploy installs for the storages a component
|
|
6
|
+
* declares. See `provider` below for what a workspace that has not gets told.
|
|
4
7
|
*/
|
|
5
8
|
export const providers = {
|
|
6
9
|
s3: async () => (await import('./S3.js')).S3,
|
|
@@ -10,5 +13,20 @@ export const providers = {
|
|
|
10
13
|
tmp: async () => (await import('./Temporary.js')).Temporary,
|
|
11
14
|
test: async () => (await import('./Test.js')).Test
|
|
12
15
|
};
|
|
13
|
-
|
|
16
|
+
/** The provider a declaration names, or what to install to have it. */
|
|
17
|
+
export async function provider(id) {
|
|
18
|
+
try {
|
|
19
|
+
return await providers[id]();
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
const missing = Object.entries(packages[id]).map(([name, version]) => `${name}@${version}`);
|
|
23
|
+
if (missing.length === 0 || !isMissingModule(error))
|
|
24
|
+
throw error;
|
|
25
|
+
throw new Error(`Storage provider '${id}' needs ${missing.join(' ')}, which is not installed. ` +
|
|
26
|
+
`\`toa npm\` installs what this context's components declare.`, { cause: error });
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
function isMissingModule(error) {
|
|
30
|
+
return error?.code === 'ERR_MODULE_NOT_FOUND';
|
|
31
|
+
}
|
|
14
32
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/providers/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAA;AAGlE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;IAC5C,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;IACxD,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU;IACpE,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU;IAC5D,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;IAC3D,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;CACW,CAAA;AAI/D,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,EAAM;IACnC,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,CAAC,EAAE,CAAC,EAAE,CAAA;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAC9C,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAC1C,CAAA;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAA;QAEhE,MAAM,IAAI,KAAK,CACb,qBAAqB,EAAE,WAAW,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B;YAC7E,8DAA8D,EAChE,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAQ,KAA2B,EAAE,IAAI,KAAK,sBAAsB,CAAA;AACtE,CAAC"}
|
package/CHANGELOG.md
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Change Log
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
-
|
|
6
|
-
# [1.0.0-alpha.291](https://github.com/toa-io/toa/compare/v1.0.0-alpha.290...v1.0.0-alpha.291) (2026-09-07)
|
|
7
|
-
|
|
8
|
-
**Note:** Version bump only for package @toa.io/extensions.storages
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
# [1.0.0-alpha.289](https://github.com/toa-io/toa/compare/v1.0.0-alpha.288...v1.0.0-alpha.289) (2026-09-07)
|
|
15
|
-
|
|
16
|
-
* A deploy moves only what changed, and a component sees none of the runtime's environment (#1073) ([f38e3db](https://github.com/toa-io/toa/commit/f38e3db533f24db866c57bfa1ef294eff1eaf499)), closes [#1073](https://github.com/toa-io/toa/issues/1073) [#1064](https://github.com/toa-io/toa/issues/1064) [#1066](https://github.com/toa-io/toa/issues/1066) [#1067](https://github.com/toa-io/toa/issues/1067) [#1068](https://github.com/toa-io/toa/issues/1068) [#1069](https://github.com/toa-io/toa/issues/1069) [#1071](https://github.com/toa-io/toa/issues/1071) [#1070](https://github.com/toa-io/toa/issues/1070) [#1072](https://github.com/toa-io/toa/issues/1072)
|
|
17
|
-
|
|
18
|
-
### BREAKING CHANGES
|
|
19
|
-
|
|
20
|
-
* a component that read `process.env.TOA_*` reads `context` instead;
|
|
21
|
-
`echo(input)` no longer substitutes from the environment; a bash operation sees no
|
|
22
|
-
`TOA_*`; images no longer set `USER node` — see migrations/289.md.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
# [1.0.0-alpha.287](https://github.com/toa-io/toa/compare/v1.0.0-alpha.286...v1.0.0-alpha.287) (2026-09-06)
|
|
26
|
-
|
|
27
|
-
**Note:** Version bump only for package @toa.io/extensions.storages
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
type: object
|
|
2
|
-
properties:
|
|
3
|
-
provider:
|
|
4
|
-
const: cloudinary
|
|
5
|
-
environment:
|
|
6
|
-
type: string
|
|
7
|
-
type:
|
|
8
|
-
enum:
|
|
9
|
-
- image
|
|
10
|
-
- video
|
|
11
|
-
prefix:
|
|
12
|
-
type: string
|
|
13
|
-
eager:
|
|
14
|
-
type: array
|
|
15
|
-
items:
|
|
16
|
-
type: object
|
|
17
|
-
transformations:
|
|
18
|
-
type: array
|
|
19
|
-
items:
|
|
20
|
-
type: object
|
|
21
|
-
properties:
|
|
22
|
-
extension:
|
|
23
|
-
type: string
|
|
24
|
-
transformation:
|
|
25
|
-
anyOf:
|
|
26
|
-
- type: object
|
|
27
|
-
- type: array
|
|
28
|
-
items:
|
|
29
|
-
type: object
|
|
30
|
-
optional:
|
|
31
|
-
type: boolean
|
|
32
|
-
required:
|
|
33
|
-
- extension
|
|
34
|
-
- transformation
|
|
35
|
-
required:
|
|
36
|
-
- environment
|
|
37
|
-
- type
|
|
38
|
-
additionalProperties: false
|
package/schemas/fs.cos.yaml
DELETED
package/schemas/s3.cos.yaml
DELETED
package/schemas/spaces.cos.yaml
DELETED
package/schemas/test.cos.yaml
DELETED
package/schemas/tmp.cos.yaml
DELETED
package/source/Annotation.ts
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert'
|
|
2
|
-
import { providers } from './providers/index.js'
|
|
3
|
-
import * as schemas from './schemas.js'
|
|
4
|
-
import type { Declaration } from './providers/index.js'
|
|
5
|
-
import type { Schema } from '@toa.io/schemas'
|
|
6
|
-
|
|
7
|
-
export type Annotation = Record<string, Declaration>
|
|
8
|
-
|
|
9
|
-
export function validateAnnotation(
|
|
10
|
-
annotation: unknown
|
|
11
|
-
): asserts annotation is Annotation {
|
|
12
|
-
try {
|
|
13
|
-
schemas.annotation.validate(annotation)
|
|
14
|
-
} catch (error) {
|
|
15
|
-
explain(annotation)
|
|
16
|
-
|
|
17
|
-
// if all declarations are valid, re-throw the error
|
|
18
|
-
throw error
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/*
|
|
23
|
-
It is required because `oneOf` schema is used for the annotation validation.
|
|
24
|
-
*/
|
|
25
|
-
function explain(annotation: unknown): void {
|
|
26
|
-
assert.ok(
|
|
27
|
-
typeof annotation === 'object' && annotation !== null,
|
|
28
|
-
'TOA_STORAGES is not an object'
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
for (const declaration of Object.values(annotation)) {
|
|
32
|
-
assert.ok(
|
|
33
|
-
typeof declaration === 'object' &&
|
|
34
|
-
declaration !== null &&
|
|
35
|
-
declaration.provider in providers,
|
|
36
|
-
`Unknown provider '${declaration.provider}'`
|
|
37
|
-
)
|
|
38
|
-
|
|
39
|
-
assert.ok(
|
|
40
|
-
declaration.provider in schemas,
|
|
41
|
-
`No schema for provider '${declaration.provider}'`
|
|
42
|
-
)
|
|
43
|
-
|
|
44
|
-
const provider = declaration.provider as keyof typeof providers
|
|
45
|
-
|
|
46
|
-
// the declaration names the provider
|
|
47
|
-
// oxlint-disable-next-line import/namespace
|
|
48
|
-
const schema: Schema<Declaration> = schemas[provider]
|
|
49
|
-
|
|
50
|
-
schema.validate(declaration, `Storage '${declaration.provider}' annotation`)
|
|
51
|
-
}
|
|
52
|
-
}
|
package/source/Aspect.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import assert from 'node:assert'
|
|
2
|
-
import { Connector } from '@toa.io/core'
|
|
3
|
-
import type { extensions } from '@toa.io/core/types'
|
|
4
|
-
import { type Storage, type Storages } from './Storage.js'
|
|
5
|
-
|
|
6
|
-
export class Aspect extends Connector implements extensions.Aspect {
|
|
7
|
-
public readonly name = 'storages'
|
|
8
|
-
|
|
9
|
-
private readonly create: () => Promise<Storages>
|
|
10
|
-
private storages: Storages = {}
|
|
11
|
-
|
|
12
|
-
/** The storages are made as the aspect connects: their providers load then, not before. */
|
|
13
|
-
public constructor(create: () => Promise<Storages>) {
|
|
14
|
-
super()
|
|
15
|
-
|
|
16
|
-
this.create = create
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
protected override async open(): Promise<void> {
|
|
20
|
-
this.storages = await this.create()
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
public invoke(name: string, method: keyof Storage, ...args: unknown[]): unknown {
|
|
24
|
-
const storage = this.storages[name]
|
|
25
|
-
|
|
26
|
-
assert.ok(storage !== undefined, `Storage '${name}' is not defined`)
|
|
27
|
-
|
|
28
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
29
|
-
// @ts-expect-error
|
|
30
|
-
return storage[method](...args)
|
|
31
|
-
}
|
|
32
|
-
}
|
package/source/Entry.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { Readable } from 'node:stream'
|
|
2
|
-
|
|
3
|
-
export type Entry = { id: string } & Metadata
|
|
4
|
-
export type Stream = { stream: Readable } & Metadata
|
|
5
|
-
|
|
6
|
-
export interface Metadata {
|
|
7
|
-
type: string
|
|
8
|
-
size: number | null
|
|
9
|
-
checksum: string
|
|
10
|
-
created: string
|
|
11
|
-
attributes: Attributes
|
|
12
|
-
range?: string
|
|
13
|
-
partial?: boolean
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export type Attributes = Record<string, string>
|