@norskvideo/norsk-studio 1.18.5 → 1.19.0

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.
@@ -1,3 +1,7 @@
1
+ //
2
+ // This file is generated by studio-wrap-infos
3
+ // Do not edit by hand
4
+ //
1
5
  import type { BaseConfig, NodeInfo } from "@norskvideo/norsk-studio/lib/extension/client-types";
2
6
  import type Registration from "@norskvideo/norsk-studio/lib/extension/registration";
3
7
 
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env sh
2
+ ROOT=$(realpath ${0%/*}/../@norskvideo/norsk-studio)
3
+ node "$ROOT/lib/server/gen-docs.js" $@
@@ -7,7 +7,7 @@ const path = require('path');
7
7
  const rootDir = process.argv[2];
8
8
 
9
9
  async function main() {
10
- const template = await fs.readFile(path.join(__dirname, "info.ts.template"), 'utf8');
10
+ const template = await fs.readFile(path.join(__dirname, 'info.ts.template'), 'utf8');
11
11
  const dirs = await fs.readdir(rootDir);
12
12
  const components = [];
13
13
 
@@ -15,7 +15,7 @@ async function main() {
15
15
  console.log(dir)
16
16
  const componentPath = path.join(rootDir, dir);
17
17
  const runtimePath = path.join(componentPath, 'runtime.ts');
18
- const infoPath = path.join(componentPath, "info.ts");
18
+ const infoPath = path.join(componentPath, 'info.ts');
19
19
 
20
20
  const runtimeExists = await fs.stat(runtimePath).catch(() => undefined);
21
21
  const infoExists = await fs.stat(infoPath).catch(() => undefined);
@@ -24,11 +24,10 @@ async function main() {
24
24
  continue;
25
25
  }
26
26
 
27
-
28
27
  components.push({
29
- name: dir.replace(".", "_").replace("-", "_"),
28
+ name: dir.replaceAll('.', '_').replaceAll('-', '_'),
30
29
  type: dir,
31
- path: "./" + path.join(dir, "info")
30
+ path: './' + path.join(dir, 'info')
32
31
  })
33
32
  }
34
33
 
@@ -38,7 +37,7 @@ async function main() {
38
37
  escape: (s) => s
39
38
  } )
40
39
 
41
- await fs.writeFile(path.join(rootDir, "info.ts"), result)
40
+ await fs.writeFile(path.join(rootDir, 'info.ts'), result);
42
41
  }
43
42
 
44
43
  void main();
@@ -49,6 +49,7 @@ export type ViewProps<Config extends BaseConfig, RuntimeState extends object = o
49
49
  export type NodeInfo<Config extends BaseConfig, RuntimeState extends object = object, RuntimeCommand extends object = object, RuntimeEvent extends object = object> = {
50
50
  identifier: string;
51
51
  name: string;
52
+ description?: string;
52
53
  category: ComponentCategory;
53
54
  subscription: SubscriptionInfo<Config>;
54
55
  display?: ((description: NodeDescription<Config>) => {
@@ -121,6 +122,7 @@ export type FormHintArray<AllConfig, TElement> = {
121
122
  form: ConfigForm<TElement>;
122
123
  newForm?: NewForm<unknown, TElement>;
123
124
  envOverride?: boolean;
125
+ optional?: boolean;
124
126
  validation?: Z.Schema<TElement>;
125
127
  global?: GlobalValidation<AllConfig>;
126
128
  view: LazyExoticComponent<(item: TElement) => React.JSX.Element>;
@@ -128,6 +130,7 @@ export type FormHintArray<AllConfig, TElement> = {
128
130
  type: 'custom';
129
131
  validation?: Z.Schema<TElement[]>;
130
132
  envOverride?: boolean;
133
+ optional?: boolean;
131
134
  defaultValue?: TElement[];
132
135
  global?: GlobalValidation<AllConfig>;
133
136
  component: LazyExoticComponent<(props: CustomEditorProps<AllConfig, TElement[]>) => React.JSX.Element>;
@@ -143,30 +146,35 @@ export type FormHintSingle<AllConfig, T> = {
143
146
  type: 'numeric';
144
147
  defaultValue?: number;
145
148
  envOverride?: boolean;
149
+ optional?: boolean;
146
150
  validation?: Z.Schema<number | undefined>;
147
151
  global?: GlobalValidation<AllConfig>;
148
152
  } | {
149
153
  type: 'text';
150
154
  defaultValue?: string;
151
155
  envOverride?: boolean;
156
+ optional?: boolean;
152
157
  validation?: Z.Schema<string | undefined>;
153
158
  global?: GlobalValidation<AllConfig>;
154
159
  } | FormHintSelect<AllConfig, T> | {
155
160
  type: 'custom';
156
161
  validation?: Z.Schema<T>;
157
162
  envOverride?: boolean;
163
+ optional?: boolean;
158
164
  defaultValue?: T;
159
165
  global?: GlobalValidation<AllConfig>;
160
166
  component: LazyExoticComponent<(props: CustomEditorProps<AllConfig, T>) => React.JSX.Element>;
161
167
  } | {
162
168
  type: 'boolean';
163
169
  envOverride?: boolean;
170
+ optional?: boolean;
164
171
  defaultValue?: boolean;
165
172
  } | {
166
173
  type: 'form-item';
167
174
  defaultValue?: T;
168
175
  form: ConfigForm<T>;
169
176
  envOverride?: boolean;
177
+ optional?: boolean;
170
178
  validation?: Z.Schema<T>;
171
179
  global?: GlobalValidation<AllConfig>;
172
180
  view: LazyExoticComponent<(item: T) => React.JSX.Element>;
@@ -1 +1 @@
1
- {"version":3,"file":"client-types.js","sourceRoot":"","sources":["../../src/extension/client-types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,8CAEC;AAED,kCAaC;AAED,gCAWC;AAtCY,QAAA,GAAG,GAAY,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAC9C,QAAA,EAAE,GAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACjC,QAAA,KAAK,GAAY,CAAC,OAAO,CAAC,CAAC;AAC3B,QAAA,KAAK,GAAY,CAAC,OAAO,CAAC,CAAC;AAC3B,QAAA,QAAQ,GAAY,CAAC,UAAU,CAAC,CAAC;AACjC,QAAA,QAAQ,GAAY,CAAC,UAAU,CAAC,CAAC;AAG9C,SAAgB,iBAAiB,CAAC,CAA0C;IAC1E,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;AAC1B,CAAC;AAED,SAAgB,WAAW,CAAC,CAAkD;IAC5E,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,eAAe;YAClB,OAAO,CAAC,CAAC,KAAK,CAAC;QACjB,KAAK,cAAc;YACjB,OAAO,CAAC,CAAC,KAAK,CAAC;QACjB,KAAK,YAAY;YACf,OAAO,CAAC,CAAC,aAAa,CAAC;QACzB;YACE,IAAA,wBAAiB,EAAC,CAAC,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAgB,UAAU,CAAC,CAAqC;IAC9D,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,cAAc;YACjB,OAAO,CAAC,CAAC,KAAK,CAAC;QACjB,KAAK,eAAe;YAClB,OAAO,CAAC,CAAC,KAAK,CAAC;QACjB;YACE,IAAA,wBAAiB,EAAC,CAAC,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAqTD,yDAA2C;AAC3C,iDAAmC;AACnC,kDAAmD;AACnD,yCAAmD;AAItC,QAAA,kBAAkB,GAAG;IAEhC,eAAe,EAAE,CAGyB,IAAkE,EAAgE,EAAE,CAAC,IAAI;IACnL,aAAa,EAAE,CAAC,OAAoB,EAAe,EAAE,CAAC,OAAO;IAC7D,iBAAiB,EAAjB,wBAAiB;IACjB,GAAG,EAAH,WAAG;IACH,KAAK,EAAL,aAAK;IACL,KAAK,EAAL,aAAK;IACL,EAAE,EAAF,UAAE;IACF,QAAQ,EAAR,gBAAQ;IACR,QAAQ,EAAR,gBAAQ;IACR,UAAU;IACV,MAAM;IACN,KAAK,EAAL,eAAK;CACN,CAAA"}
1
+ {"version":3,"file":"client-types.js","sourceRoot":"","sources":["../../src/extension/client-types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,8CAEC;AAED,kCAaC;AAED,gCAWC;AAtCY,QAAA,GAAG,GAAY,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAC9C,QAAA,EAAE,GAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACjC,QAAA,KAAK,GAAY,CAAC,OAAO,CAAC,CAAC;AAC3B,QAAA,KAAK,GAAY,CAAC,OAAO,CAAC,CAAC;AAC3B,QAAA,QAAQ,GAAY,CAAC,UAAU,CAAC,CAAC;AACjC,QAAA,QAAQ,GAAY,CAAC,UAAU,CAAC,CAAC;AAG9C,SAAgB,iBAAiB,CAAC,CAA0C;IAC1E,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;AAC1B,CAAC;AAED,SAAgB,WAAW,CAAC,CAAkD;IAC5E,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,eAAe;YAClB,OAAO,CAAC,CAAC,KAAK,CAAC;QACjB,KAAK,cAAc;YACjB,OAAO,CAAC,CAAC,KAAK,CAAC;QACjB,KAAK,YAAY;YACf,OAAO,CAAC,CAAC,aAAa,CAAC;QACzB;YACE,IAAA,wBAAiB,EAAC,CAAC,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAgB,UAAU,CAAC,CAAqC;IAC9D,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,cAAc;YACjB,OAAO,CAAC,CAAC,KAAK,CAAC;QACjB,KAAK,eAAe;YAClB,OAAO,CAAC,CAAC,KAAK,CAAC;QACjB;YACE,IAAA,wBAAiB,EAAC,CAAC,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AA+TD,yDAA2C;AAC3C,iDAAmC;AACnC,kDAAmD;AACnD,yCAAmD;AAItC,QAAA,kBAAkB,GAAG;IAEhC,eAAe,EAAE,CAGyB,IAAkE,EAAgE,EAAE,CAAC,IAAI;IACnL,aAAa,EAAE,CAAC,OAAoB,EAAe,EAAE,CAAC,OAAO;IAC7D,iBAAiB,EAAjB,wBAAiB;IACjB,GAAG,EAAH,WAAG;IACH,KAAK,EAAL,aAAK;IACL,KAAK,EAAL,aAAK;IACL,EAAE,EAAF,UAAE;IACF,QAAQ,EAAR,gBAAQ;IACR,QAAQ,EAAR,gBAAQ;IACR,UAAU;IACV,MAAM;IACN,KAAK,EAAL,eAAK;CACN,CAAA"}
@@ -13,4 +13,5 @@ export declare const LanguageTagWithCountry: Z.ZodString;
13
13
  export declare const LanguageTagOptionalCountry: Z.ZodString;
14
14
  export declare const Hostname: Z.ZodString;
15
15
  export declare const Iface: Z.ZodString;
16
+ export declare const AwsRegion: Z.ZodString;
16
17
  export declare function unique<T>(key: GlobalValidationUniqueKey): GlobalValidation<T>;
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Iface = exports.Hostname = exports.LanguageTagOptionalCountry = exports.LanguageTagWithCountry = exports.SrtPassphrase = exports.IceServer = exports.SourceName = exports.SrtStreamId = exports.IpAddress = exports.DelayOutputMs = exports.JitterBuffer = exports.Port = exports.Z = void 0;
26
+ exports.AwsRegion = exports.Iface = exports.Hostname = exports.LanguageTagOptionalCountry = exports.LanguageTagWithCountry = exports.SrtPassphrase = exports.IceServer = exports.SourceName = exports.SrtStreamId = exports.IpAddress = exports.DelayOutputMs = exports.JitterBuffer = exports.Port = exports.Z = void 0;
27
27
  exports.unique = unique;
28
28
  const Z = __importStar(require("zod"));
29
29
  exports.Z = __importStar(require("zod"));
@@ -43,6 +43,7 @@ exports.LanguageTagWithCountry = Z.string().regex(/^[a-z]{2,3}-[A-Z]{2}$/, "Must
43
43
  exports.LanguageTagOptionalCountry = Z.string().regex(/^[a-z]{2,3}(-[A-Z]{2})?$/, "Must be a language code/tag");
44
44
  exports.Hostname = Z.string().min(2).max(2048);
45
45
  exports.Iface = Z.string().min(1).max(32);
46
+ exports.AwsRegion = Z.string().regex(new RegExp(/^[a-z]{2}-[a-z]{2,15}-[1-9][0-9]{0,1}$/));
46
47
  function unique(key) {
47
48
  return {
48
49
  key,
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/extension/validation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,wBAKC;AAnCD,uCAAwB;AAExB,yCAAwB;AAEX,QAAA,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,KAAK,EAAE,wDAAwD,CAAC,CAAA;AAC1I,QAAA,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,GAAG,OAAO,EAAE,mEAAmE,CAAC,CAAA;AAEzJ,QAAA,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,GAAG,OAAO,EAAE,kEAAkE,CAAC,CAAA;AAGzJ,QAAA,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAE7C,QAAA,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QACjF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC,CAAC,CAAC;AAEQ,QAAA,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACvC,QAAA,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;IAC/D,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACvD,CAAC,EAAE,gCAAgC,CAAC,CAAC;AAExB,QAAA,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE7E,QAAA,sBAAsB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAC;AAC7F,QAAA,0BAA0B,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,CAAC;AAEzG,QAAA,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAEvC,QAAA,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE/C,SAAgB,MAAM,CAAI,GAA8B;IACtD,OAAO;QACL,GAAG;QACH,UAAU,EAAE,QAAQ;KACrB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/extension/validation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,wBAKC;AArCD,uCAAwB;AAExB,yCAAwB;AAEX,QAAA,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,KAAK,EAAE,wDAAwD,CAAC,CAAA;AAC1I,QAAA,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,GAAG,OAAO,EAAE,mEAAmE,CAAC,CAAA;AAEzJ,QAAA,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,GAAG,OAAO,EAAE,kEAAkE,CAAC,CAAA;AAGzJ,QAAA,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAE7C,QAAA,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;QACjF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC,CAAC,CAAC;AAEQ,QAAA,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACvC,QAAA,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;IAC/D,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACvD,CAAC,EAAE,gCAAgC,CAAC,CAAC;AAExB,QAAA,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE7E,QAAA,sBAAsB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,CAAC;AAC7F,QAAA,0BAA0B,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,CAAC;AAEzG,QAAA,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAEvC,QAAA,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAElC,QAAA,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,wCAAwC,CAAC,CAAC,CAAC;AAEhG,SAAgB,MAAM,CAAI,GAA8B;IACtD,OAAO;QACL,GAAG;QACH,UAAU,EAAE,QAAQ;KACrB,CAAA;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const config_1 = __importDefault(require("./config"));
30
+ const system_1 = require("../runtime/system");
31
+ const mustache_1 = __importDefault(require("mustache"));
32
+ const path = __importStar(require("path"));
33
+ const fs = __importStar(require("fs/promises"));
34
+ const system = new system_1.RuntimeSystem();
35
+ function pathFromRoot(p) {
36
+ return path.resolve(path.join(__dirname, "../../", p));
37
+ }
38
+ function isRequired(hint) {
39
+ if (typeof hint === 'object' &&
40
+ hint && 'optional' in hint &&
41
+ hint.optional &&
42
+ typeof hint.optional === 'boolean') {
43
+ return hint.optional == false;
44
+ }
45
+ return true;
46
+ }
47
+ async function genDocs() {
48
+ console.log("genDocs");
49
+ console.log("cwd: ", process.cwd());
50
+ const template = await fs.readFile(pathFromRoot("doc-templates/Readme.adoc.mustache"));
51
+ const libraryRoot = config_1.default.server.libraryRoot();
52
+ for (const l of config_1.default.server.library()) {
53
+ const registerFn = await Promise.resolve(`${libraryRoot ? path.join(libraryRoot, l) : l}`).then(s => __importStar(require(s)));
54
+ await registerFn.default(system);
55
+ }
56
+ system.allIdentifiers().forEach(async (i) => {
57
+ console.log("In here");
58
+ const definition = system.findComponentDefinition(i);
59
+ if (definition) {
60
+ const info = definition.info;
61
+ const form = info.configForm.form;
62
+ const optionLines = [];
63
+ for (const key in form) {
64
+ optionLines.push({
65
+ optionName: key,
66
+ optionDescription: form[key].help,
67
+ optionIsRequired: isRequired(form[key].hint),
68
+ });
69
+ }
70
+ const componentDir = system.findComponentClientDir(definition.info.identifier);
71
+ if (componentDir) {
72
+ const rendered = mustache_1.default.render(template.toString(), {
73
+ name: info.name,
74
+ description: info.description ?? "No description yet",
75
+ options: optionLines,
76
+ renderOption: function () {
77
+ return "| " + this.name + "| " + this.description + "| 𐄂 ✓";
78
+ }
79
+ });
80
+ const readmeLocation = path.join(componentDir, "Readme.gen.adoc");
81
+ console.log("readmeLocation", readmeLocation);
82
+ console.log("Rendered", rendered);
83
+ }
84
+ else {
85
+ console.log("Could not find directory for", definition.info.identifier);
86
+ }
87
+ }
88
+ return;
89
+ });
90
+ }
91
+ void genDocs();
92
+ //# sourceMappingURL=gen-docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gen-docs.js","sourceRoot":"","sources":["../../src/server/gen-docs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norskvideo/norsk-studio",
3
- "version": "1.18.5",
3
+ "version": "1.19.0",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "postinstall": "rm -f node_modules/hls-parser/*.ts",
@@ -15,11 +15,13 @@
15
15
  "build-tailwind": "npx tailwindcss -i static/tailwind.css -o static/style.css",
16
16
  "document": "node lib/server/runner.js",
17
17
  "server": "PUBLIC_URL_PREFIX=${PUBLIC_URL_PREFIX:-https://localhost:8443} node lib/server/index.js",
18
+ "watch": "watch 'npm run build' src",
18
19
  "test": "LOG_LEVEL=${LOG_LEVEL:-error} mocha --no-parallel --jobs=0 --timeout 120000 --recursive lib/test"
19
20
  },
20
21
  "bin": {
21
22
  "studio-editor": "./bin/studio-editor",
22
23
  "studio-runner": "./bin/studio-runner",
24
+ "studio-docs": "./bin/studio-docs",
23
25
  "studio-wrap-infos": "./bin/studio-wrap-infos",
24
26
  "studio-bundle": "./bin/studio-bundle"
25
27
  },
@@ -37,7 +39,7 @@
37
39
  ],
38
40
  "license": "See EULA at https://norsk.video/eula",
39
41
  "dependencies": {
40
- "@norskvideo/norsk-sdk": "^1.0.368",
42
+ "@norskvideo/norsk-sdk": "^1.0.372",
41
43
  "@norskvideo/webrtc-client": "^0.1.2",
42
44
  "compression": "^1.7.4",
43
45
  "config": "^3.3.9",
package/ui/index.js CHANGED
@@ -196618,6 +196618,7 @@ var import_jsx_runtime104 = __toESM(require_jsx_runtime());
196618
196618
  // build/client/extension/validation.js
196619
196619
  var validation_exports = {};
196620
196620
  __export(validation_exports, {
196621
+ AwsRegion: () => AwsRegion,
196621
196622
  DelayOutputMs: () => DelayOutputMs,
196622
196623
  Hostname: () => Hostname,
196623
196624
  IceServer: () => IceServer,
@@ -200677,6 +200678,7 @@ var LanguageTagWithCountry = stringType().regex(/^[a-z]{2,3}-[A-Z]{2}$/, "Must b
200677
200678
  var LanguageTagOptionalCountry = stringType().regex(/^[a-z]{2,3}(-[A-Z]{2})?$/, "Must be a language code/tag");
200678
200679
  var Hostname = stringType().min(2).max(2048);
200679
200680
  var Iface = stringType().min(1).max(32);
200681
+ var AwsRegion = stringType().regex(new RegExp(/^[a-z]{2}-[a-z]{2,15}-[1-9][0-9]{0,1}$/));
200680
200682
  function unique(key) {
200681
200683
  return {
200682
200684
  key,