@microtronics/studio-cli 0.6.1 → 0.8.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
 
2
2
 
3
+ ## 0.8.0 (2024-12-19)
4
+
5
+
6
+ ### Features
7
+
8
+ * **studio-cli:** allow to trigger pov build from cli ([048dfe4](https://bitbucket.org/microtronics-core/vscode-studio/commits/048dfe4ae92e77ecdacc85c821b465ab3187ff63))
9
+ * **studio-core:** allow to trigger blo build from cli ([1cdfa02](https://bitbucket.org/microtronics-core/vscode-studio/commits/1cdfa026517759392acb0f098a90e9fda8faf5c1))
10
+
11
+ ## 0.7.0 (2024-12-16)
12
+
13
+
14
+ ### Features
15
+
16
+ * **studio-cli:** dlo compiler returns errors as diagnostic information ([eb14ac9](https://bitbucket.org/microtronics-core/vscode-studio/commits/eb14ac9460d3dfd3be9221adde0a87e15eb13cd9))
17
+ * **studio-cli:** first working version of dlo compiler ([158e85f](https://bitbucket.org/microtronics-core/vscode-studio/commits/158e85f3e51a9288835017b928e8306896f5655e))
18
+ * **studio-cli:** implement `findFiles` function ([984ab83](https://bitbucket.org/microtronics-core/vscode-studio/commits/984ab83aacb1fbbd06b8b4ce7a88095a346470a1))
19
+ * **studio-cli:** moved dlo precompiler to the cli ([3087cbc](https://bitbucket.org/microtronics-core/vscode-studio/commits/3087cbcbe9fb494bf368ee50f6774be80c80987d))
20
+
3
21
  ## 0.6.1 (2024-12-12)
4
22
 
5
23
 
@@ -1344,6 +1344,7 @@ export declare namespace DefaultFiles {
1344
1344
  legacyAutoDdeInc: string;
1345
1345
  legacyAutoUplinkInc: string;
1346
1346
  reportTemplate: string;
1347
+ dloCfg: string;
1347
1348
  };
1348
1349
  const filePaths: {
1349
1350
  studio: {
@@ -1360,12 +1361,14 @@ export declare namespace DefaultFiles {
1360
1361
  legacyAutoInc: string;
1361
1362
  legacyAutoDdeInc: string;
1362
1363
  legacyAutoUplinkInc: string;
1364
+ cfg: string;
1363
1365
  };
1364
1366
  };
1365
1367
  libdeps: string;
1366
1368
  };
1367
1369
  dist: {
1368
1370
  path: string;
1371
+ dloPath: string;
1369
1372
  mainAmxPath: string;
1370
1373
  mainAmxReportPath: string;
1371
1374
  ddeXmlPath: string;
@@ -1521,6 +1524,103 @@ export declare namespace Diagnostics {
1521
1524
  }
1522
1525
  }
1523
1526
 
1527
+ export declare namespace DLO {
1528
+ const FileSequencer: typeof DloFileSequencer;
1529
+ export type FileSequencer = DloFileSequencer;
1530
+ const PreCompiler: typeof DloPreCompiler;
1531
+ export type PreCompiler = DloPreCompiler;
1532
+ /**
1533
+ * The DLO Compiler
1534
+ */
1535
+ const Compiler: typeof DloCompiler;
1536
+ export type Compiler = DloCompiler;
1537
+ const uriToMemFs: typeof uriToMemFsPath;
1538
+ /**
1539
+ * Generate the dlo.cfg file and write it to the .studio/auto/dlo directory
1540
+ * @param cwd
1541
+ * @param fs
1542
+ */
1543
+ export function exportDloConfig(cwd: URI, fs: LocalFS): Promise<void>;
1544
+ }
1545
+
1546
+ declare class DloCompiler {
1547
+ private preCompiler;
1548
+ private dloCC;
1549
+ private stdout;
1550
+ private stderr;
1551
+ constructor();
1552
+ private initDloCC;
1553
+ private get MEMFS();
1554
+ compile(cwd: URI, fs: LocalFS): Promise<{
1555
+ code: number;
1556
+ stdout: string[];
1557
+ stderr: string[];
1558
+ diagnostics: Diagnostics.File[];
1559
+ }>;
1560
+ private persistGeneratedFiles;
1561
+ private readConfigFile;
1562
+ /**
1563
+ * Search for all dlo files and persist it to the MEMFS
1564
+ * @param cwd
1565
+ * @param fs
1566
+ * @param manifest
1567
+ * @private
1568
+ */
1569
+ private persistDloFiles;
1570
+ /**
1571
+ * Precompile the given file and pass it to the MEMFS
1572
+ * @param cwd
1573
+ * @param manifest
1574
+ * @param file
1575
+ * @param stringBlob
1576
+ */
1577
+ memFSwriteFile(cwd: URI, manifest: Manifest.Manifest, file: URI, stringBlob: string[]): Promise<Diagnostics.File[]>;
1578
+ /**
1579
+ * Move a file within the MEMFS
1580
+ * @param oldUri
1581
+ * @param newUri
1582
+ */
1583
+ memFSmove(oldUri: URI, newUri: URI): Promise<void>;
1584
+ /**
1585
+ * Remove a file from the MEMFS
1586
+ * @param uri
1587
+ */
1588
+ memFSunlink(uri: URI): Promise<void>;
1589
+ private memFSmkdir;
1590
+ private memFSstat;
1591
+ private parseWarningsAndErrors;
1592
+ /**
1593
+ * Get a symbol compiler instance
1594
+ */
1595
+ getSymbolCompiler(): Promise<{
1596
+ compiler: any;
1597
+ print: {
1598
+ stdout: string[];
1599
+ stderr: string[];
1600
+ };
1601
+ }>;
1602
+ }
1603
+
1604
+ declare class DloFileSequencer {
1605
+ private readonly dloFileMap;
1606
+ private rootUri;
1607
+ constructor();
1608
+ set workspacePath(workspacePath: URI);
1609
+ getSequenceForFile(filePath: string): string;
1610
+ getFilePathForSequence(sequenceId: string): string | null;
1611
+ }
1612
+
1613
+ declare class DloPreCompiler {
1614
+ private pragmaDynamic;
1615
+ private dloFileSequencer;
1616
+ constructor();
1617
+ get pragmaDynamicFlag(): string | null;
1618
+ preCompileDloFile(cwd: URI, manifest: Manifest.Manifest, fileUri: URI, fileBlob: string[]): Promise<{
1619
+ diagnostics: Diagnostics.File[];
1620
+ data: string;
1621
+ }>;
1622
+ }
1623
+
1524
1624
  /**
1525
1625
  * Permissions of a file.
1526
1626
  */
@@ -1611,6 +1711,24 @@ export declare namespace Globals {
1611
1711
  export function read(cwd: URI, fs: LocalFS): Promise<Defines>;
1612
1712
  }
1613
1713
 
1714
+ /**
1715
+ * A file glob pattern to match file paths against. This can either be a glob pattern string
1716
+ *
1717
+ * Glob patterns can have the following syntax:
1718
+ * * `*` to match zero or more characters in a path segment
1719
+ * * `?` to match on one character in a path segment
1720
+ * * `**` to match any number of path segments, including none
1721
+ * * `{}` to group conditions matches all TypeScript and JavaScript files)
1722
+ * * `[]` to declare a range of characters to match in a path segment (e.g., `example.[0-9]` to match on `example.0`, `example.1`, …)
1723
+ * * `[!...]` to negate a range of characters to match in a path segment (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but not `example.0`)
1724
+ *
1725
+ * Note: a backslash (`\`) is not valid within a glob pattern. If you have an existing file
1726
+ * path to match against, consider to use the {@link RelativePattern relative pattern} support
1727
+ * that takes care of converting any backslash into slash. Otherwise, make sure to convert
1728
+ * any backslash to slash when creating the glob pattern.
1729
+ */
1730
+ declare type GlobPattern = string;
1731
+
1614
1732
  export declare namespace Helper {
1615
1733
  /**
1616
1734
  * Convert yaml range to an valid vscode line information
@@ -1633,6 +1751,9 @@ export declare namespace Helper {
1633
1751
  * @param content
1634
1752
  */
1635
1753
  export function generateCRC32ForFileContent(content: Uint8Array): string;
1754
+ export function convertBlobToString(blob: Uint8Array | any): string;
1755
+ export function normalizeLF(stringToNormalize?: string): string;
1756
+ export function convertBlobToStringArray(blob: Uint8Array | any): string[];
1636
1757
  }
1637
1758
 
1638
1759
  declare interface LocalFS {
@@ -1653,6 +1774,22 @@ declare interface LocalFS {
1653
1774
  */
1654
1775
  readFile: (path: URI) => Promise<Uint8Array>;
1655
1776
  stat: (path: URI) => Promise<FileStat | null>;
1777
+ /**
1778
+ * Find files across all folders
1779
+ *
1780
+ *
1781
+ * @param include A {@link GlobPattern glob pattern} that defines the files to search for. The glob pattern
1782
+ * will be matched against the file paths of resulting matches relative to their workspace. Use a {@link RelativePattern relative pattern}
1783
+ * to restrict the search results to a {@link WorkspaceFolder workspace folder}.
1784
+ * @param exclude A {@link GlobPattern glob pattern} that defines files and folders to exclude. The glob pattern
1785
+ * will be matched against the file paths of resulting matches relative to their workspace. When `undefined`, default file-excludes (e.g. the `files.exclude`-setting
1786
+ * but not `search.exclude`) will apply. When `null`, no excludes will apply.
1787
+ * @param maxResults An upper-bound for the result.
1788
+ * @param token A token that can be used to signal cancellation to the underlying search engine.
1789
+ * @return A thenable that resolves to an array of resource identifiers. Will return no results if no
1790
+ * {@link workspace.workspaceFolders workspace folders} are opened.
1791
+ */
1792
+ findFiles: (cwd: URI, include: GlobPattern, exclude?: GlobPattern) => Promise<URI[]>;
1656
1793
  }
1657
1794
 
1658
1795
  export declare namespace Manifest {
@@ -1740,6 +1877,8 @@ export declare namespace Registry {
1740
1877
  export function fetchLibraryContent(token: string | null, contentURL: string, json?: boolean): Promise<any>;
1741
1878
  }
1742
1879
 
1880
+ declare function uriToMemFsPath(path: URI): string;
1881
+
1743
1882
  declare interface XMLField {
1744
1883
  alias: string;
1745
1884
  byteofs?: string;
package/out/FS.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"FS.d.ts","sourceRoot":"","sources":["../src/FS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,WAAW,OAAO;IACvB;;;OAGG;IACH,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC;;;;OAIG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACrE;;;OAGG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;CAC9C;AACD;;;;GAIG;AACH,oBAAY,QAAQ;IACnB;;OAEG;IACH,OAAO,IAAI;IACX;;OAEG;IACH,IAAI,IAAI;IACR;;OAEG;IACH,SAAS,IAAI;IACb;;OAEG;IACH,YAAY,KAAK;CACjB;AAED;;GAEG;AACH,oBAAY,cAAc;IACzB;;;;;;;OAOG;IACH,QAAQ,IAAI;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB;;;;;OAKG;IACH,IAAI,EAAE,QAAQ,CAAC;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,GAAG,UAazD"}
1
+ {"version":3,"file":"FS.d.ts","sourceRoot":"","sources":["../src/FS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,WAAW,OAAO;IACvB;;;OAGG;IACH,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC;;;;OAIG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACrE;;;OAGG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC9C;;;;;;;;;;;;;;OAcG;IACH,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;CACrF;AACD;;;;GAIG;AACH,oBAAY,QAAQ;IACnB;;OAEG;IACH,OAAO,IAAI;IACX;;OAEG;IACH,IAAI,IAAI;IACR;;OAEG;IACH,SAAS,IAAI;IACb;;OAEG;IACH,YAAY,KAAK;CACjB;AAED;;GAEG;AACH,oBAAY,cAAc;IACzB;;;;;;;OAOG;IACH,QAAQ,IAAI;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB;;;;;OAKG;IACH,IAAI,EAAE,QAAQ,CAAC;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC"}
package/out/FS.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FilePermission = exports.FileType = void 0;
4
- exports.convertBlobToString = convertBlobToString;
5
4
  /**
6
5
  * Enumeration of file types. The types `File` and `Directory` can also be
7
6
  * a symbolic links, in that case use `FileType.File | FileType.SymbolicLink` and
@@ -41,20 +40,4 @@ var FilePermission;
41
40
  */
42
41
  FilePermission[FilePermission["Readonly"] = 1] = "Readonly";
43
42
  })(FilePermission || (exports.FilePermission = FilePermission = {}));
44
- function convertBlobToString(blob) {
45
- try {
46
- let binaryData = null;
47
- // if vscode runs in desktop mode, the blob is a serialized buffer
48
- if (blob?.type === 'Buffer') {
49
- binaryData = Uint8Array.from(blob.data);
50
- }
51
- else {
52
- binaryData = blob;
53
- }
54
- return new TextDecoder('utf8').decode(binaryData);
55
- }
56
- catch (e) {
57
- return '';
58
- }
59
- }
60
43
  //# sourceMappingURL=FS.js.map
package/out/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,OAAO,EACN,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,MAAM,EACN,WAAW,EACX,YAAY,EACZ,cAAc,EACd,OAAO,EACP,GAAG,EACH,CAAC"}
package/out/api.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Globals = exports.DeviceProfiles = exports.DefaultFiles = exports.Diagnostics = exports.Helper = exports.DDE = exports.DDE_Core = exports.Registry = exports.Manifest = exports.Dependencies = void 0;
3
+ exports.DLO = exports.Globals = exports.DeviceProfiles = exports.DefaultFiles = exports.Diagnostics = exports.Helper = exports.DDE = exports.DDE_Core = exports.Registry = exports.Manifest = exports.Dependencies = void 0;
4
4
  const dependencies_1 = require("./dependencies");
5
5
  Object.defineProperty(exports, "Dependencies", { enumerable: true, get: function () { return dependencies_1.Dependencies; } });
6
6
  const manifest_1 = require("./manifest");
@@ -21,4 +21,6 @@ const DeviceProfiles_1 = require("./DeviceProfiles");
21
21
  Object.defineProperty(exports, "DeviceProfiles", { enumerable: true, get: function () { return DeviceProfiles_1.DeviceProfiles; } });
22
22
  const globals_1 = require("./globals");
23
23
  Object.defineProperty(exports, "Globals", { enumerable: true, get: function () { return globals_1.Globals; } });
24
+ const dlo_1 = require("./dlo/dlo");
25
+ Object.defineProperty(exports, "DLO", { enumerable: true, get: function () { return dlo_1.DLO; } });
24
26
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cliFS.d.ts","sourceRoot":"","sources":["../src/cliFS.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,OAAO,EAAE,MAAM,MAAM,CAAC;AAInD,eAAO,MAAM,KAAK,EAAE,OAmCnB,CAAC"}
1
+ {"version":3,"file":"cliFS.d.ts","sourceRoot":"","sources":["../src/cliFS.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,OAAO,EAAE,MAAM,MAAM,CAAC;AAIhE,eAAO,MAAM,KAAK,EAAE,OAkDnB,CAAC"}
package/out/cliFS.js CHANGED
@@ -7,7 +7,7 @@ exports.cliFS = void 0;
7
7
  const promises_1 = __importDefault(require("node:fs/promises"));
8
8
  const FS_1 = require("./FS");
9
9
  const vscode_uri_1 = require("vscode-uri");
10
- var dirname = vscode_uri_1.Utils.dirname;
10
+ const glob_1 = require("glob");
11
11
  exports.cliFS = {
12
12
  readFile(path) {
13
13
  return promises_1.default.readFile(path.fsPath);
@@ -39,9 +39,23 @@ exports.cliFS = {
39
39
  if (typeof content === 'string') {
40
40
  content = new TextEncoder().encode(content);
41
41
  }
42
- const dirPath = dirname(path);
42
+ const dirPath = vscode_uri_1.Utils.dirname(path);
43
43
  await promises_1.default.mkdir(dirPath.fsPath, { recursive: true });
44
44
  return promises_1.default.writeFile(path.fsPath, content, { flag: 'w' });
45
+ },
46
+ async findFiles(cwd, include, exclude) {
47
+ const options = {
48
+ ignore: exclude,
49
+ nodir: true,
50
+ absolute: true,
51
+ dot: true,
52
+ cwd: vscode_uri_1.Utils.dirname(cwd).fsPath
53
+ };
54
+ const files = await (0, glob_1.glob)(include, options);
55
+ return files.map(file => {
56
+ const posix = file.replace(/\\/g, '/');
57
+ return vscode_uri_1.URI.parse(`file:///${posix}`);
58
+ });
45
59
  }
46
60
  };
47
61
  //# sourceMappingURL=cliFS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dde.d.ts","sourceRoot":"","sources":["../../src/dde/dde.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dde.d.ts","sourceRoot":"","sources":["../../src/dde/dde.ts"],"names":[],"mappings":"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"}
package/out/dde/dde.js CHANGED
@@ -28,7 +28,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.DDE = exports.DDE_PATH = void 0;
30
30
  const vscode_uri_1 = require("vscode-uri");
31
- const FS_1 = require("../FS");
32
31
  const dependencies_1 = require("../dependencies");
33
32
  const manifest_1 = require("../manifest");
34
33
  const ajv_1 = __importDefault(require("ajv"));
@@ -42,19 +41,21 @@ const semver = __importStar(require("semver"));
42
41
  const dlo_1 = require("./fileGenerators/dlo");
43
42
  const globals_1 = require("../globals");
44
43
  const api_1 = require("./fileGenerators/api");
44
+ const helper_1 = require("../helper");
45
45
  exports.DDE_PATH = defaultFiles_1.DefaultFiles.filePaths.dde.path;
46
46
  // create file cache.
47
47
  // yaml & json
48
48
  // ...
49
49
  var DDE;
50
50
  (function (DDE) {
51
+ var convertBlobToString = helper_1.Helper.convertBlobToString;
51
52
  /**
52
53
  * The json schema to validate the dde structure
53
54
  */
54
55
  DDE.DDE_SCHEMA = dynamic_dde_schema_json_1.default;
55
56
  async function readYamlFile(filePath, fs) {
56
57
  const yamlBin = await fs.readFile(filePath);
57
- return (0, FS_1.convertBlobToString)(yamlBin);
58
+ return convertBlobToString(yamlBin);
58
59
  }
59
60
  DDE.readYamlFile = readYamlFile;
60
61
  /**
@@ -169,7 +170,7 @@ var DDE;
169
170
  const historyPath = vscode_uri_1.Utils.joinPath(cwd, exports.DDE_PATH, 'history.json');
170
171
  try {
171
172
  const binary = await fs.readFile(historyPath);
172
- const historyString = (0, FS_1.convertBlobToString)(binary);
173
+ const historyString = convertBlobToString(binary);
173
174
  return JSON.parse(historyString);
174
175
  }
175
176
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"dlo.d.ts","sourceRoot":"","sources":["../../../src/dde/fileGenerators/dlo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;AAUlC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,GAAG,EAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAuBnC,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,UA+LlH;AAED,qBAAa,gBAAgB;IAWhB,OAAO,CAAC,MAAM;IAAW,OAAO,CAAC,OAAO;IAVpD,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAA+F;gBAC7F,MAAM,EAAE,OAAO,EAAU,OAAO,EAAE,IAAI,GAAG,MAAM;IAGnE,OAAO,CAAC,IAAI;IAiBL,QAAQ;;;;IAoCf,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,8BAA8B;IAoEtC,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,uBAAuB;IA8D/B,OAAO,CAAC,6BAA6B;IASrC,OAAO,CAAC,2BAA2B;IAmBnC;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,0BAA0B;IA8BlC,OAAO,CAAC,mBAAmB;IAiD3B;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;IAIpC,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,sBAAsB;IAmC9B,OAAO,CAAC,iBAAiB;IAoDzB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;CA6B7B;AAGD,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,OAAO;AACf;;GAEG;AACH,gBAAgB,EAAE,MAAM,EAAE,UAsI1B;AAID,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,UAqExD;AAqBD;;GAEG;AAEH;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,mBAmB1D"}
1
+ {"version":3,"file":"dlo.d.ts","sourceRoot":"","sources":["../../../src/dde/fileGenerators/dlo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;AAUlC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,GAAG,EAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAuBnC,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,UA+LlH;AAED,qBAAa,gBAAgB;IAWhB,OAAO,CAAC,MAAM;IAAW,OAAO,CAAC,OAAO;IAVpD,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAA+F;gBAC7F,MAAM,EAAE,OAAO,EAAU,OAAO,EAAE,IAAI,GAAG,MAAM;IAGnE,OAAO,CAAC,IAAI;IAiBL,QAAQ;;;;IAoCf,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,8BAA8B;IAoEtC,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,uBAAuB;IA8D/B,OAAO,CAAC,6BAA6B;IASrC,OAAO,CAAC,2BAA2B;IAmBnC;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,0BAA0B;IA8BlC,OAAO,CAAC,mBAAmB;IAiD3B;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;IAIpC,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,sBAAsB;IAmC9B,OAAO,CAAC,iBAAiB;IAoDzB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;CA6B7B;AAGD,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,OAAO;AACf;;GAEG;AACH,gBAAgB,EAAE,MAAM,EAAE,UAsI1B;AAID,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,UAqExD;AAqBD;;GAEG;AAEH;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,mBAmB1D"}
@@ -891,7 +891,6 @@ function generateMainDDEFunctionBody(pawnSource, containerDefinition, readWrite)
891
891
  * Generate the default.inc file
892
892
  * @param cwd
893
893
  * @param fs
894
- * @param dependencies
895
894
  */
896
895
  async function buildDefaultInc(cwd, fs) {
897
896
  const fileContent = [];
@@ -1 +1 @@
1
- {"version":3,"file":"defaultFiles.d.ts","sourceRoot":"","sources":["../src/defaultFiles.ts"],"names":[],"mappings":"AAMA,yBAAiB,YAAY,CAAC;IACtB,MAAM,SAAS;;;;;;;;;;;;;;;;;KAkBrB,CAAC;IAIK,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkDrB,CAAC;CACF"}
1
+ {"version":3,"file":"defaultFiles.d.ts","sourceRoot":"","sources":["../src/defaultFiles.ts"],"names":[],"mappings":"AAMA,yBAAiB,YAAY,CAAC;IACtB,MAAM,SAAS;;;;;;;;;;;;;;;;;;KAmBrB,CAAC;IAIK,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAoDrB,CAAC;CACF"}
@@ -25,7 +25,8 @@ var DefaultFiles;
25
25
  legacyAutoInc: 'legacy-auto.inc',
26
26
  legacyAutoDdeInc: 'legacy-auto-dde.inc',
27
27
  legacyAutoUplinkInc: 'legacy-auto-uplink.inc',
28
- reportTemplate: 'mdn_report_template.json'
28
+ reportTemplate: 'mdn_report_template.json',
29
+ dloCfg: 'dlo.cfg'
29
30
  };
30
31
  const studioAutoPath = `${studioDirectoryName}auto/`;
31
32
  const studioAutoDloPath = `${studioAutoPath}dlo/`;
@@ -45,13 +46,15 @@ var DefaultFiles;
45
46
  mainDdeInc: `${studioAutoDloPath}${DefaultFiles.fileNames.mainDdeInc}`,
46
47
  legacyAutoInc: `${studioAutoDloPath}${DefaultFiles.fileNames.legacyAutoInc}`,
47
48
  legacyAutoDdeInc: `${studioAutoDloPath}${DefaultFiles.fileNames.legacyAutoDdeInc}`,
48
- legacyAutoUplinkInc: `${studioAutoDloPath}${DefaultFiles.fileNames.legacyAutoUplinkInc}`
49
+ legacyAutoUplinkInc: `${studioAutoDloPath}${DefaultFiles.fileNames.legacyAutoUplinkInc}`,
50
+ cfg: `${studioAutoDloPath}${DefaultFiles.fileNames.dloCfg}`
49
51
  }
50
52
  },
51
53
  libdeps: `${studioDirectoryName}libdeps/`
52
54
  },
53
55
  dist: {
54
56
  path: deployDirectoryName,
57
+ dloPath: `${deployDirectoryName}dlo/`,
55
58
  mainAmxPath: `${deployDirectoryName}dlo/${DefaultFiles.fileNames.mainAmx}`,
56
59
  mainAmxReportPath: `${deployDirectoryName}dlo/${DefaultFiles.fileNames.mainAmxReport}`,
57
60
  ddeXmlPath: `${deployDirectoryName}dde/${DefaultFiles.fileNames.ddeXml}`,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/dlo/compiler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAS7C,qBAAa,WAAW;IACvB,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAgB;;YAKhB,SAAS;IAiBvB,OAAO,KAAK,KAAK,GAEhB;IAEY,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO;;;;;;YAkC5B,qBAAqB;YAarB,cAAc;IAS5B;;;;;;OAMG;YACW,eAAe;IAe7B;;;;;;OAMG;IACU,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE;IASlG;;;;OAIG;IACU,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG;IAS/C;;;OAGG;IACU,WAAW,CAAC,GAAG,EAAE,GAAG;IAQjC,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,sBAAsB;IAiD9B;;OAEG;IACU,iBAAiB;;;oBAKA,MAAM,EAAE;oBAAU,MAAM,EAAE;;;CA6BxD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,UAEvC;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ;;;GAwB1F"}