brighterscript 1.0.0-alpha.52 → 1.0.0-alpha.53
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/README.md +5 -3
- package/bsconfig.schema.json +151 -0
- package/dist/BsConfig.d.ts +158 -44
- package/dist/BsConfig.js +24 -0
- package/dist/BsConfig.js.map +1 -1
- package/dist/BusyStatusTracker.js +3 -0
- package/dist/BusyStatusTracker.js.map +1 -1
- package/dist/CrossScopeValidator.js +5 -0
- package/dist/CrossScopeValidator.js.map +1 -1
- package/dist/DiagnosticFilterer.d.ts +17 -1
- package/dist/DiagnosticFilterer.js +69 -6
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/DiagnosticManager.d.ts +11 -1
- package/dist/DiagnosticManager.js +22 -3
- package/dist/DiagnosticManager.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +93 -4
- package/dist/DiagnosticMessages.js +91 -5
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/LanguageServer.d.ts +15 -3
- package/dist/LanguageServer.js +53 -6
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Logger.d.ts +7 -7
- package/dist/Logger.js +2 -2
- package/dist/Logger.js.map +1 -1
- package/dist/PluginInterface.js +2 -1
- package/dist/PluginInterface.js.map +1 -1
- package/dist/Program.d.ts +106 -9
- package/dist/Program.js +273 -23
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.js +6 -0
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/RokuConstants.d.ts +123 -0
- package/dist/RokuConstants.js +87 -0
- package/dist/RokuConstants.js.map +1 -0
- package/dist/ScopeNamespaceLookup.js.map +1 -1
- package/dist/Stopwatch.js +2 -2
- package/dist/Stopwatch.js.map +1 -1
- package/dist/SymbolTable.d.ts +1 -0
- package/dist/SymbolTable.js +20 -12
- package/dist/SymbolTable.js.map +1 -1
- package/dist/Throttler.d.ts +1 -1
- package/dist/Throttler.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +6 -1
- package/dist/astUtils/reflection.js +15 -4
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +1 -1
- package/dist/astUtils/visitors.js +2 -0
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.d.ts +2 -2
- package/dist/bscPlugin/BscPlugin.js +1 -1
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
- package/dist/bscPlugin/SignatureHelpUtil.js.map +1 -1
- package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.d.ts +3 -3
- package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.js +2 -3
- package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
- package/dist/bscPlugin/definition/DefinitionProvider.d.ts +67 -2
- package/dist/bscPlugin/definition/DefinitionProvider.js +244 -5
- package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -1
- package/dist/bscPlugin/references/ReferencesProvider.js +7 -1
- package/dist/bscPlugin/references/ReferencesProvider.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +40 -6
- package/dist/bscPlugin/validation/BrsFileValidator.js +109 -18
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ProgramValidator.d.ts +10 -0
- package/dist/bscPlugin/validation/ProgramValidator.js +54 -0
- package/dist/bscPlugin/validation/ProgramValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.js +55 -30
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/bscPlugin/validation/XmlFileValidator.d.ts +18 -0
- package/dist/bscPlugin/validation/XmlFileValidator.js +51 -0
- package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/diagnosticUtils.d.ts +1 -1
- package/dist/diagnosticUtils.js.map +1 -1
- package/dist/files/BrsFile.d.ts +2 -2
- package/dist/files/BrsFile.js +2 -2
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/XmlFile.d.ts +51 -1
- package/dist/files/XmlFile.js +264 -0
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/formatUtils.d.ts +20 -0
- package/dist/formatUtils.js +38 -0
- package/dist/formatUtils.js.map +1 -0
- package/dist/globalCallables.d.ts +1 -1
- package/dist/globalCallables.js +4 -1
- package/dist/globalCallables.js.map +1 -1
- package/dist/interfaces.d.ts +60 -5
- package/dist/interfaces.js.map +1 -1
- package/dist/lexer/Lexer.d.ts +26 -0
- package/dist/lexer/Lexer.js +140 -15
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/TokenKind.d.ts +27 -0
- package/dist/lexer/TokenKind.js +77 -3
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/lsp/ActionQueue.js +1 -2
- package/dist/lsp/ActionQueue.js.map +1 -1
- package/dist/lsp/DocumentManager.js +4 -0
- package/dist/lsp/DocumentManager.js.map +1 -1
- package/dist/lsp/LspProject.d.ts +2 -2
- package/dist/lsp/Project.d.ts +2 -2
- package/dist/lsp/Project.js +2 -0
- package/dist/lsp/Project.js.map +1 -1
- package/dist/lsp/ProjectManager.d.ts +7 -2
- package/dist/lsp/ProjectManager.js +3 -1
- package/dist/lsp/ProjectManager.js.map +1 -1
- package/dist/lsp/worker/MessageHandler.d.ts +1 -0
- package/dist/lsp/worker/MessageHandler.js +9 -0
- package/dist/lsp/worker/MessageHandler.js.map +1 -1
- package/dist/lsp/worker/WorkerPool.d.ts +51 -17
- package/dist/lsp/worker/WorkerPool.js +118 -40
- package/dist/lsp/worker/WorkerPool.js.map +1 -1
- package/dist/lsp/worker/WorkerThreadProject.d.ts +16 -3
- package/dist/lsp/worker/WorkerThreadProject.js +50 -10
- package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
- package/dist/lsp/worker/WorkerThreadProjectRunner.js +6 -0
- package/dist/lsp/worker/WorkerThreadProjectRunner.js.map +1 -1
- package/dist/lsp/worker/run.js +20 -3
- package/dist/lsp/worker/run.js.map +1 -1
- package/dist/parser/AstNode.d.ts +59 -2
- package/dist/parser/AstNode.js +63 -5
- package/dist/parser/AstNode.js.map +1 -1
- package/dist/parser/BrsTranspileState.d.ts +44 -0
- package/dist/parser/BrsTranspileState.js +49 -0
- package/dist/parser/BrsTranspileState.js.map +1 -1
- package/dist/parser/Expression.d.ts +56 -8
- package/dist/parser/Expression.js +91 -8
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.d.ts +0 -5
- package/dist/parser/Parser.js +5 -9
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/SGParser.d.ts +7 -1
- package/dist/parser/SGParser.js +20 -10
- package/dist/parser/SGParser.js.map +1 -1
- package/dist/parser/SGTypes.js +8 -2
- package/dist/parser/SGTypes.js.map +1 -1
- package/dist/parser/Statement.d.ts +21 -10
- package/dist/parser/Statement.js +61 -1
- package/dist/parser/Statement.js.map +1 -1
- package/dist/preprocessor/Manifest.d.ts +16 -0
- package/dist/preprocessor/Manifest.js +21 -5
- package/dist/preprocessor/Manifest.js.map +1 -1
- package/dist/roku-types/index.d.ts +3 -0
- package/dist/types/BuiltInInterfaceAdder.js +1 -1
- package/dist/types/BuiltInInterfaceAdder.js.map +1 -1
- package/dist/types/InheritableType.d.ts +0 -1
- package/dist/types/InheritableType.js +12 -11
- package/dist/types/InheritableType.js.map +1 -1
- package/dist/types/InterfaceType.js +6 -0
- package/dist/types/InterfaceType.js.map +1 -1
- package/dist/types/IntersectionType.d.ts +1 -1
- package/dist/types/IntersectionType.js +7 -7
- package/dist/types/IntersectionType.js.map +1 -1
- package/dist/types/ReferenceType.js +1 -1
- package/dist/types/ReferenceType.js.map +1 -1
- package/dist/types/helpers.d.ts +2 -2
- package/dist/types/helpers.js +8 -5
- package/dist/types/helpers.js.map +1 -1
- package/dist/util.d.ts +38 -4
- package/dist/util.js +296 -29
- package/dist/util.js.map +1 -1
- package/package.json +12 -18
package/dist/Logger.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { LogLevelNumeric as LogLevel } from '@rokucommunity/logger';
|
|
|
4
4
|
*/
|
|
5
5
|
export declare class Logger {
|
|
6
6
|
prefix?: string;
|
|
7
|
-
static subscribe(callback: any): () => void;
|
|
7
|
+
static subscribe(callback: (...args: any[]) => void): () => void;
|
|
8
8
|
private static emitter;
|
|
9
9
|
/**
|
|
10
10
|
* A string with whitespace used for indenting all messages
|
|
@@ -19,27 +19,27 @@ export declare class Logger {
|
|
|
19
19
|
/**
|
|
20
20
|
* Log an error message to the console
|
|
21
21
|
*/
|
|
22
|
-
error(...messages:
|
|
22
|
+
error(...messages: unknown[]): void;
|
|
23
23
|
/**
|
|
24
24
|
* Log a warning message to the console
|
|
25
25
|
*/
|
|
26
|
-
warn(...messages:
|
|
26
|
+
warn(...messages: unknown[]): void;
|
|
27
27
|
/**
|
|
28
28
|
* Log a standard log message to the console
|
|
29
29
|
*/
|
|
30
|
-
log(...messages:
|
|
30
|
+
log(...messages: unknown[]): void;
|
|
31
31
|
/**
|
|
32
32
|
* Log an info message to the console
|
|
33
33
|
*/
|
|
34
|
-
info(...messages:
|
|
34
|
+
info(...messages: unknown[]): void;
|
|
35
35
|
/**
|
|
36
36
|
* Log a debug message to the console
|
|
37
37
|
*/
|
|
38
|
-
debug(...messages:
|
|
38
|
+
debug(...messages: unknown[]): void;
|
|
39
39
|
/**
|
|
40
40
|
* Log a debug message to the console
|
|
41
41
|
*/
|
|
42
|
-
trace(...messages:
|
|
42
|
+
trace(...messages: unknown[]): void;
|
|
43
43
|
/**
|
|
44
44
|
* Writes to the log (if logLevel matches), and also provides a function that can be called to mark the end of a time.
|
|
45
45
|
* You can override the action if, for example, the operation was cancelled instead of finished.
|
package/dist/Logger.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LogLevel = exports.noop = exports.Logger = void 0;
|
|
4
4
|
const chalk_1 = require("chalk");
|
|
5
|
-
const
|
|
5
|
+
const formatUtils_1 = require("./formatUtils");
|
|
6
6
|
const eventemitter3_1 = require("eventemitter3");
|
|
7
7
|
const Stopwatch_1 = require("./Stopwatch");
|
|
8
8
|
const logger_1 = require("@rokucommunity/logger");
|
|
@@ -36,7 +36,7 @@ class Logger {
|
|
|
36
36
|
this._logLevel = value !== null && value !== void 0 ? value : logger_1.LogLevelNumeric.log;
|
|
37
37
|
}
|
|
38
38
|
getTimestamp() {
|
|
39
|
-
return '[' + chalk_1.default.grey(
|
|
39
|
+
return '[' + chalk_1.default.grey((0, formatUtils_1.formatTimestamp)()) + ']';
|
|
40
40
|
}
|
|
41
41
|
writeToLog(method, ...args) {
|
|
42
42
|
if (this._logLevel === logger_1.LogLevelNumeric.trace) {
|
package/dist/Logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":";;;AAAA,iCAA0B;AAC1B
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"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"}
|
package/dist/PluginInterface.js
CHANGED
|
@@ -128,7 +128,8 @@ class PluginInterface {
|
|
|
128
128
|
beforeFileValidate: 'beforeValidateFile',
|
|
129
129
|
onFileValidate: 'validateFile',
|
|
130
130
|
afterFileValidate: 'afterValidateFile',
|
|
131
|
-
onSerializeProgram: 'serializeProgram'
|
|
131
|
+
onSerializeProgram: 'serializeProgram',
|
|
132
|
+
onGetSourceFixAllCodeActions: 'provideSourceFixAllCodeActions'
|
|
132
133
|
};
|
|
133
134
|
for (const [oldEvent, newEvent] of Object.entries(upgradeWithWarn)) {
|
|
134
135
|
if (plugin[oldEvent]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginInterface.js","sourceRoot":"","sources":["../src/PluginInterface.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PluginInterface.js","sourceRoot":"","sources":["../src/PluginInterface.ts"],"names":[],"mappings":"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"}
|
package/dist/Program.d.ts
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import type { CodeAction, Position, Range, SignatureInformation, Location, DocumentSymbol, CancellationToken, SelectionRange, InlayHint } from 'vscode-languageserver';
|
|
1
|
+
import type { CodeAction, Position, Range, SignatureInformation, Location, LocationLink, DocumentSymbol, CancellationToken, SelectionRange, InlayHint } from 'vscode-languageserver';
|
|
2
2
|
import type { BsConfig, FinalizedBsConfig } from './BsConfig';
|
|
3
3
|
import { Scope } from './Scope';
|
|
4
4
|
import type { NamespaceContainer, NamespaceFileContribution } from './Scope';
|
|
5
|
-
import type { FileObj, SemanticToken, FileLink, Hover } from './interfaces';
|
|
5
|
+
import type { BsDiagnostic, FileObj, SemanticToken, FileLink, Hover } from './interfaces';
|
|
6
6
|
import { XmlScope } from './XmlScope';
|
|
7
7
|
import type { Logger } from './logging';
|
|
8
|
+
import type { ManifestEntry } from './preprocessor/Manifest';
|
|
9
|
+
import type { FirmwareCapabilities } from './RokuConstants';
|
|
8
10
|
import PluginInterface from './PluginInterface';
|
|
9
11
|
import type { FunctionStatement } from './parser/Statement';
|
|
10
12
|
import { Editor } from './astUtils/Editor';
|
|
11
13
|
import type { FileData } from './files/LazyFileData';
|
|
14
|
+
import type { SGNodeData } from './roku-types';
|
|
12
15
|
import type { UnresolvedSymbol } from './AstValidationSegmenter';
|
|
13
16
|
import type { BscFile } from './files/BscFile';
|
|
14
17
|
import { CrossScopeValidator } from './CrossScopeValidator';
|
|
@@ -209,7 +212,7 @@ export declare class Program {
|
|
|
209
212
|
/**
|
|
210
213
|
* Get the list of errors for the entire program.
|
|
211
214
|
*/
|
|
212
|
-
getDiagnostics():
|
|
215
|
+
getDiagnostics(): BsDiagnostic[];
|
|
213
216
|
/**
|
|
214
217
|
* Determine if the specified file is loaded in this program right now.
|
|
215
218
|
* @param filePath the absolute or relative path to the file
|
|
@@ -229,6 +232,27 @@ export declare class Program {
|
|
|
229
232
|
* Find the scope for the specified component
|
|
230
233
|
*/
|
|
231
234
|
getComponentScope(componentName: string): XmlScope;
|
|
235
|
+
/**
|
|
236
|
+
* Get the names of all known SceneGraph nodes: the built-in Roku nodes plus every component
|
|
237
|
+
* defined in this program. Names keep their original casing and are deduplicated by lower-case name.
|
|
238
|
+
*/
|
|
239
|
+
getSceneGraphNodeNames(): string[];
|
|
240
|
+
/**
|
|
241
|
+
* Determine whether a SceneGraph node with the given name exists, either as a built-in Roku node
|
|
242
|
+
* or as a component defined in this program.
|
|
243
|
+
*/
|
|
244
|
+
hasSceneGraphNode(nodeName: string): boolean;
|
|
245
|
+
/**
|
|
246
|
+
* Get the built-in Roku node data and/or the project component file backing a SceneGraph node name.
|
|
247
|
+
* Returns `undefined` when no node or component matches.
|
|
248
|
+
*/
|
|
249
|
+
getSceneGraphNode(nodeName: string): SceneGraphNodeLookup | undefined;
|
|
250
|
+
/**
|
|
251
|
+
* Get every field available on a SceneGraph node, walking the full `extends` chain across both
|
|
252
|
+
* built-in Roku nodes and project components. Fields declared closer to the node take precedence
|
|
253
|
+
* over inherited fields with the same name.
|
|
254
|
+
*/
|
|
255
|
+
getSceneGraphNodeFields(nodeName: string): ResolvedSceneGraphField[];
|
|
232
256
|
/**
|
|
233
257
|
* Update internal maps with this file reference
|
|
234
258
|
*/
|
|
@@ -339,6 +363,8 @@ export declare class Program {
|
|
|
339
363
|
* Gets a sorted list of all scopeNames, always beginning with "global", "source", then any others in alphabetical order
|
|
340
364
|
*/
|
|
341
365
|
private getSortedScopeNames;
|
|
366
|
+
getAllUserScopes(): Scope[];
|
|
367
|
+
private scopesPerFile;
|
|
342
368
|
/**
|
|
343
369
|
* Get a list of all scopes the file is loaded into
|
|
344
370
|
* @param file the file
|
|
@@ -364,10 +390,7 @@ export declare class Program {
|
|
|
364
390
|
* Given a position in a file, if the position is sitting on some type of identifier,
|
|
365
391
|
* go to the definition of that identifier (where this thing was first defined)
|
|
366
392
|
*/
|
|
367
|
-
getDefinition(srcPath: string, position: Position): Location
|
|
368
|
-
/**
|
|
369
|
-
* Get hover information for a file and position
|
|
370
|
-
*/
|
|
393
|
+
getDefinition(srcPath: string, position: Position): Array<Location | LocationLink>;
|
|
371
394
|
getHover(srcPath: string, position: Position): Hover[];
|
|
372
395
|
/**
|
|
373
396
|
* Get full list of document symbols for a file
|
|
@@ -390,8 +413,9 @@ export declare class Program {
|
|
|
390
413
|
getCodeActions(srcPath: string, range: Range): CodeAction[];
|
|
391
414
|
/**
|
|
392
415
|
* Compute "source fix all" code actions for the given file.
|
|
393
|
-
* Fires the `
|
|
394
|
-
*
|
|
416
|
+
* Fires the `provideSourceFixAllCodeActions` plugin event (along with its before/after variants)
|
|
417
|
+
* with all diagnostics for the file (no range filter), then converts each contributed
|
|
418
|
+
* SourceFixAllCodeAction into an LSP CodeAction.
|
|
395
419
|
*/
|
|
396
420
|
getSourceFixAllCodeActions(srcPath: string): CodeAction[];
|
|
397
421
|
/**
|
|
@@ -445,6 +469,7 @@ export declare class Program {
|
|
|
445
469
|
findFilesForNamespace(name: string): BscFile[];
|
|
446
470
|
findFilesForEnum(name: string): BscFile[];
|
|
447
471
|
private _manifest;
|
|
472
|
+
private _manifestEntries;
|
|
448
473
|
/**
|
|
449
474
|
* The absolute source path to the manifest file. Set when loadManifest is called.
|
|
450
475
|
*/
|
|
@@ -464,6 +489,55 @@ export declare class Program {
|
|
|
464
489
|
* Get a map of the manifest information
|
|
465
490
|
*/
|
|
466
491
|
getManifest(): Map<string, string>;
|
|
492
|
+
/**
|
|
493
|
+
* Get the manifest as a list of `{ key, value, range }` entries with line/column ranges
|
|
494
|
+
* suitable for attaching diagnostics to specific manifest lines.
|
|
495
|
+
*
|
|
496
|
+
* NOTE: protected for now. The shape of this data is likely to evolve as we build out
|
|
497
|
+
* more manifest-aware features (validation rules, autocomplete, etc.). External plugins
|
|
498
|
+
* shouldn't depend on this until we commit to a stable API.
|
|
499
|
+
*/
|
|
500
|
+
protected getManifestEntries(): ManifestEntry[];
|
|
501
|
+
private _manifestPath;
|
|
502
|
+
/**
|
|
503
|
+
* Returns the absolute path of the loaded manifest file, or undefined if no manifest was found.
|
|
504
|
+
*
|
|
505
|
+
* NOTE: protected for now. Once brighterscript treats the manifest as a proper file
|
|
506
|
+
* (with editor / BscFile integration) callers should consume that instead of poking at
|
|
507
|
+
* the Program. External plugins shouldn't depend on this in the meantime.
|
|
508
|
+
*/
|
|
509
|
+
protected getManifestPath(): string | undefined;
|
|
510
|
+
private _minFirmwareVersion;
|
|
511
|
+
/**
|
|
512
|
+
* The minimum Roku firmware version brighterscript should assume the user is targeting.
|
|
513
|
+
* If `options.minFirmwareVersion` is set AND parseable as semver, the canonical coerced
|
|
514
|
+
* form ("15.0" → "15.0.0") wins; otherwise (unset or unparseable) falls back to
|
|
515
|
+
* {@link DEFAULT_MIN_FIRMWARE_VERSION}. The return is always a valid semver string so
|
|
516
|
+
* downstream callers can pass it directly to `semver.gte`/`semver.lt` without re-coercing.
|
|
517
|
+
* Cached after first call.
|
|
518
|
+
*/
|
|
519
|
+
getMinFirmwareVersion(): string;
|
|
520
|
+
private _firmwareCapabilities;
|
|
521
|
+
/**
|
|
522
|
+
* What the project's target firmware natively understands, derived from
|
|
523
|
+
* {@link getMinFirmwareVersion}. These are facts about the device, not decisions about what
|
|
524
|
+
* to do — a caller finding a missing capability decides whether to transpile around it (as
|
|
525
|
+
* `continue` does) or report a diagnostic (as optional chaining does).
|
|
526
|
+
* Cached after first call.
|
|
527
|
+
*/
|
|
528
|
+
get firmwareCapabilities(): FirmwareCapabilities;
|
|
529
|
+
private _rsgVersion;
|
|
530
|
+
/**
|
|
531
|
+
* Returns the effective `rsg_version` for this program in canonical semver form (e.g. "1.2"
|
|
532
|
+
* → "1.2.0"). If the manifest declares a value explicitly and it's parseable, the canonical
|
|
533
|
+
* form wins; otherwise (manifest silent OR value is malformed) we fall back to the highest
|
|
534
|
+
* known rsg_version whose `becameDefaultAt` is `<=` the effective minimum firmware version,
|
|
535
|
+
* driven by {@link RSG_VERSIONS}. Cached after first call.
|
|
536
|
+
*
|
|
537
|
+
* Manifest validation (format errors, etc.) happens in `ProgramValidator` against the raw
|
|
538
|
+
* entry — that path doesn't go through this method.
|
|
539
|
+
*/
|
|
540
|
+
getRsgVersion(): string;
|
|
467
541
|
dispose(): void;
|
|
468
542
|
}
|
|
469
543
|
export interface FileTranspileResult {
|
|
@@ -485,3 +559,26 @@ export interface ProgramBuildOptions {
|
|
|
485
559
|
*/
|
|
486
560
|
files?: BscFile[];
|
|
487
561
|
}
|
|
562
|
+
/**
|
|
563
|
+
* Where a resolved SceneGraph field was declared, relative to the node it was resolved for:
|
|
564
|
+
* `own` = declared on the node itself, `inherited` = declared on an ancestor in the `extends` chain
|
|
565
|
+
*/
|
|
566
|
+
export declare type SceneGraphFieldOrigin = 'own' | 'inherited';
|
|
567
|
+
/**
|
|
568
|
+
* A field available on a SceneGraph node, resolved across the node's full `extends` chain
|
|
569
|
+
*/
|
|
570
|
+
export interface ResolvedSceneGraphField {
|
|
571
|
+
name: string;
|
|
572
|
+
type?: string;
|
|
573
|
+
default?: string;
|
|
574
|
+
description?: string;
|
|
575
|
+
accessPermission?: string;
|
|
576
|
+
origin: SceneGraphFieldOrigin;
|
|
577
|
+
}
|
|
578
|
+
/**
|
|
579
|
+
* The built-in Roku node data and/or project component file backing a SceneGraph node name
|
|
580
|
+
*/
|
|
581
|
+
export interface SceneGraphNodeLookup {
|
|
582
|
+
builtInNode?: SGNodeData;
|
|
583
|
+
componentFile?: XmlFile;
|
|
584
|
+
}
|